http://news.bbc.co.uk/2/hi/europe/6212076.stm
Alle kymmenen vuotta sitten pelattiin paljon julkisuutta saanut Deep Blue vs. Kasparov. Nykyiset huiput matsasivat Bonnissa ja kone voitti. Kyseessä oli kuuden ottelun matsi.
En tiedä mikä tilanne on Bridgessä. Go-pelissä eivät koneet vielä pärjää edes hyville keskivertopelaajille. Tekoälyllä on pitkä tie edessään...
Kone voitti ihmisen
9
576
Vastaukset
- älyllä
Kone voitti pelkästään raa'alla laskentavoimalla.
Miettikääpäs yhtäältä miten suuri ja paljon voimavaroja sitonut tämä kone oli ja toisaalta, että yli 5 miljardia älykästä ihmista tallustelee toisaalla.- Ottiatuotaja
Pistetäänpä tuo puusee pelaamaan shakkia 5 miljardia ihmistä vastaan. Mitäs tykkäät, pärjääkö ihminen sittenkään?
- Yusa
"Kone voitti pelkästään raa'alla laskentavoimalla. "
Kerropa tarkemmin mikä ero on nimenomaan tässä yhteydessä (shakin peluu) on "älyllä" ja "raa'alla laskentavoimalla"? Minulle se ei ole aivan ilmeistä.
Tiedätkö toteutuksen sovellusarkkitehtuurista paljonkin? - eräs koodari
Yusa kirjoitti:
"Kone voitti pelkästään raa'alla laskentavoimalla. "
Kerropa tarkemmin mikä ero on nimenomaan tässä yhteydessä (shakin peluu) on "älyllä" ja "raa'alla laskentavoimalla"? Minulle se ei ole aivan ilmeistä.
Tiedätkö toteutuksen sovellusarkkitehtuurista paljonkin?No tuollaisia simppeleitä pelitekoälyjähän voi jaotella esimerkiksi kahteen seuraavanlaiseen ryhmään:
1) Juurikin tuo "raaka laskentavoima", eli kone rupeaa vimmatulla silmukalla käymään läpi jokaikisen vaihtoehdon ja niistä sitten jollain laskumetodilla pisteyttämään jokaisen ja valitsemalla parhaan. Vaatii todella suurta konetehoa peleissä joissa siirtomahdollisuuksia on paljon, kuten shakkikin
2) Älykkäämpi järjestelmä, joka kunkin tilanteen mukaan ottaa huomioon vastustajan ja oman tilanteen ja niiden pohjalta alkaa hakemaan ratkaisua. Tässähän ei tarvitse käydä jokaista vaihtoehtoa läpi kuten aiemmassa.
Tokihan tuossa ykkösvaihtoehdossakin pitää jollain tavalla osata pisteyttää ne eri vaihtoehdot mutta selkeä erohan noilla minun mielstäni on.
Noin ainakin itse lähdin miettimään tuota pelitekoälyä, jota valitettavasti en kyllä ainakaan vielä ole saanut aloitettua. - ainakin.
Yusa kirjoitti:
"Kone voitti pelkästään raa'alla laskentavoimalla. "
Kerropa tarkemmin mikä ero on nimenomaan tässä yhteydessä (shakin peluu) on "älyllä" ja "raa'alla laskentavoimalla"? Minulle se ei ole aivan ilmeistä.
Tiedätkö toteutuksen sovellusarkkitehtuurista paljonkin?Shakkikoneiden "äly" on (tietääkseni) aina kovakoodattu. Ne eivät ole siinä mielessä älykkäitä kuin miten "äly" normaalissa kielenkäytössä ymmärretään.
DeepBluessa oli esim. heuristiikkafunktioon koodattu muistaakseni yli 8000 erilaista ehtoa minkä pohjalta eri pelitilanteita arvotettiin. En tiedä miten Fritz on toteutettu, mutta tuskin siinä ratkaisevaa eroa toteutustavassa on. Veikkaisin, että vastaavaa kovakoodausta, jossa älyllinen työ on jäänyt insinöörin tuolille, siinäkin on käytetty (saa korjata jos menee metsään).
Yleensäkin olisi mielekkäämpää mielestäni kehitellä siinä mielessä dynaaminen algoritmi, että se kehittäisi heuristiikkansa (~oppisi) tutkimalla erilaisia pelikirjastoja ja pelaamalla vaikka toisia koneita vastaan. Tällöin voitaisiin puhua ainakin jossa mielessä "aidommasta" tekoälystä.
Nykyinen tietokone vs. ihminen shakkimatsi tuntuu tosiaan olevan enemmän laskentavoiman kuin ohjelmallisten toteutusmetodien kilpakenttä. - Yusa
ainakin. kirjoitti:
Shakkikoneiden "äly" on (tietääkseni) aina kovakoodattu. Ne eivät ole siinä mielessä älykkäitä kuin miten "äly" normaalissa kielenkäytössä ymmärretään.
DeepBluessa oli esim. heuristiikkafunktioon koodattu muistaakseni yli 8000 erilaista ehtoa minkä pohjalta eri pelitilanteita arvotettiin. En tiedä miten Fritz on toteutettu, mutta tuskin siinä ratkaisevaa eroa toteutustavassa on. Veikkaisin, että vastaavaa kovakoodausta, jossa älyllinen työ on jäänyt insinöörin tuolille, siinäkin on käytetty (saa korjata jos menee metsään).
Yleensäkin olisi mielekkäämpää mielestäni kehitellä siinä mielessä dynaaminen algoritmi, että se kehittäisi heuristiikkansa (~oppisi) tutkimalla erilaisia pelikirjastoja ja pelaamalla vaikka toisia koneita vastaan. Tällöin voitaisiin puhua ainakin jossa mielessä "aidommasta" tekoälystä.
Nykyinen tietokone vs. ihminen shakkimatsi tuntuu tosiaan olevan enemmän laskentavoiman kuin ohjelmallisten toteutusmetodien kilpakenttä.Jos raaka voima määritellään siten, että ohjelma testaa kaikki siirtovaihtoehdot, niin tällaista metodia ei missään käytännön shakkiohjemassa käytetä sellaisenaan. Testattavia "siirtojapuita" (tai -polkuja) rajataan aina erilaisten sääntöjen avulla. Siispä shakkitietokone ei ole raa'an laskentatehon varassa. Sillä on myös osaamista.
"Shakkikoneiden "äly" on (tietääkseni) aina kovakoodattu."
Epäilen suuresti. Jos kovakoodauksella tarkoitetaan sitä, että säännöt on lähdekoodissa "if-elsi-switch-case-tasolla", niin näin on vain yksinkertaisimmissa toteutuksissa. Perustan väitteeni sille, että on huomattavasti parempi ja käytännöllisempi ohjelmointityyli erottaa toisitaan "engine" ja tietämyskanta. Tällä päästään myös siihen, että ohjelmoija ja shakkiekspertti (jonka ei tarvitse tietää ohjelmoinnista paljoakaan) voivat olla eri henkilöitä. Oletan siis, että säännöt toteutetaan binääriseen muotoon käännettävällä shakkilauta-, nappula- ja siirtospesifisellä välikielellä, esim hiukan tyyppiä prolog, eli kieli on ennemmin kuvauskieli kuin perinteinen ohjemointikieli.
Siis pelatessaan ihminen käyttää kokemukseensa perustuvaa laajaa rinnakkaista hahmontunnistusta, joka implisiittisesti sisältää samoja sääntöjä (mutta paljon enemmän ja hienostuneempia) kuin koneelle eksplisiittisesti ohjelmoitu asiantuntemus. Lisäksi kone pystyy konkreettisesti testaamaan siirtojen todellisen vaikutuksen sääntöjen sovelluksen jälkeen paljon pidemmälle kuin ihminen. Mutta vastineeksi ihminen voi tietoisesti käyttää sellaisia polkuja, jotka arvelee koneen hylkäävän sääntöjensä perusteella. Siksi huipulla tasainen asetelma jatkuu, kunnes lopulta koneet tulevat viemään totaalisen voiton. - ainakin.
Yusa kirjoitti:
Jos raaka voima määritellään siten, että ohjelma testaa kaikki siirtovaihtoehdot, niin tällaista metodia ei missään käytännön shakkiohjemassa käytetä sellaisenaan. Testattavia "siirtojapuita" (tai -polkuja) rajataan aina erilaisten sääntöjen avulla. Siispä shakkitietokone ei ole raa'an laskentatehon varassa. Sillä on myös osaamista.
"Shakkikoneiden "äly" on (tietääkseni) aina kovakoodattu."
Epäilen suuresti. Jos kovakoodauksella tarkoitetaan sitä, että säännöt on lähdekoodissa "if-elsi-switch-case-tasolla", niin näin on vain yksinkertaisimmissa toteutuksissa. Perustan väitteeni sille, että on huomattavasti parempi ja käytännöllisempi ohjelmointityyli erottaa toisitaan "engine" ja tietämyskanta. Tällä päästään myös siihen, että ohjelmoija ja shakkiekspertti (jonka ei tarvitse tietää ohjelmoinnista paljoakaan) voivat olla eri henkilöitä. Oletan siis, että säännöt toteutetaan binääriseen muotoon käännettävällä shakkilauta-, nappula- ja siirtospesifisellä välikielellä, esim hiukan tyyppiä prolog, eli kieli on ennemmin kuvauskieli kuin perinteinen ohjemointikieli.
Siis pelatessaan ihminen käyttää kokemukseensa perustuvaa laajaa rinnakkaista hahmontunnistusta, joka implisiittisesti sisältää samoja sääntöjä (mutta paljon enemmän ja hienostuneempia) kuin koneelle eksplisiittisesti ohjelmoitu asiantuntemus. Lisäksi kone pystyy konkreettisesti testaamaan siirtojen todellisen vaikutuksen sääntöjen sovelluksen jälkeen paljon pidemmälle kuin ihminen. Mutta vastineeksi ihminen voi tietoisesti käyttää sellaisia polkuja, jotka arvelee koneen hylkäävän sääntöjensä perusteella. Siksi huipulla tasainen asetelma jatkuu, kunnes lopulta koneet tulevat viemään totaalisen voiton."Testattavia "siirtojapuita" (tai -polkuja) rajataan aina erilaisten sääntöjen avulla."
Tiedän. Yleensä tällaisissa peleissä muodostetaan pelipuu, jota sitten ihan yksinkertaisesti selataan eteenpäin. En tunne Fritzin toteutusta, mutta DeepBlue toteutti pelipuun selaamista iteratiivisesti syventävällä alpha-beta-karsinnalla, jossa keskimääräinen hakusyvyys oli muistaakseni 14 siirtoa ja kiinostavan tuntuisia polkuja saatettiin selata jopa 40 siirtoa eteenpäin.
Kuten sanoin, niin pelkästään evaluointifunktiossa oli yli 8000 erilaista piirrettä ja niiden lisäksi kannassa oli muistaakseni kaikki 5-6 nappulan loppupelit, joita voitiin tarvittaessa selata.
DB selasi yli sata miljoonaa hakupuun solmua sekunnissa läpi. Mielestäni jo tämä "selaaminen" osoittaa varsinaisen "älyn" vähyyden toteutuksessa. Laskuvoiman näyte se oli eikä varsinaisesti mikään tekoälyn näytös jossain ohjelmointiteknisessä mielessä.
"Siispä shakkitietokone ei ole raa'an laskentatehon varassa. Sillä on myös osaamista."
Miten määrittelet osaamisen? Jos osaamista on evaluointifunktion rakenne, niin se on insinöörin tekemä. Se on ihmisen tuotos.
Kuten sanoin, niin tämäntyylisissä toteutuksissa se äly tuuppaa kyllä jäämään insinöörin penkille koodauksen jälkeen.
"Oletan siis, että säännöt toteutetaan binääriseen muotoon käännettävällä shakkilauta-, nappula- ja siirtospesifisellä välikielellä, esim hiukan tyyppiä prolog, eli kieli on ennemmin kuvauskieli kuin perinteinen ohjemointikieli. "
Öh? No eiköhän kaikki ohjelmointikielet ole "binääriseen muotoon käännettäviä" (myös skriptikielet). Myöskään niiden ilmaisuvoimassa ei ole eroa, on yhdentekevää onko käytössä shelliskripti vai prolog tai vaikka assembler tai basic, niillä voidaan toteuttaa tasan samat asiat. - Yusa
ainakin. kirjoitti:
"Testattavia "siirtojapuita" (tai -polkuja) rajataan aina erilaisten sääntöjen avulla."
Tiedän. Yleensä tällaisissa peleissä muodostetaan pelipuu, jota sitten ihan yksinkertaisesti selataan eteenpäin. En tunne Fritzin toteutusta, mutta DeepBlue toteutti pelipuun selaamista iteratiivisesti syventävällä alpha-beta-karsinnalla, jossa keskimääräinen hakusyvyys oli muistaakseni 14 siirtoa ja kiinostavan tuntuisia polkuja saatettiin selata jopa 40 siirtoa eteenpäin.
Kuten sanoin, niin pelkästään evaluointifunktiossa oli yli 8000 erilaista piirrettä ja niiden lisäksi kannassa oli muistaakseni kaikki 5-6 nappulan loppupelit, joita voitiin tarvittaessa selata.
DB selasi yli sata miljoonaa hakupuun solmua sekunnissa läpi. Mielestäni jo tämä "selaaminen" osoittaa varsinaisen "älyn" vähyyden toteutuksessa. Laskuvoiman näyte se oli eikä varsinaisesti mikään tekoälyn näytös jossain ohjelmointiteknisessä mielessä.
"Siispä shakkitietokone ei ole raa'an laskentatehon varassa. Sillä on myös osaamista."
Miten määrittelet osaamisen? Jos osaamista on evaluointifunktion rakenne, niin se on insinöörin tekemä. Se on ihmisen tuotos.
Kuten sanoin, niin tämäntyylisissä toteutuksissa se äly tuuppaa kyllä jäämään insinöörin penkille koodauksen jälkeen.
"Oletan siis, että säännöt toteutetaan binääriseen muotoon käännettävällä shakkilauta-, nappula- ja siirtospesifisellä välikielellä, esim hiukan tyyppiä prolog, eli kieli on ennemmin kuvauskieli kuin perinteinen ohjemointikieli. "
Öh? No eiköhän kaikki ohjelmointikielet ole "binääriseen muotoon käännettäviä" (myös skriptikielet). Myöskään niiden ilmaisuvoimassa ei ole eroa, on yhdentekevää onko käytössä shelliskripti vai prolog tai vaikka assembler tai basic, niillä voidaan toteuttaa tasan samat asiat."Miten määrittelet osaamisen? Jos osaamista on evaluointifunktion rakenne, niin se on insinöörin tekemä. Se on ihmisen tuotos. "
Kyllä se on ihmisen tuotos. Oletan kyllä, että on kehitelty, koemielessä, ihmisen tavoin oppivia shakkiohjelmia, jotka hankkivat kokemuksensa itse. Mutta en todellakaan usko, että parhaimmissa toteuksissa ohjelmoija ja shakkiekspertti (jolta ohjelman asiantuntemus on peräisin) ovat yksi ja sama henkilö.
"Öh? No eiköhän kaikki ohjelmointikielet ole "binääriseen muotoon käännettäviä" (myös skriptikielet). "
Epäoleellista.
"Myöskään niiden ilmaisuvoimassa ei ole eroa, on yhdentekevää onko käytössä shelliskripti vai prolog tai vaikka assembler tai basic, niillä voidaan toteuttaa tasan samat asiat."
Väitätkö, että kielien ilmaisuvoimassa ei ole eroja??? Todella ihmeellinen väite. Ei se, että käännetyn koodin lopputulos on sama tarkoita ettei lähdekoodin ilmausuvoimassa olisi eroja.
Ilmaisuvoimassa on valtavia eroja ja on todella merkityksellistä voiko shakkimestari kirjoitella sääntöjä suoraan omaa ajatteluaan tukevalla skriptikielellä kuin esim C :lla tai edes prologilla. Lisäksi tähän skriptikieleen voi olla graafinen käyttöliittymä, jolla säännöt voidaan syöttää graafisesti vaikka hieman taulukkolaskimien tavoin.
Mutta yhtä kaikki, asiantuntemus on ihmiseltä peräisin, mutta koneen hallinnassa. Mitä se muuttaa? Lopputulos on "älykäs", kapealla tavalla älykäs.
Hommahan on kapeaa tekoälyä. Ihan kaikella kunnialla. - ainakin.
Yusa kirjoitti:
"Miten määrittelet osaamisen? Jos osaamista on evaluointifunktion rakenne, niin se on insinöörin tekemä. Se on ihmisen tuotos. "
Kyllä se on ihmisen tuotos. Oletan kyllä, että on kehitelty, koemielessä, ihmisen tavoin oppivia shakkiohjelmia, jotka hankkivat kokemuksensa itse. Mutta en todellakaan usko, että parhaimmissa toteuksissa ohjelmoija ja shakkiekspertti (jolta ohjelman asiantuntemus on peräisin) ovat yksi ja sama henkilö.
"Öh? No eiköhän kaikki ohjelmointikielet ole "binääriseen muotoon käännettäviä" (myös skriptikielet). "
Epäoleellista.
"Myöskään niiden ilmaisuvoimassa ei ole eroa, on yhdentekevää onko käytössä shelliskripti vai prolog tai vaikka assembler tai basic, niillä voidaan toteuttaa tasan samat asiat."
Väitätkö, että kielien ilmaisuvoimassa ei ole eroja??? Todella ihmeellinen väite. Ei se, että käännetyn koodin lopputulos on sama tarkoita ettei lähdekoodin ilmausuvoimassa olisi eroja.
Ilmaisuvoimassa on valtavia eroja ja on todella merkityksellistä voiko shakkimestari kirjoitella sääntöjä suoraan omaa ajatteluaan tukevalla skriptikielellä kuin esim C :lla tai edes prologilla. Lisäksi tähän skriptikieleen voi olla graafinen käyttöliittymä, jolla säännöt voidaan syöttää graafisesti vaikka hieman taulukkolaskimien tavoin.
Mutta yhtä kaikki, asiantuntemus on ihmiseltä peräisin, mutta koneen hallinnassa. Mitä se muuttaa? Lopputulos on "älykäs", kapealla tavalla älykäs.
Hommahan on kapeaa tekoälyä. Ihan kaikella kunnialla."Mutta en todellakaan usko, että parhaimmissa toteuksissa ohjelmoija ja shakkiekspertti (jolta ohjelman asiantuntemus on peräisin) ovat yksi ja sama henkilö. "
Ehkä. Mielestäni ohjelmistotekninen taidonnäyte olisi juuri koodata taidokas shakkohjelma osaamatta itse shakista kuin säännöt.
"Epäoleellista. "
Miksi sitten nostit sen esiin/käytit epäolennaisia ilmaisuja?
"Väitätkö, että kielien ilmaisuvoimassa ei ole eroja??? Todella ihmeellinen väite. "
Kuten sanoin, niin jokaisella ohjelmointikielellä voidaan toteuttaa tasan samat asiat ja väite ei ole ihmeellinen vaan tietojenkäsittelytieteen yksi perustotuuksia. Se on itse asiassa tulos, jonka jokainen tietotekniikkaa yliopistotasolla lukenut on melkoisella varmuudella käynyt läpi.
On tietenkin selvää, että on olemassa eri kieliä ja eri kielillä voidaan toteuttaa eri asioita näppärästi, mutta kaikilla (järjellisillä) kielillä voidaan kuitenkin toteuttaa tasan samat asiat.
"Mutta yhtä kaikki, asiantuntemus on ihmiseltä peräisin, mutta koneen hallinnassa. Mitä se muuttaa? Lopputulos on "älykäs", kapealla tavalla älykäs. "
Aha, no tämän "älyn" toiminta ("tehokkuus") perustuu raakaan laskentavoimaan ja sisään koodattuun tapaan arvottaa erilaisia pelitilanteita. Se on kuitenkin ohjelma, joka on enemmän laskentavoiman kuin minkään ohjelmistoteknisen toteutuksen taidonnäyte. (Tähän voi kyllä sanoa vasta-argumenttina, että ei se ole oikeastaan kuin yhden sortin "referenssi", jota vastaan voidaan vasta tehdä vertailuja. Jos onnistutaan myöhemmin peittoamaan shakissa maailmanhuiput 100MHz PC:llä, niin voidaan mielestäni puhua ohjelmistoteknisestä taidonnäytteestä.)
"Hommahan on kapeaa tekoälyä. Ihan kaikella kunnialla."
Tekijät ansaitsevat kyllä hatunnoston ja kai sen voi nähdä tekoälynäkin, en minä sitä kiellä. Kyseessä on kuitenkin hyvin pitkälle laskentavoimaan perustuva toteutus - mitään ihmeellistä toteutuksessa ei sinänsä ole, se on ohjelma joka toimii annetuilla säännöillä ja toimiakseen hyvin se tarvitsee hyvin paljon laskentavoimaa.
Mielestäni yksi älyn määritelmän oleellisia osia on oppiminen ja ainakaan DB ei tietääkseni ole "oppinut" mitään vaan kaikki tieto on konsolilta sinne syötetty. (Joskin kuuluisan DB ottelun jälkeen vastustaja, jonka nimi ei nyt tule mieleen, sanoi ensimmäistä kertaa tunteneensa koneen pelaavan jollain tavalla "inhimillisesti" tai "ajattelevasti".)
Ehkä tekoälyn näkemykseni on kyynisempi kuin sinun.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Hoitajalakko peruuntuu, tilalle joukkoirtisanoutumiset
"Tehyn ja Superin hallitukset kokoontuivat tänään toteamaan, että tilanne edellyttää järeämpiä työtaistelutoimia." https://www.hs.fi/politiikka/art-27399097Johan tuli oikea aivopieru Britti Lordilta
Emeritusprofessori Lordi Robert Skidelsky sanoi Suomen rikkovan YYA sopimusta joka on tehty Neuvostoliiton kanssaa 1948. Mitä pir3737784Tehyn Rytkösellä tallessa tekstiviestit A-studiokohussa
https://www.mtvuutiset.fi/artikkeli/a-studiosta-kohu-tehyn-rytkosen-mukaan-ministeri-linden-sai-paattaa-osallistujat-ohjelma-kiistaa-vaitteen/84070681605408William ja Sonja Aiello ERO
Hyvä Sonja! Nyt etsit uudet kaverit ja jätät nuo huume- ja rahanpesu porukat haisemaan taaksesi!542292Oho! Seurapiirikaunotar, ex-missi Sabina Särkkä yllättää tällä harvinaisella kyvyllä: "Mulla on..."
Sabina Särkkä on nähty monissa tv-reality-sarjoissa. Mutta tiesitkö, että Särkällä on valokuvamuisti? https://www.suomi24.fi/viihde/oho-seurapiirikaun62069Se siitä sitten
Kirjoitan tänne kun en sulle voi. En vaivaa sua enää koskaan. En ikinä tarkoittanut olla ahdistava tai takertuva. Tunteet heräsi enkä osannut olla tyy821698Ohhoh! Rita Niemi-Manninen otti ison tatuoinnin - Herätti somekansan: "Täydellinen paikka!"
Rita Niemi-Mannisen suuri, uusi tatuointi on saanut somekansan heräämään talvihorroksesta. Niemi-Manninen otti tatskan rakkauslomalla Aki-miehensä kan191646Ihastumisesta kertominen
Olen päättänyt kertoa tunteistani ihastukseni kohteelle. Erityisen vaikeaksi tilanteeni tekee se, että kyseessä on ns. kielletty rakkaus. Olen jo toi921381Taas Venäjän tiedoittaja akka Varoitti Suomea ja Ruotsia liittymästä Natoon
Juuri sopivasti julkaistu varoitus, kun Suomen eduskunta alkaa klo 13:50 käsitellä asiaa suorassa TV 1:n lähetyksessä. ILtasanomat.4341310Stefusika räkättää
kun on viikon ollut kuivilla ja poliisi puhalluttaa just silloin. Muutoin olis jääny kiinni. Ja sekös sikamiestä hirnuttaa. Ällö ukko ja vielä ällömmä801186