Załóżmy, że budujesz komputer, który będzie obliczał stan wszystkich atomów we Wszechświecie w pewnym momencie w przyszłości. Ponieważ Wszechświat jest z definicji wszystkim, co istnieje (i wszystkim, co wchodzi w interakcję z resztą), obejmuje także komputer, który budujesz. Czy potrafisz obliczyć stan wszystkich atomów we Wszechświecie za pomocą komputera, w tym atomów samego komputera?
Jeśli taki komputer nie jest możliwy z innego teoretycznego lub praktycznego powodu, to co to jest?
computability
mojuba
źródło
źródło
Odpowiedzi:
Nie, komputer nie może idealnie symulować siebie oprócz czegoś innego bez naruszenia podstawowej teorii informacji : istnieją ciągi, które nie są ściśliwe.
Oto najprostszy możliwy dowód: załóżmy, że komputer ma w sumie możliwych stanów i załóżmy, że istnieje coś poza komputerem we wszechświecie, więc wszechświat ma co najmniej N + 1 możliwych różnych stanów. Przy zerowym obciążeniu każdy stan komputera może odpowiadać stanowi wszechświata, ale ponieważ wszechświat ma więcej stanów niż komputer, niektóre stany wszechświata zostaną odwzorowane na ten sam stan komputera, w którym to przypadku symulacja nie być w stanie ich rozróżnić.N N+1
źródło
Nie jestem pewien, czy to odpowiada na twoje pytanie, ale mam nadzieję, że może mieć sens i prowadzić do wglądu.
Załóżmy, że istnieje maszyna Turinga która może symulować każdy atom we wszechświecie, w tym siebie, a następnie koniecznie może symulować siebie.X
Teraz sprowadzenie tego do problemu zatrzymania jest banalne:
Niech weźmie maszynę Turinga M za swój sygnał wejściowy i zdecyduje, czy zatrzyma się, symulując wszechświat (ponieważ M jest zawarty we wszechświecie), a następnie zrobi coś przeciwnego (np. X zatrzyma się, jeśli M nie będzie, i zapętli się na zawsze, jeśli M się zatrzyma. ). Następnie X ( X )X M M X M M X(X) wykazuje sprzeczność.
Zasadniczo oznacza to, że najlepszy może zrobić, aby zdecydować, czy XX X przystankach czy nie jest po prostu uruchamiając się (czyli niech działa wszechświat swój sposób), więc symulowanie wszechświat nie daje przewagę.
To samo dotyczy sytuacji, gdy chcemy mieć stan wszechświata po czasie . Ponieważ X nie może zdecydować, czy zatrzyma się w czasie t, czy nie w czasie t (ten sam argument), pozwoli mu to zrobić we wszechświecie. Próba symulacji wszechświata, który to robi, nie może skrócić czasu na podjęcie decyzji. A jeśli decydując jak wszechświat będzie wyglądać w t czas trwa dłużej niż t wówczas symulacja będą się różnić (jak tt X t t t t t przechodzi w nieskończoność).
Prowadzi to do wniosku, że tylko przydatny symulator, który decyduje o tym, jak będzie wyglądał wszechświat w czasie musi zająć dokładnie czas t , tzn. Pozwalając wszechświatowi działać. Ten symulator jest więc naprawdę trywialnym symulatorem.t t
źródło
Myślę, że moglibyśmy spróbować potraktować to jako problem modelowania : w jaki sposób możemy ponownie sformułować pytanie, aby stało się ono informatyką, a nie fizyką? Spróbuję podać prosty, konkretny przykład tego, jak możemy to zrobić, aby wszystko zaczęło ...
Zastąpmy „wszechświat” czymś bardzo dyskretnym i prostym (i skończonym!). Powiedzmy, że nasz wszechświat jest skończonym automatem komórkowym. W szczególności cały świat jest n × nW n×n siatką .
Załóżmy, że początkowa konfiguracja świata jest dowolna. Teraz pytanie wydaje się być następujący: możemy wybrać ścisłego podzbioru C z W. ( „Komputer”) oraz początkowego stanu C , który spełnia następujące warunki:W C W C
Nie zmieniamy stan początkowy . (To znaczy, po prostu „budujemy nasz komputer C ”, bez ingerowania w świat poza nim).W∖C C
Następnie możemy uruchomić dowolną liczbę kroków automatu komórkowego (cały świat , w tym C i wszelkie interakcje między W ∖ C i C ).W C W∖C C
Możemy odczytać aktualny stan świata jedynie poprzez kontrolowanie C . (To znaczy, C musi być „symulacją” W.) Zauważ, że musimy być w stanie odczytać stan całej W , nie tylko W ∖ C. W pewnym sensie C musi być w stanie symulować zarówno swoje zewnętrzne, jak i wewnętrzne !)W C C W W W∖C C
Czy to jest wykonalne? Kuszące może być użycie argumentu liczącego (w jest więcej stanów niż w C ) i powiedzenie, że jest to niemożliwe. Ale niekoniecznie tak jest!W C
Załóżmy, że nasz automat komórkowy jest totalistyczny . Następnie możemy po prostu pozwolić, aby była prawą połową naszej siatki W , i niech początkowa konfiguracja C będzie lustrzanym odbiciem W ∖ C , aby wszystko było symetryczne. Otóż to.C W C W∖C
Uruchom automat i zobacz, co się stanie. Bieżący stan będzie zawsze równy stanowi C + jego odbicie lustrzane. Oznacza to, że jedynie kontrolę C wystarczy powiedzieć jaki jest stan całego W .W C C W
(Oczywiście tutaj komputer wchodzi w interakcje z i wpływa na przyszły stan W ∖ C. Ale to samo dzieje się również w świecie rzeczywistym.)W W∖C
Teraz może być interesujące sprawdzić, czy istnieje nietrywialna odpowiedź na to pytanie. Na przykład, które urzędy certyfikacji dopuszczają komputery o rozmiarze mniejszym niż połowa ?W
źródło
Oto prosty (nieformalny) dowód. Powiedzmy, że jest rok 2115, a ja mam 100-letni komputer, który nazywam Mac, i superkomputer o nazwie Bóg. Bóg może łatwo symulować i przewidywać Maca, dopóki nie zrobię następujących rzeczy:
Najpierw dołączam kamerę internetową do komputera Mac i kieruję ją na ekran Boga. Następnie uruchamiam na komputerze Mac program, który w nieskończonej pętli przechowuje każdą liczbę wykrytą na ekranie Boga oraz generuje i wyświetla liczbę, która nie znajduje się na liście przechowywanych liczb. Na koniec proszę Boga, aby pokazał mi numer, który Mac pokaże za minutę. Bez względu na to, jaką liczbę pokazuje Bóg, Mac wyprodukuje i pokaże inną, więc Bóg nie będzie w stanie udzielić poprawnej odpowiedzi.
Jest to równoważne z faktem, że jeśli superkomputer przewiduje mnie, cokolwiek mi powie, że zrobię, będę mógł zrobić coś przeciwnego (jak w komentarzu Marka ). Odbywa się to również niezależnie od procesu, jaki superkomputer stosuje do przewidywania przyszłości (symulacja, podróż do przyszłości i powrót, proszenie o wyrocznię itp.).
źródło
Skończony komputer nie może się symulować, w przeciwieństwie do maszyny Turinga, która ma nieskończoną taśmę i może symulować każdą inną maszynę Turinga. Możliwe jest jednak symulowanie dowolnego komputera na podobnym komputerze, ale potrzebujesz trochę więcej pamięci niż „symulowana” (jak na maszynie wirtualnej): http://meaningofstuff.blogspot.com/2016/03/ can-computer-or-human-simulate-sama.html
źródło