Sissejuhatus
Algoritmid on muutunud üldlevinud. Nad optimeerivad meie pendelränne, töötlevad makseid ja koordineerivad Interneti-liikluse voogu. Tundub, et iga probleemi jaoks, mida saab täpselt matemaatiliselt sõnastada, on olemas algoritm, mis suudab selle vähemalt põhimõtteliselt lahendada.
Kuid see pole nii – mõnda näiliselt lihtsat probleemi ei saa kunagi algoritmiliselt lahendada. Teerajaja arvutiteadlane Alan Turing tõestatud selliste "arvutamatute" probleemide olemasolu peaaegu sajand tagasi, samas artiklis, kus ta sõnastas matemaatiline arvutusmudel mis käivitas kaasaegse arvutiteaduse.
Turing tõestas seda murrangulist tulemust, kasutades intuitiivset strateegiat: ta määratles probleemi, mis lihtsalt lükkab tagasi kõik katsed seda lahendada.
"Ma küsin sinult, mida sa teed, ja siis ma vastan: "Ei, ma teen midagi teistmoodi," ütles ta. Rahul Ilango, Massachusettsi Tehnoloogiainstituudi magistrant, kes õpib teoreetilist arvutiteadust.
Turingi strateegia põhines matemaatilisel tehnikal, mida nimetatakse diagonaliseerimiseks ja millel on silmapaistev ajalugu. Siin on lihtsustatud ülevaade tema tõestuse taga olevast loogikast.
Stringiteooria
Diagonaliseerimine tuleneb nutikast nipist, et lahendada igapäevane probleem, mis hõlmab bittide stringe, millest igaüks võib olla kas 0 või 1. Kui võtta arvesse selliste stringide loendit, mis kõik on võrdselt pikad, kas saate luua uue stringi, mida pole nimekiri?
Kõige lihtsam strateegia on kaaluda iga võimalikku stringi kordamööda. Oletame, et teil on viis stringi, millest igaüks on viis bitti pikk. Alustuseks otsige loendist numbrit 00000. Kui seda pole, võite lõpetada; kui on, liigute edasi numbrile 00001 ja korrake protsessi. See on piisavalt lihtne, kuid pikkade pikkade stringide loendite puhul on see aeglane.
Diagonaliseerimine on alternatiivne lähenemisviis, mis loob puuduva stringi vähehaaval. Alustage loendi esimese stringi esimesest bitist ja pöörake see ümber – see on teie uue stringi esimene bitt. Seejärel pöörake teise stringi teine bitt ümber ja kasutage seda uue stringi teise bitina ning korrake seda, kuni jõuate loendi lõppu. Pööratavad bitid tagavad, et uus string erineb vähemalt ühes kohas igast algses loendis olevast stringist. (Nad moodustavad ka diagonaaljoone läbi stringide loendi, andes tehnikale selle nime.)
Diagonaliseerimine peab uurima ainult ühte bitti igast loendi stringist, seega on see sageli palju kiirem kui muud meetodid. Kuid selle tõeline jõud seisneb selles, kui hästi see lõpmatusega mängib.
„Nüüd võivad keelpillid olla lõpmatud; nimekiri võib olla lõpmatu – see töötab ikka,” ütles Ryan Williams, MIT teoreetiline arvutiteadlane.
Esimene inimene, kes seda jõudu rakendas, oli hulgateooria matemaatilise alamvaldkonna rajaja Georg Cantor. 1873. aastal kasutas Cantor diagonaliseerimist, et tõestada, et mõned lõpmatused on suurem kui teised. Kuus aastakümmet hiljem kohandas Turing Cantori versiooni diagonaliseerimisest arvutusteooriaga, andes sellele selgelt vastuolulise maitse.
Piiramise mäng
Turing tahtis tõestada matemaatiliste probleemide olemasolu, mida ükski algoritm ei suuda lahendada – see tähendab täpselt määratletud sisendite ja väljunditega probleeme, kuid mitte lollikindel protseduuri sisendist väljundisse jõudmiseks. Ta muutis selle ebamäärase ülesande paremini hallatavaks, keskendudes eranditult otsustusprobleemidele, kus sisendiks võib olla mis tahes string 0-dest ja 1-dest ning väljundiks on kas 0 või 1.
Määramine, kas arv on algarv (jaguneb ainult 1-ga ja iseendaga), on üks näide otsustusprobleemist – arvu esindava sisendstringi korral on õige väljund 1, kui arv on algarv, ja 0, kui see pole nii. Teine näide on arvutiprogrammide süntaksivigade (grammatikavigade ekvivalent) kontrollimine. Seal kujutavad sisendstringid erinevate programmide koodi – nii saab esitada kõiki programme, kuna nii need salvestatakse ja arvutites käivitatakse – ning eesmärk on väljastada 1, kui kood sisaldab süntaksiviga ja 0, kui see ei sisalda. t.
Algoritm lahendab probleemi ainult siis, kui see annab iga võimaliku sisendi jaoks õige väljundi – kui see isegi korra ebaõnnestub, pole see selle probleemi üldotstarbeline algoritm. Tavaliselt määrate esmalt probleemi, mida soovite lahendada, ja seejärel proovite leida selle lahendava algoritmi. Lahendamatuid probleeme otsides pööras Turing selle loogika pea peale – ta kujutas ette lõpmatut nimekirja kõigist võimalikest algoritmidest ja kasutas diagonaliseerimist, et konstrueerida kangekaelne probleem, mis nurjaks kõik nimekirjas olevad algoritmid.
Kujutage ette 20 küsimusest koosnevat mängu, kus vastaja leiutab ettekäände, et igale küsimusele ei öelda, selle asemel, et alustada konkreetset objekti silmas pidades. Mängu lõpuks on nad kirjeldanud objekti, mis on täielikult määratletud selle puuduvate omadustega.
Turingi diagonalisatsioonitõestus on selle mängu versioon, kus küsimused jooksevad läbi võimalike algoritmide lõputu loendi, küsides korduvalt: "Kas see algoritm suudab lahendada probleemi, mida me tahame tõestada, et see pole arvutatav?"
"See on omamoodi "lõpmatuse küsimused", " ütles Williams.
Mängu võitmiseks pidi Turing koostama ülesande, kus iga algoritmi puhul on eitav vastus. See tähendas konkreetse sisendi tuvastamist, mis paneb esimese algoritmi väljastama vale vastuse, teise sisendi, mille tõttu teine ebaõnnestub, jne. Ta leidis need spetsiaalsed sisendid sarnase nipi abil, mida Kurt Gödel oli hiljuti kasutanud tõestama et enesele viitavad väited, nagu "see väide on tõestamatu", on matemaatika aluste jaoks probleeme.
Põhiline arusaam oli, et iga algoritmi (või programmi) saab esitada 0-de ja 1-de stringina. See tähendab, nagu veakontrolli programmi näites, et algoritm võib võtta sisendiks teise algoritmi koodi. Algoritm võib põhimõtteliselt võtta sisendiks isegi oma koodi.
Selle ülevaate abil saame defineerida arvutamatu probleemi, nagu Turingi tõestuses: “Antud sisendstringi, mis esindab algoritmi koodi, väljund 1, kui see algoritm väljastab 0, kui sisendiks on tema enda kood; vastasel juhul väljund 0. Iga algoritm, mis proovib seda probleemi lahendada, annab vähemalt ühele sisendile vale väljundi – nimelt tema enda koodile vastava sisendi. See tähendab, et seda perversset probleemi ei saa lahendada ühegi algoritmiga.
Mida eitus ei suuda
Arvutiteadlased ei olnud diagonaliseerimisega veel läbi. 1965. aastal kohandasid Juris Hartmanis ja Richard Stearns Turingi argumenti tõestama et kõik arvutatavad probleemid ei ole võrdsed – mõned on oma olemuselt raskemad kui teised. See tulemus käivitas arvutusliku keerukuse teooria valdkonna, mis uurib arvutusprobleemide raskusi.
Kuid keerukuse teooria paljastas ka Turingi vastupidise meetodi piirid. 1975. aastal Theodore Baker, John Gill ja Robert Solovay tõestatud et paljusid keerukusteooria lahtisi küsimusi ei saa kunagi lahendada ainult diagonaliseerimisega. Peamine neist on kuulus P versus NP probleem, mis küsib, kas kõiki kergesti kontrollitavate lahendustega probleeme on ka õige geniaalse algoritmiga lihtne lahendada.
Diagonaliseerimise pimealad on otsene tagajärg kõrgele abstraktsioonitasemele, mis muudab selle nii võimsaks. Turingi tõestus ei sisaldanud praktikas tekkida võivaid arvutamatuid probleeme – selle asemel mõtles see sellise probleemi välja lennult. Teised diagonalisatsioonitõestused on samamoodi reaalsest maailmast eemal, nii et nad ei suuda lahendada küsimusi, kus reaalse maailma üksikasjad on olulised.
"Nad tegelevad arvutamisega distantsilt, " ütles Williams. "Ma kujutan ette meest, kes tegeleb viirustega ja pääseb neile ligi läbi kindalaeka."
Diagonaliseerimise ebaõnnestumine oli varane märk sellest, et P versus NP probleemi lahendamine oleks pikk teekond. Kuid vaatamata oma piirangutele jääb diagonaliseerimine üheks keerukuse teoreetikute arsenali peamiseks tööriistaks. 2011. aastal kasutas Williams seda koos paljude teiste tehnikatega tõestama et teatud piiratud arvutusmudel ei suutnud lahendada mõningaid erakordselt raskeid probleeme – see tulemus oli teadlaste jaoks 25 aastat vältinud. See oli P versus NP lahendamisest kaugel, kuid see kujutas siiski suurt edu.
Kui soovite tõestada, et midagi pole võimalik, ärge alahinnake lihtsalt ei ütlemise jõudu.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Autod/elektrisõidukid, Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- ChartPrime. Tõsta oma kauplemismängu ChartPrime'iga kõrgemale. Juurdepääs siia.
- BlockOffsets. Keskkonnakompensatsiooni omandi ajakohastamine. Juurdepääs siia.
- Allikas: https://www.quantamagazine.org/alan-turing-and-the-power-of-negative-thinking-20230905/
- :on
- :on
- :mitte
- : kus
- ][lk
- $ UP
- 1
- 20
- 2011
- 25
- a
- abstraktsioon
- konto
- tagasi
- Alan
- Alan Turing
- algoritm
- algoritmiliselt
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- üksi
- Ka
- vahel
- an
- ja
- Teine
- vastus
- mistahes
- lähenemine
- OLEME
- argument
- tekkima
- Arsenal
- AS
- küsima
- At
- pagar
- põhineb
- BE
- muutuma
- taga
- Natuke
- Kast
- Ehitab
- kuid
- by
- kutsutud
- Cambridge
- CAN
- juhul
- Sajand
- kindel
- kontroll
- juht
- kood
- keerukus
- arvutamine
- arvuti
- Arvutiteadus
- arvutid
- Arvestama
- ehitama
- sisaldab
- vastupidi
- koordineerima
- parandada
- Vastav
- käsitöö
- loodud
- tegelema
- aastakümnete
- otsus
- määratlema
- määratletud
- kirjeldatud
- Vaatamata
- detailid
- erinev
- Raskus
- otsene
- kaugus
- Eriline
- do
- Ei tee
- teeme
- Ära
- iga
- Varajane
- kergesti
- lihtne
- kumbki
- lõpp
- piisavalt
- tagama
- täielikult
- võrdne
- Võrdselt
- Samaväärne
- viga
- vead
- Isegi
- Iga
- uurima
- näide
- ainult
- täidetud
- olemasolu
- erakordselt
- FAIL
- ei
- ebaedu
- kuulus
- kaugele
- Far Cry
- kiiremini
- väli
- leidma
- esimene
- viis
- Flip
- voog
- keskendumine
- eest
- vorm
- avastatud
- Sihtasutused
- Asutaja
- Alates
- mäng
- Üldine otstarve
- tekitama
- saama
- saamine
- antud
- andmine
- eesmärk
- läheb
- koolilõpetaja
- murranguline
- mees
- olnud
- käepide
- Raske
- raskem
- rakmed
- Olema
- he
- juhataja
- Suur
- tema
- ajalugu
- Kuidas
- HTTPS
- i
- identifitseerimiseks
- IEEE
- if
- kujutage ette
- ette kujutada
- in
- näidustus
- Lõpmatu
- Lõpmatus
- sisend
- sisendite
- ülevaade
- selle asemel
- Instituut
- Internet
- olemuselt
- kaasama
- IT
- ITS
- ise
- John
- lihtsalt
- Võti
- kurt
- pärast
- käivitatud
- kõige vähem
- Tase
- peitub
- nagu
- piiramine
- piirangud
- piirid
- joon
- nimekiri
- Nimekirjad
- loogika
- Pikk
- tehtud
- ajakiri
- peamine
- TEEB
- juhitav
- palju
- Massachusetts
- Massachusettsi Tehnoloogiainstituut
- matemaatiline
- matemaatika
- küsimus
- vahendid
- tähendas
- meetod
- meetodid
- võib
- meeles
- puuduvad
- vigu
- MIT
- mudel
- Kaasaegne
- rohkem
- kõige
- liikuma
- palju
- nimi
- nimelt
- peaaegu
- vaja
- vajadustele
- negatiivne
- mitte kunagi
- Uus
- ei
- nüüd
- number
- objekt
- of
- sageli
- on
- kunagi
- ONE
- ainult
- avatud
- optimeerima
- or
- originaal
- Muu
- teised
- muidu
- meie
- väljund
- enda
- Paber
- eriline
- maksed
- inimene
- Pioneer
- Koht
- Platon
- Platoni andmete intelligentsus
- PlatoData
- mängib
- võimalik
- võim
- võimas
- tava
- vajadus
- Peamine
- põhimõte
- Probleem
- probleeme
- menetlus
- protsess
- tootma
- toodab
- Programm
- Programmid
- Edu
- tõend
- tõendid
- Tõesta
- tõestatud
- omadused
- Kvantamagazin
- küsimus
- Küsimused
- pigem
- reaalne
- päris maailm
- hiljuti
- jäänused
- kordama
- KORDUVALT
- esindama
- esindatud
- esindavad
- Teadlased
- lahendatud
- lahendamine
- piiratud
- kaasa
- Revealed
- Richard
- võltsitud
- õige
- ROBERT
- jooks
- Ütlesin
- sama
- ütlema
- ütlus
- skaneerimine
- teadus
- teadlane
- teadlased
- Otsing
- Teine
- näiliselt
- tundub
- komplekt
- siam
- sarnane
- Samamoodi
- lihtne
- lihtsustatud
- lihtsalt
- alates
- SIX
- aeglane
- So
- Lahendused
- LAHENDAGE
- Lahendab
- Lahendamine
- mõned
- midagi
- eriline
- täpid
- algus
- Käivitus
- väljavõte
- varred
- Veel
- Peatus
- ladustatud
- lihtne
- Strateegia
- nöör
- õpilane
- uuringud
- Õppimine
- selline
- süntaks
- Võtma
- Ülesanne
- tehnikat
- Tehnoloogia
- tingimused
- kui
- et
- .
- Neile
- SIIS
- teoreetiline
- teooria
- Seal.
- Need
- nad
- Mõtlemine
- see
- need
- Läbi
- nurjata
- et
- kokku
- töövahendid
- liiklus
- häda
- tõsi
- püüdma
- Turing
- Pöörake
- Pöördunud
- kõikjal
- kuni
- kasutama
- Kasutatud
- kasutamine
- versioon
- Versus
- viirused
- tahan
- tagaotsitav
- oli
- Tee..
- we
- webp
- Hästi
- hästi määratletud
- M
- millal
- kas
- mis
- WHO
- will
- Williams
- võitma
- koos
- töötab
- maailm
- oleks
- Vale
- aastat
- veel
- sa
- Sinu
- sephyrnet