Kasparov vinder over Turings skakprogram i 16 træk

Den tidligere verdensmester i skak Garry Kasparov slog mandag med de sorte brikker Alan Turings skakprogram fra 1952.

Matematikgeniet Alan Turing, hvis 100-års fødselsdag blev fejret i lørdags, er emnet for en international konference ved University of Manchester i England.

Den første foredragsholder på konferencens afslutningsdag mandag den 25. juni var den tidligere verdensmester i skak Garry Kasparov, som ifølge mange skakeksperter er den bedste skakspiller, verden endnu har set.

Som afslutning på hans foredrag om skak, computere og skakcomputere spillede han et parti mod det skakprogram, som Alan Turing udviklede i 1952, endnu før programmet kunne implementeres på en virkelig computer.

Slutstillingen i partiet fra 1952, da Turings skakprogram (hvid) opgav mod Alick Glennie efter 29 træk. Den 25. juni 2012 førte Garry Kasparov de sorte brikker mod programmet og vandt efter 16 træk.

Alan Turing førte selv de hvide brikker i 1952 mod sin kollega Alick Glennie, hvor Turings træk blev foretaget ved en manuel beregning af skak-algoritmen.

Alick Glennie var ikke andet end en habil amatør, men Turing og programmet opgav efter 29 træk, da den hvide dronning var fanget.

Garry Kasparov kommenterede, at selve skakpartiet var et 'lousy game', og en analyse af partier i skatdatabasen 365chess.com viser da også, at hverken hvid eller sort spillede optimalt i tredje træk i den valgte skakåbning (wienerparti: 1.e4 e5 2.Nc3 Nf6.)

Men som Kasparov også forklarede, er det heller ikke rimeligt at sammenligne verdens allerførste skakprogram med de programmer, som skakspillere i dag i stort omfang gør brug af i deres analyser og forberedelser.

Mat i 16 træk

Turings program blev implementeret af Michael Faist og Ken Thompson på en rigtig computer i 2004.

Kasparov, der som Glennie spillede de sorte brikker, vandt ikke uventet partiet hurtigere end Glennie. Kasparov satte Turings såkaldte 'paper machine' mat i 16 træk.

Det viste sig i øvrigt ved implementeringen af Turings skakalgoritme, at Turing i 1952 ikke fulgte programmets anvisninger slavisk.

Programmet evaluerer de forskellige positioner bl.a. ud fra, hvor mange måder kongen kan angribes på, og hvilke brikker der kan vindes og tabes.

Det betyder eksempelvis, at programmet regner åbningen bonde d2-d4 for meget dårlig, da den åbner for en diagonal, hvorfra kongen kan angribes.

Det betyder også, at bonde e2-e4 ifølge programmet er dårligere end e2-e3.

I partiet mod Glennie åbnede Turing dog, som en normal skakspiller vil gøre, med e2-e4, hvorimod 'papirmaskinen' åbnede e2-e3 mod Kasparov.

Hvem er bedst? Menneske eller maskine

Kasparov, som i 1997 tabte til IBM-computeren Deep Blue i en match over seks partier, mener, at det stadig er muligt for menneskelige skakspillere at slå de bedste computere, men det kræver et spil uden en eneste fejl undervejs.

»Hvis jeg spiller mod en anden menneskelig topspiller kan jeg med et enkelt halvdårligt træk i et parti over f.eks. 42 træk sagtens vinde partiet alligevel, hvis de øvrige træk er fejlfrie. Det vil ikke være tilfældet mod en de mest avancerede skakcomputere. Her skal alle træk være fuldstændigt fejlfrie, hvis partiet skal vindes,« forklarede Garry Kasparov.

En sådan næsten umenneskelig koncentration kan ingen topspiller opretholde i en match over flere partier.

En vurdering af, om en skakcomputere eller et menneske kan spille bedst, skal derfor i virkeligheden ikke afgøres som et resultat af en match over flere partier, lyder Kasparovs vurdering:

