» Poradna » Programy

Umělá inteligence šachů

 |   | 

Cau!Chtel bych naprogramovat sachy. Vedel bych jak na to, ale chci aby to mohl hrat take jen jeden hrac, to znamena proti pocitaci. Ma nekdo z vas poneti jak se dela uela inteligence pocitace pri hrani sachu?Piste sem svy nazory please...

Mohlo by vás také zajímat

Odpovědi na otázku

 |   | 

je na o tom na webe vela informacii a algoritmov.existuje spiskovy opensource engine crafty - mozes si stiahnut zdrojak a dokumentaciu a studovat kolko sa ti len paci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Nastuduj si teorii her. Na tom jsou zalozeny vsechny podobne programy.Jednoduchym cilem je ohodnotit policka a procest tah, ktery ma nejvyssi hodnotu. Do toho si musis zapocitat promysleni vsech moznoych tahu svych a soupere nekolik kol dopredu. Pak do toho zapracujes jeste knihovnu nejcastejsich otevreni hry a mas sachy hotove.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

O jejda, nevzal sis větší sousto, než zvládneš ?První předpoklad je, že umíš hrát šachy, pak je všechno ostatní.Říkají ti něco programy Fritz a Chessmaster ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Fuente, nestaci jen umet hrat sachy. To je jedna strana. Druha strana je umet programovat, mit nastudovanou teorii a umet ji prepsat do programovaciho jazyka.Umet hrat sachy a ta druha strana jsou zhruba na stejne urovni.Obvykle se to dela tak, ze jsi schopny programator a spojis se s dobrym sachistou, ktery bude zkuóust, radit ti apod. A stejne z toho vznikne nejaky hodne hloupy sachovy program. Pro velmi dobry sachovy program potrebujes tym programatoru se spickovymi odborniky a nejakeho (radeji vic) sachovych velmistru.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

K tomu se připojuji

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Povedal by som, ze vplyv nejakeho dobreho sachistu pri tvorbe kvalitneho sachoveho programu (teda engine) ani neni moc velky. Rozhodne dolezitejsie su programatorske schopnosti. Sachovy engine totiz "rozmysla" uplne inak, ako zivy clovek. Sposob hrania sachu tak ako ho hra dobry sachista sa skratka neda dost dobre implementovat do programoveho kodu. Sachovy engine nevie premyslat, tak sa snazi tuto nevyhodu eliminovat prepocitavanim niekolkych urovni tahov dopredu (vsetky teoreticky mozne kombinacie). Z toho vyplyva obrovska vypoctova narocnost, a teda aj poziadavka na kvalitny a prisne optimalizovany programovy kod. Navyse je tu faktor pocitaca, na ktorom ten sachovy program bezi: je rozdiel hrat proti Fritz8 na 2. urovni ak bezi na slabom P2/350, alebo na novom P4/3GHz. V druhom pripade dokaze totiz ovela vykonnejsi pocitac prepocitat a vyhodnotit v tom istom casovom limite ovela viac kombinacii, do vacsej hlbky. A pochopitelne k tomu este patri aj kvalita algoritmu. Samotny DeepFritz8 ma tusim zo 4-5 enginov, a rozdiel medzi nimi sa da poznat...Podla mna, kvalitny sachovy engine sa bez spickoveho programatora a spickoveho sachistu neda ani spravit. Rozhodne nie na primerane kvalitnej urovni...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Spickovy programator s spatnou analyzou problemu tomu moc nepomuze. Myslels spickovy programator analytik.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Sachy jsou uplne jednoduchy i algoritmus mysleni... ...dulezite je jenom vyzkouset a spravne nastavit ohodnoceni jednotlivych figurek a pozic na sachovnici... ...to je cela veda... ...samotny algoritmus je na 30 radku... ...jenom rekurzivne prochazis vsechny tahy, ktere jsou udelat z dane pozice a vyberes ten, ktery je nejlepe ohodnocen...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Pokud to delas jednourovnove, tak ano. Jenze dobry sachovy program by mel umet premyslet i dopredu a to inteligentne, ne hrubou silou, jinak by to trvalo velmi dlouho.Taky bys do toho mel zapracovat knihovnu zahajeni, protoze tam nemas co vymyslet.Souhlasim, ze smycka pres jednotlive figurky a nalezeni pozice muze byt na 30 radku, ale naprogramovani tahu figurek a vlastni ohodnoceni budou dalsi tisice, mozna desetitisice radku

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

