2017-12-13, 08:51
  #241
Medlem
Svenne-i-Banans avatar
Citat:
Ursprungligen postat av Linguas
Är vi där nu? Är Skynet här?

Svennar alltså...

Varför citerar du inte den som skrivit det?
Ja okej, för att ingen gjort det förstås.

Citat:
Ursprungligen postat av JagBlevFelaktigt
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.

Eftersom både antalet rutor och antalet pjäser är begränsat så blir det ett ändligt antal positioner, men så extremt många att det i praktiken inte ta fram en lösning för varje position på förhand. Försöker man med det är nog risken att solen hinner slockna innan man är klar och när det är mörkt blir det svårare...
Citera
2017-12-13, 09:09
  #242
Medlem
Citat:
Ursprungligen postat av Svenne-i-Banan
Varför citerar du inte den som skrivit det?
Ja okej, för att ingen gjort det förstås.



Eftersom både antalet rutor och antalet pjäser är begränsat så blir det ett ändligt antal positioner, men så extremt många att det i praktiken inte ta fram en lösning för varje position på förhand. Försöker man med det är nog risken att solen hinner slockna innan man är klar och när det är mörkt blir det svårare...

Ok, så vi behöver biologiska datorer för att få fram alla ändliga positioner på ett schackbräde.
Vad pratar vi om, 10 upphöjt till vaddå? 10 upphöjt till miljarder?
Citera
2017-12-13, 10:15
  #243
Medlem
matteyass avatar
Citat:
Ursprungligen postat av JagBlevFelaktigt
Ok, så vi behöver biologiska datorer för att få fram alla ändliga positioner på ett schackbräde.
Det finns inga kända fördelar att gå från kisel till kolbaserad hårdvara vad jag vet.

Citat:
Ursprungligen postat av JagBlevFelaktigt
Vad pratar vi om, 10 upphöjt till vaddå? 10 upphöjt till miljarder?
Det finns en övre gräns på 10⁴⁷ legala positioner ungefär.
Citera
2017-12-13, 10:19
  #244
Medlem
dartagnas avatar
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.

Välskrivet! Uppskattas en lekman som jag.
Jag tolkar dig som att vi är långt ifrån en självtänkande AI?
Citera
2017-12-13, 10:19
  #245
Medlem
IngetSagts avatar
Citat:
Ursprungligen postat av Markowitz
Eftersom du underförstått anser att "matte tal" är enkla för en dator,
så får du här ett problem som t.o.m en lågstadiestadieelev skulle förstå. Ge mig de två talen A och B sådana att dess produkt blir 25195908475657893494027183240048398571429282126204 03202777713783604366202070 75955562640185258807844069182906412495150821892985 59149176184502808489120072 84499268739280728777673597141834727026189637501497 18246911650776133798590957 00097330459748808428401797429100642458691817195118 74612151517265463228221686 99875491824224336372590851418654620435767984233871 84774447920739934236584823 82428119816381501067481045166037730605620161967625 61338441436038339044149526 34432190114657544454178424020924616515723350778707 74981712577246796292638635 63732899121548314381678998850404453640235273819513 78636564391212010397122822120720357

(motsvarande, om jag gav dig siffran 27 så skulle du sagt A = 3 och B = 9).

Om du inte har en dator och förmåga men tycker det borde vara trivialt, köp in en matematiskt kompetent konsult för några hundratusen och köp en dator för några hundra tusen, du går fortfarande rejält plus eftersom den som löser denna så kallade faktorisering (RSA-2048) vinner $200000.

Svar:
Det talet du angav * 1

Ro hit med stålarna nu.
Citera
2017-12-13, 17:10
  #246
Medlem
QkNNs avatar
Citat:
Ursprungligen postat av johannes89
Skaffa lite perspektiv. Du är en gegga med massa olika arter precis som bollen i rymden är full av olika arter. Same same

haha ska jag skaffa perspektiv. Herre gud.. Skaffa självinsikt
Citera
2017-12-13, 19:15
  #247
Medlem
Citat:
Ursprungligen postat av matteyas
Det finns inga kända fördelar att gå från kisel till kolbaserad hårdvara vad jag vet.


Det finns en övre gräns på 10⁴⁷ legala positioner ungefär.