»Kan et menneske vinde blot et enkelt parti i en match over flere partier over en computer, så er mennesket den bedste spiller.«

Opdatering: Her er hele partiet
Turing paper machine - Garry Kasparov, 25. juni 2012
1. e3 Nf6 2. Nc3 d5 3. Nh3 e5 4. Qf3 Nc6 5. Bd3 e4 6. Bxe4 dxe4 7. Nxe4 Be7 8. Ng3 O-O 9. O-O Bg4 10. Qf4 Bd6 11. Qc4 Bxh3 12. gxh3 Qd7 13. h4 Qh3 14. b3 Ng4 15. Re1 Qxh2+ 16. Kf1 Qxf2# 0-1

Kommentarer (16)

Altså på et tidspunkt vil maskinen vinde ....ihvertefald hvis det er mulig at blive så god at man altid kan vinde...., er der endelig nogen sinde nogen som har regnet på hvad det max træk som et skatspil kan vare ?hvis man laver en computer som kan regne alle mulig træk frem i spillet allerede fra starten af ... og hvis det altid er mulig at regne nu hvad det næste træk skal være for man ikke kan tabe... så vil computer en gang vinde hver gang ... hvis det ikke er mulig at lave et sikker spil uden at modspiller dummer sig så vil menneske jo altid kunne vinde....

men altså det er jo lidt plat det Kasparovs siger med at mennesker er en bedre spiller hvis de bare kan vinde en gang... det er jo den som vilder flest gange som er bedst....

  • 0
  • 0

er der endelig nogen sinde nogen som har regnet på hvad det max træk som et skatspil kan vare ?hvis man laver en computer som kan regne alle mulig træk frem i spillet allerede fra starten af

Tjah, hvis man antager at antallet af mulige træk er større end 2 opløftet i potens af antallet af felter (2^64), så er der ret mange muligheder : http://en.wikipedia.org/wiki/Wheat_and_che...

Der går en del år inden computere nærmer sig dén størrelsesorden...

  • 0
  • 0

men altså det er jo lidt plat det Kasparovs siger med at mennesker er en bedre spiller hvis de bare kan vinde en gang... det er jo den som vilder flest gange som er bedst....

Det er vist et definitionsspørgsmål.
Hvis menneske kan vinde blot koncentrationen ikke svigter, og vi antager at compueren altid spiller på samme niveau, da den ikke kan "miste koncentrationen", så behøver mennesket blot et parti til at vise at det principielt kan slå det niveau computeren spiller på.
Men hvis "bedst" inkludere evnen til at holde koncentrationen, så er sagen jo anderledes. ... og så behøvede vi nok ikke spille partiet for at kende resultatet.

  • 0
  • 0

»Kan et menneske vinde blot et enkelt parti i en match over flere partier over en computer, så er mennesket den bedste spiller.«
  • det har Kasparov jo ret i.

I den omtale match, vandt Kasparov det 1. parti i overlegen stil ved at anvende en åbning, der ikke stod i nogen teoribøger.
Et af hans nederlag var en såkaldt "buk" - en simpel overseelse - hvor han stod til gevinst.
Matchen blev spillet på et tidspunkt, hvor Kasparov var spilletræt pga. mange turneringer. Altså et optimalt tidspunkt set med IBMs øjne.
Ikke sært af IBM afslog at spille en revanchematch - de havde opnået deres mål - en ubetalelig reklame.
Deep Blue vandt den samlede match over 6 partier - at maskinen tabte 1. parti blev glemt i trængselen.

  • 0
  • 0

Det er meget enkelt.

Maskinen regner bedre (fejlfrit) og har indbygget erfaring fra millioner af partier, men den er ikke kreativ og kan ikke planlægge og være strateg. Derfor vil mennesket vinde, hvis regnefejl ikke forekommer.

Maskinen er en maskine og bliver ikke træt, derfor vil den i det lange løb vinde over mennesket.

Skakmatcher mellem mennesker og maskiner er kun interessante for IT folket. Et skakparti indeholder mere end beregninger og erfaring bl.a. psykologi og kondition. Det er en sport.