No samotný minimax s alfa-beta prorezavanim je fakt algoritmus na dve stranky, ohodnoceni listovych pozic troku horsi, ale poznat vyhru nebo remizu taky neni tak slozite, jsou tam sice singularity jako ze pokud se stejna pozice opakuje tusim snad 30x je to remiza, ale na to bych se klidne vyabstrahoval. Problem je v tom, ze spocitat to az dokonce je momentalne vypocetne nerealizovatelne, takze se to v nejake hloubce musi zariznout a neterminalni pozice heuristicky odhadnout, obodovat jednotlive figurky a secist body obou stran je jedna hodne primitivni moznost. Nedokazu tipnout jak hloboko by se muselo s touto heuristikou jit aby to hralo trochu obstojne. Obecne cim primitivnejsi (ale take typicky rychlejsi) ohodnocovaci funkce, tim na vice tahu dopredu je treba propocitavat. No a pak samozrejme takova ta omacka aby se daly kontrolovat tahy hrace a generovat legalni tahy pocitace a taky nejaky to GUI. Cili hruba sila trochu pomuze na druhou stranu i na PC XT (procesor Intel 8086@4,77MHz 640kB RAM) jsem sachy, proti kterym jsem se nechytal, takze fistron je rozhodne potreba. Dobra finta taky muze byt napsat to tak, aby program premyslel i kdyz ceka na tah hrace.Kdysi jsem psal piskvorky, bylo to spis takove cvicenicko, protoze uz tehdy bylo prokazano, ze pro zacinajiciho hrace v piskvorkach exituje vyhravajici strategie.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Pozici stačí opakovat 3x, pak je remíza. Ale není to jen tak: všechny figury musí mít v těch třech pozicích stejnou funkci. Konkrétně: pokud stojí král a věž na původním místě a mezi nimi nejsou figury, pak je možno udělat rošádu. Řekněme, že potáhnu věží někam a zase zpět (a nevezmu přitom žádnou figuru) a totéž udělá soupeř. Pozice je na pohled sice stejná jako ta výchozí, ale figury už nemají stejnou funkci: protože díky tahům věžemi jsme ztratili možnost provést rošádu, tak dle pravidel FIDE pozice stejná není. Teprv teď, pokud bychom stejný manévr provedli ještě dvakrát, tak na konci tohoto dění jsme potřetí ve stejné pozici (i když od pohledu to vypadá, že ji máme už počtvrté) a teď teprve je to remíza. Zdroj: oficiální pravidla šachu od FIDE.Špičkové programy (Fritz, Shredder, Junior, Chessmaster) to rozlišují správně.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Ještě jsem si vzpomněl: přemýšlení počítače na čas soupeře je správná idea, poprvé jsem to viděl u programu Colossus4 na ZX Spectru, ale byla jistě použita daleko dřív. Nadává se tomu obvykle Permanent Brain.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Co se týka těch piškvorek, nemas nekde odkaz na clanek o te vyhravajici strategii, slysim (teda ctu) to poprve a docela by me to zajimalo.Dikdavv

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Není to článek, ale doktorandská práce jednoho holanďana, konkrétně toto: http://www.cs.unimaas.nl/~uiterwijk/AllisPhD.htmOdkaz na stažení již nefunguje, ale našel jsem to tady: http://fragrieu.free.fr/SearchingForSolutions.pdf... snad byl nějaký problém, mohu to případně zaslat mailem, snad bych to na disku ještě našel.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Jinak samozřejmě je velmi pravděpodobné, že na základě této publikace vznikly i články v různých elektronických periodikách, já jsem však narazil rovnou na tu knihu a tak o nějakém výcucu nevím.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Tak přece, tady: http://www.renju.nu/proof/Go-Moku.pdf je takový přehledový článek od stejného autora, který se nezabývá detaily algoritmu a jeho důkazem, začněte asi tím.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Jenze vtip je v tom, ze neni nejdulezitejsi obsadit bodovana pole. Abys hral dobre sachy, musis umet dobre kombinovat. Treba utok ma uplne jinou vahu, utoci-li 2 nebo vice figurek ... veze jsou nekolikanasobne silnejsi, jsou-li v baterii ... v uzavrenych hrach se ti vyplati vic kun nez strelec a opacne ... A inteligentni sachovy program musi tohle vsechno zvladat ... 

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Ja som kedysi mal pozicanu knihu Šachy na PC (Dieter Steinwender, Frederic A. Friedel). Tam je to dobre vysvetlene. Neviem, ci sa k nej da v sucasnosti dostat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Kdysi jsem si stáhnul něco podobného z Internetu a vzdal jsem se to 

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Napsat sachy je drina ...ale zkus treba tahle url http://www.cs.biu.ac.il/~davoudo/tutorials.htmlht... ti da docela slusny zaklad co a jak je potrebaDalsi inspiraci muzes cerpat ze zdrojaku napr BeoWulf a craftyMartin

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Vis, co ? Zkus si napred naprogramovat sachovnici, na ni rozlozeni figurek a naprogramuj si logiku jejich moznych tahu. Zadna inteligence, pouze obycejne kam muze a nemuze kazda figurka tahnout + brani souperovych figurek.Jako rozcvicka je to velmi dobre...Az to budes mit, zacni studovat teorii her.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Jo, tak zrovna včera jsem na programátorský soutěži měl dělat vyhodnocení šach, mat, pat, v pořádku a za ty tři hodiny sem to nestih. A to tam měl soupeř jen krále.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

