Czy komputery cyfrowe mogą zrozumieć nieskończoność?

39

Jako istota ludzka możemy myśleć o nieskończoności. Zasadniczo, jeśli mamy wystarczającą ilość zasobów (czasu itp.), Możemy policzyć nieskończenie wiele rzeczy (w tym abstrakcyjne, takie jak liczby lub rzeczywiste).

Na przykład możemy wziąć pod uwagę liczby całkowite. Zasadniczo możemy myśleć i „rozumieć” nieskończenie wiele liczb wyświetlanych na ekranie. W dzisiejszych czasach staramy się zaprojektować sztuczną inteligencję, która jest w stanie przynajmniej człowieka. Utknąłem jednak w nieskończoności. Próbuję znaleźć sposób na nauczenie modelu (głębokiego lub nie) rozumienia nieskończoności. Definiuję „rozumienie” w podejściu funkcjonalnym. Na przykład, jeśli komputer potrafi rozróżnić 10 różnych liczb lub rzeczy, oznacza to, że naprawdę w jakiś sposób rozumie te różne rzeczy. Jest to podstawowe bezpośrednie podejście do „rozumienia”.

Jak wspomniałem wcześniej, ludzie rozumieją nieskończoność, ponieważ są w stanie przynajmniej zliczać nieskończone liczby całkowite. Z tego punktu widzenia, jeśli chcę stworzyć model, model jest właściwie funkcją w sensie abstrakcyjnym, model ten musi różnicować nieskończenie wiele liczb. Ponieważ komputery to maszyny cyfrowe, które mają ograniczoną zdolność do modelowania tak nieskończonej funkcji, jak mogę stworzyć model, który różnicuje nieskończenie wiele liczb całkowitych?

Na przykład możemy wziąć model wizji głębokiego uczenia się, który rozpoznaje liczby na karcie. Ten model musi przypisać numer do każdej innej karty, aby odróżnić każdą liczbę całkowitą. Ponieważ istnieje nieskończona liczba liczb całkowitych, w jaki sposób model może przypisać inną liczbę do każdej liczby całkowitej, np. Człowieka, na komputerach cyfrowych? Jeśli nie potrafi odróżnić rzeczy nieskończonych, to jak rozumie nieskończoność?

Jeśli wezmę pod uwagę liczby rzeczywiste, problem staje się znacznie trudniejszy.

Po co mi brakuje? Czy są jakieś zasoby dotyczące tego tematu?

zieleń
źródło
30
Większość z nas ludzi nie rozumie wystarczająco dobrze nieskończoności. W tym mnie.
naiwny
2
@Amrinder Arora według silnej AI, możemy założyć, że zrozumienie to tylko udawanie. Dlatego model, który potrafi rozróżniać różne sygnały, w jakiś sposób rozumie sygnały lub pojęcia (jak to nazywasz).
verdery
6
Niedawno odbyłem długą dyskusję z niektórymi bardzo inteligentnymi ludźmi, którzy po prostu nie rozumieli, jak może być równie wiele liczb całkowitych, liczb całkowitych dodatnich, nawet liczb całkowitych, nawet liczb całkowitych dodatnich i liczb pierwszych. Dlatego kwestionowałbym twoje stwierdzenie, że ludzie rozumieją nieskończoność. Pamiętaj też, że matematycznie nie ma czegoś takiego jak „nieskończoność”. Istnieje wiele gałęzi matematyki, które mogą mieć różne pojęcia nieskończoności, a każda gałąź matematyki może nie mieć, jednej lub wielu pojęć nieskończoności. Są jeszcze różne „nieskończoności” nieskończoności!
Jörg W Mittag
8
Jestem trochę zdezorientowany, nikt nie zauważył, że w zasadzie każdy komputer już obsługuje nieskończoność - szczególnie z IEEE 754
Stop Harming Monica
2
@ JörgWMittag jest poprawny. Nieskończoność jest pojęciem definiowanym na różne sposoby w zależności od dziedziny matematyki. IEEE754 definiuje dość spójny zestaw reguł do obsługi nieskończoności, które stanowią podstawę większości prawdziwych systemów arytmetycznych na większości komputerów. Ale są też inne zasady. AI można nauczyć takich zasad. To, czy uda się wymyślić nowe i lepsze, jest poza moją oceną płacową
Rich

Odpowiedzi:

55

Myślę, że jest to dość powszechne nieporozumienie na temat sztucznej inteligencji i komputerów, szczególnie wśród laików. Jest tu kilka rzeczy do rozpakowania.

Załóżmy, że jest coś wyjątkowego w nieskończoności (lub w ciągłych koncepcjach), co czyni je szczególnie trudnymi dla AI. Aby to mogło być prawdziwe, to musi zarówno być tak, że ludzie mogą zrozumieć te pojęcia, podczas gdy pozostają obce maszyn, i że istnieją inne koncepcje, które nie są podobne do nieskończoności, że zarówno ludzie i maszyny mogą zrozumieć. W tej odpowiedzi pokażę, że pragnienie obu tych rzeczy prowadzi do sprzeczności.

Przyczyną tego nieporozumienia jest problem tego, co to znaczy zrozumieć . Zrozumienie jest niejasnym terminem w życiu codziennym, a ta niejasna natura przyczynia się do tego nieporozumienia.

Jeśli rozumiemy, rozumiemy przez to, że komputer ma świadome doświadczenie związane z pojęciem, szybko wpadamy w pułapkę metafizyki. Odbywa się długa i zasadniczo otwarta debata na temat tego, czy komputery mogą „zrozumieć” cokolwiek w tym sensie, a czasem nawet na temat tego, czy ludzie potrafią! Równie dobrze możesz zapytać, czy komputer może „zrozumieć”, że 2 + 2 = 4. Dlatego jeśli jest coś szczególnego w zrozumieniu nieskończoności, nie można tego powiązać z „rozumieniem” w sensie subiektywnego doświadczenia.

Załóżmy więc, że „rozumiejąc” mamy na myśli bardziej szczegółową definicję. Coś, co sprawiłoby, że pojęcie takie jak nieskończoność byłoby bardziej skomplikowane, aby komputer „zrozumiał”, niż pojęcie takie jak arytmetyka. Nasza bardziej konkretna definicja „zrozumienia” musi odnosić się do pewnej obiektywnie mierzalnej zdolności lub zdolności związanych z pojęciem (w przeciwnym razie powrócimy do krainy subiektywnych doświadczeń). Zastanówmy się, jaką pojemność lub zdolność moglibyśmy wybrać, która uczyniłaby nieskończoność specjalną koncepcją rozumianą przez ludzi, a nie maszyny, w przeciwieństwie do, na przykład, arytmetyki.

Można powiedzieć, że komputer (lub osoba) rozumie pojęcie, jeśli może podać prawidłową definicję tego pojęcia. Jeśli jednak nawet jeden człowiek rozumie nieskończoność na podstawie tej definicji, to powinno być dla niej łatwe zapisanie definicji. Po zapisaniu definicji program komputerowy może ją wyprowadzić. Teraz komputer „rozumie” nieskończoność. Ta definicja nie działa dla naszych celów.

Można powiedzieć, że jednostka rozumie pojęcia, czy można to zastosować koncepcję poprawnie. Ponownie, jeśli nawet jedna osoba rozumie, jak poprawnie zastosować pojęcie nieskończoności, musimy tylko zapisać reguły, których używają, aby uzasadnić tę koncepcję, i możemy napisać program, który odtworzy zachowanie tego systemu reguł. Nieskończoność jest właściwie bardzo dobrze scharakteryzowana jako koncepcja, ujęta w ideach takich jak Numery Aleph . Kodowanie tych systemów reguł w komputerze nie jest niepraktyczne, przynajmniej do poziomu, który rozumie je każdy człowiek. Dlatego komputery mogą „zrozumieć” nieskończoność do tego samego poziomu zrozumienia, co ludzie, również w tej definicji. Więc ta definicja nie działa dla naszych celów.

