Portál AbcLinuxu, 2. května 2025 01:02
Přestože snad všichni vysokou školou povinní už musejí mít zkouškové, a tedy většinu zápočtů za sebou, objevuje se tady podezřele málo zmínek o zápočtových projektech a podobně. Tak to zkusím napravit se svou zápočtovou prací do Algoritmů a datových struktur 2, kterou jsem psal o velmi zajímavém algoritmu Hashlife.
Dokument se mi poněkud rozrostl, ale pro ty, kteří ví, co je Game of Life a mají trochu ponětí o tom, jak funguje, bude snadné přeskočit pár stránek a začít číst to opravdu zajímavé. Snad se vám to bude líbit, jsem zvědavý na vaše poznámky a připomínky :)
Takže ... "Jak rychle na Game of Life". Než začnete křičet, že linkovat ven je ošklivé, dejte mi příležitost podat vysvětlení. Zaprvé - ta práce je fakt hodně velká a nechci tady dávat ohavné nudle, které lidi odradí hned na začátku, místo toho, aby třeba z plodné diskuze získali motivaci se na to podívat (si fandím, co ;) ? Ale samotnému se mi to občas stává - je tu dlouhý post, ten přescrolluju, diskuse vypadá zajímavě a třeba si i něco z toho textu pak přečtu). Zadruhé to není link na žádný můj výdělečný web s reklamami - je to čistý výstup z "rst2html.py", nic víc za tím nehledejte. Tak. A už vás nebudu rušit ;).
Tiskni
Sdílej:
Jo, o tom se na wiki píše - že hned druhý nápad po omezení prostoru (s tím, že cokoliv je "za hranicí", je mrtvá buňka), je umístit to na toroid (to se dělá jednodušeji než ta koule, prostě ztotožníš levý a pravý okraj pole a horní a dolní).
Co se aplikace týče se tím prý zabývají biologové, ale nevím, jak moc slavné to je. Spíš jde asi o to, že se s GoL (a ještě více potom v souvislosti s prací Stephena Wolframa a "A new kind of science", na kterou se v blízké době chystám)prolomily ledy co se buněčných automatů týče a nějaké specifické se v biologii a fyzice vážně používají. Co se fyziky týče by mohl zaujmout třeba Voxelstein - buněčný model je 3D voxelizace prostoru a stavy buněk jsou jejich fyzikální veličiny (teplota, tlak a podobně - nejsem fyzik, tak to nebudu moc rozebírat), IMHO docela zajímavý přístup.
Popravdě jsem chtěl tohle připsat do toho dokumentu (a asi tak ještě někdy později učiním), protože jednou z nevýhod hashlife je právě to, že není úplně zobecnitelný - hashlife moc často nedoběhne v rekurzi až ke čtverci 4x4, protože jich není tolik a rychle si je všechny předpočítá. Zkuste si ale představit počet nějakých minimálních případů ve 3D...tam už začíná být s pamětí docela velký problém.
Implementace existuje, je zmíněna, je to Golly. Je fakt skvělý, běhá rychle, obsahuje Quicklife (optimalizovaný normální algoritmus) i Hashlife a taky podporu pro jiná pravidla (Life je S23/B3, můžeš si vymyslet svoje, nebo i úplně jiné automaty a v rámci nějakého formátu to umí Golly odsimulovat). BTW taky jsem ten zápočťák dělal u MJ :)
S crashnutím filesystému mám jen zkušenost, že kdysi (když jsem byl mladý a nezkušený, ehem...) mi rozjetý torrent zaplnil (kořenový) reiser4 oddíl a ten to úplně nerozdejchal (kernel panic, nutný rebuild superblocku). Takže někdy ani není potřeba ten filesystém umountovat a dělat do něj díry ručně ;)
Ještě bys mohl do toho filesystému střílet zaživaJo, to je zajímyvý nápad, díky, asi to hodím to planned nebo wished features...
Hlavně pak ubal balíčky a zveřejni výsledky testů.Stoprocentně, jen co to bude aspoň trochu použitelný.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.