Jeg kan selv se, hvad alderen betyder for spillestyrken, fordi udholdenheden og koncentrationen svigter i slutningen af partiet og man taber en gunstig stilling. Konditionen betyder meget for udfaldet af et langt parti og en lang turnering.

  • 0
  • 0

Maskinen regner bedre (fejlfrit) og har indbygget erfaring fra millioner af partier, men den er ikke kreativ og kan ikke planlægge og være strateg. Derfor vil mennesket vinde, hvis regnefejl ikke forekommer.
Et skakparti indeholder mere end beregninger og erfaring bl.a. psykologi og kondition.

Fra et spilteoretisk synspunkt, så er der ikke mere i spillet end beregninger. Vi har vidst i omkring et århundrede at skak har optimale strategier, og at der findes algoritmer der kan beregne dem. Hvis vi havde computere, der var kraftige nok, så ville vi kunne lave skakcomputere der ikke kan slås. Vi behøver ikke at snakke psykologi og kreativitet for at spille optimalt.

  • 0
  • 0

Der er en glimrende bog "One Jump Ahead" af Jonathan Schaeffer om hvordan han har konstrueret et program, der spiller optimalt dam.
Skak får vi nok aldrig foden helt på. Men hvis nogen synes at det trods alt er for let, så lav et program til at spille Go.

  • 0
  • 0

Hvis vi havde computere, der var kraftige nok, så ville vi kunne lave skakcomputere der ikke kan slås. Vi behøver ikke at snakke psykologi og kreativitet for at spille optimalt.

Vil det sige at to ens maskiner, der spiller mod hinanden altid faar remis?

  • 0
  • 0

Fra et spilteoretisk synspunkt, så er der ikke mere i spillet end beregninger. Vi har vidst i omkring et århundrede at skak har optimale strategier, og at der findes algoritmer der kan beregne dem. Hvis vi havde computere, der var kraftige nok, så ville vi kunne lave skakcomputere der ikke kan slås. Vi behøver ikke at snakke psykologi og kreativitet for at spille optimalt.

Det er noget vrøvl. I skak er der så mange muligheder at beregninger ikke slår til ligegyldigt, hvor hurtig maskinen er, indenfor den begrænsede tid et skakparti varer. Når maskinerne er så gode nu er det fordi de indeholder så mange milliarder stillinger og varianter fra de millioner af partier i databasen. Regnekraften alene slår ikke til.

Din påstand svarer til at sige at hvis man tæller længe nok, så når man til enden af den uendelige talrække. Man er død længe inden!

  • 0
  • 0

Vil det sige at to ens maskiner, der spiller mod hinanden altid faar remis?

Ihvertfald kun hvis vi udelukker at der skulle være en skjult bias indbygget i spillet overfor sort eller hvid.

  • 0
  • 0

[quote]Vil det sige at to ens maskiner, der spiller mod hinanden altid faar remis?

Ihvertfald kun hvis vi udelukker at der skulle være en skjult bias indbygget i spillet overfor sort eller hvid.
[/quote]

Jeps. Det er nemlig ikke sikkert at start positionen er uafgjort. Men hvis det ikke er tilfældet, så findes der en vindende strategi for enten sort eller hvid.

  • 0
  • 0

[quote] Fra et spilteoretisk synspunkt, så er der ikke mere i spillet end beregninger. Vi har vidst i omkring et århundrede at skak har optimale strategier, og at der findes algoritmer der kan beregne dem. Hvis vi havde computere, der var kraftige nok, så ville vi kunne lave skakcomputere der ikke kan slås. Vi behøver ikke at snakke psykologi og kreativitet for at spille optimalt.

Det er noget vrøvl. I skak er der så mange muligheder at beregninger ikke slår til ligegyldigt, hvor hurtig maskinen er, indenfor den begrænsede tid et skakparti varer. Når maskinerne er så gode nu er det fordi de indeholder så mange milliarder stillinger og varianter fra de millioner af partier i databasen. Regnekraften alene slår ikke til.

