Czy małpa mogłaby napisać Szekspira? Uczeni sprawdzili twierdzenie o nieskończonej liczbie małp
Twierdzenie o nieskończonej liczbie małp mówi, że jeśli nieskończona liczba małp będzie losowo naciskała na klawisze maszyn do pisania przez nieskończenie długi czas, to w końcu stworzą dowolny tekst. Na przykład dzieła Szekspira. Badacze z University of Technology Sydney stwierdzili, że twierdzenie rzeczywiście jest prawdziwe, jednak takie przypadkowe stworzenie dzieła Szekspira zajęłoby znacznie dłużej niż wiek wszechświata.
Sprawdzenia prawdziwości teorii podjęli się profesor Stephen Woodcock i Jay Falletta. Twierdzenie o nieskończonej liczbie małp nie nakłada ograniczeń ani na liczbę małp, ani na ilość czasu. My zbadaliśmy prawdopodobieństwo powstania danego ciągu liter napisanego przez określoną liczbę małp w czasie równym wiekowi wszechświata, wyjaśnia Woodcock. Wyniki swoich badań uczeni opublikowali na łamach pisma Franklin Open w artykule A numerical evaluation of the Finite Monkeys Theorem.
Naukowcy założyli, że klawiatura, a jaką mają do czynienia małpy, składa się z 30 klawiszy z wszystkimi literami alfabetu łacińskiego oraz najpowszechniej stosowanymi znakami interpunkcyjnymi. Obliczeń dokonali zarówno dla jednej małpy, jak i dla 200 000 żyjących obecnie na Ziemi szympansów. Założyli także, że średnie produktywne tempo naciskania na klawisze wynosi 1 klawisz na sekundę i że małpy będą pisały do końca wszechświata, który nastąpi za około 10100 lat.
Badania wykazały, że istnieje 5-procentowe prawdopodobieństwo, że w ciągu swojego życia szympans napisze wyraz „bananas”. Jednak nawet 200 000 szympansów nie byłoby w stanie stworzyć wszystkich dzieł Szekspira – a napisał on około 884 647 słów – do końca istnienia wszechświata.
Jest niemal niemożliwe, by – nawet zwiększając liczbę szympansów czy przyspieszając tempo pisania – małpy były użytecznym narzędziem do tworzenia nietrywialnych dzieł literackich, stwierdzili autorzy badań. Nasze badania plasują to stwierdzenie wśród takich problemów jak paradoks petersburski, paradoksów Zenona, gdzie wykorzystanie idei nieskończonych zasobów nie zgadza się z wynikiem, który otrzymamy, gdy weźmiemy pod uwagę ograniczenia narzucane przez rzeczywistość, dodaje Woodcock.
Komentarze (11)
Jarek Duda, 2 listopada 2024, 09:09
Dyskutowana "analiza" brzmi na poziomie licealisty, bardziej formalnie prawdopodobieństwo losowego wygenerowania to ~2^-H dla H entropii Shannona w bitach ...
... która zależy od użytego modelu statystycznego:
- czy założymy rozkład jednorodny po ASCII: 8 bitów/litera,
- alfabecie: ~5-6 bitów/litera,
- uwzględnimy niejednorodność rozkładu liter: ~4 bity/litera dla i.i.d.,
- uwzględnimy poprzednią literę: ~3.3 bit/litera dla o1 Markov,
- użyjemy rozkładu po całych wyrazach: ~2 bity/literę,
- użyjemy np. gigantycznych sieci neuronowych: ~1 bit/literę.
Jaki model użyłaby/nauczyła się małpa? Jest to niezwykle trudne pytanie, szczególnie że w szybkim przetwarzaniu pojedynczych symboli mogą sobie radzić lepiej niż człowiek:
ex nihilo, 2 listopada 2024, 23:56
No i fajnie... tylko, że to wszystko raczej niewiele zmieni, bo potrzebne chyba by były gruuube rzędy wielkości, a ile na tym wszystkim można zaoszczędzić? 2-3?
Zakładam oczywiście, że pierwotne obliczenia są poprawne.
Sławko, 4 listopada 2024, 18:39
No tak. Tylko, że badacze nie uwzględnili tego, że:
peceed, 4 listopada 2024, 20:51
Naukowcy nie mający szans na Nobla postanowili się przerzucić na igNoble.
A to jak widać coraz twardsza konkurencja.
Jak widać nie zrozumiał kolega prostego modelu:
Żadne zaawansowane modele danych nie mają żadnego zastosowania, co jest zawarte implicite w w sformułowaniu "małpy".
Do tego zupełnie błędnie zajmuje się kolega modelem danych dla generowanego tekstu, zamiast zająć się modelem statystycznym dla klawiatury: czy małpy aby na pewno wybierają swoje guziki przypadkowo.
Prawdopodobieństwo zależy od entropii obliczonej z użyciem modelu w ramach którego małpy naciskają guziki.
A mogą mieć skłonności do walenia po kilka razy w ten sam klawisz z rzędu...
Mogą mieć leniwą łapkę i skupiać się na tym samym rejonie
Jarek Duda, 5 listopada 2024, 02:48
To jest właśnie przykład własności modelu statystycznego o czym pisałem (~RLE), wpływający na prawdopodobieństwo wygenerowania danego np. tekstu.
Owszem jednorodny rozkład po alfabecie był w moich przykładach - też uważam że jest on odległy od tego co użyłaby małpa, dlatego podałem też inne.
Nie zdziwiłby się gdyby można było wytresować małpę żeby generowała teksty, tutaj jest przykład użycia języka migowego:
Afordancja, 5 listopada 2024, 11:25
hm...nie znam się, ale to tak się liczy?
Założyli, że małpa pracuje 10^9 sekund i ok i wyszło im 5%.
jeżeli jednak jak by wstawić zamiast 10^9, że pracowała 1 sekundę to by im wyszło 1/( 2.2 * 10^10), a to nieprawda bo wy nie dało się z jednej litery ułożyć wyrazu bananas, dopiero przy losowych 7 literach szanse wynosiły by 1 do ( 2.2 * 10^10). a wg. ich wyliczen było by to 7 do ( 2.2 * 10^10).
Niech wypowie się ktoś mądrzejszy
Już pominę, że takim sposobem liczenia, wg. mnie mogą osiągnąć 200%
PS.
dochodzi do tego jeszcze jeden element ale to później
peceed, 5 listopada 2024, 18:29
Rozkład po ASCII czy wyrazach raczej nie wskazywał że chodzi o model statystyczny dla zachowania małpy, zwłaszcza że wyraźnie napisano:
Tam nie ma równości tylko falka, co oznacza rachunek przybliżony, w dodatku dla małych prawdopodobieństw.
Ale prawidłowy bardziej prawidłowy wzór to (10^9-7)/30^7 - dla małych prawdopodobieństw.
Jeszcze dokładniejszy to:
1-(1-(1/30)^7)^(10^9-7),
Gdzie przesuwamy okno o długości 7 i stwierdzamy, że kolejne losowane litery nie stanowią wyrazu "bananas".
Nie jest to dokładne:
Brak wyrazu "bananas" przy poprzednim potencjalnym rozpoczęciu oznacza, że mogło to nastąpić z powodu, że druga litera była różna od "a", czyli szanse że wylosowane będzie b są większe. Nie do końca są to zatem zdarzenia niezależne, więc wymnażanie jest przybliżeniem.
Afordancja, 5 listopada 2024, 21:51
falki to falki, bo te liczby są przybliżone, jednak sam sposób liczenia jest wg. mnie mocno na oko, ale rozumiem, że nie ma znaczenia czy 1/dużo czy 7/dużo to dalej mało, ale dla mnie róznica x7 to różnica
O tym chciałem później, bo nie losujemy siódemek tylko bananas może być w ciągu xbanana i osujemy s i mamy bananas.
No ale dobra, niech bedzie przybliżeniem, ale dla mnie bezsensownie liczonym, bo gdy zmienimy wiek mnałpy na wiek wszechświata, to wyjdzie im TYM sposobem liczenia, że na bananas są grubo grubo powyżej 100% , no niby spoko bo to dalej pewniak, jednak dla mnie to spora różnica.
peceed, 5 listopada 2024, 21:59
No ale przecież podałem dwie poprawki do wzoru które pozbywają się tych problemów.
Pierwsza dość jasno traci sens dla ilości losowań mniejszej niż 7, a druga zdecydowanie unika prawdopodobieństw powyżej 100%.
Te wzory przechodzą w siebie w kolejnych przybliżeniach.
Afordancja, 5 listopada 2024, 22:10
Nie mówię, że nie, ja odnoszę się do wspomnianej pracy nie do Twoich wzorów
Po prostu zdanie o 5% i bananas jest fałszywe i tyle, i jest daleko od około...nie powinno to mieć miejsca jak dla mnie w takiej pracy.
Na resztę nie patrzyłem, ale w związku z powyższym wątpię w prawdziwość dalszych obliczeń wyrazów.
peceed, 6 listopada 2024, 00:24
Pełne dokładne rozwiązanie wygląda na proste zadanie z programowania dynamicznego.
Ilość ciągów 10^9 wyrazowych zawierających bananas to oczywiście suma ilości wyrazów zawierających słowo bananas na pierwszej pozycji czyli 30**(10^9-7) dodać ilość wyrazów w których pierwsze wystąpienie słowa bananas występuje na 2 pozycji itd.
Chyba jednak lepiej poprawić kwestie okna. Otóż wcześniejsze wybory klawiszy niż ostatnie 6 nie zmieniają statystyki i pozostaje ona całkowicie stała przy jego przesuwaniu .Tylko poprzednie 6 liter może mieć minimalny wpływ na statystykę.
Rozwiązanie jeszcze dokładniejsiejsze:
Należy się zastanowić jakie jest P( "dołożona litera nie tworzy bananas", pod warunkiem "bananas nie wystąpił wcześniej") - przy dołożeniu jednej litery.
1 - P("dołożona litera tworzy bananas", pod warunkiem że "bananas nie wystąpił wcześniej").
Interesuje nas analiza w oknie 13 liter, bo wcześniejsze wystąpienia nie są w stanie zmienić tego prawdopodobieństwa warunkowego nie zahaczając o wyraz:
1 - P("dołożona litera tworzy bananas na końcu okna 13 liter"
^"bananas nie wystąpił wcześniej w oknie 13 liter")/P("bananas nie wystąpił wcześniej w oknie 13")^- to iloczyn zdarzeń/zbiorów"bananas" ma własność, że żaden jego sufix nie jest jego prefiksem, to oznacza że zdarzenie "dołożona litera tworzy bananas na końcu okna 13 liter" implikuje ""bananas nie wystąpił wcześniej w oknie 13 liter", korzystamy z faktu, że P(A
^B)=P(A), jeśli A->B.1-P("dołożona litera tworzy bananas na końcu okna 13 liter")/(1 - P("bananas wystąpił wcześniej w oknie 13")
1- 306/3013/(1-6*106/1013)=1-30-7/(1-6*30-7)
Dla pierwszych 6 liter prawdopodobieństwo nie istnieje, a dla kolejnych trzeba powyższe okno odpowiednio skracać, czyli brać 7,8,9,10,11,12 odpowiednio modyfikując powyższy wzór.
Prawdopodobieństwo napisania bananas wyniesie zatem:
P("napisano bananas")=
1 - (1-30-7/(1-0*30-7)) * (1-30-7/(1-1*30-7)) * (1-30-7/(1-2*30-7)) * (1-30-7/(1-3*30-7)) * (1-30-7/(1-4*30-7)) * (1-30-7/(1-5*30-7)) * (1-30-7/(1-6*30-7))^(109-12)