2021-04-28, 21:57
  #109
Medlem
lfhs avatar
Citat:
Ursprungligen postat av brevvan
Källa?

https://en.m.wikipedia.org/wiki/Zerm..._(game_theory)
Citera
2021-04-28, 22:05
  #110
Medlem
lfhs avatar
Citat:
Ursprungligen postat av Elross
jag tror inte du behöver kunna beräkna alla drag som eventuellt kan göras då exempelvis väldigt många av dragen du kan göra är så dåliga att du mest troligtvis kommer förlora om du gör dem.

Hur garanterar du att ett drag inte är bra, och ingen av dess uppföljningar är bra utan att analysera det?

Om målet är att göra en AI som spelar bra så är det klokt att försöka rensa bort dåliga drag på något smart vist. Men om du jagar äran att lösa schack och spela det perfekta spelet så måste du bevisa att kung e2 är en dålig öppning innan du utesluter den.
Citera
2021-04-28, 22:21
  #111
Medlem
Citat:
Ursprungligen postat av lfh
https://en.m.wikipedia.org/wiki/Zerm..._(game_theory)

Tack.
Citera
2021-04-29, 14:59
  #112
Moderator
Citat:
Ursprungligen postat av lfh
Hur garanterar du att ett drag inte är bra, och ingen av dess uppföljningar är bra utan att analysera det?

Om målet är att göra en AI som spelar bra så är det klokt att försöka rensa bort dåliga drag på något smart vist. Men om du jagar äran att lösa schack och spela det perfekta spelet så måste du bevisa att kung e2 är en dålig öppning innan du utesluter den.

Jag menar mer argumentet med hur många olika konstellationer som kan uppstå på ett schackbord är extremt många som vissa påpekat, men samtidigt är många väldigt osannolika, speciellt om du vill spela det perfekta spelet. Ex kanske man inte behöver analysera alla olika konstellationer på ett dåligt drag. Många drag kan man se/veta att de inte är bra utan att analysera 50 drag framöver. Sedan kvarstår såklart problematiken som tidigare tagits upp, detta gäller mer desto längre ett spel kommit, i början är det svårare.
Citera
2021-04-29, 16:58
  #113
Medlem
I det generella fallet går det inte att vinna med otilltäckligt material, t.ex. kan man ställa motståndaren matt med torn och kung, men inte enbart med löpare och kung.

Ovanstående gäller i det generella fallet, men ett uppmärksammat parti mellan Carlsen och Firouzja 2019 visade att det inte alltid gäller.

Partiet avslutades av att Firouzja gjorde slut på sin tid. Ställningen var då sådan att Carlsen hade löpare och kung, medan Firouzja hade löpare, kung och tre bönder på brädet.

Reglerna säger att den spelare som förbrukar all sin tid förlorar, men bara om motståndaren hade kunnat vinna partiet, annars slutar det oavgjort.

Firouzja reste sig från bordet övertygad om att partiet slutat oavgjort då löpare och kung betraktas som otillräckligt material för att sätta någon matt. Carlsen reste sig med leende, för han visste att han hade vunnit.

Vad Carlsen såg som Firouzja missade var att Firouzja genom att konsekvent göra sämsta möjliga drag resten av partiet skulle kunna stänga in sin egen kung med egna pjäser och då skulle Carlsen kunna sätta honom matt. Därmed hade Carlsen en teoretisk möjlighet att vinna partiet, vilket reglerna krävde för att han skulle utses till vinnare när Firouzjas tid runnit ut.
Citera
2021-04-29, 21:05
  #114
Medlem
lfhs avatar
Citat:
Ursprungligen postat av Elross
Jag menar mer argumentet med hur många olika konstellationer som kan uppstå på ett schackbord är extremt många som vissa påpekat, men samtidigt är många väldigt osannolika, speciellt om du vill spela det perfekta spelet. Ex kanske man inte behöver analysera alla olika konstellationer på ett dåligt drag. Många drag kan man se/veta att de inte är bra utan att analysera 50 drag framöver. Sedan kvarstår såklart problematiken som tidigare tagits upp, detta gäller mer desto längre ett spel kommit, i början är det svårare.

