markov
Class ValueIteration

java.lang.Object
  extended by markov.ValueIteration
Direct Known Subclasses:
MonVI

public class ValueIteration
extends java.lang.Object

implante une politique basee sur un mdp avec recompense inclus value iteration, permettant l'estimation d'une politique optimale

Version:
2.01, 08/05/2003
Author:
Renato DA-COSTA, Laurent JEANPIERRE

Constructor Summary
ValueIteration(IRecompense recompense, IFournisseur modele)
          Initialise l'algorithme avec un modèle et une récompense.
 
Method Summary
 IAction actionOptimale(int etat)
          Donne l'action optimale à effectuer.
 void afficherValeurs()
          Affiche la matrice des QValues.
 void computeValueIteration(int horizon, double gam)
          Calcul de la politique de proche en proche.
 IAction[] getPolitique()
          Renvoie la politique calculée.
 double[][] getQValue()
          Renvoie un tableau[etat][action] de valeurs.
 double[] getQValue(int etat)
          Renvoie un tableau[action] de valeurs attendues pour chaque action effectuée dans etat.
 double getQValue(int etat, int action)
          Renvoie un la valeur attendue de action effectuée dans etat.
 void oneStep(double decroissance)
          Effectue un pas de calcul.
 void resetValeurs()
          Remet l'ensemble des calculs à zéro.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ValueIteration

public ValueIteration(IRecompense recompense,
                      IFournisseur modele)
Initialise l'algorithme avec un modèle et une récompense.

Parameters:
recompense - la récompense fournie au système.
modele - le modèle markovien.
Method Detail

getPolitique

public IAction[] getPolitique()
Renvoie la politique calculée.

Returns:
un tableau[état] de IAction.

getQValue

public double[][] getQValue()
Renvoie un tableau[etat][action] de valeurs.


getQValue

public double[] getQValue(int etat)
Renvoie un tableau[action] de valeurs attendues pour chaque action effectuée dans etat.

Parameters:
etat - l'état dans lequel se fait l'action.
Returns:
un tableau[action] de récompenses

getQValue

public double getQValue(int etat,
                        int action)
Renvoie un la valeur attendue de action effectuée dans etat.

Parameters:
etat - l'état dans lequel se fait l'action.
action - le numéro de l'action à faire.
Returns:
la valeur attendue.

actionOptimale

public IAction actionOptimale(int etat)
Donne l'action optimale à effectuer.

Parameters:
etat - le numéro de l'é interrogé.
Returns:
l'action optimale pour l'état etat.

resetValeurs

public void resetValeurs()
Remet l'ensemble des calculs à zéro.


computeValueIteration

public void computeValueIteration(int horizon,
                                  double gam)
Calcul de la politique de proche en proche. Le chemin calculé est un chemin réalisable, même si ce n'est pas forcément le chemin optimal.

Parameters:
horizon - le nombre de pas de calcul à effectuer.
gam - le facteur de remise (discount-factor).

oneStep

public void oneStep(double decroissance)
Effectue un pas de calcul.

Parameters:
decroissance - le facteur de remise (discount-factor).

afficherValeurs

public void afficherValeurs()
Affiche la matrice des QValues. Chaque ligne donne la valeur des différentes actions dans un état.