jo to znám, to já za mladejch let taky dělal takovou soutěž, v TP , byl tam podobnej příklad a taky si pamatuju, že jsem zrovna tohle neudělal a lámal jsem si nad tím hlavu pěkně douho Ale byla to sranda.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

To je prave to... ja jsem totiz programoval damu pro dva hrace. Rekl bych ze je dama tezsi nez sachy, protoze je tam nutno testovat zda se musi sakakat, a taky skakani jako takove, tzn. rozdil mezi skokem damy a pinclika... (Dama je udelana jen pro textove rozhrani, figurky predstavujou male pismenka x a o a damy X a O ) Tak jsem si rikal ze bych moh udelat i sachy (Tedka se v ty knizce, podle ktery se ucim C++, naucim tridy a objekty a jdu na grafiku). No ale kdo bude hrat sachy na jednom PC, kde navic vidis stul jen z jedny strany? Tak jsem chtel udelat AI

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

To sis vzal fakt moc velký sousto. Věř mi.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Dama neni tezsi. V dame mas 2 druhy kamenu - obycejny a damu. Tzn. 2 druhy pohybu. U sachu je figur daleko vic, kazda ma svuj zpusob pohybu, kazda ma svou vahu a to vse musis brat v uvahu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Co se tyce vahy figurek a AI, je to tezsi, ale naprogramovat pohyb figurek (kontrola moznych tahu a kontrola, zda je sach nebo ne) je kotel lehci

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

To je sice moc pekne, ze musis kontrolovat, jestli je nutne skakat, ale i presto jsou sachy mnohonasobne tezsi ...Pro priklad: prakticky kazda figurka tahne jinym zpusobem,

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

abych to dokoncil ...musis kontrolovat, zda nenastala situace sachu ci matu ci patu ci vecneho sachu ci opakovanych tahu ...atd atd atd 

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Šachy na PC (Dieter Steinwender, Frederic A. Friedel) prodám tuto knihu. 731773117

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

V cem to budes programovat? Urcite bych se pripojil ... Programuju hlavne v Borland Pascalu, trosku v PHP a Jave a JavaScriptu ... sachy hraju dobre.Kdyztak odepis na e-mail Geralt..riv@seznam.czDik, Geralt

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Zkus se mrknout na tohle:http://www.techbox.cz/clanek.asp je to čtyřdílné - ten poslední díl je tady:http://www.techbox.cz/clanek.asp

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | 

sachy jsou uplne trivialni aplikace (hledej minimax, alfabeta algoritmy) kouzlo maji optimalizace techto algoritmu a hlavne navrh a sviznost kodu - takze pokud si amater tak inteligence bude zaostavat v rychlosti na nekvalitnim kodu

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

