2017-12-12, 17:50
  #229
Avstängd
Citat:
Ursprungligen postat av I-van-Toer
Den mest intressanta frågan angående AI är egentligen ifall AI efter tag kan lära sig att bluffa i t ex Texas Hold'em? Eller ifall AI alltid endast skulle spela efter procentuell chans att vinna given. Det är bluffen i Poker som bryter mönstret. Det går inte att bluffa i brädspel.
Datorer vinner numera där också:
http://www.cbc.ca/news/canada/edmonton/computer-program-wins-at-no-limit-texas-hold-em-by-trusting-its-gut-1.4007282
Citera
2017-12-12, 18:23
  #230
Medlem
I-van-Toers avatar
Citat:
Ursprungligen postat av Svenne-i-Banan
Jag ser inte det som någon omöjlighet om det leder till fördel enligt de kriterier som satts upp.

Jag håller heller inte helt med om att det inte går att bluffa i brädspel, man kan nästan säga att Kasparov utsattes för det i matchen mot Deep Blue 1997. Bluffen betraktades visserligen som en bugg som ledde till ett dåligt drag men Kasparov vågade inte tro annat än att Deep Blue såg något han inte såg och han valde därför inte den väg som såg bäst ut. Kasparov kom t.o.m. med anklagelser om att det fanns en inblandning från människor vid det draget eftersom han inte kunde acceptera förlusten mot en dator.

https://www.wired.com/2012/09/deep-blue-computer-bug/

Kasparov förlorade alltså till stora delar pga att hans psyke ställde till det för honom och en oerfarenhet att möta starka schackmotorer. Det går därför inte direkt att säga att de passerade människor redan 1997.

Men en bugg är ju inte detsamma som en bluff även om den kan få samma effekt. En bluff är ju ett genomtänkt val medans en bugg är ett programmeringsfel. Äpplen och apelsiner.

Citat:
Ursprungligen postat av Xenonen
Datorer vinner numera där också:
http://www.cbc.ca/news/canada/edmonton/computer-program-wins-at-no-limit-texas-hold-em-by-trusting-its-gut-1.4007282

Vann datorn för att den då och då bluffade eller enbart för att den värderade alla givar helt perfekt? I Poker kan ju en dator/AI enbart värdera sina kort och korten på bordet. Den kan enkelt förlora i t ex heads ups eftersom den aldrig kan veta vad motståndaren har. Datorn i ditt exempel hade alltså mest tur vid bordet.
Citera
2017-12-12, 18:34
  #231
Medlem
Svenne-i-Banans avatar
Citat:
Ursprungligen postat av I-van-Toer
Men en bugg är ju inte detsamma som en bluff även om den kan få samma effekt. En bluff är ju ett genomtänkt val medans en bugg är ett programmeringsfel. Äpplen och apelsiner.

Precis och jag har inte hävdat något annat heller men jag invände emot att det inte går att bluffa i brädspel. Jo det går faktiskt.
Citera
2017-12-12, 18:36
  #232
Medlem
Citat:
Ursprungligen postat av Feministerna
Jag spelar schack som amatör, men vet att programmen länge varit bättre än alla grandmasters, som Carlsen. Jag vet inte säkert, men tror det är mer än tio år sedan datorerna passerade GM'rna.

Alphazero har visst en Elo-rating på 5135 poäng idag . Vilket är så sinnessjukt mycket så det svindlar i huvudet när jag bara tänker på det.

Wow, jag får svindel. 5135. Fy fasen.

Jag har verkligen inte hängt med de senaste 15 åren. Jag spelade i division II i början
på 90-talet, sedan la jag av med schack.

Jag trodde att den mänskliga biten, alltså människans fantasi fortfarande räckte till
för att knäcka datorns matematiska uträkningar Men jag inser att när man har
en dator som kan mer eller mindre räkna ut samtliga ställningar är ju människans
fantasi helt överflödig i schack. I slutet av dagen är schack endast ett gigantiskt
antal positioner, men positionerna är begränsade även om siffran är svindlande hög.
Citera
2017-12-12, 18:37
  #233
Medlem
Citat:
Ursprungligen postat av QkNN
du bryr dig mer om en boll i rymden än din egen art.
herre gud vad är det för fel på dig?

Skaffa lite perspektiv. Du är en gegga med massa olika arter precis som bollen i rymden är full av olika arter. Same same
Citera
2017-12-12, 18:41
  #234
Medlem
Svenne-i-Banans avatar
Citat:
Ursprungligen postat av Feministerna
Jag spelar schack som amatör, men vet att programmen länge varit bättre än alla grandmasters, som Carlsen. Jag vet inte säkert, men tror det är mer än tio år sedan datorerna passerade GM'rna.

Alphazero har visst en Elo-rating på 5135 poäng idag . Vilket är så sinnessjukt mycket så det svindlar i huvudet när jag bara tänker på det.

