Aktív témák
-
e=mc²
őstag
Megjött a kedvem egy kis sakkhoz! :DD
-
Power
senior tag
Megmosolyogtató ez a nagy hozzáértés. :)
Kaszparov pontosan csak azokat a lépéseket tekinti át amit kell, ezzel szemben a gépnek minden lépést valahogy ki kell értékelni valamilyen szinten(nála is vannak amiket egyből elvett, de ezt is ahhoz sorolják, hogy kiértékeli).
A lényeg az, hogy amint az ember ránéz egy állásra, akkor nem az összes lehetséges lépést tekinti át, hanem csak párat.
Könnyen belátható, minnél több idő van a játékra a gép annál nagyobb hátrányba kerül, mivel exponenciálisan több idő szükséges számára, míg az embernél, ha nem is teljesen lineáris, de ahhoz közeli. -
rog
addikt
''A Deep Blue hárompercenként több mint ötvenmilliárd (!) állást tud kielemezni. Összehasonlításképpen: egy ''mezei? Pentium 200-as processzoros PC ennek a tízezredrészét sem. Egy sakknagymester pedig (például Kaszparov), a pszichológiai mérések tanulsága szerint ''alig? 500-1000 állást képes 3 perc alatt áttekinteni. Ezeknek az adatoknak a fényében inkább az a meggondolandó, hogy miként lehet az ilyen nagy hátrányban levő Kaszparov egyáltalán versenytársa ennek a monstrumnak, hogyhogy nem verte őt a gép ripityára?''
[L]http://www.sulinet.hu/eletestudomany/archiv/1997/9722/versenysakk/versenysakk.html[/L] -
Power
senior tag
Egyetlen dolog miatt nem nyert Kaszparov: ''virtuális környezet''.
A sakktábla mellett a vesztett volna partit a gép ellen és akkor 1 ponttal nyert volna. -
goblyn
csendes tag
Számoljunk. :D
Egy állás elraktározása (eltekintve a lehetséges tömörítéstől és indexeléstől) minden egyes bábúra két 1-8 koordináta, azaz 3-3 bit szolgál, de vegyünk még hozzá egy bitet, ami azt jelenti, hogy leütötték. Mivel 32 bábú van, egy állás durván 224 bit, 28 bájt. Ha most ezt beszorozzuk a lehetséges állások számával (amiben végülis nem sikerült megállapodni, hogy mennyi, de asszem elfogadható, hogy legalább 10^30 nagyságrend körül van) akkor 10^30 bájtra van szükségünk, ami 10^21 gigabájt....
Ja, és akkor még keresni is kell benne.... :D -
rog
addikt
''Most merült fel bennem: Szerintetek mennyivel gyorsabb lenne, ha nem kiszámolnia kéne a lehetséges lépéseket, hanem előre ki lennének számolva és ki lennének értékelve, és csak ki kéne keresni egy adatbázisból?''
szerintem azt mondta ő is, hogy ígybizony így működik egy sakkprogram.
ja meg mintha én is, csak nálam fogalmazási problémák nehezitik folyton a megértést :) -
goblyn
csendes tag
[L]http://mathworld.wolfram.com/Chess.html[/L]
idézet:
Hardy (1999, p. 17) estimated the number of possible games of chess as 10^10^50. In a game of 40 moves, the number of possible board positions P(40) is at least 10^120 according to Peterson (1996). However, this value does not agree with the 10^40 possible positions given by Beeler et al. (1972)
ez elgondolkodtató... -
L3zl13
nagyúr
Ezaz! Te vagy az én emberem!
Pont az ilyet hiányoltam. Sajnos én sem ismerem annyira a sakk szabályait, hogy ilyenekkel számolhattam volna. És ennek hiányában nem is tudtuk behatárolni a feladat nagyságát.
Tehát akkor tényleg véges számú lépés van, és előbb utóbb eljutunk oda, hogy brute force-szal végigszámolhatóvá válik egy meccs.
Ezzel a géppel ez még 600 év lenne öt lépés mélységig, (Kérdés: ez a maximum vagy átlag?) de egy jelenlegi szuperszámítógéppel már talán egy év sem kell ugyanehhez.
Pár év, és eljutunk oda, hogy végig lehet számolni.
Most merült fel bennem: Szerintetek mennyivel gyorsabb lenne, ha nem kiszámolnia kéne a lehetséges lépéseket, hanem előre ki lennének számolva és ki lennének értékelve, és csak ki kéne keresni egy adatbázisból?
Nem lenne lassan értelme elindítani egy seti szerű projectet? :)) -
Tegye fel a kezét, aki nem offolt az utóbbi 30 hozzászólásban...
Mármint bármit is irt a Kaszparov meccséhez kapcsolódva.
:( -
hobizoli
nagyúr
[L]http://www.aceshardware.com/read.jsp?id=60000259[/L]
hobizoli -
Cathfaern
nagyúr
válasz
trilobyte #160 üzenetére
Nem kell hozzá az sem. Válaszd ki azt a ''stereo'' módot, aminél két tesserack forog egymás mellet. Ha nem a képre fókuszálsz, hanem mögé, akkor ugyebár 1-1 tesserack ''közelíteni'' fog egymás felé. Ha összeértek akkor ott a 3D-s kép :) (persze CRT monitornál ez nem feltétlenül egészséges, mivel az elején könnyebb, ha közelről nézed a képet).
-
Cathfaern
nagyúr
válasz
trilobyte #153 üzenetére
Azért, mert így a 4D-s testet úgy látod, mint ha 3D-s lenne, nem? Tehát lehet, hogy amikor te ránézel egy kockára (pl. egy kockafejű matematikusra :D), akkor te egy tesseract-ot látsz, csak az érzékelésed kevés ahhoz, hogy lásd az igazi ''testet''. És így kerül egymásba a 3D és a 4D.
-
Cathfaern
nagyúr
válasz
trilobyte #148 üzenetére
Nézzd meg ezt a weboldalt: [L]http://pw1.netcom.com/~hjsmith/WireFrame4/tesseract.html[/L]
Ez ugyebár egy forgatható Tesseract modell. Állísd be az: xy=296, yz=359, xz=180-ra. Ezután csak a 4. D-ben mozgasd a ''testet'' (ez ugyebár a jobb egérgombbal tehető meg). Nos mit látsz? Ugye egy kockát? -
goblyn
csendes tag
válasz
trilobyte #144 üzenetére
ja, még az az elgondolkodtató dolog jutott az eszembe, hogy minden n-edik dimenziójú test egy pl. n+1-ediket n. dimenziójú testek sorozatának látja.
Érthetőbben: tegyük föl, hogy megint tintapacnik vagyunk, és a labdánk felszínén keresztül nyomnak egy csavarhúzót. Ekkor mi a csavarhúzó metszeteinek a sorozatát érzékelnénk, tehát leképződne 2D-be.
Namost. H a mi világunkkal valaki szórakozna, és egy négydimenziós csavarhúzót keresztüldöfne rajtunk, akkor mi testek sorozatát látnánk... :)
Gáz. -
trilobyte
tag
-
goblyn
csendes tag
válasz
Cathfaern #143 üzenetére
Ki tudja? :)
Egyébként elméletileg tudjuk, hogy milyen az 1 és a 2 dimenzió, a 4-ről homályos sejtésünk van. Valami ilyen tézis is meg van fogalmazva a könyvben, hogy egy n. dimenzióbeli megfigyelő elméletben ismeri az 1-(n-1) dimenziókat és az n+1 -et el tudja képzelni... De ezek a gondolatok már messze nem emberi agyra vannak tervezve, szvsz :) -
trilobyte
tag
ez a 14 ez tényleg elég meredek :)
sztem is végtelen párhuzamos univerzum van, de ilyen ''rétegek'' nincsenek hogy 2D. szerintem az egész 2D egyszerűen egy képzeletbeli dolog ugyanúgy, mint a 4D (nem az idő hanem a 4D-s önmagukat metsző ''testek'' mint pl a tesseract) -
goblyn
csendes tag
válasz
trilobyte #140 üzenetére
nem, én úgy értettem, hogy egy univerzum van, csak ez dimenziókra van rétegezve...És egyébként olvastam vhol (asszem Hawking bácsi könyvében) hogy 14 dimenzió van. Na ez már nekem is sok... :D mert miért pont annyi?
Na mindegy az öreg biztos látja, én csak 3-ig tudok számolni...:D -
trilobyte
tag
eh király mindig leírja valaki előttem amit akarok mondani :)
-
trilobyte
tag
egyébként szerintem rossz kifejezés ide a ''3D'' mert 2D 3D abszolút mást takarnak mint világegyetemek leírását :) olyan nincs, hogy 2D világegyetem meg 3D világegyetem. két külön dolog az alakzatokat meghatározó tulajdonságok száma és a világegyetem. persze értem hogy itt sokan a 3D-t erre az univerzumra értik de sokan meg azt hiszik ezáltal hogy van olyan univerzum amiben minden 2D
-
goblyn
csendes tag
válasz
Cathfaern #133 üzenetére
Nem, valóban nincs bizonyíték, ez pusztán elmélet. És nem létezik semmi más dimenzió a mi világunkban, ahol itt most a 3D-t értem világ alatt, mert itt csak 3D dolgok létezhetnek. Soha a büdös életben nem fogunk tapasztalni más dimenzióbeli testeket.
Ez csak elmélet, azonban segíthet pl. olyan konkrét dolgok megmagyarázásában, hogy miért tűnik nekünk végtelennek a Világegyetem... -
Cathfaern
nagyúr
És mi a bizonyíték arra, hogy létezik bármilyen más dimenzió 3D-n kívűl? Látták már valaha (vagy érzékeltél e valah) 2D-s ''testet''? (tudom, hogy síkidom a helyes kifejezés), Magyarul olyat, aminek nem volt vastagsága? (vagy magassága, vagy szélessége). Persze, elméletileg lézik (mert pl. le tudod rajzolni), de gyakorlatilag is létezik? (hisz nagyon sok olyan dolgot le tudunk rajzolni, ami nem létezik).
-
goblyn
csendes tag
válasz
trilobyte #128 üzenetére
és a a gravitációtól most nem lehetne eltekinteni? ugyanis nem hiszem, hogy 2D-ben is van....:)
A lényeg, hogy tegyük föl, hogy kicsi tintapacnik vagyunk, és boldogan éljük az életünket egy számunkra nagyon nagy labdán, amiről tudjuk, hogy végtelen, de ha végig csúsznánk az egész felszínén, akkor visszaérkezhetnénk oda, ahova indultunk. De végtelen, mert soha nem tudnánk elszakadni a felszíntől, nem a gravitáció miatt, hanem azért, mert csak ebben a közegben, a labdán létezünk.
És ugyanez van 3D-ben is. Az Univerzum a labdánk, és csúszkálunk rajta, de a turpisság csak akkor derül ki, ha egy 4-ik dimenzióbeli valaki ránéz a dologra. (most azt hagyjuk hogy a 4. dimenzió az idő, meg ilyenek) -
goblyn
csendes tag
-
Gyerekek, bocs, de ennyi hülyeséget rég hallottam egy rakáson.
De megpróbálom kicsit megvilágítani a dolgokat (bocs, ha ezzel valakit megbántottam).
Először is: a sakk véges játék, mert a szabályalkotásnál erre figyeltek. Nevezetesen ha egy adott állás 3-szor ismétlődik a játszma folyamán, akkor az eredmény azonnal döntetlen (és máris ki van szűrve elég sok triviális tétovázó taktika). Másodszor pedig ha 50 lépésen (azaz 100 féllépésen) keresztül nem történik ütés, sem gyaloglépés, a játszma szintén döntetlen. Ezzel a felek rá vannak véve, hogy legalább 50 lépésenként üssenek, vagy gyalogot toljanak, amivel lehet felső korlátot adni a lépések számára, de ezzel most nem szórakoznék (ezres nagyságrend).
Na, amin eldobtam az agyam, az a (64^32)!, ami egy iszonyú nagy szám, de nem is így kéne számolni. Egyrészt az alapállás ugye adott, tehát érdemes a meccs minden pontján, mikor optimális lépést keresünk, mindenről megfeledkezni, és csak az adott állapotot (és a belőle elérhetőket) figyelni. És itt a gond: egy középjátékbeli állásból akár 50-féle szabályos lépés is megléphető, és ha mindre válaszol is az ellenfél, az már 2500, satöbbi. 10 féllépés mélységig már 50^10, ami kb. 10^17. Ehhez hány másodperc is kéne, ha másodpercenként 5 millió esetet nézünk meg? 20 milliárd másodperc, ami nálam kb, 600 év. És ez csak 1 lépés megkeresése lenne, az is csak 5 lépés (10 féllépés mélységig). Ez az út tehát nem megy. Ezért a programba be van építve egy ''áglevagdosó'' rutin, ami a rossz irányba terelődő játszmákhoz vezető utakat nem nézi végig. Ha mondjuk 3-ra le tudjuk szorítani átlagosan 1 adott ponton az értelmes lépések számát, akkor már 20 féllépés mélységig is le tudunk menni kb. 10 perc alatt (de ez csak 1 lépés). És itt kell nagyon ügyesnek lenni, mert ha sok lehetőséget hagyunk a programnak végignézni, lassú lesz, ha meg keveset, akkor lehet, hogy ''értékes'' ágakat se fog megnézni. És ugye emiatt a stratégia miatt az ellenfél váratlan (azaz kidobott) lépésekkel igenis meg tudja zavarni a programot, és nyerhet.
És ugye azt is hozzá kell tenni, hogy az állások kiértékelése sem tökéletes, tehát ez is sebezhetővé tehet egy programot. Amúgy kb. úgy állapítjuk meg, hogy egy állás milyen jó, hogy minden figuránknak van valami ''stratégiai értéke'', és ezeket egyszerűen összeadjuk. Ez a stratégiai érték egyrészt áll abból, hogy a figura még a táblán van, tehát anyagbeli segítséget jelent, ezen kívül pedig az is nagyon fontos, hogy mennyire van jó helyen. Pl. a vezér a saját oldalának sarkába eldugva, mondjuk saját gyalogok mögé nem túl hatékony.
Ha kiértékeltük a bábuinkat, akkor ebből kivonjuk az ellenfél összértékét, én ennek nagysága dönti el, hogy hogyan is állunk (pozitív érték esetén mi állunk jobban).
A programban gyorsítási lehetőség a megnyitáskönyvtár, amibe a kezdéstől kezdve szinte minden lépéskombináció betehető mondjuk 10 lépésig, bizonyos ágak pedig akár sokkal tovább is, akár 30 lépésig is. Ezáltal kezdésnél a gépnek nem kell gondolkodnia, mert okos emberek rengeteget agyalva már rég kitalálták, hogy ha a világos 1. e4-et kezd, akkor erre stílustól függően e5-öt,
e6-ot, c5-öt érdemes lépni. ÉS ha erre kapunk választ, akkor még a 2. lépés is gondolkodás nélkül megy stb.
Tehát a 3 fontos dolog a programban összefoglalva a megnyitási könyvtár, az álláskiértékelő, valamint a mélységvizsgáló (és áglevágó) rész, ezeket akár egymástól függetlenül is lehet fejleszteni, bár van egymáshoz némi közük.
Kb. ennnyit akartam elmondani, remélem, világossá tudtam tenni dolgokat. Amikor elkezdtem olvasni a topikot, nagyon meglepődtem, hogy semmi ilyesmi nem hangzott el, jöttek a világegyetem atomjai, meg más témába nem vágó érdekességek, de remélem, hogy az én nézetem valamennyire helyreteszi a dolgokat.
Sirpi
(egy kicsit ''kockafejű'' matematikus) -
trilobyte
tag
-
-
goblyn
csendes tag
válasz
trilobyte #110 üzenetére
Igen, attól még, hogy a világegyetem végetelen (a harmadik dimenzióban, ez olyan, mintha egy labda felszínén élnék 2 dimenzióban, nekünk is végtelennek tűnne) az anyag nem az!
Egyébként utána néztem a dolognak, és azt találtam, hogy 10^43 nagyságrendű lehetséges pozíció van.
http://user.cs.tu-berlin.de/~kunegis/hack/chess/
(A végtelen játszma kiszűrésére én is heurisztikát gondoltam, hiszen nyilván csak ennek van értelme) -
trilobyte
tag
válasz
Cathfaern #109 üzenetére
az anyagmennyisége attól még állandó, hogy kiterjedése végtelen. ha jól tudom a világegyetem végtelen kiterjedése onnan származik, hogy fénysebességgel tágul, és mivel a fénysebesség a leggyorsabb ismert folyamat, ezért gyakorlatilag semmi nem érheti be a tágulást, ezért gyakorlatilag végtelen. ettől függetlenül a benne lévő anyagmennyiség állandó
-
L3zl13
nagyúr
Időkorlát: Az egész játszmára vonatkozik, vagy csak egy lépésre?
-
KSanya
tag
szerintem brute force-szal elméletileg sem oldható meg a probléma, algoritmus nem adható, csak heurisztika
pont azért mert nem tud rájönni, hogy egy éppen vizsgált szálat abba kell-e hagynia vagy sem.
Mondjuk ez a valóságban még nem is lenne lényeges, mert megfigyelhető, hogy huszonakárhány lépésből vége szokott lenni a játéknak, de ha 200 lépés után vág az algoritmus az már bztos lég jó heurisztika lenne.
de minden lépés lehetséges válaszlépéseire is ki kellene számolni a lehetséges válaszlépéseket, ami megint csak képtelenség.
Szóval szerintem így vágással az optimális megoldást megközelítő heurisztika adható brute force-szal elméletileg, de gyakorlatilag ennek sem lenne értelme :D -
rog
addikt
dehát a sakkprogramok adatbázissal is dolgoznak. az osszes lehetseges partit nem kell vegigbogarasznia egy egy lepeshez. mert rangsorolva vannak a lehetseges lepesek, es kovetkezmenyeik. illetve az addigi jatek is befolyassal van erre a rangsorra. szerintem siman tudta a gep hogy az adott megnyitas utan mi lesz majd a tizedik lepese kasparovnak, es hany perc mulva kerul ra sor :)
meg nagy elony hogy a gep nem alszik rosszul a meccs elott, es nincsenek csaladi problemai se. a deep blue 8(?) eve meg is verte parszor szegenyt. -
goblyn
csendes tag
félreértesz: nem játssza végig, hanem rájön, hogy fölösleges megnézni mi van akkor, ha ő is és az ellenség is föl-alá tologatja a bástyát az idők végezetéig.
De tök mindegy, egy biztos: brute force-szal elméletileg oldható csak meg a probléma, de gyakorlatilag nem. Ebben egyetértünk, nem? :D -
trilobyte
tag
mondjuk sztem abból nyugodtan kiindulhatunk hogy erre már rájöttek :)
-
L3zl13
nagyúr
Nyilván nem tudjuk. De pont ezen elméletek alapján van elmélet a részecskék számának kiszámítására is. Van hasonló szám a világegyetem össz tömegére és a benne lévő össz energiára is. (Persze ezek egymásból adódnak.)
Párhuzamos világegyetemek. Az ilyet hagyjuk, mert erre semmilyen bizonyték sincs. Így hát nem is számolnak vele. És különben is, ha a másik világegyetemben van akkor nem befolyásolja az ebben a világegyetemben lévő részecskék számát. :)) -
KSanya
tag
Egyébként honnét tudnánk, hogy hány részecske létezik?
Mert nagyon jól elvitatkoztok rajta...
Elolvastam pár tudományos könyvet, de csak az jött le belőle, hogy sok elmélet van a világegyetem keletkezéséről.
pl: párhuzamos viláegyetemek (a felfúvódás nem volt egyenletes, és buborékszerűen keletkeztek a bigbang helye körül a világegyetemek) - lehet, hogy nem így hívják
Lényeg az, hogy nem tudjuk, hogy mekkora is a világegyetem, hány van belőle, stb. csak vannak éppen divatos elméletek. néhány évszázada azt hitték, hogy a Föld lapos, lehet, hogy 10 év műlva kitalálják, hogy az egész eddigi számolás pontatlan volt. (lásd Newton<->Einstein) -
goblyn
csendes tag
teljsen igazad van, hogy nagyon pontatlan, de ezt mondtam én is.
Csak arra szerettem volna felhívni a figyelmet, hogy mekkora számokról van itt szó. És ha már önmagában tekintjük az állapotok számát (és akkor még fogalmunk sincs a lépésekről) ami 64^32 az is teljesen reménytelen -
Male
nagyúr
Volt egy Kasparov nevén futó sakkprogram (nekem is megvolt), amiben be lehetett kapcsolni, hogy játsza végig a gép a játékot (én elkezdem, és utána ha elegem van belőle, akkor csak meg kellet nyomni a gombot) -> egy kis ablakban mutatt, hogy milyen lépéseket próbál éppen végig (már nem emlékszem, hogy hány lépésig számolt előre, de elég sok), szinte mindig döntetlen lett (persze ha elcsesztem az elején, akkor az általam addig irányított vesztett).
Egyébként volt olyan, hogy két gépet összeeresztettek, azthiszem az IBM-esek gépe nyert (kb 3 éve lehetett). -
DcsabaS
senior tag
A mai PC-knek szerintem bőven van akkora számító kapacitásuk, hogy sakkban stabilan elverjenek bárki emberfiát. Hogy a világbajnok szintű játékosok még versenyben vannak, az csak azért lehet, mert a sakkprogramok meglehetősen bután használják fel a gépek erőforrásait. Úgy lehetne segíteni a programok fejlesztését, ha a számítógépek összecsapásánál az egyes sakkprogramokat azonos hardveren futtatnák. Sajnos azonban a szponzoráló cégeknek éppen az a fontos, hogy a látványosnak remélt eredményt az ő kiváló számítógépük produkálja. Így az egyre gyorsabb gépek az egyre lustább programozást támogatják.
-
goblyn
csendes tag
válasz
trilobyte #72 üzenetére
na és? épp ez a durva benne, hogy egy ilyen rettentő nagy számnak a négyzete az még mindig ''csak'' 36x10^46 és itt 10^80 k0r-li értékekről van szó.
De ezen fölösleges vitatkoznunk szerintem, mert ez tény és az emberi agy nem tud exponenciálisan gondolkodni, csak lineárisan..... -
L3zl13
nagyúr
Nagyon pontatlan amit adtál. Rengeteg csökkentő tényező van. Pl a második bábú már csak 61 helyen lehet és ígytovább.
Egy adott bábú tipusából adódóan csak erősen korlátozott számú helyre léphet. (A bábuk fele az esetek nagy részében csak 1 adott helyre léphet!)
A játék előrehaladtával fogynak a bábúk, és így a lehetséges lépések száma.
És még sorolhatnám.
Ettől persze még nagy méretű szám, de brute force-szal sem reménytelen. (Maximum a jelenlegi körülmények között.)
A komoly problémát nem ez okozza, hanem a végtelen ciklusba vagy nem ciklusos, de végtelen lépésből álló szálakba való bekerülés felismerése.
Ennek legegyszerűbb változata az oda vissza lépkedés, amit könnyű kiszűrni, de a többit már nehezebb... -
KSanya
tag
szerintem pont most fogalmaztad meg az elgoritmus legnagyobb kérdését:
Hogyan dönthető el, hogy melyik állást ne vizsgáljuk tovább, mert az a valós játékban már nem lenne kikényszeríthető?
valószínűleg van időkorlát.
mert a gép soha nem hagyná abba egy lépés kiszámolását hisz ne tudhatja, hogy a következőre vizsgált nem lesz-e jobb, mint az eddigi legjobb -
KSanya
tag
nyilván véges számú állapot között legfeljebb véges számú lépés lehet.
azonban a lépéssorozatok száma végtelen.
pl:
vegyünk 2 állapotot: 0 és 1
tegyük fel, hogy a 'b' művelettel 0-ból 1-be jutunk, és az 'a' művelettel 1-ből 0-ba
ekkor pl a
010011000111000011110000011111...
sorozat végtelen, pedig csak 2 művelet (lépés) van
és végtelen sok ilyen sorozat létezik -
L3zl13
nagyúr
Értem mire gondolsz. Ezért mondtam, hogy valószinűleg ez az egyetlen nehézség a dologban.
Csak nem vagyok benne biztos, hogy ez valós játékhelyzetben mennyire kikényszeríthető ez a tipusú végtelen játék, mert reagálnod kell az ellenfél lépéseire is.
Van az ilyen sakkmérkőzéseken időkorlát? -
trilobyte
tag
''A fájdalominger szerintem nem alacsony szintű folyamat, hanem input. A fájdalomérzet pedig egy összetett számítás eredménye és lehet pontatlan!''
szerintem pedig az az adat vagy impulzus amit az ideg küld az agy felé, az agynak ez az input, az összetett számítás viszont egy alacsony szintű számítás, ami pontos, maga az érzés viszont változó és más lehet, mert ezt rengeteg tényező befolyásolhatja, külső és belső is. pl kapsz egy pofont. kapsz mégegyet, ugyanolyan erővel. a másodikat viszont gyengébbnek érzed az elsőnél -
goblyn
csendes tag
Na, azért tisztázzunk valamit:
A sakkban nincs végtelen lehetőség!
Az összes állapot leírható, mint a bábúk elhelyezkedési kombinációja. Mivel 32 bábú van összesen, és ezek mindegyike 64 mezőn lehet, ez 64 a 32-ediken.
Most képzeld el, hogy ezek az állapotok kis gyöngyök, amiket egymás után fűzöl fel egy madzagra, ahogy egymást követik. Nyilvánvaló, hogy csak véges kombináció lehet (bár elképzelhetetlenül nagy (64^32)!, ami emberi aggyal fölfoghatatlan szám, és messze meghaladja az univerzumot alkotó részecskék számának nagyságrendjét) Persze nem minden kombináció érvényes, mert nem lehet minden állásból bármelyikbe eljutni, de azért kb. lehet látni, hogy
1. nem végtelen a probléma
2. brute force-szal nem lehet semmire se jutni
3. jelenlegi CPU-knak nevetséges a számítási kapacitása ehhez -
L3zl13
nagyúr
válasz
trilobyte #54 üzenetére
CPU & sakk:
Az se natívban tolja, mert ehhez meg a sakk játékot kell matematikailag leképezni.
Lábfájás:
A fájdalominger szerintem nem alacsony szintű folyamat, hanem input. A fájdalomérzet pedig egy összetett számítás eredménye és lehet pontatlan! Váltózó mértékű vagy akár teljesen hamis is. Pl fantomfájdalmak -
KSanya
tag
azt is számoltátok, hogy az agysejtek nem kétféle állapotúek lehetnek?
Úgy értem hogy amíg a gép 1 egységben vagy 0-t vagy 1-t tárol, addig az agyban ez egy folyamatos átmenet. A 0-tól az 1-g bármilyen értéket felvehet az ''agyi bit''
itt jön a káoszelmélet (valaki már említette): a legkisebb változás az adatokban (amit a gép nem észlelne, mert nem folytonosan ábrázol) is jelentős változást hozhat a végeredményben -
trilobyte
tag
''Érdekes módon az emberi agy matematikai műveleteknél ''szoftveresen emulál'' egy hardveres számító/számoló gépet!''
ez szerintem is így van
viszont az hogy fáj a lábad azt nem egyszerűen kifejezném mat. műveletekkel, hanem az ottani idegektől érkező információ feldolgozására gondoltam, ami egy alacsony szintű folyamat. viszont maga az érzés hogy fáj, egy magas szintű, ez viszont nem is ugyanaz mindenkinél.
szal én igazából arra gondoltam, hogy az alacsony szintű folyamatokat ugyanúgy nem hibázza és nem hibázhatja el az agy mint egy sima cpu mert akkor nem is léteznénk. viszont sakkhoz ezt nem tudod használni, csak az emulációt, ami pontatlan és nagyon lassú. viszont egy cpu natívban tudja a sakkot tolni -
csudri
őstag
Már megint két azonos számú hsz van! Nem jó ez a ri/os3!
-
L3zl13
nagyúr
válasz
_Volkovy_ #42 üzenetére
Trilobyte hozzászólására:
Nem csak erről van szó. Magas szinten például elszámolhatod a dolgot, mert az agy nem matematikai műveletekre van ''tervezve''.
Érdekes módon az emberi agy matematikai műveleteknél ''szoftveresen emulál'' egy hardveres számító/számoló gépet!
Alacsony szinten (nem tudatos szinten) lehet, hogy másodszor is fájni fog a lábad, de nem biztos, hogy ugyanannyira. Ezt matematikai műveletekben hogyan fejezed ki? (Nem nulláztad a változót. :)) ) Ennek matematikai megfelelője az lenne kb hogy 2+2=5. Hogyan számolsz ilyenekkel számítási kapacitást? -
trilobyte
tag
ami miatt lehet hogy nem ugyanazt produkálja az szerintem 2 dologra vezethető vissza: 1. külső változás 2. az előző ''input'' el van raktározva, és ezt mérlegelve ad ki mást (pl ha megkérdeznek tőled 2x valamit akkor lehet hogy a másodikra direkt nem azt fogod mondani mint elsőre?:) viszont pl ha valakinek fáj hogy lábon lövik akkor az másodszor is fájni fog :)
-
L3zl13
nagyúr
Általánosságban biztos nem, de adott témára (sakk) létezhet megoldás.
Az oda vissza lépkedést pl. elég könnyű felismerni. És ne felejtsd el, hogy az ellenfél ezt nem játszhatja a végtelenségig, mert közben a gép is lép, amire neki reagálnia kell, vagy különben elveszti a bábuit vagy mattot kap. -
beeboy
addikt
állítólag meg lehet lepni egy ilyen gépet-progit egy váratlan húzással.
ami tök értelmetlen -
L3zl13
nagyúr
-
KSanya
tag
nem vagyok benne biztos, de szerintem lehet úgy játszani, hogy ne legyenek a lépések ciklikusan ismétlődők.
pl:
1. forduló
vezér egyszer jobbra, majd vissza
huszár lép, majd vissza
2. forduló
vezér egyszer jobbra, majd vissza
vezér egyszer jobbra, majd vissza
huszár lép, majd vissza
azaz a vezér mindig eggyel többször ismétli a jobbra lépést és a visszát
így nem ciklikus a dolog, de végtelen
Fel kell ismerni és el kell kerülni a végtelen ciklust. - ha erre találnál megoldást, akkor szerintem te lennél az évezred legtöbbet idézett embere (de lehet hogy minden időké) :C :C -
L3zl13
nagyúr
A 19-es hozzászólásban már alacsonyabbra tettem elvárásaimat. Azaz a gép ne veszíthessen. A döntetlen megengedhető.
Onnantól, hogy az egyik szálon végtelen játékba fut a gép nem kell vele tovább foglalkozni, mert ott már nem veszíthet.
A problémát inkább az jelenti, hogy korábban ne kerüljön végtelen ciklusba a gép. -
trilobyte
tag
egyébként hasonlítsuk össze pl hogy mennyi mindent kezel egy emberi agy és mennyit egy pc processzor. az emberi agy jóval több mindent kezel, és ezek olyan ''process''-ek amiket nem tudod leállítani, azért mert sakkozol, míg egy gép simán ''koncentrálhat'' teljes kapacitásával a meccsre. ha úgy vesszük szerintem ezért jóval gyorsabb egy agy mint egy sima proci egyenlőre. az emberek ''stratégikusan'' próbálnak győzni, a mostani gépek brute-forceal. de lesznek olyan gépek majd amikben lesz többszáz tera ram, vagy annyi amennyiben van annyi informacio mint egy emberi agyban, akkor viszont ők is stratégikusan fognak játszani, csak nekik meglesz a brute force is mellé
-
KSanya
tag
-
TheVeryGuest
senior tag
Kizárt, hogy végig tudja számolni az össze lehetséges lépést. Persze, ahogy fejlődnek a gépek, egyre több lépést tud előre kielemezni. Amúgy meg némi heurisztika beépítésével a fa bizonyos ágainak elemzésétől el lehet tekinteni ( Branch&Bound). Gondolom ezek nem szimpla szabályalapú cuccok, szóval biztos van egy adatbázis hozzá, a szokásos állásokról. Kérdés, hogy milyen ez az adatbázis csak pontos állásegyezést tud felhasználni, vagy képes bizonyos bábúcsoportok együttállását is vizsgálni. És aztán ott van a tanulási algoritmus. Vagy az adatbázist frissíti az aktuális játszma állásaival, vagy neurális hálót tartalmaz (mondjuk ezt nem hiszem).
Érdekes lehet a forráskód. ;] -
L3zl13
nagyúr
Hmm... Lassan kezdem átlátni a problémát. :))
Az első 2 pont megvan.
A 3. pontnál ahogy látom, két probléma van.
1. Számítási kapacitás. Ez előbb utóbb meglesz.
2. Fel kell ismerni és el kell kerülni a végtelen ciklust. Azaz a gép saját lépései ne ismétlődjenek a végtelenségig. Ez gondolom elég komoly problémát jelent. :( -
L3zl13
nagyúr
A brute force nem szép megoldás, de valós alternatíva. (Lásd kódfejtés, seti, ésatöbbi)
Ha végig tudja számolni a gép az összes lehetséges lépést, akkor nem kell értékelnie a helyzetet. Össz vissz két helyzetet kell felismernie a brute force-os sakkhoz.
1. Győzelem (Vereség nem is szükséges. :)) )
2. Végtelen játék.
Aztán ha ez megvan, lehet szépíteni. Pl hogy el tudja kerülni a végtelen játékot. Illetve kiválassza a legesztétikusabb (legrövidebb, lebiztosabban győzelemre vezető stb.) játszmát a lehetőségek közül. -
KSanya
tag
1. Meg kell találni a módját, hogy a gép felismerje azt az állapotot, ahonnan már csak végtelen játék jöhet.
szerintem ezt elég egyszerű eldönteni. Ez csak a táblán levő bábuktól fajtájától (nem jut eszembe jobb szó) függ. pl.: ha csak két király van, az biztos, hogy végtelen játékot eredményez. vagy 2 király 1 huszár (asszem)
Abból az állásból, amiből csak végtelen játék következhet nem lehet soha mattot adni.
Tehát a kettes pontod triviálisan teljesül, azaz nem veszthet a gép.
tehát az első két pontod sajnos nem segített semmit :O
azon lépések száma viszont, amivel az 1. pontban leírt állásba eljuthatunk végtelen, tehát brute force megint nem segíthet -
KSanya
tag
válasz
_Volkovy_ #19 üzenetére
A számítási kapacitás konkrétan azt jelenti, hogy pl. milyen gyorsan számolod ki a PI értéket 10millió tizedesjegyig. Ebben a gépek verhetetlenek.
A sakkprogram esetében éppen arról van szó, hogy a gép kiértékelése tökéletlen, mert nem tud gondolkozni.
Ugyanis a gondolkozás nem egyezik meg rengeteg adaton aritmetikai műveletek elvégzésével. És emiatt veszít a gép, mert az csak az utóbbira képes. -
L3zl13
nagyúr
Tanultam valamikor nagyon rég, és elhiszem, hogy nagyonsok lehetőség van.
De azért az az 5milla lépés/ sec sem semmi! És ez még nem egy szuperszámítógép.
Ha tudnánk a lehetséges lépéssorozatok számát, akkor ki lehetne számolni, hogy az adott gépnek mennyi idejébe telne végigszámolni vagy, hogy milyen gép kellene, hogy adott idő alatt kiszámolja, de előbb utóbb eljutunk ide. -
csudri
őstag
-
-
Male
nagyúr
Tanultál Kombinatorikát? Volt egy feladat, amiben csak azt kellett kiszámolni, hogy egy loval hányféleképpen tudsz átjutni a sakktábla egyik végéből a másikba. Na már az sem volt kevés, utának a királlyal, azzal sokkal több. Szerintem ez a gép nem tudja végigjátszani az összes lehetőséget. Csak gondolj bele, hogy hány lépés jöhet még utána, és az ellenfél is bármit léphet minden lépésed után, esetleg teljesen értelmetlent is (vagy legalábbis annak tűnőt), amivel a gép nem valószínű, hogy számol. Ha minden lehetőséget végig tudna próbálni, akkor sem biztos, hogy nyerne (egy döntetlenre viszont komoly esély van, főleg, ha egy másik gép ellen játszik, ami szintén minden lehetőséget végigpróbál).
-
L3zl13
nagyúr
Igazad van, erre nem gondoltam.
Ebben az esetben a következőre módosul a feladat:
1. Meg kell találni a módját, hogy a gép felismerje azt az állapotot, ahonnan már csak végtelen játék jöhet.
2. Meg kell tanítani a gépet, hogy ne veszíthessen ebből a helyzetből, azaz ő is tudjon végtelen játékot játszani. (Szerintem ez már megvan.)
3. Brute force-hoz kellő számítási kapacitás biztosítása.
Innentől nem kell végtelen sok lépést kiszámolni, mert a gép csak addig kell, hogy számoljon, amíg nyert, vagy végtelen játékot (döntetlent) ért el. És így a lépések száma máris végessé változott, és a gépet nem lehet megverni. Max döntetlent elérni.
Kivéve persze ha kellő mennyiségű lépés előre kiszámításával elkerülhető a végtelen játék. Ez már tényleg stratégiát és kemény programozást igényel. -
csudri
őstag
TTT-ben tény, hogy nem fogsz nyerni, viszont kikapni sem! Ha te is ismered a magic-lépést, akkor nem kerekedhet föléd! És ismét a döntetlennél járunk! De kérem ne kasonlítson már egy TTT-t a sakkhoz! Az, hogy egy kalap alá veszed a TTT-t és a sakkot, olyan, mintha egy lapon említenénk egy M3-mas BMW-t és egy robogót! Tény, hogy mind a kettő gurul, de kérem!
-
-
KSanya
tag
Számítókapacitásban egy C64 is simán lenyomja bármelyik embert, pedig az már jónéhány éves.
Na jó, lehet, hogy Szalacsit könnyebben :DD
Az emberi intelligencia inkább a kombinációs/helyzetfelismeréses téren remekel, ahol a gép csak azt tudja tenni, amit a programozó megenged/megmond neki. -
csudri
őstag
De az káosz-elv mindig az ember oldalára billenti a mérlegi. (amíg ezt valahogy bele nem programozzák a gépbe) Ugyanis pont attól több az ember, hogy képes mérlegelni és képes a szarabb dolgot is választani! Egy gépnek hiába akarnád elmondani, hogy a kevesebb néha több! Nem értené meg! Néha látom apámat sakkozni a Karpov chess (vagy mi?) programmal és bucira veri a gépet hard fokozaton is (igaz, hogy közben kap szívinfarktust), mert az ember képes áldozatokra! Mondjuk ott a vezér-áldozat! Nagy dolgot buksz vele, de kit érdekel, ha utánna 2 lépésben mattot adsz? :D
-
KSanya
tag
szvsz itt nem az a probléma, hogy nem számol ki elég lépést a gép, hanem a kiértékelés. Honnan tudja, hogy a kiszámolt lépések közül melyik a legjobb?
Csak valami oly módon, hogy minél több eddig lejátszott játékot tartalmaz, és azokkal hasonlít. Ez viszont baromi idő/memóriaigényes. Szóval szerintem ezekben a programokban nem a proci, hanem a memória a szűk keresztmetszet. (minél nagyobb a memóriája, időegység alatt annyival több/részletesebb álláshoz/játékhoz tud hasonlítani) -
_Volkovy_
nagyúr
Szépen is néznénk ki ha 4 szaros processzor lenyomna egy embert agyi számítókapacitásban..Ez maximum Szalacsi bácsi ellen fordulhat elő.:DDD
-
turho
addikt
És addig nincs nagy baj, amíg a gép csak egy adott dologban /a kismillió emberi dolog között/ esetleg ''legyőzi'' az emnóbert. Amíg az ember szét tudja verni azt a gépet, vagy kihúzni a konnektorból, addig az emberiség /talán/ jó irányban fejlődik. De ha terminátorokat készít, akkor annyi...
-
L3zl13
nagyúr
Hiába improvizál. A szabályok kötöttek.
Ha a játék bizonyos állásából kiindulva a gép képes kiszámolni az összes létező kombinációt, (Ez csak idő kérdése szerintem, bár a lehetőségek nagyságrendjét nem ismerem.) akkor abból csak ki kell választani a legoptimálisabbat, és kész. Onnantól nem lehet nyerni ellene. Kb mint a tic-tac-toe csak nagyban. -
L3zl13
nagyúr
Nem értem. Hogyan lehet nyerni egy gép ellen, ami 5 millió lépést kiszámol másodpercenként.
Ilyen tempóval nem lehet brute force-szal végigszámolni az összes lépést mondjuk n lépésnyire előre? Csak idő és memória kérdése.
Ha igen akkor hogyan lehet megverni? Max ha hibás a szoftver. -
beeboy
addikt
''A szellemi képességeid kihívást jelentettek négy darab 2,8 GHz-es Xeon processzorral és 4 Gbyte memóriával ellátott rendszerem számára. Ez nem kevés.''
én meg felismerem a háziorvos-néni macskakaparását, szóval recognitában kenterbe verek bármilyen gépet! :DD :D -
beeboy
addikt
talán kellett volna húzni az fsb-n.... ;]
Aktív témák
- iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3426, 95% Akkumulátor
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3425, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3424, 94% Akkumulátor
- HP mini pc Ryzen cpu-val ha kicsit játszanál : )
- ZBook Fury 16 G10 16" FHD+ IPS i7-13850HX RTX 2000 Ada 32GB 1TB NVMe ujjolv IR kam gar
- Eladó Huawei P30 128GB / 12 hó jótállással
- Acer TravelMate P214 i3-1115G4 12GB 256GB 14" FHD 1év garancia
- HIBÁTLAN iPhone XS 64GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3030, 100% Akkumulátor
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Asus ROG Flow Z13 WUXGA 120Hz 2in1 Touch i9-12900H 14mag 16GB 512GB Nvidia RTX 3050Ti Win11 Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest