Min alapszik egy sakk bot?
Köszönjükemese.
Volt ilyen reklám.
Tudtad?
Nemhogy elkerülik a kellemetlenségeket, de még a disszociatív konjuktív rezignáltságot is!
"de miből számítják ki, hogy az a legjobb lépés?"
Nagyon egyszerű. Megszámolod a bábukat.
Sakkban a gyalog általában 1 egységet ér, egy futó vagy ló 3-at, egy bástya 5-öt, a vezér 9-et vagy 10-et.
Ezeket összeadod, nevezzük pontszámnak. Például, ha bizonyos lépéssorozat után a pontszám mondjuk 9-el csökkent, akkor nem az lesz a legjobb lépés.
Aztán azt is meglehet nézni, hogy a következő "n" lépésben lesz-e matt.
" és tudnak akár 28 lépésel előre "gondolkodni"
Nem tudnak. Ez képtelenség és fölösleges is volna. A 28 lépés előre azt jelentené, hogy milliárdos nagyságrendű adathalmazzal gazdálkodik, amit lépésenként, legalább részben újra generál.
Rubik kocka - közelítőleg negyvenháromtrillió.
Nézzél Code Bulletet a YouTube-on:
Kedves 4-es. Facebookm gondoltad volna oldaláról. A rubik kocka 17 mozdulatból kirakható akárhogy is keverik össze. Vannak belőle érdekes vílágrekordok is.
Szerintem egy ilyen programhóz egy sakkmester és egy programozó legalább kell. Vagy csinálnak egy mesterséges inteligenciát sakkhóz.
Erre a kérdésre nincs egyszerű válasz.
Kb. mintha azt kérdeznéd, hogy "min alapszik a jármű".
Hát alapulhat lóval vontatáson is, meg benzinmotoron is, meg villanymotoron is.
Ez a helyzet a sakkbotokkal is, máshogyan működik egy Stockfish mint mondjuk egy AlphaZero.
Nem vagyok ugyan nagy szakértője a témának, de ha jól tudom, a Stockfish pl. egy óriási nagy játszma-adatbázisból dolgozik, amibe feltöltöttek iszonyat sok emberi sakkjátszmát, és abból számolgat valahogy statisztikai alapon.
Ezzel szemben viszont pl. az AlphaZero egy deep learning neurális háló, ami rengeteg játszmát "lejátszott" magában, és abból "tanult meg" sakkozni.
Az első pár válasszal ne törődj, mert nettő f*szságokat írnak. Azaz évtizedekkel ezelőtt valahogy hasonlóan álltak a problémához, gráfokat használtak és valami ezen működő algoritmust ami bizonyos mélységig (lépésig) "látta" előre a kimeneteleket és tudott egy jó döntést hozni.
De a mai sakk botok egyáltalán nem így működnek, amit #7 jól le is írt. Annyit fűznék csak hozzá, hogy nem egy adatbázist használ a Stockfish, hanem a régi gráfos módszeren alapszik és egy jobb minimax algoritmust használ, balami apha-beta algorithm és általában 30 körüli mélységik néz le jó lépés érdekében. Ez miatt pedig az AlphaZero 8-10 óra tanulás után sokkal jobb nála, mert már nem a régi algoritmuson alapszik.
Ahogy írta #7, neurális hálót használ. Most ennek a működéséről lehet nézni pár perces youtube videót, hogy valami elképzelésed legyen róla, de leírni hosszú lenne. Viszont azt kiemelném érdekességnek, hogy a tanítás alatt nem azt kell érteni, hogy sakk játszmákat mutattak neki, hanem saját maga ellen játszott. Szerintem ez érdekes infó, mert laikusként nem erre gondolna az ember.
Egyébként #5-el is nagyon egyetértek, egyik legjobb youtube csatorna ami ilyen témákat is érint:)
"A rubik kocka 17 mozdulatból kirakható akárhogy is keverik össze."
21 az a 17, de mindegy. Permutáció, variáció-számítás. Ezeknek nézz utána.
Megint látszik, hogy olyanok válaszolgatnak, akik nem értenek a témához.
De nézzük is:
"Nem vagyok ugyan nagy szakértője a témának, de ha jól tudom, a Stockfish pl. egy óriási nagy játszma-adatbázisból dolgozik, amibe feltöltöttek iszonyat sok emberi sakkjátszmát, és abból számolgat valahogy statisztikai alapon."
Sajnos nem így működik. Egy egyszerű kérdés: ha emberi sakkjátszmák alapján "tanul", hogyan lehetne jobb az embereknél? A válasz sehogy. Vannak példák ilyen sakk botokra, de ezek eléggé gyengék, például egy nagymester le tudja győzni őket.
"Azaz évtizedekkel ezelőtt valahogy hasonlóan álltak a problémához, gráfokat használtak és valami ezen működő algoritmust ami bizonyos mélységig (lépésig) "látta" előre a kimeneteleket és tudott egy jó döntést hozni."
Mai napig hasonlóan állnak a problémához. Az általad emlegetett neurális hálókat csak a kiértékelés fázisában használják. Ettől függetlenül továbbra is előre kell keresnie "n" lépésig, amelyhez egy gráfalgoritmust használnak. Ezt az "n" lépést nevezik mélységnek, amelyet meg kell adni, mielőtt bármilyen sakkprogramot elindítasz.
A kiértékelés fázisában pedig nem kötelező neurális hálókat használni. Az AlphaZero előtt általános sakk elvek alapján számolták ki. Sakk bábuk értéke, király helyzete, középjáték vagy végjáték stb. Az új neurális hálók tudtak előrelépést mutatni, körülbelül 100-200 pontszámot. Sakk botok között legyőzik egymást, de ez lényegtelen. Ember ellen az általános kiértékelő algoritmus is főlényes győzelmet arat minden esetben. Még a nagymesterek ellen is. Szóval nem, nem kell neurális hálókat használnod azért, ha nagymestereket akarsz legyőzni.
"Stockfish, hanem a régi gráfos módszeren alapszik és egy jobb minimax algoritmust használ, balami apha-beta algorithm és általában 30 körüli mélységik néz le jó lépés érdekében. Ez miatt pedig az AlphaZero 8-10 óra tanulás után sokkal jobb nála, mert már nem a régi algoritmuson alapszik."
Nem jobb nála. Inkább a te válaszod van évekkel lemaradva. Az AlphaZero csak egy kísérleti projekt volt, ami manapság elég gyengének számít. Az újabb Stockfish verziók legyőzik az AlphaZero-t.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!