Sannolikheten för ett drag i det perfekta spelet är alltid 0 eller 100%. Dvs antingen är det det optimala nästa drag eller så är det de inte. Kan va 2drsg som är exakt lika bra, t.ex om du kan göra matt med två olika pjäser. Så skulle man kunna säga att sannolikheten är 50% då, men om vi bortser ifrån sånt alltså.

”Kanske man inte behöver analysera alla drag”

Ja det är ju precis det där kanske. Du kanske inte missar något men du kanske gör det? Hur osannolikt du än bedömer det vara så är du aldrig helt säker. Är du inte helt säker har du inte löst schack och hittat det perfekta spelet med säkerhet.

Alltså, din approach är ju jätte rätt och bra om ditt mål är att spela väldigt väldigt bra. Men om du ska lösa det perfekta spelet så blir det en helt annan femma. Det hänger ihop med spelteori i matematikens och där accepteras inga bevis där man hoppat över majoriteten av grenar eftersom du inte tyckte dom såg bra ut.
Citera
2021-04-29, 21:45
  #115
Moderator
Citat:
Ursprungligen postat av lfh
Sannolikheten för ett drag i det perfekta spelet är alltid 0 eller 100%. Dvs antingen är det det optimala nästa drag eller så är det de inte. Kan va 2drsg som är exakt lika bra, t.ex om du kan göra matt med två olika pjäser. Så skulle man kunna säga att sannolikheten är 50% då, men om vi bortser ifrån sånt alltså.

”Kanske man inte behöver analysera alla drag”

Ja det är ju precis det där kanske. Du kanske inte missar något men du kanske gör det? Hur osannolikt du än bedömer det vara så är du aldrig helt säker. Är du inte helt säker har du inte löst schack och hittat det perfekta spelet med säkerhet.

Alltså, din approach är ju jätte rätt och bra om ditt mål är att spela väldigt väldigt bra. Men om du ska lösa det perfekta spelet så blir det en helt annan femma. Det hänger ihop med spelteori i matematikens och där accepteras inga bevis där man hoppat över majoriteten av grenar eftersom du inte tyckte dom såg bra ut.

Fast det perfekta spelet behöver väl inte veta alla drag så länge det räcker med dragen som gör att du vinner? Nu kanske jag är ute på djupt vatten men det räcker med att vinna hur man än gör (forced win)?

I fyra i rad är väl ett spel där man vinner om man börjar, behöver dem kunna alla 4 triljoner kombinationer för att kunna spela en viss linje? (Kan mycket väl vara jag som missar någonting här, inte så insatt i spelteorier).



Citera
2021-04-29, 22:45
  #116
Medlem
Citat:
Ursprungligen postat av lfh
Sannolikheten för ett drag i det perfekta spelet är alltid 0 eller 100%. Dvs antingen är det det optimala nästa drag eller så är det de inte. Kan va 2drsg som är exakt lika bra, t.ex om du kan göra matt med två olika pjäser. Så skulle man kunna säga att sannolikheten är 50% då, men om vi bortser ifrån sånt alltså.
Jag resonerade ungefär som du tills jag faktiskt gjorde min första implementation av minimax-algoritmen för en herrans massa år sedan. Dock inte för schack utan för att väldigt enkelt spel. Principen är dock densamma.

När jag fått ordning på programmet så provade jag att spela mot datorn. Till min stora besvikelse så gjorde datorn sämsta möjliga inledande drag, sedan gjorde den successivt bättre drag för att till sist rädda oavgjort. Först var jag övertygad om jag gjort något programfel, men insåg snart att spelet bjöd på så begränsad kombinatorik att datorn såg att det inte gick att vinna förutsatt att motståndaren skulle spela optimalt. Enligt algoritmen kunde den då inte göra bättre än att välja slumpmässigt mellan drag som inte ledde till förlust, vilket förklarade varför den spelade uselt i början, för att sedan tvingas spela bättre och bättre.

