134627.Pdf (2380Mb)

Total Page:16

File Type:pdf, Size:1020Kb

134627.Pdf (2380Mb) Universitat Politecnica` de Catalunya Grau en Enginyeria Informatica` Especialitat en Computacio´ TFG - Treball Final de Grau Estudi de l'algoritme NEAT aplicat als videojocs Autor: Mario Fernandez´ Villalba Director: Codirector: Luis Antonio Belanche Munoz~ Ren`e Alquezar Mancho Dept. de Ciencies` de la Dept. de Ciencies` de la Computacio´ Computacio´ Data de defensa: 23 d'octubre de 2018 Agra¨ıments Voldria agrair aquest projecte primerament a tots els professors de la Facultat d’Inform`aticade Barcelona que varen aconseguir convertir un home perdut en la vida a un inform`aticde cap a peus. Tamb´evoldria agrair-lo als meus amics i companys de la facultat: Carlos, Juan Miguel, Carlota, David, Jordi, Didac, ... S´eque no esteu tots per`oja sabeu qui sou! I en ´ultimlloc per`ono menys important, a la meva fam´ılia,que van tenir que aguantar el so que produ¨ıaal teclejar a altes hores de la nit durant setmanes. Gr`aciesa tots pel vostre suport! 1 ´Index 1 Introducci´o 4 1.1 Context.........................................4 1.2 Actors implicats....................................7 1.3 Abast..........................................7 2 Gesti´odel projecte9 2.1 Metodologia de treball.................................9 2.2 Eines utilitzades....................................9 2.3 M`etode de validaci´o..................................9 2.4 Planificaci´o....................................... 10 2.5 Integraci´ode coneixements.............................. 17 2.6 Lleis i regulacions.................................... 19 3 El videojoc Tetris i la seva implementaci´o 20 3.1 Descripci´odel joc.................................... 20 3.2 Accions disponibles................................... 20 3.3 Elements del joc.................................... 20 3.4 Sistema de puntuaci´oi nivells............................. 22 3.5 Game Over....................................... 23 3.6 Implementaci´odel joc Tetris.............................. 23 4 Funcionament d'una xarxa neuronal i implementaci´od'una xarxa neuronal simple 28 4.1 Processament de les dades............................... 28 4.2 Entrenament de la xarxa neuronal.......................... 28 4.3 La import`anciadel bias................................ 29 4.4 Implementaci´od'una xarxa neuronal simple..................... 29 5 L'algoritme NEAT i la seva implementaci´o 31 5.1 Definicions dels elements propis d'un algoritme gen`etic............... 31 2 5.2 Representaci´ogen`etica................................. 31 5.3 Operadors gen`eticsi la innovaci´o........................... 32 5.4 Especiaci´o........................................ 34 5.5 Generaci´ode nova poblaci´o.............................. 34 5.6 Implementaci´ode l'algoritme NEAT......................... 35 6 Experimentaci´oamb l'algoritme NEAT 39 6.1 Bucle principal d’execuci´o............................... 39 6.2 Experimentaci´osobre la entrada........................... 40 6.3 Experiments sobre els par`ametresde l'algoritme................... 40 7 Pressupost i sostenibilitat 48 7.1 Pressupost........................................ 48 7.2 Sostenibilitat...................................... 53 8 Conclusions, possibles millores i opini´opersonal 55 8.1 Conclusions....................................... 55 8.2 Possibles millores.................................... 55 8.3 Opini´opersonal..................................... 56 3 1 Introducci´o Un dels temes recurrents a les pel·l´ıculesde ci`encia-ficci´o´esla intel·lig`enciaartificial. Podem veure en aquestes pel·l´ıculesIAs que es rebel·len contra els humans, altres que recullen escom- braries... Aleshores, podria ser capa¸cun ordinador d'aprendre a jugar des de zero a un videojoc? L'objectiu d'aquest treball ´esrespondre aquesta pregunta. Per fer aix`oes vol estudiar l'algoritme gen`eticNEAT al videojoc Tetris. Concretament, es volen estudiar la influ`enciadels par`ametresde l'algoritme en l'acompliment d'aquest a l'hora de jugar. Aix´ımateix, tamb´ees vol implementar tant l'algoritme NEAT com el joc Tetris. S'ha aconseguit implementar de manera satisfact`oriatant NEAT com el videojoc Tetris utilit- zant Visual Studio i Unity. Respecte als par`ametres,s'ha comprovat mitjan¸cant l'experimentaci´o que par`ametrescom el nombre d'individus de la poblaci´oi les probabilitats de mutaci´otenen un gran impacte en la generaci´od'individus capa¸cosde jugar de manera satisfact`oriaal joc. 1.1 Context Abans d'anar en profunditat amb les explicacions del videojoc i de l'algoritme es necessari obtenir una mica de context. 1.1.1 Evol·luci´ode la IA en els jocs Durant els ´ultimsanys la intel·lig`enciaartificial (IA a partir d'ara) ha passat de ser un concepte cl`assicde la ci`encia-ficci´oa estar arrelada a les nostres vides. Les seves aplicacions s´onquasi infinites, i no paren de cr´eixercada dia. D'entre elles, cal destacar l’aplicaci´oen els jocs i posteriorment, videojocs. Una de les primeres vegades de la que es t´econst`anciaque la IA va ser aplicada als jocs va ser sobre l'any 1950, quan un programa d'escacs d'ordinador podia presentar un bon desafiament a un jugador experimentat [1]. Un altre exemple destacable de la IA aplicada als videojocs s´onels jocs arcade com Space Invaders, on els enemics alteraven els seus patrons de moviment dependent del nivell de dificultat; o Pac-Man, que va introduir diferents IAs als enemics, els fantasmes. Molt ha passat des d'aleshores; l'any 2017 una IA desenvolupada per Google anomenada AlphaGo, va ser capa¸cde v`encer al campi´omundial del Go, un joc tradicional xin`esen un confrontament a 3 partides [2]. Una de les eines utilitzades per aquesta eina son les ben conegudes xarxes neuronals, les quals introduirem en breu. Per`oabans d’aix`o...Com ha sigut l'evoluci´ode NEAT als videojocs? El mateix creador de l'algoritme NEAT, Kenneth O. Stanley, va fer una demostraci´opr`actica d'aquest en un videojoc programat per ell anomenat Neuroevolving Robotic Operatives (NERO) l'any 2005. En aquest joc, el jugador entrena un equip de robots virtuals per a competir contra altres equips controlats per altres jugadors. Va concloure que aquest joc demostrava la possibilitat de crear videojocs amb agents que evolucionen i s'adapten a temps real. [3]. Un altre joc desenvolupat per Stanley va ser Galactic Arms Race. En aquest joc el jugador controla una nau que va adquirint armes que han evolucionat a partir d'altres utilitzant infor- maci´odel jugador i NEAT. Aquest joc va ser llen¸cata la coneguda plataforma online Steam, demostrant aix´ıque ´espossible crear videojocs que generen el seu propi contingut per satisfer als jugadors, a la mateixa hora que es redueixen els costos de producci´oi s'augmenta la rejugabilitat 4 dels jocs [4]. L'any 2015 l'usuari de Youtube SethBling va postejar el v´ıdeo"MarI/O - Machine Learning for Video Games"[5], en el qual mostra l’aplicaci´ode l'algoritme NEAT en el videojoc Super Mario World. Sense cap coneixement previ d'aquest joc, la xarxa neuronal va ser capa¸cde superar el nivell Donut Plains 1 de l'esmenat joc despr´esde 34 generacions de poblacions. Hi ha molts m´esexemples d'aplicacions de NEAT als videojocs, per`oal ser totes similars no cal incloure-les en aquest document. 1.1.2 Bases de les xarxes neuronals Una xarxa neuronal ´esun model computacional que busca imitar el comportament dels cervells animals [6]. A l'igual que les xarxes neuronals que componen els nostres cervells, les xarxes neuronals artificials estan compostes per neurones. Una neurona ´esuna unitat b`asicade c`alcul de la xarxa neuronal que genera una sortida a trav´esd'una entrada assignada. Aquestes estan connectades entre si amb connexions ponderades i s'organitzen en forma de capes dins de la xarxa neuronal, de les quals es destaquen la d'entrada i la de sortida. A les capes restants interm`edies se les anomena capes ocultes. Anomenem topologia al conjunt de neurones i les connexions que les connecten. Podem veure aquesta estructura a la Figura1. Figura 1: Estructura d'una xarxa neuronal La seg¨uent pregunta que ens podem fer ´escom funcionen les xarxes neuronals? Es t´ecom a hip`otesique les persones aprenem per repetici´o,i ´esen aix`oen el que es basen les xarxes. Normalment, el proc´esde funcionament d'una xarxa neuronal es compon per dues parts, la d'aprenentatge i la de testing. Durant la part d'aprenentatge la xarxa es sotmesa a una gran quantitat de dades d'entrada per tal d'aprendre, o en altres paraules, ajustar els par`ametresinterns com les ponderacions de les connexions de la xarxa; per tal d'aconseguir el millor resultat en una tasca encomanada. Durant la part de testing es prova la xarxa entrenada en conjunts de dades diferents dels de l'aprenentatge, per tal d'estudiar el comportament d'aquestes en un cas general. Com a exemple il·lustratiu, AlphaGo va ser entrenat amb 30 milions de posicions de partides jugades per humans per tal d'aprendre a jugar al Go [7]. 5 Si encara voleu saber m´essobre les xarxes neuronals, trobareu una explicaci´om´esexhaustiva d'aquestes a la Secci´o4. Les xarxes neuronals s´onestudiades per un gran nombre de cient´ıfics, on cadasc´ubusca aportar el seu granet de sorra. Durant els diversos anys d'estudi han sorgit diversos models de xarxes neuronals i diversos algoritmes que les modifiquen. Com ja s'ha comentat, en aquest projecte ens centrarem en l'estudi de l'algoritme gen`eticNEAT. Que ´esaleshores un algoritme gen`etic? 1.1.3 Algoritmes gen`etics Els algoritmes gen`eticss´onuna fam´ıliad'algoritmes d’optimitzaci´oque basen la seva heur´ıstica en la selecci´onatural [8][9]. Concretament, utilitzen les operacions biol`ogiquesde mutaci´o, encreuament i selecci´o. Aquests algoritmes requereixen dos components principals: una representaci´ogen`eticadel domini de solucions i una funci´ode fitness que avaluar`ael domini de solucions. Un cop satisfets els dos requeriments, el funcionament dels algoritmes ´essimple. Primerament s'inicialitza una poblaci´ode manera aleat`oria. A continuaci´o,comencem un bucle on s'avalua la poblaci´ogenerada mitjan¸cant la funci´ode fitness, es seleccionen als millors individus i seguidament se li apliquen les operacions biol`ogiquesanteriorment esmentades per tal de generar una poblaci´ofilla, i es torna a repetir el proc´es.
Recommended publications
  • Project Design: Tetris
    Project Design: Tetris Prof. Stephen Edwards Spring 2020 Arsalaan Ansari (aaa2325) Kevin Rayfeng Li (krl2134) Sooyeon Jo (sj2801) Josh Learn (jrl2196) Introduction The purpose of this project is to build a Tetris video game system using System Verilog and C language on a FPGA board. Our Tetris game will be a single player game where the computer randomly generates tetromino blocks (in the shapes of O, J, L, Z, S, I) that the user can rotate using their keyboard. Tetrominoes can be stacked to create lines that will be cleared by the computer and be counted as points that will be tracked. Once a tetromino passes the boundary of the screen the user will lose. Fig 1: Screenshot from an online implementation of Tetris User input will come through key inputs from a keyboard, and the Tetris sprite based output will be displayed using a VGA display. The System Verilog code will create the sprite based imagery for the VGA display and will communicate with the C language game logic to change what is displayed. Additionally, the System Verilog code will generate accompanying audio that will supplement the game in the form of sound effects. The C game logic will generate random tetromino blocks to drop, translate key inputs to rotation of blocks, detect and clear lines, determine what sound effects to be played, keep track of the score, and determine when the game has ended. Architecture The figure below is the architecture for our project Fig 2: Proposed architecture Hardware Implementation VGA Block The Tetris game will have 3 layers of graphics.
    [Show full text]
  • Human-Computer Interaction in 3D Object Manipulation in Virtual Environments: a Cognitive Ergonomics Contribution Sarwan Abbasi
    Human-computer interaction in 3D object manipulation in virtual environments: A cognitive ergonomics contribution Sarwan Abbasi To cite this version: Sarwan Abbasi. Human-computer interaction in 3D object manipulation in virtual environments: A cognitive ergonomics contribution. Computer Science [cs]. Université Paris Sud - Paris XI, 2010. English. tel-00603331 HAL Id: tel-00603331 https://tel.archives-ouvertes.fr/tel-00603331 Submitted on 24 Jun 2011 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Human‐computer interaction in 3D object manipulation in virtual environments: A cognitive ergonomics contribution Doctoral Thesis submitted to the Université de Paris‐Sud 11, Orsay Ecole Doctorale d'Informatique Laboratoire d'Informatique pour la Mécanique et les Sciences de l'Ingénieur (LIMSI‐CNRS) 26 November 2010 By Sarwan Abbasi Jury Michel Denis (Directeur de thèse) Jean‐Marie Burkhardt (Co‐directeur) Françoise Détienne (Rapporteur) Stéphane Donikian (Rapporteur) Philippe Tarroux (Examinateur) Indira Thouvenin (Examinatrice) Object Manipulation in Virtual Environments Thesis Report by Sarwan ABBASI Acknowledgements One of my former professors, M. Ali YUSUF had once told me that if I learnt a new language in a culture different than mine, it would enable me to look at the world in an entirely new way and in fact would open up for me a whole new world for me.
    [Show full text]
  • Homework 4: Tetronimoes
    CS 371M Homework 4: Tetronimoes Submission: All submissions should be done via git. Refer to the git setup, and submission documents for the correct procedure. The root directory of your repository should contain your README file, and your Android Studio project directory. Overview: “If Tetris has taught me anything, it’s that errors pile up and accomplishments disappear.” – Some guy on Reddit In this and the next homework, you will be implementing a simple game of Tetris. For those who have never played Tetris, definitely try it out. Below is a link to a free online tetris game. Use the “up” arrow key to rotate the blocks. https://www.freetetris.org/game.php On the following page is a screenshot of the game as it should look for this class. For previous assignments, layout and quality of appearance have not been major factors in grading. However, appearance will be considered for this assignment. Your app should look at least as polished as the example app. API: We have defined several framework classes for your use. TCell: A class that represents a singe square. Each TCell has a color and (x,y) coordinates. TGrid: A class that creates a grid of cells. Use this to represent the main grid of cells in your game. This class also provides several utility functions that help you to detect and delete full rows of cells. Tetromino: A class that represents a Tetris Tetromino. This class can be inserted into a TGrid, moved, and rotated. All Tetromino movement functions return a Boolean value depending on whether the movement succeeded or not.
    [Show full text]
  • Tetromino Reptiles
    Mathigon – Lesson Plan Tetromino Reptiles Standards Prior knowledge NC Key Stage 3: Use scale factors, scale diagrams and maps It will help if students have some familiarity with expressing relationships CCSS 7.G.A.1: Solve problems involving scale drawings of using ratio, and with square numbers. geometric figures Lesson outline This task uses Polypad’s tetrominoes as a context for exploring enlargements (dilations) and scale factors. Tetrominoes are shapes which can be made from 4 individual squares, and will be instantly recognisable to any student who has played the classic game Tetris. Lesson objective: Understand how the area of a shape changes when it is enlarged. Lesson activity Warm-up Show students this Polypad canvas. Explain that two of the tetrominoes have been enlarged (dilated) correctly, but two of them have mistakes. Invite students to work out the scale factor by which the two correct enlargements have been drawn, and to use the pen tool (or copy the diagrams onto squared paper) to correct the mistakes in the Canvas Link incorrect enlargements. Solution: The square has been correctly enlarged by a scale factor of 3, and the L tetromino has been correctly enlarged by a scale factor of 5. The T tetromino and the Z tetromino have not been enlarged correctly. If students haven’t seen tetrominoes before, and you think they could benefit from additional scaffolding before the warm up above, you could challenge them to find all the different arrangements of four 1-square tiles. They can use this canvas as a starting point. Main Activity Some shapes can be used to tile an enlargement of themselves – this is sometimes called a rep-tile.
    [Show full text]
  • A Speech Therapy Game for Children with Speech Sound Disorders
    Apraxia World: A Speech Therapy Game for Children with Speech Sound Disorders Adam Hair* Penelope Monroe* Beena Ahmed Texas A&M University University of Sydney University of New South Wales College Station, TX, USA Sydney, NSW, Australia Sydney, NSW, Australia [email protected] [email protected] Texas A&M University at Qatar Doha, Qatar [email protected] Kirrie J. Ballard Ricardo Gutierrez-Osuna University of Sydney Texas A&M University Sydney, NSW, Australia College Station, TX, USA [email protected] [email protected] ABSTRACT INTRODUCTION This paper presents Apraxia World, a remote therapy tool Speech sound disorders (SSDs) can affect language for speech sound disorders that integrates speech exercises production and speech articulation in children, leading to into an engaging platformer-style game. In Apraxia World, serious communicative disabilities [4]. Estimates for the the player controls the avatar with virtual buttons/joystick, prevalence of SSDs in children vary; some suggest between whereas speech input is associated with assets needed to 2% and 25% of children aged 5-7 years may be affected advance from one level to the next. We tested performance [21], while others estimate values closer to 1% of the and child preference of two strategies for delivering speech primary-school-aged population [26]. Regardless of their exercises: during each level, and after it. Most children exact prevalence, SSDs can have potentially devastating indicated that doing exercises after completing each level effects on a child’s communication development [10]. was less disruptive and preferable to doing exercises Fortunately, children can reduce symptoms and improve scattered through the level.
    [Show full text]
  • BOOK the Tetris Effect: the Game That Hypnotized the World
    Notes by Steve Carr [www.houseofcarr.com/thread] BOOK The Tetris Effect: The Game That Hypnotized the World AUTHOR Dan Ackerman PUBLISHER Public Affairs PUBLICATION DATE September 2016 SYNOPSIS [From the publisher] In this fast-paced business story, reporter Dan Ackerman reveals how Tetris became one of the world's first viral hits, passed from player to player, eventually breaking through the Iron Curtain into the West. British, American, and Japanese moguls waged a bitter fight over the rights, sending their fixers racing around the globe to secure backroom deals, while a secretive Soviet organization named ELORG chased down the game's growing global profits. The Tetris Effect is an homage to both creator and creation, and a must-read for anyone who's ever played the game-which is to say everyone. “Henk Rogers flew on February 21, 1989. He was one of three competing Westerners descending on Moscow nearly simultaneously. Each was chasing the same prize, an important government-controlled technology that was having a profound impact on people around the world . That technology was perhaps the greatest cultural export in the history of the USSR, and it was called Tetris . Tetris was the most important technology to come out of that country since Sputnik.” “Tetris was different. It didn’t rely on low-fi imitations of cartoon characters. In fact, its curious animations didn’t imitate anything at all. The game was purely abstract, geometry in real time. It wasn’t just a game, it was an uncrackable code puzzle that appealed equally to moms and mathematicians.” “Tetris was the first video game played in space, by cosmonaut Aleksandr A.
    [Show full text]
  • Description Implementation Discussion
    TANGIBLE TETRIS mixed-reality world, you can pick up the tangible tetrominoes Meng Wang, B430, Academy of Arts and Design, Tsinghua from the screen and put them down to fill gaps under other University, Beijing, 100084, China. Email: m- virtual blocks. As we expected, these two different actions STATEMENTS [email protected]. create new strategies and forms of interaction in the game play. Haipeng Mi, B430, Academy of Arts and Design, Tsinghua Implementation University, Beijing, 100084, China. Email: The hinged structure of the tangible tetromino is inspired by [email protected]. research on hinged dissections of polyominoes and polyforms See www.mitpressjournals.org/toc/leon/52/2 for supplemental files [1–3]. A tetromino has four blocks, and if the blocks are con- associated with this issue. nected with three hinges at specific corners (Fig. 2, middle), Submitted: 16 August 2017 the tetromino can transform into any of its seven distinct shapes via hinged rotation. Thus, we put motors in each corner Abstract to drive and rotate the hinges, so that the physical tetromino Tangible Tetris is a mixed-reality interactive game allowing play with a physi- can receive digital commands and change its shape on the cal transformable tetromino in a virtual playfield. The extension from game playground. Figure 2 also shows all the shapes of the tetromi- world to the physical brings plenty of new characteristics, strategies and fun to the classic game, as well as more possibilities in interactive art. no, how the blocks are connected, and how the rotation is done. Some of the shapes can be achieved by simple 180° rota- The game Tetris is a popular use of tetrominoes, the four- tion, but the others may have a 90° rotation.
    [Show full text]
  • A Comparison of Feature Functions for Tetris Strategies
    A comparison of feature functions for Tetris strategies Jonas Balgaard Amundsen Master of Science in Computer Science Submission date: June 2014 Supervisor: Keith Downing, IDI Norwegian University of Science and Technology Department of Computer and Information Science Acknowledgements Special thanks go to my project supervisor, Prof. Keith L. Downing, for impor- tant advice, guidance and encouragement. Additionally, this research was supported in part with computational resources at NTNU provided by NOTUR, http://www.notur.no. Abstract Finding optimal strategies for the game of Tetris is an interesting NP-complete problem that has attracted several AI researchers. Their approaches display sub- tle variations in the implementation details, with unclear relationships between these details and Tetris performance. This, combined with the absence of confi- dence intervals in most published results, makes the evaluation and comparison of Tetris strategies and optimization methods very difficult. To look further into this unclear relationship, we would re-create every environ- ment described in several publications. An evolutionary algorithm was executed within each environment to create multiple AIs and their performance compared against each other. The scores differed substantially. This suggests that some aspects of the Tetris environment greatly affects the potentially obtainable per- formance of an AI. We come to the unfortunate conclusion that nearly no results of existing publications can be used to compare optimization methods against each other in terms of suitability for Tetris due to this reason. Sammendrag A˚ finne optimale strategier for spillet Tetris er et interessant NP-komplett pro- blem som har tiltrukket seg flere AI-forskere. Deres tilnærminger avviker derimot fra hverandre n˚ardet gjelder enkelte implementasjonsdetaljer og det et uklart forhold mellom dette og oppn˚addytelse.
    [Show full text]
  • LEVELING PAINS: CLONE GAMING and the CHANGING DYNAMICS of an INDUSTRY Nicholas M
    0743-0774_LAMPROS_081413 (DO NOT DELETE) 9/11/2013 1:51 PM LEVELING PAINS: CLONE GAMING AND THE CHANGING DYNAMICS OF AN INDUSTRY Nicholas M. Lampros † In May of 2009, Xio Interactive, Incorporated, a small company formed by recent college graduate Desiree Golden, released a video game called Mino for what was then the iPhone OS operating system.1 Within a few months, Xio released a second version of the game called Mino Lite.2 According to accompanying descriptive text published with the game listings, the two games had much to recommend them: a variety of input control options, an original musical score, two standard play modes, mobile multi-player connectivity, and even social chat rooms where players could discuss strategy or watch games in progress.3 Description of the actual game play, however, was sparse; Mino was summed up as simply a “Tetromino game” with “fast- paced, line-clearing features.”4 And at the very bottom of the description came a disclaimer: “Mino and Xio Interactive are not affiliated with Tetris (tm) or the Tetris Company (tm).”5 This disclaimer, of course, helps explain why further description of the game-play was unnecessary—and also what would happen next. To anyone with even casual familiarity with video game history, the screen shots and descriptions, sparse as they were, made it immediately apparent that Mino had deep similarities to Tetris, the wildly popular puzzle game that has sold millions of units on various gaming platforms since it was originally published in the 1980s.6 How similar, exactly, soon became a question of law, © 2013 Nicholas M.
    [Show full text]
  • Secure High Capacity Tetris-Based Scheme for Data Hiding
    IET Image Processing Research Article ISSN 1751-9659 Secure high capacity tetris-based scheme for Received on 24th March 2020 Revised 26th October 2020 data hiding Accepted on 13th November 2020 E-First on 11th March 2021 doi: 10.1049/iet-ipr.2019.1694 www.ietdl.org Guo-Dong Su1,2, Chin-Chen Chang2, Chia-Chen Lin3,4 , Zhi-Qiang Yao5 1Engineering Research Center for ICH Digitalization and Multi-source Information Fusion (Fujian Polytechnic of Fujian Normal University), Fujian Province University, Fuzhou 350500, People's Republic of China 2Department of Information Engineering and Computer Science,Feng Chia University, Taichung 40724, Taiwan 3Department of Computer Science and Information Engineering, National Chin-Yi University of Technology, Taichung 41170, Taiwan 4Department of Computer Science and Information Management, Providence University, Taichung 40724, Taiwan 5College of Mathematics and Informatics, Fujian Normal University, Fuzhou Fujian 350117, People's Republic of China E-mail: [email protected] Abstract: Information hiding is a technique that conceals private information in a trustable carrier, making it imperceptible to unauthorised people. This technique has been used extensively for secure transmissions of multimedia, such as videos, animations, and images. This study proposes a novel Tetris-based data hiding scheme to flexibly hide more secret messages while ensuring message security. First, an LQ × LQ square lattice Q is selected to determine the maximum embedding capacity, and then it is filled without gaps through rotating and sliding tetrominoes while making the shape of each tetromino different. Secondly, according to the decided Q, the reference matrix and corresponding look-up table are constructed and then used for secret messages embedding and extraction.
    [Show full text]
  • This Material Is Protected by Copyright and Is for the Personal Use of the Individual Smithline Training Subscriber Who Purchased Access to This Episode Only
    Smithline Training LLC Presentation Slides Limited Use Right: This material is protected by copyright and is for the personal use of the individual Smithline Training subscriber who purchased access to this Episode only. Any other use or distribution of this material is strictly prohibited. This is Not Legal Advice: The information contained in this document is provided for informational purposes only. It should not be considered legal advice or a substitute for legal advice, and does not create an attorney‐client relationship between you and Smithline Training LLC. Because this information is general, it may not apply to your individual legal or factual circumstances. You should not take (or refrain from taking) any action based on the information in this document without first obtaining legal counsel. Please contact us with any questions or comments: [email protected] SMITHLINE TRAINING LLC | 300 MONTGOMERY STREET, SUITE 1000 | SAN FRANCISCO, CA 94104 Are the Rules of a Video Game Now Copyrightable? Smithline Training LLC / smithlinetraining.com Disclaimer 01 Smithline Training LLC is not a law firm 02 Not legal advice 03 No attorney‐client relationship 04 Consult with a lawyer for your particular issues Our 2‐Step Training Approach 1 2 Watch the Episode Attend a Roundtable Ask questions and share best practices Online or in person in San Francisco Feedback Feedback, questions or complaints? [email protected] Tools for this Episode Copyright Code Provisions and Case List Today’s Question Today’s Question In the last few years, two U.S. district courts found video game mechanics or “rules” to be protectable by copyright.
    [Show full text]
  • Tetris Tetris Tetris TETRIS
    20112011 TetrisTETRIS CreatingLocal Searching a tetris aAgentn Intelligent Tetris playing InAgent this project we tried to create the ultimate Tetris game player that will get better from game to game. The approaches we used are modifications of LocalLocal Search – StochasticIn this project Hillclimbing we triedand Beam to create Search. the ultimate Tetris game player. The approaches we used are modifications of Local Search – Stochastic Hill climbing and Beam Search based on weighing game playing heuristics. Gil , Alex andGil Hartman,Michael Michael Zakai, Kulakovsky Alex HebrewHebrew University University of of Jerusalem Jerusalem 3/12/20113/2011 Local Searching an Intelligent Tetris playing Agent 3/2011 TABLE OF CONTENTS Introduction to Tetris ..................................................................................................... 4 Project Overview ............................................................................................................ 5 Solution Space: ............................................................................................................... 6 Voting ........................................................................................................................... 6 Board evaluation heuristics ........................................................................................... 7 Max Height Heuristic ........................................................................................................ 7 Average Height Heuristic ..................................................................................................
    [Show full text]