Przeczytałem stronę wikipedii dla reguły 110 w automatach komórkowych i mniej więcej wiem, jak działają (zestaw reguł decyduje, gdzie narysować następną 1 lub 0).
Właśnie przeczytałem, że Turing jest kompletny, ale nie mogę nawet pojąć, jak byś „zaprogramował” w „regule 110”?
Odpowiedzi:
Cytowane słowa to te, które należy zdefiniować. W przypadku maszyn Turinga:
Jeśli jesteś ciekawy co do konkretnej konfiguracji Reguły 110 jako systemu komputerowego, proponuję rzucić okiem na artykuł Matthew Cooka, który dowodzi uniwersalności Reguły 110 (a raczej systemu komputerowego zbudowanego wokół Reguły 110).
Co do innych zasad, takich jak Reguła 30 i Reguła 90, nie wiemy, że nie są one uniwersalne. Mogą być zbudowane przekonujące systemy komputerowe, które są uniwersalne, ale po prostu nie jesteśmy tego świadomi.
źródło
Z dowodu Matthew:
Autor zaczyna od udowodnienia, że „system znaczników”, który usuwa 2 symbole na każdym etapie, jest uniwersalny, kompilując 2-stanowy program maszyny Turinga. Następnie udowadnia, że system szybowców może rzeczywiście zaimplementować system znaczników. Jest to proces krok po kroku. Następnie bada czasoprzestrzeń CA-110, aby znaleźć szybowce i prawidłowo powiązać je z systemem szybowców.
A teraz pytanie: jak „zaprogramowałbyś” regułę 110?
Poszukaj najprostszej 2-stanowej maszyny Turinga i znajdź taśmy podstawowych operacji LUB, AND, XOR, NOT .
Skompiluj je do systemu tagów.
Skompiluj implementację systemu znaczników w implementacji szybowca.
Dostosuj go poprawnie do szybowców CA-110, a będziesz mieć podstawowe operacje w automatach komórkowych.
Uwaga na bok. Szybowce są bardzo specjalnymi konstrukcjami. Operacje będą postrzegane jako poruszające się i zderzające się cząstki (szybowce), generujące różne dane wyjściowe w zależności od tego, jak te szybowce zaczynają się lub zderzają.
źródło