Förmodligen har även schack den egenskapen att varken vit eller svart kan vinna om inte motståndaren gör något misstag. Den perfekta schackdatorn med oändligt beräkningskapacitet skulle genomskåda detta och därför finna det utsiktslöst att försöka vinna. Konsekvensen blir då att datorn aldrig skulle spela tillräckligt bra för att kunna vinna ens mot en dålig motståndare. Försöker man inte vinna så lär man inte göra det heller.

Åtminstone min slutsats är att man därför måste gynna de drag som leder till en bättre ställning, även om det inte påverkar utfallet om motståndaren spelar optimalt. (Hur man definierar vad som är en bra ställning är ett separat problem.) Annars kan programmet inte vinna ens mot en dålig motståndare.
Citera
2021-04-30, 08:10
  #117
Medlem
lfhs avatar
Citat:
Ursprungligen postat av WbZV
Jag resonerade ungefär som du tills jag faktiskt gjorde min första implementation av minimax-algoritmen för en herrans massa år sedan. Dock inte för schack utan för att väldigt enkelt spel. Principen är dock densamma.

När jag fått ordning på programmet så provade jag att spela mot datorn. Till min stora besvikelse så gjorde datorn sämsta möjliga inledande drag, sedan gjorde den successivt bättre drag för att till sist rädda oavgjort. Först var jag övertygad om jag gjort något programfel, men insåg snart att spelet bjöd på så begränsad kombinatorik att datorn såg att det inte gick att vinna förutsatt att motståndaren skulle spela optimalt. Enligt algoritmen kunde den då inte göra bättre än att välja slumpmässigt mellan drag som inte ledde till förlust, vilket förklarade varför den spelade uselt i början, för att sedan tvingas spela bättre och bättre.

Förmodligen har även schack den egenskapen att varken vit eller svart kan vinna om inte motståndaren gör något misstag. Den perfekta schackdatorn med oändligt beräkningskapacitet skulle genomskåda detta och därför finna det utsiktslöst att försöka vinna. Konsekvensen blir då att datorn aldrig skulle spela tillräckligt bra för att kunna vinna ens mot en dålig motståndare. Försöker man inte vinna så lär man inte göra det heller.

Åtminstone min slutsats är att man därför måste gynna de drag som leder till en bättre ställning, även om det inte påverkar utfallet om motståndaren spelar optimalt. (Hur man definierar vad som är en bra ställning är ett separat problem.) Annars kan programmet inte vinna ens mot en dålig motståndare.

Har du löst schack? Inte? Då är din AI inte relevant för vad iaf jag diskuterar. Notera att det perfekta spelet inte är ekvivalent med ett väldigt väldigt bra spel spelat av en väldigt väldigt bra AI. Det är ett teoretiskt begrepp som vi vet finns pga spelteori, men inte ännu hittat.

En perfekt spelande Agent skulle såklart vinna ifall motståndaren gjorde misstag som lät den göra det. Annars är den inte perfekt, din AI var inte perfekt och är inte så relevant för den här diskutionen.
Citera
2021-04-30, 09:11
  #118
Medlem
Citat:
Ursprungligen postat av lfh
Har du löst schack? Inte? Då är din AI inte relevant för vad iaf jag diskuterar. Notera att det perfekta spelet inte är ekvivalent med ett väldigt väldigt bra spel spelat av en väldigt väldigt bra AI. Det är ett teoretiskt begrepp som vi vet finns pga spelteori, men inte ännu hittat.

En perfekt spelande Agent skulle såklart vinna ifall motståndaren gjorde misstag som lät den göra det. Annars är den inte perfekt, din AI var inte perfekt och är inte så relevant för den här diskutionen.
Jag kommenterade ditt resonemang om "det perfekta spelet" som är generellt och förutsätter en teoretisk spelare med oändlig beräkningskapacitet. Hur skulle den annars kunna analysera alla drag?

Jag undviker helst begreppet AI då det på senare tid kapats av mer eller mindre oseriösa aktörer med begränsade kunskaper i ämnet.