Din påstand svarer til at sige at hvis man tæller længe nok, så når man til enden af den uendelige talrække. Man er død længe inden![/quote]

Tilstandsrummet for Dam er også for stort til at man kan gennemsøge det hver gang der skal taget et træk. Jonathan Shaefer's gruppe fandt optimale straegier ved at bygge store slutspilsdatabaser. Når en søgning rammer i databasen, så stopper søgningen der. Det er et direkte tradeoff mellem tid og plads. Ja, skak har et større tilstandsrum (~10^47 i stedet for ~10^19), men hvis din eneste bekymring er tid, så skal du "bare" have en database der er stor nok ;)

  • 0
  • 0

@Troels,

Fra et spilteoretisk synspunkt, så er der ikke mere i spillet end beregninger. Vi har vidst i omkring et århundrede at skak har optimale strategier, og at der findes algoritmer der kan beregne dem. Hvis vi havde computere, der var kraftige nok, så ville vi kunne lave skakcomputere der ikke kan slås.
  • det er lidt forenklet. Programmerne bygger på vægtninger af forskellig art, som beregnes for alle mulige træk et vist antal træk frem. hver stilling tildeles en talværdi. Programmet vælger så det træk, der har givet den største talværdi.
    Det gjorde Deep Blue også i 1. parti, hvor den tabte til Kasparov.
    Hvorfor tabte programmet? Fordi den lavede fejl et eller andet sted.
    Måske en forkert vægtning - måske fordi et a trækkene ikke var beregnet langt nok?
    Maskinens force er, at den aldrig laver direkte fejl indenfor det interval af mulige træk, den analyserer. Og det er ganske mange.
    Men ingen kan garantere, at den finder det stærkeste træk i alle situationer.
    Kasparov valge nogle "skøre" åbningstræk for at undgå maskinen kunne finde svarene i dens database over spillede partier. Det var måske ikke så heldtgt?
  • 0
  • 0

- det er lidt forenklet. Programmerne bygger på vægtninger af forskellig art, som beregnes for alle mulige træk et vist antal træk frem. hver stilling tildeles en talværdi. Programmet vælger så det træk, der har givet den største talværdi. Det gjorde Deep Blue også i 1. parti, hvor den tabte til Kasparov. Hvorfor tabte programmet? Fordi den lavede fejl et eller andet sted. Måske en forkert vægtning - måske fordi et a trækkene ikke var beregnet langt nok? Maskinens force er, at den aldrig laver direkte fejl indenfor det interval af mulige træk, den analyserer. Og det er ganske mange. Men ingen kan garantere, at den finder det stærkeste træk i alle situationer. Kasparov valge nogle "skøre" åbningstræk for at undgå maskinen kunne finde svarene i dens database over spillede partier. Det var måske ikke så heldtgt?

Jo, der findes optimale træk fra enhver position, og det er det jeg siger at vi har vidst i et århundrede. Alle positioner i skak kan tildeles en af tre værdier: {vundet for sort, ingen vinder, vundet for hvid}. Hvis positionen er vundet for en spiller, så har denne spiller en strategi, der altid vinder fra den position, ligegyldigt hvad hans modstander gør. Hvis positionen ikke har en vinder, så har begge spillere en strategi, der aldrig taber fra den position, ligegyldigt hvad modstanderen gør. Vi kender ikke disse værdier for andet et slutspillet, men det er kun beregning og lagerplads der står i vejen for at vi kender dem for alle positioner i skak. Derfor er computere (og Deep Blue) nødsaget til at anslå tilnærmelser til værdien af en position, og prøve at spille ud fra det. Hvis de havde en database over værdien af alle positioner, så ville de kunne spille optimalt. (teknisk set skal man bruge afstand til mat for at undgå at søge, men det er en længere forklaring).

Kig evt. på denne online slutspilsdatabase:
http://www.shredderchess.com/online-chess/...

  • 0
  • 0