Alfa Béta vágás...
2011-03-24T12:40:37+01:00
2011-03-24T12:40:38+01:00
2022-07-24T17:26:21+02:00
  • C# nyelven készítek egy amőba játékot, és az alfa béta vágással nem igazán vagyok tisztában. Olvastam már elég sok jegyzetet, nézegettem példákat, de nekem még mindig nem tiszta a dolog. A program minimax algoritmussal működik, de már 3-4 mélységben is túl nagy lesz a játékfa. Ezért lenne szükség valami egyszerűsítésre.

    Minimax:
    1. Korlát mélységig előállítom a játékfát.
    2. A levélelemeknek értéket adok a heurisztikus függvény segítségével.
    3. Szintenként felfelé terjesztem a gyerek értékeket.
    4. Ha a kezdőállapotig elértem akkor azt a lépést javaslom ami a kezdőállapot értékével megegyező.

    tehát a minimax algoritmussal tisztában vagyok, legalábbis remélem :), az alfa béta vágással az a problémám, hogy nem igazán tiszta, hogy egyáltalán mikor, hogy működik.
    pl.:
    Elő kell-e állítani az egész játékfát?(korlát mélységig)
    Minden csúcsra kell e alkalmazni a heurisztikus függvényt, hogy értéket adjak neki(Vagy itt is csak a levél elemekre?)?
    Egyáltalán a játékfa melyik végétől kell elkezdeni az alfa béta algoritmust?(Start vagy levélelemektől visszafelé?)
    Az alfa béta vágással a játékfa egyes részeinek a kiértékelését és vizsgálatát úszom meg csak? Vagy az előállítását is?

    Előre elnézést kérek a talán kicsit hülye kérdésekért.
    Válasz ként egy értelmes jegyzet is megtenné, de a legtöbbet az segítene ha valaki a saját szavaival részletesen le tudná írni nekem az algoritmus lépéseit és tudna esetleg válaszolni a mostani és közben felmerülő kérdéseimre.

    Előre is köszönöm a segítséget
    Mutasd a teljes hozzászólást!
Címkék
abcd