Vad är din källa på detta om ratingen?
Citera
2017-12-12, 19:16
  #235
Medlem
Svenne-i-Banans avatar
Det där med en rating på 5135 verkar inte stämma men hur hög den är beror på tiden förstås. Den går om Stockfish när tid per drag är någonstans mellan 0,1 - 1 sekund per drag och sedan ökar gapet ju längre tid de får.

https://cdn.chess24.com/GzFl-Z4-SVWO-mC9rL6XhQ/original/mastering-chess-and-shogi-by-self-play.pdf
Citera
2017-12-12, 19:19
  #236
Medlem
Citat:
Ursprungligen postat av Necris
Fast där har du ju fel. Klart man kan plocka ut ett delsystem och säga att det är det som förstår och att resten gör annat. När du skriver ett ord på tangentbordet så är det väl helt möjligt att isolera just din hjärna och säga att det är den, inte din hand, som förstår vad ett ord är? Man kan väl också hävda att det är just din hand, inte din hjärna, som skriver dessa ord?

Ett vanligt schack program har blivit tillsagt att leta efter visa mönster, det har blivit tillsagt vilka par av pjäser som arbetar bra, det har blivit tillsagt vad en pjäs är värd, det har blivit tillsagt vad som är vinnande strategier. Sen söker den mer eller mindre slumpvis bland miljontals med drag och tar hänsyn till dessa saker den fått berättat för sig. Ett vanligt schack program förstår inte schack.

Neuronätet i AlphaZero har däremot förstått schack, utifrån sitt egna spelande. Den har kommit fram till mönster och regler som den tycker stämmer, vilket sedan avgör vilka drag den söker bland. Så jodå, neuronätet har förstått schack, och den söker sedan drag och letar efter drag som är bra, utifrån dess egen förståelse för schack. Neuronätet är det som har helhetsbilden, drag förkastas enligt dess förståelse, drag letas fram och testas enligt dess förståelse, och drag väljs enligt dess förståelse.
Schack är ett för komplext problem för att gå att lösa med en enda algoritm och därför delar man alltid upp problemet i hanterbara delar.

Huvudalgoritmen är en rekursiv trädsökningsalgoritm som implementerar minimax. Trädsökningsalgoritmen "förstår" att det finns något som kan förändras och utforskar möjliga förändringar. Till sin hjälp har den en generator som givet en aktuell ställning S kan generera alla tillåtna drag d₁, d₂, ... Generatorn "förstår" hur pjäser kan flyttas. Alla drag är inte tillåtna och den genererade listan behöver filtreras från otillåtna drag med hjälp av en regelevaluator som "förstår" spelets regler. Regelevaluatorn implementerar en funktion f(d, S) -> boolean som testar om draget d är tillåtet givet ställningen S. Genom att applicera de tillåtna dragen på den aktuella ställningen så skapas en ny lista av ställningar S₁, S₂, ... som kan nås genom tillåtna drag. Eftersom inte alla tillåtna drag kan genomsökas på rimlig tid så prioriteras dragen med hjälp av en värderingsfunktion g(S) -> p som givet en ställning S returnerar en uppskattad sannolikhet för spelets utgång. Värderingsfunktionen gör alltså en analys av en statisk ställning och kan räkna sådant som pjäsövertag, antal slag mot olika rutor osv. Värderingsfunktionen "förstår" vilken sida som sannolikt vinner utifrån en given ställning.

I princip fungerar alla schackprogram enligt ovan med smärre variationer.

AlphaZero implementerar alltså värderingsfunktionen g(S) -> p med hjälp av neurala nätverk. De neurala nätverken tränas genom att matas med olika S med känd utgång genom att datorn får spela mot sig själv.

Eftersom nätverken aldrig har sett något annat än statiska ställningar så kan de omöjligen veta något om spelets dynamik. Skulle du kunna fråga nätverken om hur en spelare kan förbättra sin ställning så skulle nätverken typiskt svara att spelaren skulle skaffa en dam till, därför att damer är bra om man vill vinna. Men hur man gör för att skaffa en dam till har nätverken ingen aning om. Därför förstår de inte heller hur man spelar schack. Den förståelse uppstår först när hela programmet verkar tillsammans.

Citat:
Varför är du så mycket emot detta?
Därför att det ger en felaktig bild av hur programmet faktiskt fungerar. Och för att jag tror att det reduktionistiska synsättet är en återvändsgränd om man vill utveckla AI. För att lösa komplexa problem måste skapa modeller top-down och inte bottom-up.
Citera
2017-12-12, 19:38
  #237
Avstängd
Citat:
Ursprungligen postat av JagBlevFelaktigt
Wow, jag får svindel. 5135. Fy fasen.

Jag har verkligen inte hängt med de senaste 15 åren. Jag spelade i division II i början
på 90-talet, sedan la jag av med schack.