På algoritmnivå är schackproblemet löst sedan länge genom att det spelteoretiskt optimala draget alltid går att hitta med enkel trädsökning. Att vi inte vet om svart eller vit vinner beror enbart på att vi inte orkar vänta typ 10¹⁰⁰ år på att trädsökningen skall hinna traversera alla möjliga ställningar. Algoritmässigt är problemet alltså löst, men vi saknar datorer som är tillräckligt kraftfulla för att köra algoritmerna på rimlig tid.

Att algoritmerna existerar är dock tillräckligt för att vi skall kunna analysera vilka egenskaper de har och analysen visar att en spelare som gör sina drag enligt "det perfekta spelet" aldrig kommer att spela för att vinna om inte segern är garanterad redan vid första draget. Därför är ditt resonemang ofullständigt. Vi förväntar oss något mer av en bra schackspelare än att den alltid spelar för att inte förlora.
__________________
Senast redigerad av WbZV 2021-04-30 kl. 09:19.
Citera
2021-04-30, 09:14
  #119
Medlem
lfhs avatar
Citat:
Ursprungligen postat av Elross
Fast det perfekta spelet behöver väl inte veta alla drag så länge det räcker med dragen som gör att du vinner? Nu kanske jag är ute på djupt vatten men det räcker med att vinna hur man än gör (forced win)?

I fyra i rad är väl ett spel där man vinner om man börjar, behöver dem kunna alla 4 triljoner kombinationer för att kunna spela en viss linje? (Kan mycket väl vara jag som missar någonting här, inte så insatt i spelteorier).




Nej, det räcker som du säger om du har en forcerad vinst linje. Du har då en mjuk lösning till schack.

Det skulle t.ex ifrån startpositionen en linje där du kan tvinga fram matt på 10drag. Det trädet med möjligheter skulle isåfall vara väldigt mycket mindre än det totala schack trädet. Jag tror att ska man lösa det genom att söka igenom alla alternativ så måste vi nog hitta något sånt.
Citera
2021-04-30, 09:48
  #120
Medlem
lfhs avatar
Citat:
Ursprungligen postat av WbZV
Jag kommenterade ditt resonemang om "det perfekta spelet" som är generellt och förutsätter en teoretisk spelare med oändlig beräkningskapacitet. Hur skulle den annars kunna analysera alla drag?

Ok, men med oändlig beräkningskapacitet varför skulle du vilja hoppa över att analysera ”dåliga” drag?

Citat:
Jag undviker helst begreppet AI då det på senare tid kapats av mer eller mindre oseriösa aktörer med begränsade kunskaper i ämnet.

Ok, håller med. Engelska agent passar bättre; vet inte vad svenska motsvarigheten är.

Citat:
På algoritmnivå är schackproblemet löst sedan länge genom att det spelteoretiskt optimala draget alltid går att hitta med enkel trädsökning. Att vi inte vet om svart eller vit vinner beror enbart på att vi inte orkar vänta typ 10¹⁰⁰ år på att trädsökningen skall hinna traversera alla möjliga ställningar. Algoritmässigt är problemet alltså löst, men vi saknar datorer som är tillräckligt kraftfulla för att köra algoritmerna på rimlig tid.

Håller med.

Citat:
Att algoritmerna existerar är dock tillräckligt för att vi skall kunna analysera vilka egenskaper de har och analysen visar att en spelare som gör sina drag enligt "det perfekta spelet" aldrig kommer att spela för att vinna om inte segern är garanterad redan vid första draget. Därför är ditt resonemang ofullständigt. Vi förväntar oss något mer av en bra schackspelare än att den alltid spelar för att inte förlora.

1. Jag tror att vi är överens om att den teoretiskt perfekta spelaren skulle spela för att ta en vinst ifall motståndaren gör ett misstag som tillåter det.

2. Jag håller inte med om att algoritmer med begränsad beräkningskapacitet som således inte spelar perfekt är representativt för vad som skulle hända för ett perfekt spel.

3. Om dom algoritmerna spelar o-optimalt emot en dålig spelare och inte tar vinst när motståndaren gör bort sig så spelar den långt ifrån ett perfekt spel.

Jag ser punkt 3 som ett bevis för min ståndpunkt i punkt 2; givet punkt 1.
__________________
Senast redigerad av lfh 2021-04-30 kl. 10:15.
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