Można powiedzieć, że jednostka „rozumie” pojęcie, jeśli może logicznie powiązać to pojęcie z dowolnymi nowymi pomysłami. Jest to prawdopodobnie najsilniejsza definicja, ale musielibyśmy być tutaj bardzo ostrożni: bardzo niewielu ludzi (proporcjonalnie) ma głębokie zrozumienie pojęcia takiego jak nieskończoność. Jeszcze mniej osób może łatwo powiązać to z dowolnymi nowymi koncepcjami. Co więcej, algorytmy takie jak ogólne rozwiązywanie problemów mogą zasadniczo wywodzić wszelkie logiczne konsekwencje z danego zbioru faktów, mając wystarczająco dużo czasu. Być może zgodnie z tą definicją komputery lepiej rozumieją nieskończoność niż większość ludzi iz pewnością nie ma powodu przypuszczać, że nasze istniejące algorytmy nie poprawią tej zdolności z czasem. Ta definicja również nie spełnia naszych wymagań.

Na koniec możemy powiedzieć, że jednostka „rozumie” pojęcie, jeśli może wygenerować jego przykłady. Na przykład mogę wygenerować przykłady problemów arytmetycznych i ich rozwiązania. Zgodnie z tą definicją prawdopodobnie nie „rozumiem” nieskończoności, ponieważ w rzeczywistości nie mogę wskazać ani stworzyć żadnej konkretnej rzeczy w prawdziwym świecie, która jest zdecydowanie nieskończona. Nie mogę na przykład zapisać nieskończenie długiej listy liczb, a jedynie formuł, które wyrażają sposoby tworzenia coraz dłuższych list poprzez inwestowanie coraz więcej wysiłku w ich spisywanie. Komputer powinien być co najmniej tak dobry jak ja. Ta definicja również nie działa.

Nie jest to wyczerpująca lista możliwych definicji „rozumie”, ale omówiliśmy „rozumie”, ponieważ rozumiem ją całkiem dobrze. Pod każdą definicją rozumienia nie ma nic specjalnego w nieskończoności, która oddziela ją od innych pojęć matematycznych.

Wynik jest taki, że albo zdecydujesz, że komputer w ogóle nic nie „rozumie”, albo nie ma szczególnie dobrego powodu, aby przypuszczać, że nieskończoność jest trudniejsza do zrozumienia niż inne logiczne pojęcia. Jeśli się nie zgadzasz, musisz podać konkretną definicję „rozumienia”, która oddziela rozumienie nieskończoności od innych pojęć i nie zależy od subiektywnych doświadczeń (chyba że chcesz twierdzić, że twoje konkretne metafizyczne poglądy są ogólnie poprawne, ale to jest twardy argument uczynić).

Nieskończoność ma na wpół mistyczny status wśród laików, ale tak naprawdę jest jak każdy inny matematyczny system reguł: jeśli możemy zapisać reguły, według których działa nieskończoność, komputer może to zrobić tak dobrze, jak człowiek ( albo lepiej).

John Doucette
źródło
5
@verdery W mojej odpowiedzi próbuję dojść do wniosku, że nie ma konfliktu między zbiorami nieskończonymi i skończonymi. Komputer może policzyć wszystkie elementy zbioru nieskończonego, dokładnie w tym samym sensie, co człowiek (w zasadzie). Jeśli człowiek może przypisać inną liczbę do każdego elementu zestawu, dzieje się tak dlatego, że może napisać funkcję opisującą ten związek. Gdy tylko uda im się wyrazić relację na tyle formalnie, aby napisać ją jako funkcję, możemy zaprogramować obliczenia, aby robiły to samo.
John Doucette
8
@verdery Wydaje mi się, że rozumiem, o co pytasz. Myślę, że źródłem problemu jest błąd atrybucji przy stwierdzeniu „ludzie rozumieją nieskończoność”. „Zrozum” nie jest tu związane. W mojej odpowiedzi staram się wykazać, że bez względu na to, jaką definicję „rozumiesz”, którą przyjmujesz, nie ma nic szczególnego w koncepcjach nieskończonych lub ciągłych w przeciwieństwie do dyskretnych. Albo komputery „rozumieją” przedmioty z obu kategorii koncepcji, albo z żadnej.
John Doucette,
4
@nbro Zgadzam się. Myślę, że problem polega na tym, że bez zaproponowania definicji „rozumienia” nie jest jasne, czy w nieskończoności jest coś wyjątkowego, co odróżnia „rozumienie” od rozumienia innych pojęć. Celem mojej odpowiedzi nie jest zasugerowanie, że konkretne definicje, które proponuję, są poprawne , ale wykazanie, że każda konkretna definicja, w której „ludzie rozumieją nieskończoność, a komputery nie” równie dobrze odnosi się do „ludzi rozumie x, a komputery nie” , dla każdego x. Oznacza to, że powinniśmy odrzucić założenie, że w nieskończoności jest coś wyjątkowego.
John Doucette,
5
iiii
4
@nbro Jeśli nie możesz wyjaśnić swoich przekonań inaczej niż przez założenie, oznacza to, że zredukowałeś problem do sprawy z własnej osobistej wiary, i to już koniec.
jakebeal
18

Myślę, że twoje założenie jest wadliwe.

Wydaje się, że zakładasz, że „zrozumienie” (*) nieskończoności wymaga nieskończonej zdolności przetwarzania i sugeruje, że ludzie to właśnie mają, ponieważ przedstawiasz je jako przeciwieństwo ograniczonych, skończonych komputerów.

Ale ludzie mają również ograniczone możliwości przetwarzania. Jesteśmy istotami zbudowanymi ze skończonej liczby cząstek elementarnych, tworzących skończoną liczbę atomów, tworzących skończoną liczbę komórek nerwowych. Jeśli potrafimy w taki czy inny sposób „zrozumieć” nieskończoności, to na pewno można też zbudować komputery skończone, które potrafią.

(* Użyłem „rozumiem” w cudzysłowie, ponieważ nie chcę wchodzić np. W definicję wrażliwości itp. Nie sądzę też, aby miało to znaczenie w odniesieniu do tego pytania.)

Jako istota ludzka możemy myśleć o nieskończoności. Zasadniczo, jeśli mamy wystarczającą ilość zasobów (czasu itp.), Możemy policzyć nieskończenie wiele rzeczy (w tym abstrakcyjne, takie jak liczby lub rzeczywiste).

Tutaj mówisz to głośno. „Przy wystarczających zasobach”. Czy to samo nie dotyczy komputerów?

Podczas gdy ludzie mogą np. Wykorzystywać nieskończoności przy obliczaniu limitów itp. I mogą myśleć o tym, że coś może stać się dowolnie większe, możemy to zrobić tylko w sposób abstrakcyjny, a nie w sensie możliwości przetwarzania dowolnie dużych liczb. Te same zasady, których używamy do matematyki, można również nauczyć komputera.

