markov
Class FournisseurMarkov

java.lang.Object
  extended by markov.FournisseurMarkov
All Implemented Interfaces:
IFournisseur
Direct Known Subclasses:
ModeleAvecActionsContinues, ModeleAvecActionsDiscretes

public class FournisseurMarkov
extends java.lang.Object
implements IFournisseur

Permet de fournir des données à un modèle markovien. La matrice de transition est supposée stationnaire.

Version:
2.10, 08/05/2003
Author:
Laurent JEANPIERRE

Constructor Summary
FournisseurMarkov()
           
FournisseurMarkov(java.lang.String[] noms, Distribution initiale, Distribution[][] trans, IAction[] lesActions)
          Initialise le fournisseur avec les données du modèle.
 
Method Summary
 void apprend(IAction[] actions, double[][][] gamma1, double[][] gamma2)
          Apprends les probabilités de transition et les probabilités initiales.
 IAction[] getAction()
          Recupere les actions du modèle.
 IAction getAction(int no)
          Recupere les actions du modèle.
 java.lang.String getEtat(int no)
          Recupere le nom d'un etat.
 Distribution getInit()
          Recupère la distribution de probabilités initiale.
 double getInit(int etat)
          Recupère la distribution de probabilités initiale.
 int getNbActions()
          Recupè le nombre d'actions du modèle.
 int getNbEtats()
          Recupè le nombre d'états du modèle.
 Distribution getPSA(int source, IAction action, long dateDebut, long dateFin)
          Récupère une distribution de probabilités de transition.
 double getPSSA(int destination, int source, IAction action, long dateDebut, long dateFin)
          Récupère une probabilité de transition.
 void marqueLu()
          Marque le modèle comme lu.
 void marqueModification()
          Marque le modèle comme modifi&ecute;.
 boolean modeleModifie()
          Indique si le modèle a &ecute;t&ecute; modifi&ecute;.
 void setActions(IAction[] lesActions)
          Règle les actions du modèle.
 void setEtats(java.lang.String[] noms)
          Règle le nom des états du modèle.
 void setInit(Distribution initiale)
          Règle le belief-state initial du modèle.
 void setTransitions(Distribution[][] trans)
          Règle la table des transitions du modèle.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FournisseurMarkov

public FournisseurMarkov(java.lang.String[] noms,
                         Distribution initiale,
                         Distribution[][] trans,
                         IAction[] lesActions)
Initialise le fournisseur avec les données du modèle.

Parameters:
noms - un tableau de String contenant une chaîne par état.
initiale - un Distribution donnant la probabilité initiale de chacun des états.
trans - un tableau[action][etat1] de Distribution donnant la probabilité d'atteindre chaque états à partir de l'état etat1 en utilisant l'action action.

FournisseurMarkov

public FournisseurMarkov()
Method Detail

modeleModifie

public boolean modeleModifie()
Indique si le modèle a &ecute;t&ecute; modifi&ecute;.

Specified by:
modeleModifie in interface IFournisseur

marqueModification

public void marqueModification()
Marque le modèle comme modifi&ecute;.

Specified by:
marqueModification in interface IFournisseur

marqueLu

public void marqueLu()
Marque le modèle comme lu.

Specified by:
marqueLu in interface IFournisseur

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getNbEtats

public int getNbEtats()
Recupè le nombre d'états du modèle.

Specified by:
getNbEtats in interface IFournisseur
Returns:
le nombre d'états du modèle.

getEtat

public java.lang.String getEtat(int no)
Recupere le nom d'un etat.

Specified by:
getEtat in interface IFournisseur
Parameters:
no - le numero de l'etat concerne
Returns:
une chaine contenant le nom de l'etat

getNbActions

public int getNbActions()
Recupè le nombre d'actions du modèle.

Specified by:
getNbActions in interface IFournisseur
Returns:
le nombre d'actions du modèle.

getAction

public IAction[] getAction()
Recupere les actions du modèle.

Specified by:
getAction in interface IFournisseur
Returns:
un tableau de IAction

getAction

public IAction getAction(int no)
Recupere les actions du modèle.

Specified by:
getAction in interface IFournisseur
Parameters:
no - le numero de l'action demandée
Returns:
l'action numéro no

getInit

public Distribution getInit()
Recupère la distribution de probabilités initiale.

Specified by:
getInit in interface IFournisseur
Returns:
la distribution de probabilités.

getInit

public double getInit(int etat)
Recupère la distribution de probabilités initiale.

Parameters:
etat - le numéro de l'état à interroger.
Returns:
la probabilité initiale de etat.

getPSSA

public double getPSSA(int destination,
                      int source,
                      IAction action,
                      long dateDebut,
                      long dateFin)
Récupère une probabilité de transition.

Specified by:
getPSSA in interface IFournisseur
Parameters:
destination - le numéro de l'état final.
source - le numéro de l'état initial.
action - l'action à effectuer pendant cette transition.
dateDebut - le moment où la transition commence.
dateFin - le moment où la transition termine.
Returns:
la probabilité de la transition correspondante.

getPSA

public Distribution getPSA(int source,
                           IAction action,
                           long dateDebut,
                           long dateFin)
Récupère une distribution de probabilités de transition.

Specified by:
getPSA in interface IFournisseur
Parameters:
source - le numéro de l'état initial.
action - l'action à effectuer pendant cette transition.
dateDebut - le moment où la transition commence.
dateFin - le moment où la transition termine.
Returns:
la distribution de probabilités de la transition correspondante.

setActions

public void setActions(IAction[] lesActions)
Règle les actions du modèle.

Parameters:
lesActions - un tableau de IAction

setEtats

public void setEtats(java.lang.String[] noms)
Règle le nom des états du modèle.

Parameters:
noms - un tableau de String contenant une chaîne par état.

setInit

public void setInit(Distribution initiale)
Règle le belief-state initial du modèle.

Parameters:
initiale - un Distribution donnant la probabilité initiale de chacun des états.

setTransitions

public void setTransitions(Distribution[][] trans)
Règle la table des transitions du modèle.

Parameters:
trans - un tableau[action][etat1] de Distribution donnant la probabilité d'atteindre chaque états à partir de l'exécution de l'action action dans l'état etat1.

apprend

public void apprend(IAction[] actions,
                    double[][][] gamma1,
                    double[][] gamma2)
             throws MarkovException
Description copied from interface: IFournisseur
Apprends les probabilités de transition et les probabilités initiales. Fonction optionnelle.

Specified by:
apprend in interface IFournisseur
Parameters:
actions - un tableau[temps] contenant l'action entreprise à chaque pas de temps.
gamma1 - un tableau[temps][états][états] contenant la probabilité de chaque transition à chaque instant.
gamma2 - un tableau[temps][états] contenant la probabilité de chaque état à chaque instant.
Throws:
MarkovException - si les données ne correspondent pas aux observations.