szd.allapotter.kereso
Class AlfaBeta

java.lang.Object
  extended by szd.allapotter.kereso.AbstractKereso
      extended by szd.allapotter.kereso.AlfaBeta

public class AlfaBeta
extends AbstractKereso

Egy állapottérreprezentációval leírt kétszemélyes játék játékfáját felépítő és abban egy játékosnak lépést ajánló algororitmust megvalósító osztály. Ebben az esetben ez az osztály a MinMax lépésajánló algoritmust implementálja.

Author:
Hucker Dávid

Field Summary
 
Fields inherited from class szd.allapotter.kereso.AbstractKereso
dontShowTree, gameTree, gyokerElem, maximumDepth, operator, recursionCounter, rootNode, route, showTree, visualizeTree
 
Constructor Summary
AlfaBeta()
           
AlfaBeta(Game g, int depth, boolean treeVisualization)
          Publikus konstruktor amely beállítja a keresés mélységét és a kiinduló gyökérelemet és felépítteti a játékfát.
 
Method Summary
protected  double createGameTree(int depth, javax.swing.tree.DefaultMutableTreeNode parentNode, Csucs actRoot)
          Deprecated. A createGameTree(int, DefaultMutableTreeNode, Csucs, double, double) metódust használja e helyett!
protected  double createGameTree(int depth, javax.swing.tree.DefaultMutableTreeNode parentNode, Csucs actRoot, double alfa, double beta)
          A játékfát felépítő metódus.
protected  double maxValue(Csucs csucs, javax.swing.tree.DefaultMutableTreeNode parentNode, double alfa, double beta)
           
 double minValue(Csucs csucs, javax.swing.tree.DefaultMutableTreeNode parentNode, double alfa, double beta)
           
 
Methods inherited from class szd.allapotter.kereso.AbstractKereso
getGyokerElem, showTreeWindow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AlfaBeta

public AlfaBeta(Game g,
                int depth,
                boolean treeVisualization)
Publikus konstruktor amely beállítja a keresés mélységét és a kiinduló gyökérelemet és felépítteti a játékfát.

Parameters:
g - A kiinduló játékállapot
depth - A játékfa mélysége ameddig felépítjük
treeVisualization -

AlfaBeta

public AlfaBeta()
Method Detail

createGameTree

protected double createGameTree(int depth,
                                javax.swing.tree.DefaultMutableTreeNode parentNode,
                                Csucs actRoot,
                                double alfa,
                                double beta)
A játékfát felépítő metódus. Rekurzívan minden újonnan létrehozott csomóponton elvégezhető összes operátort elvégzi mindaddig amíg célállapotot nem ér vagy el nem éri a maximális mélységet.

Parameters:
depth - Az aktuális mélység
parentNode - Grafikus megjelenítésnél szereplő szülő csomópont
actRoot - Játékfában az aktuálisan létrehozott csomópont amelyen végrehajtjuk az összes lehetséges operátort

maxValue

protected double maxValue(Csucs csucs,
                          javax.swing.tree.DefaultMutableTreeNode parentNode,
                          double alfa,
                          double beta)

minValue

public double minValue(Csucs csucs,
                       javax.swing.tree.DefaultMutableTreeNode parentNode,
                       double alfa,
                       double beta)

createGameTree

@Deprecated
protected double createGameTree(int depth,
                                           javax.swing.tree.DefaultMutableTreeNode parentNode,
                                           Csucs actRoot)
Deprecated. A createGameTree(int, DefaultMutableTreeNode, Csucs, double, double) metódust használja e helyett!

Specified by:
createGameTree in class AbstractKereso