ilkkachu
źródło
1
Z „ograniczonych zasobów” mam na myśli, że mamy ograniczone życie. Mogę wyjaśnić moje twierdzenie na takim przykładzie: człowiek może zidentyfikować / rozpoznać / zdefiniować większą liczbę niż liczba przechowywana przy użyciu pojemności pamięci komputerów na ziemi.
verdery
3
@verdery A subtelnie: Stwierdzasz, że istnieje pewna liczba, którą możesz rozpoznać, która jest niezwykle duża. Ale zakładasz, że jest przechowywany poza twoim umysłem i że możesz logicznie sprawdzić, czy jest to poprawna liczba. Mówisz wtedy, że komputer nie może zapisać tego numeru. Ale żaden człowiek nie pamięta liczby tak szerokiej w galaktyce, ale moglibyśmy przejść od jednego końca do drugiego, upewniając się, że jest ona ważna. Komputer też może to zrobić. „Niesprawiedliwie” mówisz, że komputer musi przechowywać numer, nawet jeśli masz dostęp do pamięci zewnętrznej. Oznacza to, że eksperyment myślowy jest niesprawiedliwy dla maszyny.
pełen szacunku
7
@verdery właśnie o to mi chodzi. Człowiek może algorytmicznie zweryfikować liczbę. W związku z tym istnieje algorytm umożliwiający maszynie wykonanie dokładnie tego samego procesu. Pod warunkiem, że maszyna ma nieograniczone zasoby, które sam dla siebie przydzieliłeś, może również przestrzegać reguł nazewnictwa numeru i wypisywać swoją nazwę. Wspomniałeś o mocy abstrakcji jako procesie, więc dlaczego szybki procesor komputerowy nie mógł zrobić tego samego? Czyli jakie jest podstawowe ograniczenie maszyny?
pełen szacunku
3
@verdery Nie, jeśli komputer jest wyposażony w nieograniczone zasoby, o które teoretycznie się ubiegałeś, może po prostu powiększyć swoją pamięć. Częścią programu byłoby przydzielenie większej ilości pamięci w razie potrzeby. To tak, jakby powiedzieć, że ludzie są ograniczeni, ponieważ zabrakłoby nam papieru, aby zapisać wspomnianą liczbę. Mówimy o limitach teoretycznych, a nie o twardych limitach. Jeśli komputer ma dostęp do nieograniczonych zasobów, nie ma numeru, którego nie mógłby nazwać. Pytam więc jeszcze raz: jakie jest teoretyczne podstawowe ograniczenie maszyny?
pełen szacunku
5
@verdery tutaj jest mój punkt: maszyna z nieograniczoną pamięcią jest równoważna maszynie Turinga z taśmą o nieograniczonej długości. Nie ma dużej liczby, której nie można zapisać na taśmie. Tak długo, jak teoretyczna maszyna, o której mówimy, jest redukowalna do tej maszyny Turinga, nie ma nic do udowodnienia. Oznacza to, że musisz formalnie wykazać, że istnieje skończona liczba, której nie można zapisać na niezwiązanej taśmie. Jest to niemożliwe, ponieważ jest sprzeczne z definicją taśmy.
pełen szacunku
12

TL; DR : Subtelności nieskończoności uwidaczniają się w pojęciu nieograniczonego. Bezgraniczność jest ostatecznie definiowalna. „Nieskończone rzeczy” to tak naprawdę rzeczy o nieograniczonej naturze. Nieskończoność najlepiej rozumieć nie jako rzecz, ale jako koncepcję. Ludzie teoretycznie posiadają umiejętności nieograniczone, a nie nieograniczone (np. Liczyć do dowolnej liczby w przeciwieństwie do „liczenia do nieskończoności”). Można skonfigurować maszynę do rozpoznawania bezgraniczności.

Znowu w dół króliczej nory

Jak postępować? Zacznijmy od „limitów”.

Ograniczenia

Nasze mózgi nie są nieskończone (abyś nie uwierzył w jakąś metafizykę). Zatem nie myślimy „nieskończoności”. Zatem to, co nazywamy nieskończonością, najlepiej jest rozumieć jako pewną skończoną koncepcję mentalną, z którą możemy „porównać” inne koncepcje.

Ponadto nie możemy „liczyć nieskończonych liczb całkowitych”. Jest tu subtelnie bardzo ważne, aby zwrócić uwagę:

Nasza koncepcja ilości / liczby jest nieograniczona . Oznacza to, że dla każdej skończonej wartości mamy skończony / konkretny sposób lub wytwarzamy inną wartość, która jest ściśle większa / mniejsza. Oznacza to, że pod warunkiem skończonego czasu możemy liczyć tylko skończone kwoty.

Nie można „dać nieskończonego czasu” na „policzenie wszystkich liczb”, oznaczałoby to „wykończenie”, które jest wprost sprzeczne z pojęciem nieskończoności. Chyba że wierzysz, że ludzie mają właściwości metafizyczne, które pozwalają im „konsekwentnie” uosabiać paradoks. Dodatkowo, jak byś odpowiedział: Jaki był ostatni numer, który policzyłeś? Bez „ostatniej liczby” nigdy nie ma „końca”, a zatem nigdy „końca” liczenia. Oznacza to, że nigdy nie możesz „mieć wystarczająco dużo” czasu / zasobów, aby „liczyć do nieskończoności”.

Myślę, że masz na myśli to, że możemy pojąć pojęcie bijection między nieskończonymi zbiorami. Ale to pojęcie jest logiczną konstrukcją (tj. Jest skończonym sposobem na przekręcenie tego, co uważamy za nieskończone).

Jednak tak naprawdę to robimy: w ramach naszych granic mówimy o naszych granicach i, gdy zajdzie taka potrzeba, możemy rozszerzyć nasze granice (o skończoną kwotę). I możemy nawet mówić o naturze z poszerzamy nasze granice. A zatem:

Bez ograniczeń

Proces / rzecz / idea / przedmiot jest uważany za nieograniczony, jeśli biorąc pod uwagę pewną miarę jego ilości / objętości / istnienia, możemy w skończony sposób wytworzyć „rozszerzenie” tego obiektu, które ma miarę, którą uważamy za „większą” (lub „mniejszą”) w przypadku nieskończenie małych) niż poprzednia miara i że ten proces rozszerzenia można zastosować do powstającego obiektu (tj. proces jest rekurencyjny).

Kanoniczna sprawa numer jeden: liczby naturalne

Ponadto nasze pojęcie nieskończoności zapobiega wszelkiemu „at-ness” lub „on-ness” do nieskończoności. Oznacza to, że nigdy „nie dociera” do nieskończoności, ani też nigdy nie ma „nieskończoności”. Raczej postępuje się bez ograniczeń.

Jak zatem rozumiemy nieskończoność?

Nieskończoność

Wydaje się, że „nieskończoność” jako słowo jest źle interpretowana, co oznacza, że ​​istnieje rzecz zwana „nieskończonością” w przeciwieństwie do pojęcia zwanego „nieskończonością”. Rozbijmy atomy słowem:

Nieskończony: nieograniczony lub nieograniczony w przestrzeni, zakresie lub rozmiarze; niemożliwe do zmierzenia lub obliczenia.

in: przedrostek pochodzenia łacińskiego, odpowiadający angielskiemu un-, mający moc negatywną lub prywatną, swobodnie używany jako angielski formatywny, zwłaszcza przymiotników i ich pochodnych oraz rzeczowników (nieuwaga; nie do obrony; niedrogi; nieorganiczny; niezmienny). ( źródło )

Skończone: posiadające ograniczenia lub granice.

Zatem niedoskonałość jest tak naprawdę niedoskonałością, która nie ma granic ani ograniczeń . Ale możemy tu być bardziej precyzyjni, ponieważ wszyscy możemy zgodzić się, że liczby naturalne są nieskończone, ale każda dana liczba naturalna jest skończona. Co więc daje? Prosta: te liczby naturalne zaspokoić naszą unboundedness criterium a więc mówimy „liczby naturalne są nieskończone.”

Oznacza to, że „nieskończoność” jest pojęciem. Obiekt / rzecz / pomysł uważa się za nieskończony, jeśli posiada właściwość / aspekt, który jest nieograniczony. Tak jak wcześniej widzieliśmy, że bezgraniczność jest ostatecznie definiowalna.

Tak więc, jeśli agent, o którym mówisz, został zaprogramowany wystarczająco dobrze, aby wykryć wzór w liczbach na kartach i że wszystkie liczby pochodzą z tego samego zestawu, można by wywnioskować nieograniczony charakter sekwencji, a tym samym zdefiniować zbiór wszystkich liczb jako nieskończony - tylko dlatego, że zbiór nie ma górnej granicy . Oznacza to, że postęp liczb naturalnych jest nieograniczony, a zatem zdecydowanie nieskończony.

Tak więc, dla mnie, nieskończoność jest najlepiej rozumiana jako ogólna koncepcja identyfikowania, kiedy procesy / rzeczy / pomysły / przedmioty mają nieograniczoną naturę. Oznacza to, że nieskończoność nie jest niezależna od bezgraniczności. Spróbuj zdefiniować nieskończoność bez porównywania jej ze skończonymi rzeczami lub granicami tych skończonych rzeczy.

