Sakk Elemző Java Applet
2010-06-08T16:01:39+02:00
2010-07-12T11:16:09+02:00
2022-06-29T07:00:24+02:00
  • Magam is mesterjelölt sakkozó vagyok, és játszom csapatban mind a mai napig, nem gond a lépések leképezése, sőt 3 hónap alatt (azelőtt meg 1,5 év java programozás, tanulás, illetve elégszer megbuktam ahhoz , hogy megtanuljam :D ) sikerült odáig eljutnom, hogy már nem a progival, hanem a szakdolgozattal kell foglalkoznom.
    Ahhoz hogy egy ilyen progi (giga) erős legyen ahhoz egy egész java programozó csapatnak kell dolgozni rajta, egyedül nem is menne. Köszönöm mindenkinek a jó tanácsot. A fórumot lezártnak tekintem :D
    Mutasd a teljes hozzászólást!
  • Azért jó lesz valami imádkozás motort is beszerezni, arra az időpontra amikor diplomamunka védése történik.
    Ugyanis, ha bárki a bizottságból tud sakkozni, és észreveszi, hogy nem a saját motorod végzi az elemzést, bizony könnyen kivághatnak.
    Én valaha igazolt sakkversenyző voltam, I. osztályú szintet értem el. Erre alapozva írom a véleményemet, az M.I.-nek tartalmaznia kell az elemző motort, vagyis neked kell megírnod, önerőből.
    Lépést csak úgy lehet generálni, hogy elemzed az állást. Lehet minmax algoritmust használni, de erősen kétlem, hogy egy gyenge kezdő kisiskolás ellen 50%-nál többet érne el.
    IMHO
    Mutasd a teljes hozzászólást!
  • tenser a pontot te kapod, de utolsó kérdésed törölném :D
    Érdekel a dolog nagyon is, saját megoldást előnyben részesítem! :D
    Rengeteget haladtam az ötleteiddel, csak utána kell nézni mindennek :D Abban még segíts kérlek, hogyan tudom a pontot neked ítélni? :D
    Mutasd a teljes hozzászólást!
  • Csatlakozom a többiekhez, én sem értelek, pedig én csináltam ilyet sok éve C++-ban.
    A sakkprogram elemző része és a gép elleni játék ugyanazon az elven épül. Egy állás elemzése kereséssel történik, ami egyúttal azt is megmondja, mi az adott fél legjobb lépése.
    Megírod a lépésgenerálást és a minimax algoritmust. Ha ez működik, akkor jöhet az alphabeta. Aztán lehet kiegészíteni a keresést hash-táblával, hogy ugyanazt az állást ne vizsgálja többször, majd quiescence kereséssel, hogy a horizont effektust kikerüld. Ennyit egy alap sakkprogramnak tudnia kell. Persze ez elég sok munka, de diplomamunkát nem is egy hétvége alatt kell összedobni.
    Ezután ha azt akarod, hogy elejétől a végéig értelmesen le tudjon játszani egy partit, akkor kell még egy megnyitási adatbázis, és a végjátékra is fel kell készíteni.
    Persze ha csak a guit akarod megírni, akkor elég, ha a lehetséges lépéseket le tudod generálni, a gép meg majd random választ...
    Vagy letöltheted mások megoldásait, de ha nem is érdekel a dolog, akkor miért ezt választottad diplomamunkának?
    Mutasd a teljes hozzászólást!
  • Hosszabb keresgélés után találtam egy engine-t!

    Viper
    Mutasd a teljes hozzászólást!
  • Szia! A Minimax algoritmussal meg tudod oldani.
    Mutasd a teljes hozzászólást!
  • Egy nagyon egyszerű, de kézenfekvő megoldás:
    Ha már van MI, akkor esetleg lehetne úgy elemeztetni egy adott állást, hogy mind a két fél szerepében az MI-vel előrejátszatsz néhány lépést, és akkor megnézed kinek hány és milyen bábui vannak és ebből kiokoskodni, hogy ki is áll jobban a jelen pillanatban.

    Biztos nagyon ellehetne bonyolítani, de biztosat úgysem tudnál mondani az esélyekről, túl sok a lehetőség, meg vajon megtalálja-e egyáltalán az illető a legjobbnak feltételezett lépést...
    Mutasd a teljes hozzászólást!
  • A gép elleni játékot úgy érted, hogy a gép gondolkodik (elemzi az aktuális lépést) és lép?

    Vagy mi módon lehet még elemezni egy állást? Lehet nem ugyanaz a kettő, de csak ki lehet abból indulni, nem?
    Olyan elemzésre gondolsz, hogy melyik játékos milyen pozícióban van, mennyi esélye van a nyerésre? Nem vagyok nagy sakkos, csak szeretném tisztábban látni. Fejben el tudod végezni ezt az elemzért, csak leprogramozni nem tudod? Vagy fejben sem megy?
    Mutasd a teljes hozzászólást!
  • az MI része maga a gép elleni játék lesz... a másik az elemzés fázis. az elemzés fázishoz kell egy motor és én ezt keresem :D
    Mutasd a teljes hozzászólást!
  • Lehet én értem félre, de az MI-hez nem kell már eleve egy elemző?
    Vagy pont a lényegi részét hagyod ki?

    Ha már van egy állás elemző rutinod, onnantól már bocs, de az egész egy nulla...
    Mutasd a teljes hozzászólást!
  • A gép elleni játék megírását vállaltam (M.I.) a diplomatervben, azt nem h. az elemző motort is én írom, kicsit húzós feladat lenne. konkrétan egy adott állást kellene kiértékelnie, mikor rányomok az elemzés gombra (pl.), (vagy én állítok fel egy állást és azt ) minden egyes megtett lépés után, amelyet egy általam már létrehozott appletbe be tudnám tölteni magát az engine-t. Max az engine átírását még me tudnám variálni, hogy kompatibilis legyen az én változóimmal. Sakktudás nem árt! Mondjuk lenne 1-2 de nem tudom az enyémmel párosítani... mindegy, ha valakit érdekel konrétabban tudok személyes üzit írni ... THY előre is.
    Mutasd a teljes hozzászólást!
  • Én sem értem.

    A "sakk elemző program" végülis mit csinálna?
    Egy konkrét sakk állást kell értékelnie? Vagy egy játszmát elejétől közepéig-végéig? Esetleg több játszmát? Ezeket az adatokat gondolom fájlból olvasná be.

    Akárhogy is van feltételezem valamit konyítania kell a sakkhoz. De én is úgy gondolom, hogy ennél még konkrétabban kellene meghatározni a feladatot. (És persze ne vállaljon az ember olyan feladatot amit nem tud megírni. Főleg ne diplomamunkának.)
    Mutasd a teljes hozzászólást!
  • Ezt csak én nem értem?
    Mutasd a teljes hozzászólást!
  • "Sakk Elemző Java Applet File-ból betölthető elemző motorral"
    most az elemő motor lesz file-ból betölthető, és olyat egyáltalán nem is szándékozol írni?
    Mutasd a teljes hozzászólást!
  • Hát véglis az UI-t ő írná
    Mutasd a teljes hozzászólást!
  • Ha jövőre diplomázol akkor még nem vagy elkésve...
    Mutasd a teljes hozzászólást!
  • Az a kérdésem, van-e valakinek *.java alapú motorja amelyet az általam készített appletben meghívva, le tudnék futtatni?


    Azt nem-e neked kellene megirni..?
    Mutasd a teljes hozzászólást!
  • Jelenleg diplomamunkámat készítem: Sakk Elemző Java Applet File-ból betölthető elemző motorral címen:

    Az a kérdésem, van-e valakinek *.java alapú motorja amelyet az általam készített appletben meghívva, le tudnék futtatni? Vagy esetleg segítséget szeretnék kérni a megvalósításban komoly java programozóktól.
    Köszönettel: cooldance84

    Aki tényleg nagy segítséget is tud bíztosítani azt akár honorláni is tudom. Ezuton az alábbi email címre várom a válaszotokat: cooldance2@freemail.hu
    Mutasd a teljes hozzászólást!
abcd