Wireworld
![](http://upload.wikimedia.org/wikipedia/commons/1/15/Wireworld_two-diodes.gif)
Wireworld — клітинний автомат, запропонований Браяном Сільверманом[en] у 1987 році, змодельований в його програмі Phantom Fish Tank. Автомат став відомішим після опублікування статті в колонці «Computer Recreations» журналу Scientific American[1]. Wireworld особливо придатний для симуляції електронних логічних елементів, або «гейтів». Незважаючи на простоту правил, Wireworld є повним за Тюрингом.
![](http://upload.wikimedia.org/wikipedia/commons/1/13/Wireworld_XOR-gate.gif)
Клітина у Wireworld може перебувати в одному з чотирьох станів:
- Порожня
- Голова електрона
- Хвіст електрона
- Провідник
У програмному забезпеченні вони нумеруються від 0 до 3 значно частіше, ніж від 1 до 4. У прикладі, наведеному тут, стадії позначені відповідно кольорами: чорним, синім, червоним, жовтим.
Як і у всіх клітинних автоматах, час розділено на кроки, які називають поколіннями (іноді «генами» або «тіками»). Клітини поводяться так:
- Порожня → Порожня
- Голова електрона → Хвіст електрона
- Хвіст електрона → Провідник
- Провідник → Голова електрона за умови, що на сусідніх клітинках є рівно 1 або 2 голови електронів, інакше залишаються провідниками.
У Wireworld використовується Околиця Мура|окіл Мура, що означає, що в перелічених вище правилах сусідніми вважаються клітинки на відстані ходу короля.
Серед об'єктів, створених у всесвіті Wireworld - мураха Ленгтона (у Wireworld можливо створити будь-який зразок мурахи Ленгтона)[2] і комп'ютер Wireworld, повний за Тюрингом комп'ютер, втілений за допомогою клітинного автомата[3].
- ↑ Computer recreations: The cellular automata programs that create Wireworld, Rugworld and other diversions, Scientific American (1990) by A K Dewdney
- ↑ Nyles Heise. Wireworld. Архів оригіналу за 13 лютого 2013. Процитовано 4 лютого 2016.
- ↑ Mark Owen. The Wireworld Computer. Архів оригіналу за 13 лютого 2013. Процитовано 4 лютого 2016.
- Wireworld [Архівовано 28 лютого 2016 у Wayback Machine.] на Rosetta Code
- Комп'ютер Wireworld на Java [Архівовано 3 березня 2016 у Wayback Machine.]
|