Wprowadzenie
Algorytmy stały się wszechobecne. Optymalizują nasze dojazdy, przetwarzają płatności i koordynują przepływ ruchu internetowego. Wydaje się, że dla każdego problemu, który można wyrazić w precyzyjny sposób matematyczny, istnieje algorytm, który może go rozwiązać, przynajmniej w zasadzie.
Ale tak nie jest — niektórych pozornie prostych problemów nigdy nie da się rozwiązać algorytmicznie. Pionierski informatyk Alan Turing okazały istnienie takich „nieobliczalnych” problemów prawie sto lat temu, w tym samym artykule, w którym sformułował matematyczny model obliczeń który zapoczątkował nowoczesną informatykę.
Turing udowodnił ten przełomowy wynik, stosując strategię sprzeczną z intuicją: zdefiniował problem, który po prostu odrzuca wszelkie próby jego rozwiązania.
„Pytam cię, co robisz, a potem mówię:„ Nie, zamierzam zrobić coś innego ”- powiedziała Rahula Ilango, absolwent Massachusetts Institute of Technology, studiujący informatykę teoretyczną.
Strategia Turinga opierała się na matematycznej technice zwanej diagonalizacją, która ma długą historię. Oto uproszczony opis logiki stojącej za jego dowodem.
Teoria strun
Diagonalizacja wynika ze sprytnej sztuczki mającej na celu rozwiązanie przyziemnego problemu, który obejmuje ciągi bitów, z których każdy może mieć wartość 0 lub 1. Mając listę takich ciągów, wszystkie jednakowo długie, czy można wygenerować nowy ciąg, którego nie ma na lista?
Najprostszą strategią jest rozważenie każdego możliwego ciągu po kolei. Załóżmy, że masz pięć ciągów, każdy o długości pięciu bitów. Zacznij od przeskanowania listy w poszukiwaniu numeru 00000. Jeśli go tam nie ma, możesz przestać; jeśli tak, przejdź do 00001 i powtórz proces. Jest to dość proste, ale w przypadku długich list długich ciągów działa powoli.
Diagonalizacja to alternatywne podejście, które polega na odbudowie brakującego ciągu krok po kroku. Zacznij od pierwszego bitu pierwszego ciągu na liście i odwróć go — będzie to pierwszy bit nowego ciągu. Następnie odwróć drugi bit drugiego ciągu i użyj go jako drugiego bitu nowego ciągu i powtarzaj, aż dojdziesz do końca listy. Odwrócone bity zapewniają, że nowy ciąg różni się od każdego ciągu na oryginalnej liście przynajmniej w jednym miejscu. (Tworzą również ukośną linię na liście ciągów, od której wzięła się nazwa tej techniki.)
Diagonalizacja wymaga jedynie sprawdzenia jednego bitu z każdego ciągu na liście, więc często jest znacznie szybsza niż inne metody. Ale jego prawdziwa siła polega na tym, jak dobrze gra z nieskończonością.
„Struny mogą być teraz nieskończone; lista może być nieskończona – nadal działa” – powiedział Ryan Williams, informatyk teoretyczny w MIT.
Pierwszą osobą, która ujarzmiła tę moc, był Georg Cantor, założyciel matematycznego poddziedziny teorii mnogości. W 1873 roku Cantor użył diagonalizacji, aby udowodnić, że niektóre nieskończoności istnieją większy niż inne. Sześć dekad później Turing zaadaptował wersję diagonalizacji Cantora do teorii obliczeń, nadając jej wyraźnie sprzeczny charakter.
Gra z ograniczeniami
Turing chciał udowodnić istnienie problemów matematycznych, których nie rozwiąże żaden algorytm — to znaczy problemów z dobrze zdefiniowanymi danymi wejściowymi i wyjściowymi, ale bez niezawodnej procedury przejścia od wejścia do wyjścia. Ułatwił wykonanie tego niejasnego zadania, skupiając się wyłącznie na problemach decyzyjnych, gdzie danymi wejściowymi może być dowolny ciąg zer i jedynek, a wynikiem jest 0 lub 1.
Ustalenie, czy liczba jest pierwsza (podzielna tylko przez 1 i samą siebie) jest jednym z przykładów problemu decyzyjnego — biorąc pod uwagę ciąg wejściowy reprezentujący liczbę, prawidłowym wyjściem jest 1, jeśli liczba jest pierwsza, i 0, jeśli nie jest. Innym przykładem jest sprawdzanie programów komputerowych pod kątem błędów składniowych (odpowiednik błędów gramatycznych). Tam ciągi wejściowe reprezentują kod dla różnych programów — wszystkie programy mogą być reprezentowane w ten sposób, ponieważ w ten sposób są przechowywane i wykonywane na komputerach — a celem jest wyświetlenie 1, jeśli kod zawiera błąd składniowy, i 0, jeśli tak nie jest T.
Algorytm rozwiązuje problem tylko wtedy, gdy dla każdego możliwego wejścia generuje prawidłowe wyniki — jeśli choć raz zawiedzie, nie jest to algorytm ogólnego przeznaczenia dla tego problemu. Zwykle najpierw określasz problem, który chcesz rozwiązać, a następnie próbujesz znaleźć algorytm, który go rozwiąże. Turing w poszukiwaniu nierozwiązywalnych problemów wywrócił tę logikę do góry nogami — wyobraził sobie nieskończoną listę wszystkich możliwych algorytmów i wykorzystał diagonalizację do skonstruowania upartego problemu, który pokrzyżowałby każdy algorytm na liście.
Wyobraź sobie sfałszowaną grę złożoną z 20 pytań, w której zamiast zaczynać od konkretnego obiektu, odpowiadający wymyśla wymówkę, aby odpowiedzieć „nie” na każde pytanie. Pod koniec gry opisali obiekt zdefiniowany wyłącznie na podstawie cech, których mu brakuje.
Dowód diagonalizacji Turinga to wersja tej gry, w której pytania przebiegają przez nieskończoną listę możliwych algorytmów, wielokrotnie zadając pytanie: „Czy ten algorytm może rozwiązać problem, który chcielibyśmy udowodnić, że jest nieobliczalny?”
„To coś w rodzaju «pytań o nieskończoność»” – powiedział Williams.
Aby wygrać grę, Turing musiał stworzyć problem, na który odpowiedź brzmi „nie” dla każdego algorytmu. Oznaczało to zidentyfikowanie konkretnego wejścia, które powoduje, że pierwszy algorytm daje złą odpowiedź, innego wejścia, które powoduje niepowodzenie drugiego i tak dalej. Znalazł te specjalne dane wejściowe, stosując sztuczkę podobną do tej, której ostatnio używał Kurt Gödel dowód że twierdzenia odnoszące się do samego siebie, takie jak „tego stwierdzenia nie da się udowodnić”, oznaczały kłopoty dla podstaw matematyki.
Kluczowym spostrzeżeniem było to, że każdy algorytm (lub program) można przedstawić jako ciąg zer i jedynek. Oznacza to, podobnie jak w przykładzie programu sprawdzającego błędy, że algorytm może przyjąć jako dane wejściowe kod innego algorytmu. W zasadzie algorytm może nawet przyjąć własny kod jako dane wejściowe.
Dzięki temu spostrzeżeniu możemy zdefiniować nieobliczalny problem, taki jak ten w dowodzie Turinga: „Biorąc pod uwagę ciąg wejściowy reprezentujący kod algorytmu, na wyjściu zostanie wygenerowana wartość 1, jeśli algorytm wygeneruje 0, a na wejściu pojawi się jego własny kod; w przeciwnym razie wyjście 0.” Każdy algorytm próbujący rozwiązać ten problem wygeneruje błędne dane wyjściowe na co najmniej jednym wejściu — mianowicie na wejściu odpowiadającym jego własnemu kodowi. Oznacza to, że tego przewrotnego problemu nie da się rozwiązać żadnym algorytmem.
Czego nie może zrobić negacja
Informatycy nie skończyli jeszcze z diagonalizacją. W 1965 roku Juris Hartmanis i Richard Stearns dostosowali argumentację Turinga do dowód że nie wszystkie obliczalne problemy są sobie równe — niektóre są z natury trudniejsze niż inne. Wynik ten zapoczątkował dziedzinę teorii złożoności obliczeniowej, która bada trudność problemów obliczeniowych.
Ale teoria złożoności ujawniła także ograniczenia przeciwnej metody Turinga. W 1975 Theodore Baker, John Gill i Robert Solovay okazały że wielu otwartych pytań w teorii złożoności nigdy nie da się rozwiązać samą diagonalizacją. Najważniejszym z nich jest słynny problem P kontra NP, który zadaje pytanie, czy wszystkie problemy z łatwymi do sprawdzenia rozwiązaniami można również łatwo rozwiązać za pomocą odpowiedniego, pomysłowego algorytmu.
Martwe punkty diagonalizacji są bezpośrednią konsekwencją wysokiego poziomu abstrakcji, który czyni ją tak potężną. Dowód Turinga nie wiązał się z żadnym nieobliczalnym problemem, który mógłby pojawić się w praktyce — zamiast tego wymyślił taki problem na bieżąco. Inne dowody diagonalizacji są podobnie odległe od świata rzeczywistego, więc nie mogą rozwiązać problemów, w których liczą się szczegóły świata rzeczywistego.
„Obsługują obliczenia na odległość” – powiedział Williams. „Wyobrażam sobie faceta, który ma do czynienia z wirusami i uzyskuje do nich dostęp przez jakąś schowek na rękawiczki”.
Niepowodzenie diagonalizacji było wczesnym sygnałem, że rozwiązaniem będzie problem P w porównaniu z NP długa podróż. Jednak pomimo swoich ograniczeń diagonalizacja pozostaje jednym z kluczowych narzędzi w arsenale teoretyków złożoności. W 2011 roku Williams zastosował tę metodę w połączeniu z szeregiem innych technik dowód że pewien ograniczony model obliczeń nie jest w stanie rozwiązać niektórych niezwykle trudnych problemów – wynik, który wymykał się badaczom przez 25 lat. Było to dalekie od rozwiązania problemu P kontra NP, ale nadal oznaczało znaczny postęp.
Jeśli chcesz udowodnić, że coś nie jest możliwe, nie lekceważ potęgi powiedzenia „nie”.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Motoryzacja / pojazdy elektryczne, Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- ChartPrime. Podnieś poziom swojej gry handlowej dzięki ChartPrime. Dostęp tutaj.
- Przesunięcia bloków. Modernizacja własności offsetu środowiskowego. Dostęp tutaj.
- Źródło: https://www.quantamagazine.org/alan-turing-and-the-power-of-negative-thinking-20230905/
- :ma
- :Jest
- :nie
- :Gdzie
- ][P
- $W GÓRĘ
- 1
- 20
- 2011
- 25
- a
- abstrakcja
- Konto
- temu
- Alan
- Alan Turing
- algorytm
- algorytmicznie
- Algorytmy
- Wszystkie kategorie
- sam
- również
- wśród
- an
- i
- Inne
- odpowiedź
- każdy
- podejście
- SĄ
- argument
- powstać
- Arsenał
- AS
- zapytać
- At
- piekarz
- na podstawie
- BE
- stają się
- za
- Bit
- Pudełko
- Buduje
- ale
- by
- nazywa
- cambridge
- CAN
- walizka
- Wiek
- pewien
- kontrola
- szef
- kod
- kompleksowość
- obliczenia
- komputer
- Computer Science
- komputery
- Rozważać
- skonstruować
- zawiera
- przeciwnie
- koordynować
- skorygowania
- Odpowiedni
- rzemiosło
- stworzony
- czynienia
- lat
- decyzja
- określić
- zdefiniowane
- opisane
- Mimo
- detale
- różne
- Trudność
- kierować
- dystans
- Wybitny
- do
- Nie
- robi
- nie
- każdy
- Wcześnie
- z łatwością
- łatwo
- bądź
- zakończenia
- dość
- zapewnić
- całkowicie
- równy
- Równie
- Równoważny
- błąd
- Błędy
- Parzyste
- Każdy
- zbadać
- przykład
- wyłącznie
- wykonany
- istnienie
- niezwykle
- FAIL
- nie
- Brak
- sławny
- daleko
- Far Cry
- szybciej
- pole
- Znajdź
- i terminów, a
- pięć
- Trzepnięcie
- pływ
- skupienie
- W razie zamówieenia projektu
- Nasz formularz
- znaleziono
- Fundamenty
- założyciel
- od
- gra
- ogólny cel
- Generować
- otrzymać
- miejsce
- dany
- Dający
- cel
- będzie
- absolwent
- przełomowy
- Facet
- miał
- uchwyt
- Ciężko
- trudniej
- uprząż
- Have
- he
- głowa
- Wysoki
- jego
- historia
- W jaki sposób
- HTTPS
- i
- identyfikacja
- IEEE
- if
- obraz
- wyobrażam sobie
- in
- wskazanie
- Nieskończony
- Nieskończoność
- wkład
- Wejścia
- wgląd
- zamiast
- Instytut
- Internet
- wewnętrznie
- angażować
- IT
- JEGO
- samo
- John
- właśnie
- Klawisz
- Kurt
- później
- uruchomiona
- najmniej
- poziom
- leży
- lubić
- ograniczenie
- Ograniczenia
- Limity
- Linia
- Lista
- wykazy
- logika
- długo
- zrobiony
- magazyn
- poważny
- WYKONUJE
- wykonalny
- wiele
- massachusetts
- Instytut Technologii w Massachusetts
- matematyczny
- matematyka
- Materia
- znaczy
- Oznaczało
- metoda
- metody
- może
- nic
- brakujący
- błędy
- MIT
- model
- Nowoczesne technologie
- jeszcze
- większość
- ruch
- dużo
- Nazwa
- mianowicie
- prawie
- potrzebne
- wymagania
- ujemny
- nigdy
- Nowości
- Nie
- już dziś
- numer
- przedmiot
- of
- często
- on
- pewnego razu
- ONE
- tylko
- koncepcja
- Optymalizacja
- or
- oryginalny
- Inne
- Pozostałe
- Inaczej
- ludzkiej,
- wydajność
- własny
- Papier
- szczególny
- płatności
- osoba
- Pionierskość
- Miejsce
- plato
- Analiza danych Platona
- PlatoDane
- odgrywa
- możliwy
- power
- mocny
- praktyka
- precyzyjny
- premia
- zasada
- Problem
- problemy
- procedura
- wygląda tak
- produkować
- produkuje
- Program
- Programy
- Postęp
- dowód
- dowody
- Udowodnij
- okazały
- cechy
- Magazyn ilościowy
- pytanie
- pytania
- raczej
- real
- Prawdziwy świat
- niedawno
- szczątki
- powtarzać
- WIELOKROTNIE
- reprezentować
- reprezentowane
- reprezentowanie
- Badacze
- zdecydowany
- rozwiązywanie
- ograniczony
- dalsze
- Ujawnił
- Richard
- uzbrojony
- prawo
- ROBERT
- run
- Powiedział
- taki sam
- powiedzieć
- powiedzenie
- skanowanie
- nauka
- Naukowiec
- Naukowcy
- Szukaj
- druga
- pozornie
- wydaje
- zestaw
- Syjam
- podobny
- Podobnie
- Prosty
- uproszczony
- po prostu
- ponieważ
- SIX
- powolny
- So
- Rozwiązania
- ROZWIĄZANIA
- Rozwiązuje
- Rozwiązywanie
- kilka
- coś
- specjalny
- plamy
- początek
- Startowy
- Zestawienie sprzedaży
- wynika
- Nadal
- Stop
- przechowywany
- bezpośredni
- Strategia
- sznur
- student
- badania naukowe
- Studiowanie
- taki
- składnia
- Brać
- Zadanie
- Techniki
- Technologia
- REGULAMIN
- niż
- że
- Połączenia
- Im
- następnie
- teoretyczny
- teoria
- Tam.
- Te
- one
- Myślący
- to
- tych
- Przez
- udaremniać
- do
- razem
- narzędzia
- ruch drogowy
- kłopot
- prawdziwy
- próbować
- Turinga
- SKRĘCAĆ
- Obrócony
- wszechobecny
- aż do
- posługiwać się
- używany
- za pomocą
- wersja
- Przeciw
- Wirusy
- chcieć
- poszukiwany
- była
- Droga..
- we
- webp
- DOBRZE
- dobrze zdefiniowane
- Co
- jeśli chodzi o komunikację i motywację
- czy
- który
- KIM
- będzie
- Williams
- wygrać
- w
- działa
- świat
- by
- Źle
- lat
- jeszcze
- You
- Twój
- zefirnet