Conway életjátéka (Conway' s Game of Life)

Hasonló dokumentumok
Sejtautomaták. Szőke Kálmán Benjamin - SZKRADT.ELTE május 17.


van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

Párhuzamos programozási feladatok

Példa sejtautomatákra. Homokdomb modellek.

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Bevezető feldatok. Elágazás és összegzés tétele

Párhuzamos programozási feladatok. BMF NIK tavasz B. Wilkinson és M. Allen oktatási anyaga alapján készült

48. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY Megyei forduló HETEDIK OSZTÁLY MEGOLDÁSOK = = 2019.

Egyszerű példaprogramok gyakorláshoz

Az alábbi feladatok közül a megadottat készítse el objektum-orientált módszerrel. Fontos, hogy objektum-orientált módon gondolkozzon és úgy is

Animációk, effektusok

Rejtvény-változataikban: a legkevesebb lépésből álló (és/vagy visszalépés tiltása melletti) helycsere a feladat.

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

IV. LEGO Robotprogramozó Országos Csapatverseny

PlanetFight. Minden játékosnak van valamennyi űrhajója, amikkel képesek elfoglalni még fel nem fedezett, neutrális bolygókat.

KOORDINÁTA-GEOMETRIA

VISUAL BASIC ALAPISMERETEK

JELENTKEZÉSI LAP. Név: Osztály: cím (továbbjutásról itt is értesítünk): Iskola: Felkészítő tanár: cím:

munkafüzet open eseményéhez

Dicsőségtabló Beadós programozási feladatok

Algoritmuselmélet 12. előadás

Automaták. bemenet: pénz, kiválasztó gombok stb. állapot: standby, pénz van behelyezve stb. kimenet: cola, sprite, visszajáró

A TeamViewer 9 Szerviz-Trade Host telepítése

Windows 7. Szolgáltatás aktiválása

QGIS gyakorló. Cím: Pufferzóna előállítása (Buffering) Minta fájl letöltése:

1. kép: Raszterek betöltése

Kirakós játék. Döntő február 22. Alakzatok (katalógus) DUSZA ÁRPÁD ORSZÁGOS PROGRAMOZÓI EMLÉKVERSENY 2013/2014

Cohen-Sutherland vágóalgoritmus

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Egy francia-sakk feladvány: Világos lép, és döntetlen az alsó sor az 1. sor!

Marigo Raftopoulos vállalati játékosítással foglalkozó kutató 2015-ben a Gamification World Congress konferencián azt mondta:

Párhuzamos programozási feladatok

Szerb Köztársaság FELADATOK AZ ÁLTALÁNOS OKTATÁS ÉS NEVELÉS ZÁRÓVIZSGÁJÁRA. a 2018/2019-es tanévben TESZT. matematikából

KAHOOT, az osztálytermi verseny egyik lehetséges módja Medve Katalin összeállítása

Procontrol Device Detector. Felhasználói leírás

Felhasználói kézikönyv - Android kliens

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

M{ZD{ mx Maz_MX5_12R2_V2_Cover.indd 1 01/08/ :05

Hogyan lehet Pivot tábla segítségével komplex adatokat elemezni és bemutatni?

Ó Ó ü ú ú

Készítette:

4. Gyakorlat ellenőrzött osztályozás

ULTIMATE TIC TAC TOE. Serfőző Péter

Megyei matematikaverseny évfolyam 2. forduló

9. Tétel Els - és másodfokú egyenl tlenségek. Pozitív számok nevezetes közepei, ezek felhasználása széls érték-feladatok megoldásában

ű ű Ö Ü

ő Ú ú Ü ú

WebAromo elindítása, bejelentkezés

Ó

Ó Ü

ű ű ű Ú Ü Ü Ú ű Ó Ó ű

ű ű Ó

Lehet hogy igaz, de nem biztos. Biztosan igaz. Lehetetlen. A paralelogrammának van szimmetria-középpontja. b) A trapéznak két szimmetriatengelye van.

Ú ű Ö ű ű Ü Ú ű Ü ű ű ű ű ű Ö ű

ű ű ű Ú ű ű Ó ű Ó Ö

ú ú ú ű ú Ó ú ű Ö Ö ű ű ű ú ú ű ű ű ű ú ű Ö ú ú ű Ó ű ű

Ú Ö ű Ö

Isola (1-1 db sötét és világos király-bábu és max. 45 db blokk-bábu) A lépések két fázisból állnak: (1.) bármelyik oldalszomszédos mezőre áttoljuk a

Ó ű ű ű ű ű

Imagine Logo Tanmenet évfolyam

Feladatok megoldásai

ű ű ű Ú ű ű ű ű Ó

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Kézikönyv. Szelekciós jegyzék létrehozása

Számonkérési formák a BME-n a Deklaratív programozás című tárgyban

Válaszadó vezérelt mintavétel a Budapesti Roma Kutatás 2010 című kutatáshoz

47. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY Megyei forduló NYOLCADIK OSZTÁLY JAVÍTÁSI ÚTMUTATÓ

Nyolcbites számláló mintaprojekt

Felhasználói kézikönyv a Víziközmű Adatbeviteli Felülethez augusztus

A játék készlet tartalma: 40 bábu sógitábla játékszabályok

meteformes szabaly 2004/08/31 09:21 Page 1 szerzôk: Michel & Robert Lyons Játékleírás 2004 Huch&Friends D Günzburg licence: FoxMind Games, BV.

VI.3. TORPEDÓ. A feladatsor jellemzői

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Bevezető. Mi is az a GeoGebra? Tények

Tervezés eszköztár. Alapszínek alap betűk. Háttérszín (háttérstílus) Betűszínek. Betűtípusok. w w w. h a n s a g i i s k. h u

ű ű ű ű ű ű ű ű

Ö Ö Ú

Egyszerűbb a Google keresőbe beírni a Sharepoint Designer 2007 letöltés kulcsszavakat és az első találat erre a címre mutat.

ARANYMETSZÉS. - érettségi dolgozat védése analízis és algebrából - Készítette: Szénási Eszter Mentor: Dr. Péics Hajnalka június 11.

Nyerni jó évfolyam

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Naptárak, munkarendek

Bevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása

Matematikai, informatikai, fizikai kompetenciák fejlesztése

Abszolút JollyJóker játékcsalád. A kisiskolásoktól a professzionális játékmesterekig, ki-ki talál közöttük szintjének megfelelőt.

E-Freight beállítási segédlet

8 bivaly 2 tigris ellen

EDUROAM WI-FI beállítása

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

TERKA Törvényességi Ellenőrzési Rendszer Kiegészítő Alkalmazás

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Megyei matematikaverseny évfolyam 2. forduló

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

A Google űrlap (form) használata

Digitális technika VIMIAA01 9. hét

Programozási technológia

Szegregált és integrált oktatás játékelméleti szimulációja

Kocsis Szilveszter: FPI tehetséggondozó szakkör 5. évf

Átírás:

Conway életjátéka (Conway' s Game of Life) készítette : Udvari Balázs, 2008 Bevezetés John Conway (szül. 1937, Liverpool) a XX. század jelentős matematikusa; jelenleg a princetoni egyetem professzora. Kutatási területe többirányú, elsősorban csoportelmélet, extremális geometria, csomók elmélete, játékok elmélete. A projektben bemutatandó "játékot" 1970-ben írta le és vizsgálta. A játék A játék tulajdonképpen nem is játék. Alapvető ötlete a következő : képzeljük el, hogy a síkot egységnégyzetekre osztjuk. Minden négyzetnek ("sejtnek") két állapota van : aktív (élő) és passzív (halott) - ezeket az állapotokat a fekete és fehér színek fogják jelölni. Szükségünk lesz még a szomszéd fogalmára: két mező szomszédos, ha van közös pontjuk (akár csúcsban is). Adott időegység alatt a cellák képesek "életre kelni" és "meghalni", vagyis megváltoztatni a színüket, a következő egyszerű szabályok szerint: 1. Aktív cella passzívvá változik, ha szomszédai között legfeljebb 1 vagy egalább négy aktív cella van (így pl. egy sakktáblarács minden belső pontja egy időegység alatt elpusztul). 2. Passzív cella aktívvá változik, ha pontosan 3 szomszédja aktív. A játék tehát egy adott kezdeti állapotból indulva bemutatja a cellák fejlődését; így a "játékosnak" nincs más dolga, mint megadni ezt a kezdeti mintát. Jelen demonstráció egy végtelenített pályán zajlik (a szemközti szélek össze vannak kapcsolva). ü Használati utasítás Az alábbiakban 3 szimulációs módszer közül választhatunk : az elsőben néhány nevezetes állással ismerkedhetünk meg, a másodikban a játékos maga adhat meg kezdőállást, a harmadikban egy véletlenszerűen generált kezdőállást modellezhetünk. A második esetben a futtatás során mi adhatjuk meg a kezdőállást a felugró ablakban koordináták segítségével (a pálya 50*50-es, ezt m átállításával változtathatjuk); a bal felső sarok az (1,1) pont. (Szintaktika: {{a,b},{c,d},...,{x,y}}) Hírességek Néhány nevesebb alakzat. Használat : list értékét állítsuk az objektum nevére. Glider: kb sikló, átlós irányban halad 1/4 sebességgel Spaceship: űrhajó, vízszintesen halad Pulsar: rövid ciklusú, pulzáló alakzat iehard: 130 lépés után kihal Acorn: több mint 5000 lépés után gliderek és periodikus alakzatok rendszerévé hullik szét (legalábbis valódi végtelen pályán) Gosper Glider Gun (glidergun néven): glidereket lő ki időszakosan (ez is végtelen pályán az igazi) ü Kezdőértékek m = 60;

2 Udvari_Balazs_Game_of_Life.nb glider = 8810, 1<, 810, 2<, 810, 3<, 811, 1<, 812, 2<<; spaceship = 8810, 2<, 810, 3<, 810, 4<, 810, 5<, 811, 1<, 811, 5<, 812, 5<, 813, 1<, 813, 4<<; pulsar = 8811, 3<, 811, 4<, 811, 5<, 811, 9<, 811, 10<, 811, 11<, 813, 1<, 813, 6<, 813, 8<, 813, 13<, 814, 1<, 814, 6<, 814, 8<, 814, 13<, 815, 1<, 815, 6<, 815, 8<, 815, 13<, 816, 3<, 816, 4<, 816, 5<, 816, 9<, 816, 10<, 816, 11<, 818, 3<, 818, 4<, 818, 5<, 818, 9<, 818, 10<, 818, 11<, 819, 1<, 819, 6<, 819, 8<, 819, 13<, 820, 1<, 820, 6<, 820, 8<, 820, 13<, 821, 1<, 821, 6<, 821, 8<, 821, 13<, 823, 3<, 823, 4<, 823, 5<, 823, 9<, 823, 10<, 823, 11<<; diehard = 881, 7<, 82, 1<, 82, 2<, 83, 2<, 83, 6<, 83, 7<, 83, 8<<; acorn = 881, 2<, 82, 4<, 83, 1<, 83, 2<, 83, 5<, 83, 6<, 83, 7<<; glidergun = 881, 25<, 82, 23<, 82, 25<, 83, 13<, 83, 14<, 83, 21<, 83, 22<, 83, 35<, 83, 36<, 84, 12<, 84, 16<, 84, 21<, 84, 22<, 84, 35<, 84, 36<, 85, 1<, 85, 2<, 85, 11<, 85, 17<, 85, 21<, 85, 22<, 86, 1<, 86, 2<, 86, 11<, 86, 15<, 86, 17<, 86, 18<, 86, 23<, 86, 25<, 87, 11<, 87, 17<, 87, 25<, 88, 12<, 88, 16<, 89, 13<, 89, 14<<; list = glidergun;

Udvari_Balazs_Game_of_Life.nb 3 ü A játék M0 = Table@0, 8m<, 8m<; Szomszed = Table@0, 8m<, 8m<; For@i = 1, i Length@list, i++, x0 = list@@i, 1 + 20; y0 = list@@i, 2 + 20; M0 = ReplacePart@M0, 8x0, y0< 1 ; ynamicmodule@ 8u = 0<, ynamic@ Refresh@ If@u > 1000, u = u; ArrayPlot@M0, u= u + 1; i0 = i; j0 = j; x0 = If@i 1 0, m, i0 1; x1= i; x2 = If@i + 1 > m, 1, i0 + 1; y0 = If@j 1 0, m, j0 1; y1= j; y2 = If@j + 1 > m, 1, j0 + 1; Szomszed = ReplacePart@ Szomszed, 8x1, y1< M0@@x0, y0 + M0@@x0, y1 + M0@@x0, y2 + M0@@x1, y0 + M0@@x1, y2 + M0@@x2, y0 + M0@@x2, y1 + M0@@x2, y2 ; M1 = M0; x0 = i; y0 = j; Switch@M0@@x0, y0, 0, If@Szomszed@@x0, y0 == 3, M1 = ReplacePart@M1, 8x0, y0< 1, 1, If@Szomszed@@x0, y0 > 3»» Szomszed@@x0, y0 < 2, M1 = ReplacePart@M1, 8x0, y0< 0 ; M0 = M1; ArrayPlot@M0, TrackedSymbols 8<, UpdateInterval.01

4 Udvari_Balazs_Game_of_Life.nb A felhasználó köre ü Kezdőértékek list = Input@"Adjon meg egy kezdőállást! szintaktika: 88a,b<,8c,d<,...<" 881, 1<, 82, 1<, 83, 1<, 83, 2<, 82, 3<< m = 50;

Udvari_Balazs_Game_of_Life.nb 5 ü A játék M0 = Table@0, 8m<, 8m<; Szomszed = Table@0, 8m<, 8m<; For@i = 1, i Length@list, i++, x0 = list@@i, 1; y0 = list@@i, 2; M0 = ReplacePart@M0, 8x0, y0< 1 ; ynamicmodule@ 8u = 0<, ynamic@ Refresh@ If@u > 1000, u = u; ArrayPlot@M0, u= u + 1; i0 = i; j0 = j; x0 = If@i 1 0, m, i0 1; x1= i; x2 = If@i + 1 > m, 1, i0 + 1; y0 = If@j 1 0, m, j0 1; y1= j; y2 = If@j + 1 > m, 1, j0 + 1; Szomszed = ReplacePart@ Szomszed, 8x1, y1< M0@@x0, y0 + M0@@x0, y1 + M0@@x0, y2 + M0@@x1, y0 + M0@@x1, y2 + M0@@x2, y0 + M0@@x2, y1 + M0@@x2, y2 ; M1 = M0; x0 = i; y0 = j; Switch@M0@@x0, y0, 0, If@Szomszed@@x0, y0 == 3, M1 = ReplacePart@M1, 8x0, y0< 1, 1, If@Szomszed@@x0, y0 > 3»» Szomszed@@x0, y0 < 2, M1 = ReplacePart@M1, 8x0, y0< 0 ; M0 = M1; ArrayPlot@M0, TrackedSymbols 8<, UpdateInterval.01

6 Udvari_Balazs_Game_of_Life.nb Játék a véletlennel ü Kezdőértékek In[96]:= m = 50; In[97]:= M0 = Table@Random@Integer, 80, 1<, 8m<, 8m<; Szomszed = Table@0, 8m<, 8m<;

Udvari_Balazs_Game_of_Life.nb 7 ü A játék In[99]:= ynamicmodule@ 8u = 0<, ynamic@ Refresh@ If@u > 1000, u = u; ArrayPlot@M0, u= u + 1; i0 = i; j0 = j; x0 = If@i 1 0, m, i0 1; x1= i; x2 = If@i + 1 > m, 1, i0 + 1; y0 = If@j 1 0, m, j0 1; y1= j; y2 = If@j + 1 > m, 1, j0 + 1; Szomszed = ReplacePart@ Szomszed, 8x1, y1< M0@@x0, y0 + M0@@x0, y1 + M0@@x0, y2 + M0@@x1, y0 + M0@@x1, y2 + M0@@x2, y0 + M0@@x2, y1 + M0@@x2, y2 ; M1 = M0; x0 = i; y0 = j; Switch@M0@@x0, y0, 0, If@Szomszed@@x0, y0 == 3, M1 = ReplacePart@M1, 8x0, y0< 1, 1, If@Szomszed@@x0, y0 > 3»» Szomszed@@x0, y0 < 2, M1 = ReplacePart@M1, 8x0, y0< 0 ; M0 = M1; ArrayPlot@M0, TrackedSymbols 8<, UpdateInterval.1

8 Udvari_Balazs_Game_of_Life.nb Out[99]= Felhasznált irodalom : (1) Totik V.: Az élet játék(a), Polygon 1996/1. (2) Wikipedia