Game of Life Presentation Byung-guk Kim

Slides:



Advertisements
Similar presentations
CPSC 171 Introduction to Computer Science Efficiency of Algorithms.
Advertisements

1 The Game of Life Supplement 2. 2 Background The Game of Life was devised by the British mathematician John Horton Conway in More sophisticated.
Constraint Satisfaction Problems
Game of Life Changhyo Yu Game of Life2 Introduction Conway’s Game of Life  Rule Dies if # of alive neighbor cells =< 2 (loneliness) Dies.
Practical session 8 Assignment 3. Game of life A zero-player game. Simulates Evolution, of an infinite two-dimensional matrix’s cells. Each cell can be.
Introduction to Data Structures RSB. Data Needs Order Where’s Waldo ???
Unit 5 Simple Present, Time Clauses, Used To, and Would.
Variations of Conway’s Game of Life Eswar Kondapavuluri.
Introduction to Data Structures. Data Structures A data structure is a scheme for organizing data in the memory of a computer. Some of the more commonly.
Final Exam Review Instructor : Yuan Long CSC2010 Introduction to Computer Science Apr. 23, 2013.
Chapter 12: Simulation and Modeling
Introduction to Computational Linguistics Programming I.
Polynomial Discrete Time Cellular Neural Networks Eduardo Gomez-Ramirez † Giovanni Egidio Pazienza‡ † LIDETEA, POSGRADO E INVESTIGACION Universidad La.
1 Data Structures CSCI 132, Spring 2014 Lecture 3 Programming Principles and Life Read Ch. 1.
 2005 Pearson Education, Inc. All rights reserved Searching and Sorting.
 Pearson Education, Inc. All rights reserved Searching and Sorting.
 2006 Pearson Education, Inc. All rights reserved Searching and Sorting.
Presenter: Chih-Yuan Chou GA-BASED ALGORITHMS FOR FINDING EQUILIBRIUM 1.
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
The Game of Life Erik Amelia Amy. What is the “Game of Life?” The “Game of Life” (often referred to as Life) is not your typical game. There are no actual.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Machine Learning for an Artificial Intelligence Playing Tic-Tac-Toe Computer Systems Lab 2005 By Rachel Miller.
CPSC 171 Introduction to Computer Science More Algorithm Discovery and Design.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Fall 2006 Jim Martin.
ELEN 033 Lecture #1 Tokunbo Ogunfunmi Santa Clara University.
Robot Intelligence Technology Lab. Generalized game of life YongDuk Kim.
CMSC 202 Lesson 15 Debugging. Warmup  What is the bug in the following code? int* foo(int a) { return &a; }
The ‘the’ By mark. Introduction A simple presentation for dealing with grammar without the complex terminology Making the works bright and simple, leaving.
1 Constraint Satisfaction Problems (CSP). Announcements Second Test Wednesday, April 27.
INTRODUCTION TO DATA STRUCTURES 1. DATA STRUCTURES A data structure is a scheme for organizing data in the memory of a computer. Some of the more commonly.
1 1 2 What is a Cellular Automaton? A one-dimensional cellular automaton (CA) consists of two things: a row of "cells" and a set of "rules". Each of.
Physics 313: Lecture 17 Wednesday, 10/22/08. Announcements ● Please make an appointment to see me, to choose a project by Friday, October 24. ● Please.
16 Searching and Sorting.
Artificial Life and Emergent Behavior
Cellular automata.
Introduction Abstract
A simple parallel algorithm for the MIS problem
EML Engineering Design Systems II (Senior Design Project)
Introduction
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
EGR 115 Introduction to Computing for Engineers
Lecture 2 Introduction to Programming
Illustrations of Simple Cellular Automata
Database Database is a large collection of related data that can be stored, generally describes activities of an organization. An organised collection.
Maximal Independent Set
Week 9 - Monday CS 121.
Lecture 2: Introduction to Algorithms
Chapter 9 TURING MACHINES.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Program Design Introduction to Computer Programming By:
Maximal Independent Set
Alexei Fedorov January, 2011
Cellular Automata.
Spatio-temporal information in society: cellular automata
Introduction to Algorithms and Programming
Excursions into Logic Based Computation using Conway’s Game of Life
The Alpha-Beta Procedure
Recurrences (Method 4) Alexandra Stefan.
Conway’s Game in matlab
The Engineering of Functional Designs in the Game of Life
Computer Architecture and Assembly Language
Exploring Genetic Algorithms Through the Iterative Prisoner's Dilemma
Artificial Life and Emergent Behavior
ICT Gaming Lesson 2.
The Engineering of Functional Designs in the Game of Life Computer Systems Lab June 10, 2008 Liban Mohamed Abstract First, this project endeavours.
Computer Architecture and Assembly Language
CS 8520: Artificial Intelligence
Activity 2-1: The Game of Life
Constraint Satisfaction Problems
Modeling Rainfall using a Cellular Automata
Presentation transcript:

Game of Life Presentation 20023064 Byung-guk Kim

Introduction Conway’s Game of Life Simplest possible universe capable of computation Rule Dies if # of alive neighbor cells =< 2 (loneliness) Dies if # of alive neighbor cells >= 5 (overcrowding) Lives if # of alive neighbor cells = 3 (procreation) Remains if # of alive neighbor cells = 4 Possible rules to program the Game of Life 3^9 = 19683

Interestingness of Life Model My choice to interesting life model Convergence limit # of cells of first stage * 0.2 < # of cells of each stage < # of cells of first stage * 5 Variety of cell position cell position of current stage != cell position of past stage The most interestingness maximum difference of cell position of each stage

Approach to find interesting life model First : Find interesting rules among every rules Set initial state ( Set cell position of first stage ) Change rule sequentially 20 generations by current rule no Interestingness found ? no yes Every rule check ? Store current rule yes Second : Search the most interesting rule among stored interesting rules Check the difference of cell position of each stage during 50 generations Change to next interesting rule Print out interesting rule and difference result The most interestingness => maximum difference (variety of cell position of each generation)

Finding the most interesting rule First search : Find interesting rules among every rules, Run 20 generations every rule Second search : Search the most interesting rule among stored interesting rules, Run 50 generations every rule that is found in the first search If interesting rule found in first search gets out of my function to interesting life model in second search, the program prints out “Not Found” in the textbox.

The form of rule Consists of 9 ternary variables The number of alive neighbor 012345678 ‘0’ means that cell dies ‘1’ means that cell remains ‘2’ means that cell lives(borns) Example : 000210000 Lives if # of alive neighbor cells = 3 Remains if # of alive neighbor cells = 4

The extent of difference of cell position Same cell position on several generations : Not interesting Simple difference of cell position on several generations : Not interesting Complex difference of cell position on several generations : Interesting

Modification for DEMO version It takes long time to check all case of rules !!! So, DEMO version only checks following rules. # of cases of “cell remains” is one & # of cases of “cell lives” is one

Conclusion I choose the sequential search to find interesting rule because in case of finite rules, sequential search requires less execution time than genetic algorithm. The number of interesting life model depends on initial state. Interesting events found by my function & certain initial state => Bomb, fireworks display