Wniosek

Wydaje się wykonalne, że maszynę można zaprogramować tak, aby reprezentowała i wykrywała przypadki nieograniczonego ograniczenia lub kiedy dopuszczalne jest przyjęcie nieograniczonego ograniczenia.

pełen szacunku
źródło
2
Myślę, że powinieneś wyjaśnić stwierdzenie: „Ludzie mają nieograniczone właściwości, a nie nieskończone właściwości”.
nro
@ nbro Dobra krytyka, widzę niejasność oryginalnego oświadczenia. Zaktualizowałem, aby lepiej uchwycić zamierzone znaczenie.
pełen szacunku
9

W Haskell możesz wpisać:

print [1..]

i wydrukuje nieskończoną sekwencję liczb, zaczynając od:

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,

Będzie to robić, dopóki w konsoli nie zabraknie pamięci.

Spróbujmy czegoś bardziej interesującego.

double x = x * 2
print (map double [1..])

A oto początek danych wyjściowych:

[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392

Te przykłady pokazują nieskończone obliczenia. W rzeczywistości możesz zachować nieskończone struktury danych w Haskell, ponieważ Haskell ma pojęcie braku ścisłości - możesz wykonywać obliczenia na obiektach, które nie zostały jeszcze w pełni obliczone. Innymi słowy, nie trzeba w pełni obliczać nieskończonej istoty, aby manipulować nią w Haskell.

Reductio ad absurdum.

noɥʇʎԀʎzɐɹƆ
źródło
2
6
@nbro manipulacja symbolem symbolu reprezentującego nieskończoność i mającego odpowiednie właściwości i implikacje właściwe dla tej koncepcji to IMHO definicja „rozumienia nieskończoności”.
Peteris,
1
@Peteris Twoja definicja zrozumienia jest podobna do tej podanej przez Johna Doucette'a. Zobacz argument chińskiego pokoju. Twierdzę, że nie można napisać programu, który byłby w stanie zastosować pojęcie nieskończoności we wszystkich przypadkach.
nro
1
@nbro „Twierdzę, że nie można napisać programu, który byłby w stanie zastosować koncepcję nieskończoności we wszystkich przypadkach.” Rzeczywiście, jest to intuicyjne zakończenie problemu zatrzymania - możesz stworzyć dowolną maszynę, która może rozwiązać każdy problem, w tym problem zatrzymywania się maszyn Turinga - nazwij to maszyną „Super-Turing”. Ale na tej maszynie możesz wynaleźć problem, którego ta maszyna „Super-Turing” nie mogłaby rozwiązać - powiedz, czy program Super-Turing się zatrzyma - i potrzebujesz „Super-super-Turinga” rozwiązać to. I tak dalej. To jest jak twierdzenie o niezupełności Godela, bez języka
nr
może wyrazić wszystko, co wszechświat ma do zaoferowania.
noɥʇʎԀʎzɐɹƆ
8

Wierzę, że można powiedzieć, że ludzie rozumieją nieskończoność, odkąd przynajmniej Georg Cantor, ponieważ możemy rozpoznać różne typy nieskończoności (głównie policzalne vs. niepoliczalne) dzięki koncepcji liczności .

W szczególności zbiór jest w nieskończoność nieskończony, jeśli można go odwzorować na liczby naturalne , co oznacza, że ​​istnieje zgodność 1-do-1 między elementami niezliczonych zbiorów. Zbiór wszystkich liczb rzeczywistych jest niepoliczalny, podobnie jak zbiór wszystkich kombinacji liczb naturalnych, ponieważ zawsze będzie więcej kombinacji niż liczb naturalnych, gdzie n> 2, co daje zbiór o większej liczności. (Pierwsze formalne dowody niepoliczalności można znaleźć w Cantor i są one przedmiotem filozofii matematyki .)

Zrozumienie nieskończoności wymaga logiki w przeciwieństwie do arytmetyki, ponieważ nie możemy na przykład wyrazić wszystkich miejsc po przecinku liczby transcendentalnej , a jedynie użyć przybliżeń. Logika jest podstawową funkcją tego, co uważamy za komputery.

  • π

„Nigdy nie kończące się” to definicja nieskończoności, na przykład zestaw liczb naturalnych (jest najmniejszej liczby, 1, ale nie ma największej liczby).

Nieprzerwalność kontra nieskończoność

Poza szczególnym przypadkiem nieskończonych pętli muszę zastanawiać się, czy AI jest bardziej zorientowana na trudność obliczeniową niż na nieskończoność.

Mówi się, że problem jest nierozwiązywalny, jeśli nie ma wystarczająco dużo czasu i miejsca, aby go całkowicie przedstawić, i można go rozszerzyć na wiele liczb rzeczywistych.

π

Czy sztuczna inteligencja uznałaby, że taka liczba jest nieskończona, czy wręcz trudna do rozwiązania? Ten ostatni przypadek jest konkretny, a nie abstrakcyjny - albo może zakończyć obliczenia, albo nie.

Prowadzi to do problemu zatrzymania .

  • Dowód Turinga, że ​​ogólny algorytm rozwiązania problemu zatrzymania dla wszystkich możliwych par program-wejście nie może istnieć, może zostać przyjęty jako wskazówka, że ​​algorytm oparty na modelu obliczeniowym Turinga-Kościoła nie może doskonale zrozumieć nieskończoności.

Jeśli pojawiłby się alternatywny model obliczeniowy, który mógłby rozwiązać problem zatrzymania, można argumentować, że algorytm może mieć doskonałe zrozumienie lub przynajmniej wykazać zrozumienie porównywalne do ludzi.

DukeZhou
źródło
1
Nierozwiązywalność niektórych problemów lub niemożność obliczenia niektórych funkcji jest dowodem, że nie wszystkie pojęcia są równie „zrozumiałe” lub zrozumiałe, biorąc pod uwagę, że jedynym sposobem, w jaki maszyna może zrozumieć (bez względu na twoją definicję zrozumienia) jest obliczenie. Tak więc, moim zdaniem, przyjęta odpowiedź jest co najmniej myląca. Redukuje problem rozumienia nieskończoności do manipulacji symbolami i twierdzi, że trudność manipulowania symbolami nie zależy od samych symboli (lub znaczenia powiązanych pojęć abstrakcyjnych).
nro
1
Ta odpowiedź przynajmniej rozpoznaje różne trudności niektórych problemów.
nro
1
@nbro Wydaje mi się, że jestem trochę w chwastach z tą odpowiedzią (mam nadzieję, że nie w sposób, który jest zbyt mylący), ale chciałem zająć się aspektami pytania, które nie były traktowane w poprzednich odpowiedziach. Myślę, że ponieważ pytanie można uznać za dwuznaczne, istnieje wiele sposobów rozwiązania tego problemu.
DukeZhou
1
Wymieniasz kilka powiązanych tematów, które są istotne dla tego pytania, moim zdaniem. 1. różne rodzaje nieskończoności (policzalnie nieskończone vs. niepoliczalne), 2. definicja zbiorów policzalnie nieskończonych, 3. liczby rzeczywiste są niepoliczalne (a znanym dowodem tego stwierdzenia jest przekątny argument Cantora ), 4. implikacje tego wypowiedź do filozofii matematyki, 5. trudność wobec nieskończoności, 6. ogólna definicja nieskończoności dla laika, 7. problem zatrzymania i, w sposób dorozumiany, nierozwiązywalność pewnych problemów lub niemożność obliczenia niektórych funkcji.
nro
1
Jednak pomimo tego, że są ze sobą powiązane, jest wiele pojęć do zrozumienia lub logicznego połączenia. W odpowiedzi znajduje się również kilka zdań, które nie są bardzo jasne. Na przykład 1. „Zrozumienie nieskończoności wymaga logiki w przeciwieństwie do arytmetyki, ponieważ nie możemy na przykład wyrazić wszystkich miejsc po przecinku liczby transcendentalnej, a jedynie użyć przybliżeń”. lub 2. „Istnieje pytanie, czy okrąg można jedynie przybliżać, i silny argument, że można przedstawić idealny okrąg.”.
nro
7

(Na dole znajduje się podsumowanie dla tych, którzy są zbyt leniwi lub zmuszeni do czasu, aby przeczytać całość.)

Niestety, aby odpowiedzieć na to pytanie, będę głównie dekonstruował różne pomieszczenia.

Jak wspomniałem wcześniej, ludzie rozumieją nieskończoność, ponieważ są w stanie przynajmniej zliczać nieskończone liczby całkowite.

Nie zgadzam się z założeniem, że ludzie byliby w stanie liczyć do nieskończoności. Aby to zrobić, powiedział, że człowiek potrzebuje nieskończonej ilości czasu, nieskończonej ilości pamięci (jak maszyna Turinga) i, co najważniejsze, nieskończonej ilości cierpliwości - z mojego doświadczenia wynika, że ​​większość ludzi nudzi się, zanim jeszcze policzy do 1000.

Częścią problemu z tym założeniem jest to, że nieskończoność w rzeczywistości nie jest liczbą, jest to koncepcja, która wyraża nieograniczoną liczbę „rzeczy”. Wspomniane „rzeczy” mogą być dowolne: liczby całkowite, sekundy, lolkaty, ważne jest to, że te rzeczy nie są skończone.

Zobacz to istotne pytanie SE, aby uzyskać więcej informacji: /math/260876/what-exactly-is-infinity

Innymi słowy: gdybym zapytał „jaki numer występuje przed nieskończonością?” jaka byłaby twoja odpowiedź? Ten hipotetyczny nadludzki musiałby policzyć do tej liczby, zanim mógłby policzyć nieskończoność. I będą musieli znać numer przed tym pierwszym, i ten przed tym, i ten przed tym ...

Mam nadzieję, że to pokazuje, dlaczego człowiek nie byłby w stanie liczyć do nieskończoności - ponieważ nieskończoność nie istnieje na końcu linii liczbowej, to koncepcja wyjaśnia, że ​​linia liczbowa nie ma końca. Ani człowiek, ani maszyna nie mogą się do tego liczyć, nawet przy nieskończonym czasie i nieskończonej pamięci.

Na przykład, jeśli komputer potrafi rozróżnić 10 różnych liczb lub rzeczy, oznacza to, że naprawdę w jakiś sposób rozumie te różne rzeczy.

Możliwość „rozróżnienia” między 10 różnymi rzeczami nie oznacza zrozumienia tych 10 rzeczy.

Dobrze znanym eksperymentem myślowym, który kwestionuje ideę „zrozumienia”, jest eksperyment Johna Searle'a w chińskim pokoju :

Wyobraź sobie rodzimego użytkownika języka angielskiego, który nie zna chińskiego zamkniętego w pokoju pełnym pudełek chińskich symboli (baza danych) wraz z książką z instrukcjami manipulowania symbolami (program). Wyobraź sobie, że ludzie spoza pokoju wysyłają inne chińskie symbole, które, nieznane osobie w pokoju, są pytaniami w języku chińskim (dane wejściowe). I wyobraź sobie, że postępując zgodnie z instrukcjami w programie, mężczyzna w pokoju jest w stanie rozdawać chińskie symbole, które są poprawnymi odpowiedziami na pytania (wynik). Program umożliwia osobie przebywającej w pokoju zdanie testu Turinga na zrozumienie chińskiego, ale nie rozumie on chińskiego słowa.

Chodzi o to, że jeśli mężczyzna w pokoju nie rozumie chińskiego na podstawie wdrożenia odpowiedniego programu do zrozumienia chińskiego, to żaden inny komputer cyfrowy nie tylko na tej podstawie, ponieważ żaden komputer, qua komputer, nie ma nic człowiek nie ma.

Rzeczą, którą należy zabrać z tego eksperymentu, jest to, że zdolność do przetwarzania symboli nie oznacza, że ​​faktycznie rozumiemy te symbole. Wiele komputerów codziennie przetwarza języki naturalne w postaci tekstu (znaki zakodowane jako liczby całkowite, zazwyczaj w kodowaniu opartym na Unicode, takim jak UTF-8), ale niekoniecznie rozumieją te języki. Mówiąc prościej Skutecznie wszystkie komputery są w stanie dodać dwie liczby, ale niekoniecznie rozumieją, co robią.

Innymi słowy, nawet w modelu „głębokiego uczenia się” komputer prawdopodobnie nie rozumie wyświetlanych liczb (lub „symboli”), jedynie zdolność algorytmu do symulacji inteligencji pozwala na zaklasyfikowanie jej jako sztucznej inteligencji .

Na przykład możemy wziąć model wizji głębokiego uczenia się, który rozpoznaje liczby na karcie. Ten model musi przypisać numer do każdej innej karty, aby odróżnić każdą liczbę całkowitą. Ponieważ istnieje nieskończona liczba liczb całkowitych, w jaki sposób model może przypisać inną liczbę do każdej liczby całkowitej, np. Człowieka, na komputerach cyfrowych? Jeśli nie potrafi odróżnić rzeczy nieskończonych, to jak rozumie nieskończoność?

Jeśli miałbyś wykonać ten sam test kart na człowieku i ciągle zwiększać liczbę używanych kart, ostatecznie człowiek nie byłby w stanie ich wszystkich śledzić z powodu braku pamięci. Komputer napotkałby ten sam problem, ale teoretycznie mógłby przewyższyć człowieka.

Więc teraz pytam cię, czy człowiek naprawdę potrafi odróżnić nieskończone rzeczy? Osobiście podejrzewam, że odpowiedź brzmi „nie”, ponieważ wszyscy ludzie mają ograniczoną pamięć, a jednak zgodziłbym się, że ludzie najprawdopodobniej w pewnym stopniu rozumieją nieskończoność (niektórzy potrafią to zrobić lepiej niż inni).

Jako takie, myślę, że pytanie „Jeśli nie może odróżnić rzeczy nieskończonych, to jak rozumie nieskończoność?” ma wadliwą przesłankę - umiejętność rozróżniania nieskończonych rzeczy nie jest warunkiem koniecznym do zrozumienia pojęcia nieskończoności.


Podsumowanie:

Zasadniczo twoje pytanie zależy od tego, co to znaczy „coś zrozumieć”.

Komputery mogą z pewnością reprezentować nieskończoność, specyfikacja zmiennoprzecinkowa IEEE określa zarówno dodatnią, jak i ujemną nieskończoność, a wszystkie współczesne procesory są w stanie przetwarzać zmiennoprzecinkowe (zarówno sprzętowo, jak i programowo).

Jeśli sztuczna inteligencja kiedykolwiek jest w stanie rzeczywiście zrozumieć rzeczy, teoretycznie może zrozumieć koncepcję nieskończoności, ale jesteśmy daleko od tego, aby ostatecznie udowodnić to w obu przypadkach, i musielibyśmy dojść do porozumienia w sprawie co to znaczy „najpierw zrozumieć”.

Pharap
źródło
4

Mocno wierzę, że komputery cyfrowe nie mogą zrozumieć pojęć takich jak nieskończoność, liczby rzeczywiste lub, ogólnie, ciągłe pojęcia , w podobny sposób, jak Flatlanderzy nie rozumieją trójwymiarowego świata. Przeczytaj także książkę Hyperspace: A Scientific Odyssey Through Parallel Universes, Time Warps i 10th Dimension (1994) autorstwa Michio Kaku, która bardziej szczegółowo omawia te tematy. Oczywiście w tej odpowiedzi pojęcie zrozumienia nie jest ściśle określone, ale jedynie intuicyjne.

nbro
źródło
7
Myślę, że nie jest to dobry argument, chociaż często go widziałem. Ludzie nie mogą dokładnie reprezentować żadnej irracjonalnej liczby: możemy albo utworzyć nowy symbol dla jednego, na przykład „e” (o czym komputery mogą i robią to w oparciu o cyfrowe powody), albo możemy obliczyć skończoną liczbę cyfr (a właściwie komputerów zrób to o wiele lepiej niż my). Nie jest dla mnie jasne, w jakim sensie rozumiemy te pojęcia w sensie „ciągłym”.
John Doucette
6
Chodzi mi o to, że ludzie faktycznie nie rozumieją nieskończonych pojęć w sposób, który wymaga nieskończonych zasobów. W koncepcji nieskończoności nie ma nic, co wymaga nieskończonych zasobów do przemyślenia . Zastosowanie tej koncepcji może wymagać nieskończonych zasobów, ale ludzie też ich nie mają.
John Doucette
3
π2+2π2+2
2
W porządku. Tak myślałem na początku. Moje pytanie brzmi, dlaczego , ponieważ z mojej perspektywy wszystkie narzędzia, których ludzie używają do reprezentowania takich obiektów, dyskretne.
John Doucette
2
Myślę więc, że zbliżamy się do sedna problemu. Oboje się zgadzamy: ani ludzie, ani komputery nie mogą obliczać rzeczy niedyskretnych. Pytanie więc, kiedy ktoś mówi „ludzie rozumieją ciągłe rzeczy, a komputery nie”, co one oznaczają? Możesz argumentować o chińskim pokoju, ale to działa bez względu na to, co wybierzesz . W nieskończoności nie jest to nic specjalnego. W takim przypadku pytanie OP może równie dobrze brzmieć „Dlaczego komputery nie rozumieją liczby 2?”. W twojej odpowiedzi wygląda to tak, jakbyś myślał, że ludzie mają takie możliwości. Co to jest?
John Doucette,
4

Następnie założenie zakłada, że ​​ludzie „rozumieją” nieskończoność. Czy my?

Myślę, że powinieneś mi powiedzieć, jakiego kryterium byś użył, gdybyś chciał najpierw wiedzieć, czy „rozumiem” nieskończoność.

W OP podano ideę, że mógłbym „udowodnić”, że rozumiem „nieskończoność”, ponieważ „Zasadniczo, jeśli mamy wystarczającą ilość zasobów (czasu itp.), Możemy policzyć nieskończenie wiele rzeczy (w tym abstrakcyjne, takie jak liczby lub real)."

Cóż, to po prostu nieprawda. Co gorsza, gdyby to była prawda (która nie jest), to byłoby równie prawdziwe dla komputera. Dlatego:

  1. Tak, możesz w zasadzie liczyć liczby całkowite i zobaczyć, że liczenie nigdy się nie kończy.
  2. Ale nawet jeśli masz wystarczającą ilość zasobów, nigdy nie możesz „liczyć nieskończenie wielu rzeczy”. Zawsze będzie więcej. To właśnie oznacza „nieskończony”.
  3. Co gorsza, istnieje wiele rzędów („liczności”) nieskończoności. Większość z nich nie można liczyć, nawet przy nieskończonym czasie, a być może nawet przy nieskończonych innych zasobach. W rzeczywistości są niepoliczalne. Nie można ich dosłownie zmapować na linię liczbową lub na zestaw liczb całkowitych. Nie można ich zamówić w taki sposób, aby można je było policzyć, nawet w zasadzie.
  4. Co gorsza, jak to robisz, kiedy decydujesz „w zasadzie”, co mogę zrobić, skoro wyraźnie nie mogę tego zrobić, a nawet najmniejszą jego część? Ten krok wydaje się laicki, ponieważ nie widzi problemów z rygorystycznym wykonywaniem tego zadania. To może nie być trywialne.
  5. Na koniec załóżmy, że to był twój test, tak jak w PO. Więc gdybym mógł „w zasadzie przy wystarczających zasobach (czas itp.) Liczyć nieskończenie wiele rzeczy”, wystarczyłoby, abyście zdecydowali, że „zrozumiałem” nieskończoność (cokolwiek to znaczy). W takim przypadku komputer z wystarczającymi zasobami (pamięć RAM, czas, algorytm). Tak więc sam test byłby trywialnie spełniony przez komputer, gdybyś podał mu te same kryteria.

Myślę, że może bardziej realistyczną linią logiki jest to, że to pytanie faktycznie pokazuje, że większość (prawdopodobnie wszyscy?) Ludzie faktycznie nie rozumieją nieskończoności. Zatem zrozumienie nieskończoności prawdopodobnie nie jest dobrym wyborem testu / wymagania dla AI.

W razie wątpliwości zadaj sobie pytanie. Czy szczerze, prawdziwie i poważnie „rozumiesz” sto trylionów lat (możliwe życie czerwonej gwiazdy karła)? Czy naprawdę potrafisz zrozumieć, jak to jest, przeżyć sto bilionów lat, czy może to tylko 1 z dużą ilością zer? A co z femtosekundą? Lub przedział czasu około 10 ^ -42 sekund? Czy naprawdę potrafisz to „zrozumieć”? Skala czasu, w porównaniu do której jedno z uderzeń twojego serca porównuje się z jednym z uderzeń twojego serca do miliarda miliardów razy w porównaniu z obecnym życiem tego wszechświata? Czy potrafisz naprawdę „zrozumieć nieskończoność”? Warto pomyśleć o ......

Stilez
źródło
Jeśli założymy, że nie możemy zrozumieć nieskończoności, nie oznacza to, że ona nie istnieje. Istnieją przykłady fizyki, których nie możemy zrozumieć, ale istnieją. Na przykład dwoistość światła i ograniczenie prędkości światła, względność w naturze itp. W takim przypadku mamy w pamięci reprezentacje tych pojęć. Ta sama sytuacja może dotyczyć nieskończoności.
verdery
Och, koncepcja istnieje, ale jak udowodnić, że naprawdę „rozumiesz koncepcję”? Zobacz moje pytania na końcu. To chciałbym wiedzieć, aby sprawdzić, czy * ty * sam (lub ktokolwiek) naprawdę „zrozumiałeś pojęcie”. To może nie być test, który wybierzesz, ale myślę, że gdybym testował „rozumienie”, a nie definicję słownika lub umiejętność korzystania z tej koncepcji, byłby to mój test. I każda ostatnia istota ludzka na planecie (w tym ja) zawiodłaby.
Stilez,
Mam do ciebie pytanie, jeśli nie masz reprezentacji w jaki sposób możesz napisać liczbę: 10 ^ -42?
verdery
1
„Posiadanie reprezentacji” nie oznacza dla mnie żadnego rozumienia. Pomyśl o słowie Heinleina „grok”. To „zrozumienie” w mojej książce. Wszystko inne to recytowanie definicji słownika lub manipulowanie symbolem. Ból nie jest pojęciem bólu, miłość nie jest pojęciem miłości, a nieskończoność nie jest tylko pojęciem i symbolem nieskończoności. Nie sądzę jednak, by ludzie grokowali nieskończonością, a jeśli nie poprosisz o dowód prawdziwego „zrozumienia”, każdy komputer może recytować definicję lub manipulować symbolami, a tak naprawdę nie „dostanie” ich, tak samo jak każdy człowiek mógłby.
Stilez,
Jeśli uważnie przeczytasz moje pierwsze pytanie w tym poście, moje podejście jest funkcjonalistyczne. Nie mówię o „groku”.
verdery
3

Dodając pewne reguły arytmetyczne do nieskończoności (takie jak nieskończoność minus duża liczba skończona to nieskończoność itp.), Komputer cyfrowy może wydawać się rozumieć pojęcie nieskończoności.

Alternatywnie komputer może po prostu zastąpić liczbę n wartością log-star . Następnie może rozróżniać liczby w innej skali i może dowiedzieć się, że każda liczba o wartości logarytmu gwiazdkowego> 10 jest praktycznie równoważna nieskończoności.

Amrinder Arora
źródło
1
Reprezentowanie tylko zbioru nieskończoności lub skończonego, który obejmuje nieskończoność, nie wystarczy, abyśmy wierzyli, że model rozumie nieskończoność. Niestety, moja odpowiedź jest całkowicie bezużyteczna z mojej perspektywy.
verdery
@verdery Very true. Uważam, że moja odpowiedź jest prawdopodobnie punktem wyjścia. Stąd znacznik wiki społeczności. Bardzo podoba mi się odpowiedź Johna Ducette'a.
Amrinder Arora
3

Wydaje mi się, że koncepcja, której do tej pory brakuje w dyskusji, jest reprezentacją symboliczną. My, ludzie, reprezentujemy i rozumiemy wiele pojęć symbolicznie. Koncepcja Nieskończoności jest tego doskonałym przykładem. Pi jest kolejnym, obok kilku innych dobrze znanych irracjonalnych liczb. Jest wiele, wiele innych.

W tej chwili możemy łatwo przedstawiać i przedstawiać te wartości i pojęcia, zarówno innym ludziom, jak i komputerom, za pomocą symboli. Zarówno komputery, jak i ludzie mogą manipulować i rozumować za pomocą tych symboli. Na przykład komputery wykonują matematyczne dowody już od kilku dziesięcioleci. Podobnie dostępne są komercyjne i / lub otwarte programy, które mogą symbolicznie manipulować równaniami w celu rozwiązania rzeczywistych problemów.

Tak więc, jak uzasadnił @JohnDoucette, nie ma nic specjalnego w Infinity w porównaniu do wielu innych pojęć z matematyki i arytmetyki. Kiedy uderzamy w tę reprezentacyjną ścianę z cegieł, po prostu definiujemy symbol reprezentujący „to” i idziemy do przodu.

Zauważ, że koncepcja nieskończoności ma wiele praktycznych zastosowań. Za każdym razem, gdy masz stosunek, a mianownik „idzie na zero”, wartość wyrażenia „zbliża się” do nieskończoności. To naprawdę nie jest rzadka rzecz. Tak więc, podczas gdy przeciętny człowiek na ulicy nie zna tych pomysłów, jest wielu naukowców, inżynierów, matematyków i programistów. To dość powszechne, że oprogramowanie ma do czynienia z Infinity symbolicznie przynajmniej od kilku dekad. Np. Mathematica: http://mathworld.wolfram.com/Infinity.html

Charlie Reitzel
źródło
3

Maszyna Turinga jest głównym model matematyczny obliczeń nowoczesnych komputerów cyfrowych. Maszynę Turinga definiuje się jako obiekt, który manipuluje symbolami, zgodnie z pewnymi regułami (które reprezentują program wykonywany przez maszynę Turinga), na nieskończonej taśmie, która jest podzielona na odrębne komórki. Dlatego maszyna Turinga jest systemem manipulacji symbolami, który przy określonym wejściu wytwarza określony wynik lub się nie zatrzymuje .

Jeśli założymy, że rozumienie jest równoważne manipulacji symbolami , wówczas maszyna Turinga jest w stanie zrozumieć wiele pojęć, nawet jeśli trudność zrozumienia każdego z tych pojęć jest zmienna, w odniesieniu do czasu i przestrzeni. (Branża informatyki teoretycznej (TCS), która bada trudność niektórych problemów obliczeniowych, nazywa się teorią złożoności obliczeniowej . Gałąź TCS, która bada obliczalność niektórych problemów, nazywa się teorią obliczalności ).

rrlimxxr=

Dowodzi to, że maszyna Turinga nie może manipulować pojęciem nieskończoności we wszystkich możliwych przypadkach, ponieważ maszyna Turinga nigdy nie może doświadczyć pewnych liczb rzeczywistych. Jednak maszyna Turinga może być w stanie manipulować pojęciem nieskończoności w wielu przypadkach (które obejmują policzalne zbiory ), więc maszyna Turinga może częściowo rozumieć pojęcie nieskończoności, pod warunkiem, że rozumienie to jest równoważne manipulacji symbolami.

nbro
źródło
1
Pierwsze dwa akapity są w porządku. Jednak zdecydowanie nie zgadzam się z pozostałymi. Jasne, maszyna Turinga może zrozumieć limit, który piszesz, ponieważ limit jest niczym innym jak łańcuchem przylegającym do gramatyki indukcyjnej (policzalnej). Co najważniejsze, nie trzeba obliczać liczby, aby poradzić sobie z nią aksjomatycznie. To właśnie robią ludzie przez cały czas. Ludzie też nie są w stanie obliczyć , ale mogą o tym myśleć. Rozumowanie nie wymaga obliczeń. r
ComFreek
@ComFreek Zgadzam się z Tobą, że TM może manipulować tym limitem, nie znając dokładnej wartości . Jednak w praktyce baza TM nie może nawet założyć istnienia ponieważ nie można jej obliczyć. Tak więc limit ten nigdy nie zostanie napotkany przez żadną bazę TM, więc żadna baza TM nigdy nie będzie w stanie rozwiązać tego limitu. Innymi słowy, TM zakłada jedynie istnienie liczb obliczalnych, więc gdy TM manipuluje tym limitem symbolicznie, zakłada się , że jest obliczalny. rrr
nro
Pewnie TM może się z tym spotkać - w taki sam sposób, w jaki my, ludzie. Może także rozwiązać ten limit - w taki sam sposób, jak my, ludzie. Nietrudno dostrzec, że można sformalizować wszystko, co jest wymagane, w twierdzenie twierdzenia, aby udowodnić tę granicę. Ta formalizacja jest ciągiem binarnym jako takim i dlatego może być oczywiście znaleziona również przez TM.
ComFreek
@ComFreek W ogóle nie zrozumiałeś mojego punktu. Każda TM może jedynie zakładać istnienie liczb obliczalnych , więc zakłada się, że wszelkie manipulacje symboliczne obejmują liczby obliczalne. Jeśli powiesz, że TM może rozwiązać ten limit, po prostu podajesz jego interpretację, ponieważ jesteś zewnętrznym obserwatorem TM.
nro
1
Nie, TM z pewnością może uzasadniać abstrakcyjnymi przedstawieniami. Spójrz tylko na formalizację twierdzeń matematycznych w dowolnym dowodzie twierdzeń (Coq, Isabelle itp.). Te dowody twierdzeń są TM, ponieważ są programami. To natychmiast obali to, co próbujesz powiedzieć.
ComFreek
2

Komputery nie rozumieją „nieskończoności”, a nawet „zero”, tak jak śrubokręt nie rozumie śrub. Jest to narzędzie stworzone do przetwarzania sygnałów binarnych.

W rzeczywistości odpowiednikiem komputera w oprogramowaniu mokrym nie jest osoba, ale mózg. Mózgi nie myślą, ludzie tak. Mózg to tylko platforma, na której wdrażane są osoby. Dość powszechnym błędem jest połączenie tych dwóch, ponieważ ich połączenie jest raczej nierozłączne.

Jeśli chcesz przypisać zrozumienie, musisz przynajmniej przejść do rzeczywistych programów zamiast komputerów. Programy mogą reprezentować zero lub nieskończoność i mogą nie być w stanie wykonywać z nimi umiejętnych manipulacji. Większość symbolicznych programów matematycznych radzi sobie tutaj lepiej niż ktoś, kto musi pracować z matematyką w ramach swojej pracy.


źródło
2

John Doucette za odpowiedź obejmuje moje myśli na ten temat bardzo dobrze, ale myślałem przykładem beton może być interesująca. Pracuję nad symboliczną sztuczną inteligencją zwaną Cyc, która reprezentuje koncepcje jako sieć logicznych predykatów. Często lubimy się chwalić, że Cyc „rozumie” rzeczy, ponieważ może to wyjaśnić logiczne relacje między nimi. Wie na przykład, że ludzie nie lubią płacić podatków, ponieważ płacenie podatków wiąże się z utratą pieniędzy, a ludzie na ogół są temu przeciwni. W rzeczywistości myślę, że większość filozofów zgodziłaby się, że jest to w najlepszym razie niepełne „zrozumienie” świata. Cyc może znać wszystkie zasady opisujące ludzi, podatki i niezadowolenie, ale nie ma żadnego rzeczywistego doświadczenia z żadnej z nich.

Jednak w przypadku nieskończoności, co jeszcze można zrozumieć? Twierdziłbym, że jako pojęcie matematyczne nieskończoność nie ma rzeczywistości poza logicznym opisem. Jeśli potrafisz poprawnie zastosować każdą regułę opisującą nieskończoność, zaatakowałeś nieskończoność. Jeśli jest coś, czego AI, taka jak Cyc, nie jest w stanie reprezentować, być może jest to reakcja emocjonalna, którą wywołują dla nas takie koncepcje. Ponieważ żyjemy prawdziwym życiem, możemy odnieść abstrakcyjne pojęcia, takie jak nieskończoność, do konkretnych, takich jak śmiertelność. Może to ta emocjonalna kontekstualizacja sprawia, że ​​wydaje się, że jest coś więcej do zrobienia w tej koncepcji.

Iago
źródło
1

Sądzę, że komputer nie może zrozumieć nieskończoności przede wszystkim dlatego, że systemy i części systemu sterujące komputerem same są skończone.

Lockheed Silverman
źródło
1

„Pojęcie” nieskończoności jest jedną rzeczą do zrozumienia. Mogę to przedstawić za pomocą 1 symbolu (∞).

Jak wspomniałem wcześniej, ludzie rozumieją nieskończoność, ponieważ są w stanie przynajmniej zliczać nieskończone liczby całkowite.

Według tej definicji ludzie nie rozumieją nieskończoności. Ludzie nie są w stanie policzyć nieskończonych liczb całkowitych. W pewnym momencie umrą (zabraknie zasobów / mocy obliczeniowej). Prawdopodobnie łatwiej byłoby przekonać komputer do liczenia w nieskończoności, niż skłonić do tego człowieka.

Tempo
źródło
Oczywiście nie rozumiemy nieskończoności, ponieważ w praktyce możemy liczyć na nieskończoność. Jednak teoretycznie moglibyśmy liczyć do nieskończoności, biorąc pod uwagę nieskończone zasoby ?. Ponadto, oczywiście, symbol jest tylko symbolem, który ma znaczenie w matematyce, ale to znaczenie można by nadać innemu symbolowi lub, innymi słowy, moglibyśmy nazwać pojęcie nieskończoności innym symbolem. Tak więc, moim zdaniem, twoje argumenty są zbyteczne.
nro
Biorąc pod uwagę nieskończone zasoby, zarówno ludzie, jak i komputery mogą liczyć do nieskończoności. Symbol ∞ jest symbolem zastępczym dla „koncepcji” nieskończoności. Większość ludzi bardzo mało wie o tej koncepcji. Wiedzą, że jest większy niż jakakolwiek inna liczba. Nie mają żadnych zasad pomnażania lub dodawania pojęcia, ale „czują”, że 2 * ∞ jest większy niż 1 * ∞ itd. Niektórzy matematycy mają różne definicje pojęcia lub nawet wiele koncepcji nieskończoności, w zależności od kontekstu pole.
Tempo
1

Tylko jedzenie do namysłu: a może spróbujemy zaprogramować nieskończoność nie w teorii, ale w praktyce? Zatem jeśli uznamy coś, czego komputer nie jest w stanie obliczyć, biorąc pod uwagę jego zasoby jako nieskończoność, spełni cel. Programowo można go zaimplementować w następujący sposób: jeśli dane wejściowe są mniejsze niż dostępna pamięć, nie jest to nieskończoność. Następnie nieskończoność można zdefiniować jako coś, co zwraca błąd braku pamięci podczas próby oceny.

postoronnim
źródło
1

Jest to dyskusyjne, jeśli my ludzie rozumiemy nieskończoność. Po prostu tworzymy nową koncepcję, aby umieścić starą matematykę, gdy napotkamy ten problem. W podziale według maszyny nieskończoności możemy to zrozumieć w ten sam sposób, w jaki:

double* xd = new double;
*xd =...;
if (*xd/y<0.00...1){
int* xi = new int;
*xi = (double) (*xd);
delete xd;

Jeśli człowiek myśli o nieskończoności - wyobraża sobie tylko ogromną liczbę w swoim obecnym kontekście. Zatem kluczem do pisania algorytmu jest po prostu znalezienie skali, z którą AI obecnie pracuje. A BTW ten problem musiał zostać rozwiązany wiele lat temu. Ludzie projektujący float / double muszą być świadomi tego, co robią. Poruszający się znak wykładniczy jest podwójną operacją liniową.

Gen0me
źródło
1

Cóż - wystarczy dotknąć kwestii ludzi i nieskończoności - mój ojciec jest matematykiem od 60 lat. Przez cały ten czas był typem maniaka, który woli rozmawiać i myśleć o swoim temacie ponad wszystko inne. Uwielbia nieskończoność i nauczył mnie tego od najmłodszych lat. Po raz pierwszy zapoznałem się z rachunkiem różniczkowym w 5. klasie (nie dlatego, że robiło to duże wrażenie). Uwielbia uczyć, a po kropli kapelusza rozpocznie wykład na temat matematyki. Po prostu zapytaj.

W rzeczywistości powiedziałbym, że jest kilka rzeczy, z którymi jest bardziej zaznajomiony niż nieskończoność ... może twarz mojej matki? Nie liczyłbym na to. Jeśli człowiek może coś zrozumieć, mój ojciec rozumie nieskończoność.

NessBird
źródło
1

Ludzie z pewnością nie rozumieją nieskończoności. Obecnie komputery nie mogą zrozumieć rzeczy, których ludzie nie mogą zrozumieć, ponieważ komputery są programowane przez ludzi. W dystopijnej przyszłości może tak nie być.

Oto kilka przemyśleń na temat nieskończoności. Zbiór liczb naturalnych jest nieskończony. Udowodniono również, że zbiór liczb pierwszych, który jest podzbiorem liczb naturalnych, jest również nieskończony. Mamy więc zestaw nieskończony w zestawie nieskończonym. Gorzej, między dowolnymi 2 liczbami rzeczywistymi jest nieskończona liczba liczb rzeczywistych. Zobacz link do paradoksu Grand Hotelu Hilberta, aby zobaczyć, jak myląca może być nieskończoność - https://en.wikipedia.org/wiki/Hilbert%27s_paradox_of_the_Grand_Hotel

Paul McCarthy
źródło
0

Myślę, że własność, którą mają ludzie, której nie mają komputery, jest rodzajem równoległego procesu, który przebiega równolegle z każdą inną rzeczą, o której myślą, i stara się przypisać ocenę wagi ważności wszystkim tym, co robisz. Jeśli poprosisz komputer o uruchomienie programu: A = 1; ROBIĆ DO (A <0) a = a + 1; KONIEC;

Komputer to zrobi. Jeśli zapytasz człowieka, inny proces wtrąca się: „Teraz mi się nudzi… to trwa wieki… Rozpocznę nowy równoległy proces, aby zbadać problem, projekt, w którym leży odpowiedź i poszukać szybsza droga do odpowiedzi ... Następnie odkrywamy, że utknęliśmy w nieskończonej pętli, która nigdy nie zostanie „rozwiązana” .. i wtrącamy się w przerwanie, które sygnalizuje problem, zabija nudny proces i idzie po filiżankę herbaty :-) Przepraszam, jeśli to nie jest pomocne.

Andy Evans
źródło
Pytanie nie brzmi: „Czy AI może zrozumieć nieskończoność”, ale „w jaki sposób nieskończoność jest przydatna dla AI? Jak więc reprezentujemy ją w tym celu?” - jako człowiek masz ogromną liczbę „procesów subskrypcji”, które są związane z twoim przetrwaniem w twoim otoczeniu. Jeden z tych systemów zarządza zasobami i sygnalizuje, kiedy przedsięwzięcie jest wymagające lub duże (być może zmierzające do nieskończoności), więc jesteś związany prawdziwą koncepcją tego, co może oznaczać dla ciebie nieskończoność. Co to musi oznaczać dla AI? Zasób czasu liczba przypisanych węzłów? Jak ważna / dokładna jest odpowiedź?
Andy Evans