aby takovym to hram nebyl brzo konec.. nekdo si patentuje algoritmy a my utrem hubu... To se snad na programovani vykaslu, kdyz pri psani programu nebudu moct vyuzit spoustu veci a vsechno vymyslet sam...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | 

no pokud vim tak vetsina tech algoritmu je tak proflaknuta ze po tobe za jejich pouziti nikdo nic chtit nebude, a ty opravdu "zazracne" volne k dispozici nejsou, mj. i z duvodu ze vetsina lidi pro to nema HWa nezoufej je jeste algoritmu na ktery se jeste neprislo, ale hlavne spousta nekolik novych  technologii pres ktery to vetsina lidi neresi - neuronove site atd., ale to zas neni prace pro cerstveho stredoskolaka

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Daj se šachy někde zahrát on-line? Jaký vybrat program na hru šachy pro Windows?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Ja som sa zaregistroval na www.yahoo.com a tam si kazdy den zahram zopar partii. Je tam dostatok hracov na to, aby som si mohol vybrat silu supera. Na pocitaci som hraval Chessmastera a Fritza, ale hrat proti cloveku je predsa len o inom. Odvtedy co hravam online, tak som sachovy program spusteny nemal.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

"Chci upozornit, že 95 % toho, co vím o šachu, se zásadně nedá použít v programu" - Hans Berliner, šachista mistrovské síly a zároveň programátor. Většinou neplatí, že výborný šachista napíše výborný šachový program (příklad: bývalý mistr světa Michail Botvinnik).V češtině vyšla kniha "Šachy na PC", nevzpomenu si na jména autorů  (Němci jsou to), jsou tam popisy programovacích technik od alfa-beta algoritmu až po metodu nulového tahu (užívá Fritz), hledání klidu a podobné vykoumanosti. Příjemnou zábavu...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Aha, on tu už o tom někdo psal, autoři jsou Dieter Steinwender a Frederic A. Friedel.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 
 |   | 

haf, jestli cheš mam doma primitivní šachny(porazim je )  v javascriptu(imho krátkej zdroják), tudiíš i ze zdrojákem (bud byl autor prase nebo to projel nejěkou formou obfuskátoru, ale s tim si určitě poradíš ) dej vědět, jestli to cheš , bych to musel najít..

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Umělá inteligence, Inteligence


Určitě si přečtěte

Výkon herního počítače za 139 Kč nebo i úplně zadarmo. Geforce Now startuje!

Výkon herního počítače za 139 Kč nebo i úplně zadarmo. Geforce Now startuje!

** Dlouhý betatest končí a nyní všichni mohou hrát přes internet ** Nemusíte žádné hry kupovat znovu. Jede to, co už máte v knihovnách na Steamu, Uplay, Battle.net a jinde ** Roční náklady odpovídají ceně jedné běžné hry

Tomáš Holčík | 68

Nový Edge je opravdu Chrome! Prohnali jsme prohlížeče benchmarky i vlastním unikátním testem

Nový Edge je opravdu Chrome! Prohnali jsme prohlížeče benchmarky i vlastním unikátním testem

** Nový Edge je postavený na Chromiu ** Prohnali jsme ho benchmarky a srovnali s ostatními ** Potvrdily nám, že je prakticky stejný jako Chrome a Opera

Jakub Čížek | 65

17 užitečných tipů a triků pro Mapy Googlu, které byste měli znát

17 užitečných tipů a triků pro Mapy Googlu, které byste měli znát

** Mapy Googlu mají spoustu funkcí, které jsou často přehlíženy ** Využijte například podrobnější možnosti plánování cest ** Hodit se mohou i tipy na sdílení nebo pohledy do minulosti

Karel Kilián | 25

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

** Speedtest stále častěji měří jen rychlost na poslední míli ** Ta však ale neodpovídá reálnému surfování ** Jak se tedy pokusit změřit tu skutečnou?

Jakub Čížek | 85



Aktuální číslo časopisu Computer

Megatest 12 bezdrátových sluchátek

Vyplatí se Apple z bazaru?

Test batohů pro notebooky

Vybíráme nejlepší sportovní hodinky