Turochamp | |
---|---|
Fejlesztők | Alan Turing és David Champernowne [d] |
Kiadási dátum | 1948 |
Műfaj | számítógépes sakk |
Műszaki információk | |
Játék mód | Egyjátékos játék |
A Turochamp [a] egy sakkprogram , amelyet Alan Turing és David Champernowne fejlesztett ki 1948-ban egy számítástechnikai és gépi tanulási tanulmány részeként. Mielőtt megtenne egy lépést, Turochamp mérlegeli az összes lehetséges lépést, és kiszámítja minden lehetséges ellenfél válaszát, majd tovább elemzi a sikeres lépéseket. Az elemzés eredményeként kapott összes pozícióhoz hozzárendelnek egy mérőszámot, amely alapján a program kiválasztja a legsikeresebb lépést. Ezt az algoritmust követve a program képes az elejétől a végéig teljes értékű játékot játszani egy élő ellenféllel szemben egy kezdő sakkozó szintjén .
Turing és Champernowne soha nem fejezte be a Turochampot , mert az algoritmus túl bonyolult volt ahhoz, hogy az akkori számítógépeken, például az Automatic Computing Engine -en fusson . Turing megpróbálta megvalósítani az algoritmust egy 1951-es Manchester Ferranti Mark 1 számítógépen , de nem járt sikerrel. 1952-ben Turing meccset játszott a tudós Alik Glennie ellen , lépésről lépésre maga is végrehajtva az algoritmust. Turing 1954-ben halt meg anélkül, hogy Turochampot valódi számítógépen dolgozta volna; Champernowne nem folytatta a projektet, és a kód elveszett .
Annak ellenére, hogy az algoritmust soha nem formalizálták program formájában, a Turochampot az első személyi számítógépes játéknak tekintik, és azt állítja, hogy ez a történelem első sakkprogramja (sok más sakkprogramot fejlesztettek ki a Turochamp -pel egy időben , de egyik sem elkészültek). Az első munkaprogram, amelyet Dietrich Prinz írt 1951-ben a Ferranti Mark 1 számítógéphez, Turochampon alapult, és arra korlátozódott, hogy két mozdulattal megoldja a páros problémákat . A 2012 -es Alan Turing centenáriumi konferenciájára Turochampot újrateremtették, és Garri Kaszparov nagymester a program ellen játszott .
A Turochamp egy sakkot játszó számítógépes program, amely bemenetként fogadja a játékos lépéseit, és válaszul a saját lépéseit adja ki. A programalgoritmus heurisztikus módszert használ a lehető legjobb lépés meghatározására. A program figyelembe veszi a szabályok által megengedett összes lépést, kiszámítja minden lehetséges ellenfél reakcióját, valamint a további „jelentős” mozdulatokat - a nem védett figurák elfogását , a csere befejezését , valamint az ellenfél erős bábujának elfogását egy gyengébb bábuval. Minden kapott pozícióhoz hozzárendelünk egy metrikát, amely után a program a minimax [3] [4] [5] algoritmus segítségével kiválasztja a lehető legjobb mozgást . A mérőszámot több szempont alapján számítják ki – az egyes darabok mobilitása és biztonsága, a sakk-matt veszélye, az elfogott darab értéke, valamint számos egyéb tényező [6] . Champernowne szerint az algoritmus tulajdonképpen azon a döntésen múlik, hogy ezt vagy azt a darabot választjuk-e; Turing szerint Turochamp egy kezdő játékos szintjén képes sakkozni, amit saját sakkjátéki szintjével arányosnak tartott [3] [6] .
1941-től, miközben a Parkban katonai kriptográfián dolgozott , Turing elkezdett megvitatni kollégáival egy olyan gép létrehozásának lehetőségéről, amely képes sakkozni és más "intelligens" problémákat megoldani, valamint azt az ötletet, hogy a problémákat úgy oldják meg az összes lehetséges válasz válogatása heurisztikus algoritmus segítségével [7] [8] . Turing számos munkája a kriptoanalízis területén, köztük Bombe is olyan számítógép modellt használt, amely minden lehetséges megoldáson keresztülmegy [8] . 1944-ben Turing megvitatta elképzeléseit David Champernowne statisztikussal , és 1945-re arra a következtetésre jutottak, hogy egy tetszőleges számítások elvégzésére képes gép elméletileg képes mindent megismételni, amire az emberi agy képes, beleértve a sakkjátszmát is . 7] [9] .
A második világháború után Turing a National Physical Laboratory -ban dolgozott, ahol kifejlesztette az Automatic Computing Engine -t (ACE), amely a memóriában tárolt programmal rendelkező számítógép egyik első prototípusa. 1946-ban Turing írt egy jelentést "Javasolt elektronikus számológép" ( angolul - "javasolt elektronikus számológép") címmel, amelyben felsorolta azokat a projekteket, amelyekhez az ACE-t használni fogja - ezek közül az egyik egy sakkjátszma volt. Egy évvel később előadást tartott a London Mathematical Society -nek , bemutatva egy olyan gép ötletét, amely sakkozni és saját játéktapasztalataiból tanulni programozott. 1948-ban új jelentést küldött az "Intelligent Machinery"-ről ( angolul - "intelligens felszerelés"), amelyben egy sakkjáték utánzásának módját javasolta [1] .
1948 késő nyarán Turing és Champernowne a cambridge-i King's College-ban dolgozott egy elméleti szabályrendszert a sakkjátszma optimális következő lépésének meghatározására. Ezt az algoritmust számítógépes programként valósították meg, de túl bonyolultnak bizonyult az ACE vagy bármely más korabeli számítógép számára [3] . A program a Turochamp nevet kapta – az alkotók ( Turing és Champernowne ) nevének tiszteletére [1] . A sajtóban néha tévesen Turbochamp -ként [2] emlegetik . Champernowne szerint a felesége sakkozott egy "papírszámítógép" nevű program ellen, és veszített [1] [10] . Turing egy 1951-es Manchester Ferranti Mark 1 számítógépen próbálta megvalósítani az algoritmust , de a kód bonyolultsága miatt nem járt sikerrel [2] . Turing monográfusa, Jack Copeland azt írta, hogy Turing sikertelen próbálkozásai valódi számítógépre való programírással nem zavarták Turingot, mivel meg volt győződve arról, hogy a számítógépek sebessége és összetettsége hamarosan növekedni fog, és lehetővé válik egy ilyen program megírása. [11] . 1952 nyarán Turing egy játékot játszott Alik Glennie ellen egy program segítségével, lépésről lépésre maga hajtva végre az algoritmust. A rekordot megőrzött meccs 29 mozdulatig tartott és Turochamp vereségével ért véget, a program minden lépése pedig 30 perces számításokat vett igénybe. Ez a meccs bebizonyította, hogy lehetséges egy olyan program, amely képes egy teljes meccset lejátszani egy ember ellen. Turing 1954-ben halt meg anélkül, hogy Turochampot valódi számítógépen futtatta volna [2] .
A Turing és Champernowne által írt forráskód és algoritmus nem maradt fenn. 1980-ban Champernowne leírta az algoritmus működését, de nem emlékezett a metrika kiszámításának minden részletére [3] [11] . E leírás szerint a Turochampot 2012- ben hozták újra [12] . Az algoritmus rekonstrukciója azonban nem tudta reprodukálni a Turing és Glennie között rögzített egyezést. A program fennmaradt leírásainak helyes értelmezésére a szerzők úgy döntöttek, hogy számos sakkszakértővel és Turing kortársával konzultálnak, köztük Ken Thompsonnal , a Belle sakkgép és a Unix operációs rendszer megalkotójával , azonban egyik sem találhattak okot az eltérésekre. Végül Donald Meehee azt javasolta, hogy Turing nem követte aprólékosan az algoritmust a játék során; később a kutatóknak sikerült bebizonyítaniuk, hogy Turing a legelső lépéstől kezdve tévesen kizárta a számításból a számára nem optimálisnak tűnő lépéseket, hogy időt takarítson meg az elemzésükön [b] . Az így létrejött rekonstrukciót a 2012. július 22–25-én megrendezett Alan Turing centenáriumi konferencia részeként mutatták be a nagymester és az exvilágbajnok Garri Kaszparov elleni mérkőzésen [13] . Kaszparov 16 mozdulattal verte a programot [14] .
Annak ellenére, hogy az algoritmust soha nem formalizálták programként, Turochamp azt állítja, hogy ő az első sakkprogram a történelemben. A Turochamp -pal egyidejűleg más sakkprogramokat is kidolgoztak és megvitattak: 1950-ben Claude Shannon publikált egy cikket "Programming a Computer for Playing Chess" ( angolul - "programing a computer for Playing Chess"), Konrad Zuse 1941-1945-ben a sakkot oldotta meg. problémákat az általa kifejlesztett Plankalkül nyelvben , Donald Michi és Sean Wylie pedig kidolgozta a Machiavelli sakk algoritmust , amelyet Turing sikertelenül próbált megvalósítani a Ferranti Mark I-en Turochamp -pal egy időben [1] [15] [ 16] [17] . 1951 novemberében Dietrich Prinz , a Ferranti alkalmazottja ihlette Turing Turochamp -on végzett munkáját, és ez alapján kifejlesztette az első sikeres sakkprogramot a Ferranti Mark I számára, amely a páros problémák két lépésben történő megoldására korlátozódott [3].
A Turochampot 2012-ben hozták újra, és az Alan Turing Centenáriumi Konferencia részeként mutatták be [13] . Garri Kaszparov , aki részt vett a konferencián, beszédet mondott, amelyben "kiemelkedő teljesítménynek" nevezte egy sakkprogram létrehozását olyan körülmények között, ahol munkája eredménye nem hajtható végre számítógépen, és kijelentette, hogy Turochamp megtalálta a helyét. a történelemben [14] .
![]() |
---|