Jag trodde att den mänskliga biten, alltså människans fantasi fortfarande räckte till
för att knäcka datorns matematiska uträkningar Men jag inser att när man har
en dator som kan mer eller mindre räkna ut samtliga ställningar är ju människans
fantasi helt överflödig i schack. I slutet av dagen är schack endast ett gigantiskt
antal positioner, men positionerna är begränsade även om siffran är svindlande hög.

Det där stämmer inte. 28 vinster, 72 remipartier och 0 förluster mot Stockfish ger att AlphaZero har 100 ELO-poäng mer än den version av Stockfish som spelade.
Räkna själv här: http://www.3dkingdoms.com/chess/elo.htm

Stockfish 8:s officiella ranking är 3389 (http://www.computerchess.org.uk/ccrl/4040/rating_list_all.html), men det beror på vilken hårdvara och tidskontroll som används. Stockfish spelade för övrigt utan öppningsbok.

AlphaZero borde ligga mellan 3400 och 3500 i alla fall.
Citera
2017-12-12, 23:50
  #238
Medlem
Citat:
Ursprungligen postat av WbZV
Schack är ett för komplext problem för att gå att lösa med en enda algoritm och därför delar man alltid upp problemet i hanterbara delar.

Huvudalgoritmen är en rekursiv trädsökningsalgoritm som implementerar minimax.
Traditionella schackrobotar använder sig av ett minimax sökträd. Alphazero använder sig dock av ett Monte Carlo sökträd. Det är primärt två saker som skiljer mellan Alphazero och traditionella schackrobotar, dels har de olika värderingsfunktioner (Alphazero använder artificiella neurala nätverk) och dels har de olika typer av sökträd.
Citera
2017-12-13, 07:14
  #239
Medlem
Linguass avatar
Citat:
Ursprungligen postat av matteyas
Haha. Ja jävlar. Jag vänder mig till dig nästa gång jag tänker programmera en AI, fundera på schack, eller beräkna logaritmer. På återhörande!

Är vi där nu? Är Skynet här?

Svennar alltså...
Citera
2017-12-13, 08:43
  #240
Medlem
Citat:
Ursprungligen postat av WbZV
Schack är ett för komplext problem för att gå att lösa med en enda algoritm och därför delar man alltid upp problemet i hanterbara delar.

Huvudalgoritmen är en rekursiv trädsökningsalgoritm som implementerar minimax. Trädsökningsalgoritmen "förstår" att det finns något som kan förändras och utforskar möjliga förändringar. Till sin hjälp har den en generator som givet en aktuell ställning S kan generera alla tillåtna drag d₁, d₂, ... Generatorn "förstår" hur pjäser kan flyttas. Alla drag är inte tillåtna och den genererade listan behöver filtreras från otillåtna drag med hjälp av en regelevaluator som "förstår" spelets regler. Regelevaluatorn implementerar en funktion f(d, S) -> boolean som testar om draget d är tillåtet givet ställningen S. Genom att applicera de tillåtna dragen på den aktuella ställningen så skapas en ny lista av ställningar S₁, S₂, ... som kan nås genom tillåtna drag. Eftersom inte alla tillåtna drag kan genomsökas på rimlig tid så prioriteras dragen med hjälp av en värderingsfunktion g(S) -> p som givet en ställning S returnerar en uppskattad sannolikhet för spelets utgång. Värderingsfunktionen gör alltså en analys av en statisk ställning och kan räkna sådant som pjäsövertag, antal slag mot olika rutor osv. Värderingsfunktionen "förstår" vilken sida som sannolikt vinner utifrån en given ställning.

I princip fungerar alla schackprogram enligt ovan med smärre variationer.

AlphaZero implementerar alltså värderingsfunktionen g(S) -> p med hjälp av neurala nätverk. De neurala nätverken tränas genom att matas med olika S med känd utgång genom att datorn får spela mot sig själv.

Eftersom nätverken aldrig har sett något annat än statiska ställningar så kan de omöjligen veta något om spelets dynamik. Skulle du kunna fråga nätverken om hur en spelare kan förbättra sin ställning så skulle nätverken typiskt svara att spelaren skulle skaffa en dam till, därför att damer är bra om man vill vinna. Men hur man gör för att skaffa en dam till har nätverken ingen aning om. Därför förstår de inte heller hur man spelar schack. Den förståelse uppstår först när hela programmet verkar tillsammans.


Därför att det ger en felaktig bild av hur programmet faktiskt fungerar. Och för att jag tror att det reduktionistiska synsättet är en återvändsgränd om man vill utveckla AI. För att lösa komplexa problem måste skapa modeller top-down och inte bottom-up.

Jag har matematisk "dyslexi", så jag undrar. Finns det ett finit antal positioner i schack? Eller
är det oändligt antal positioner? Jag har som sagt matematik-dyslexi.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in