Ok, det är ett rejält tal.
Hur nära är vi med datorkraft att nå till 10 upphöjt till 47?
Alltså, hur nära i framtiden är vi att en dator kan plocka fram valfri position
ur 10 upphöjt till 47, i vilket givet ögonblick som helst?
Citera
2017-12-13, 19:47
  #248
Medlem
Citat:
Ursprungligen postat av dartagna
Jag tolkar dig som att vi är långt ifrån en självtänkande AI?
Tyvärr är det nog en bit kvar även om tekniken gör framsteg. Just det här exemplet tror jag dock inte tar oss en millimeter närmare målet. Min personliga åsikt är att neurala nätverk är ett blindspår som älskas av de ignoranta. Eftersom de varken kan förstå hur hjärnan fungerar eller hur nätverken fungerar så måste det finnas ett samband. Men det enda som är gemensamt är namnet som hänger kvar sedan någon tidig pionjär trodde att det var så hjärnan fungerade.
Citera
2017-12-13, 19:51
  #249
Avstängd
Citat:
Ursprungligen postat av JagBlevFelaktigt
Ok, det är ett rejält tal.
Hur nära är vi med datorkraft att nå till 10 upphöjt till 47?
Alltså, hur nära i framtiden är vi att en dator kan plocka fram valfri position
ur 10 upphöjt till 47, i vilket givet ögonblick som helst?
Vi kan extrapolera från dagens teknik en bit, kanske ett decennium framåt, med hyfsad säkerhet, men här talar du om något som idag är ren science fiction. Vi har inte minsta aning om hur man skulle kunna gå tillväga för att kunna lagra i närheten av så mycket information än mindre om när det i så fall skulle kunna tänkas ske.
Citera
2017-12-13, 20:03
  #250
Medlem
Jag har då lärt mig massor i tråden -

Riktigt intressant.

Och till er som bara vill dra ur strömkontakten till en AI - denna AI har naturligtvis i förväg sett till att ni inte kan göra detta - AI kommer att bygga fabriker som producerar maskiner som kommer att förhindra att ni rycker ur kontakten, och en riktig AI sprider sin hjärna till varje dator på jorden...många kontakter - next stop Hollywood.

Vad heter han författaren på 1990 talet Gibson https://en.wikipedia.org/wiki/Cyberpunk
__________________
Senast redigerad av Bluis 2017-12-13 kl. 20:08.
Citera
2017-12-13, 21:33
  #251
Medlem
Necriss avatar
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.

Självklart ingår andra delar i programmen, det är ju nödvändigt. I ett simpelt 3-i-rad program har man också fler delar än bara neuronätet. Men det är ju ändå neuronätet som förstått vad som är en bra ställning eller ej, samt vad man gör för att förbättra den. Erkänner att nätet i sig inte förstår just det, men processen, där nya drag utforskas och presenteras och sedan väljs av neuronätet baserat på att de är bättre än nuvarande, gör ju att neuronätet är ansvarigt för det.
Citera
2017-12-13, 21:43
  #252
Medlem
Citat:
Ursprungligen postat av Necris
Självklart ingår andra delar i programmen, det är ju nödvändigt. I ett simpelt 3-i-rad program har man också fler delar än bara neuronätet. Men det är ju ändå neuronätet som förstått vad som är en bra ställning eller ej, samt vad man gör för att förbättra den. Erkänner att nätet i sig inte förstår just det, men processen, där nya drag utforskas och presenteras och sedan väljs av neuronätet baserat på att de är bättre än nuvarande, gör ju att neuronätet är ansvarigt för det.
Det finns ingen enskild del som ensamt kan tillskrivas förtjänsten av att förbättra ställningen. Hade det funnits en sådan komponent så hade inte de andra behövts.

Vad tror du de neurala nätverken skulle kunna utföra utan en sökmotor och regelsystem? De kan avgöra om en ställning väger över åt ena eller andra hållet med en precision som är bättre än slumpen. Men det räcker inte långt i ett spel som schack där du inte får lov att göra ett enda misstag.

Däremot kan faktiskt de andra delarna tillsammans spela hyggligt schack även utan neurala nätverk, då montecarlo-sökningen i sin grundform klarar sig utan lägesvärdering.
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