|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmarkov.FournisseurMarkov
markov.flux.ModeleAvecActionsDiscretes
public class ModeleAvecActionsDiscretes
Propose les données d'un modèle markovien. Cette variante propose des actions discrètes, échantillonnées à pas constant. Fournit également une récompense pour des modèles de décision.
ModeleAvecActionsContinues
,
Serialized FormField Summary | |
---|---|
static java.lang.String |
description
Renvoie une chaîne décrivant le rôle de la boîte. |
Constructor Summary | |
---|---|
ModeleAvecActionsDiscretes(ObjectDrawingFrame odf)
|
|
ModeleAvecActionsDiscretes(ObjectDrawingFrame odf,
java.util.Collection data)
|
|
ModeleAvecActionsDiscretes(java.lang.String[] etats,
java.lang.String[] actions,
Distribution initiale,
Distribution[][] trans)
Initialise le fournisseur avec les données du modèle. |
Method Summary | |
---|---|
void |
add(int entree,
java.lang.Object valeur)
Introduit une donnée dans cette section du flux. |
void |
addBlock(int entree,
java.util.Collection valeur)
Introduit un bloc de données dans cette section du flux. |
void |
addRecompense(int etat,
IAction action,
double increment)
|
void |
changeEntryType(int no,
java.lang.Class type)
Modifie le type dynamique du flux. |
void |
changeExitType(int no,
java.lang.Class type)
Modifie le type dynamique du flux. |
void |
connect(IFlux autre)
Connecte la sortie du flux à l'entrée d'une autre section du flux. |
void |
connect(IFlux autre,
int entree)
Connecte la sortie du flux à une entrée d'une autre section du flux. |
void |
connect(int sortie,
IFlux autre)
Connecte l'une des sorties du flux à l'entrée d'une autre section du flux. |
void |
connect(int sortie,
IFlux autre,
int entree)
Connecte l'une des sorties du flux à une entrée d'une autre section du flux. |
void |
connectBack(int entree,
IFlux autre,
int sortie)
Connecte l'une des entrées du flux à une sortie d'une autre section du flux afin d'obtenir un flux bidirectionnel. |
java.lang.String |
descriptionEntree(int no)
Retourne la description de l'une des broches d'entrée. |
java.lang.String |
descriptionSortie(int no)
Retourne la description de l'une des broches de sortie. |
java.lang.String |
descriptionUtilise(int no)
Retourne la description de l'une des broches d'utilisation. |
void |
disconnect(int index)
Deconnecte la sortie index . |
double[] |
domaine(int no)
Renvoie le domaine de validité d'un paramètre. |
void |
drawRealObject(java.awt.Graphics g)
Dessine l'objet visuel sur le contexte passé en paramètre. |
void |
dumpLocks()
Liste les modules ayant vérrouillé ce module. |
void |
generateCode(java.io.FileWriter file)
Code for initialisation overriding method in BoxModelObject * |
void |
generateConnections(java.io.FileWriter file)
Code for the connections generated by individual connections * |
BoxObject |
getBox()
Renvoie la boîte associée au modèle durant le design. |
BuildingPanel |
getBuildingPanel(boolean lockedBox)
Récupère le panneau de conception de ce module. |
javax.swing.JPanel |
getDebugPanel()
Renvoie un JPanel permettant d'agir sur le fonctionnement du module. |
Entree |
getEntry(int index)
Recupère l'interface de l'une des entrées. |
int |
getEntryNb()
Combien d'entrées sont disponibles ? |
java.lang.Class |
getEntryType(int no)
Renvoie le type des entrées du flux. |
Sortie |
getExit(int index)
Renvoie la sortie dont le numéro est specifié |
int |
getExitNb()
Combien de sorties sont disponibles ? |
java.lang.Class |
getExitType(int no)
Renvoie le type des sorties du flux. |
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. |
BoxModelObject |
getUse(int broche)
Renvoie l'un des objets en cours d'utilisation. |
int |
getUseNb()
Combien de broches d'utilisation sont disponibles ? |
java.lang.Class |
getUseType(int no)
Renvoie le type des broches d'utilisation du flux. |
double |
getValeur(int etat,
IAction action)
Renvoie une récompense particulière. |
boolean |
isUsing(int broche)
Indique si la broche est en cours d'utilisation. |
void |
lock(java.lang.Object qui)
Verrouille l'objet pour modification |
int |
nbParametres()
Renvoie le nombre de paramètres de la fonction. |
double |
parametre(int no)
Renvoie la valeur d'un paramètre. |
void |
printDescriptif(java.io.Writer flux,
int no)
Décrit un paramètre. |
void |
raz(int entree)
Signale une remise à zéro du flux. |
void |
razBlock(int entree,
java.util.Collection valeur)
Modifie les données. |
void |
regleParametre(int no,
double valeur)
Règle un paramètre. |
void |
resetValides()
|
java.lang.Class |
retourAutorise(int no)
Indique pour quel type de boîte connectée à l'une des broches d'entrée un retour est autorisé. |
void |
sauvegarde_donnees(java.io.Writer fic)
Sauvegarde les données du flux dans fic . |
void |
setActions(IAction[] lesActions)
Règle les actions du modèle. |
void |
setBox(BoxObject with)
Associe le modèle avec une boîte à utiliser durant le design. |
void |
setEtats(java.lang.String[] noms)
Règle le nom des états du modèle. |
void |
setRecompense(int etat,
IAction action,
double valeur)
|
void |
setRecompenses(double[][] award)
Règle la table des recompenses du modèle. |
void |
setReglage()
Empêche la fonction de faire des calculs à chaque règlage de paramètre. |
void |
setTransitions(Distribution[][] trans)
Règle la table des transitions du modèle. |
void |
setTransitions(double[][][] trans)
Règle la table des transitions du modèle. |
void |
setValide(int no)
|
IFlux |
twin()
Crée un clone du flux courant. |
void |
unlock(java.lang.Object qui)
Deverrouille l'objet en fin de modification |
void |
unsetReglage()
Pré la fonction en faisant les calculs nécessaires à la finalisation des règlages des paramètres. |
void |
unUse(int broche)
Libère la broche. |
void |
use(int broche,
java.lang.Object autre)
Connecte l'une des broches du flux à un autre objet du flux. |
double |
valeur()
Renvoie la valeur actuelle de la fonction. |
Methods inherited from class markov.FournisseurMarkov |
---|
apprend, getAction, getAction, getEtat, getInit, getInit, getNbActions, getNbEtats, marqueLu, marqueModification, modeleModifie, setInit, toString |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static java.lang.String description
Constructor Detail |
---|
public ModeleAvecActionsDiscretes(java.lang.String[] etats, java.lang.String[] actions, Distribution initiale, Distribution[][] trans)
etats
- un tableau de String
contenant une chaîne par état.actions
- un tableau de String
contenant une chaîne par action.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'exécution de l'action action
dans l'état etat1
.public ModeleAvecActionsDiscretes(ObjectDrawingFrame odf, java.util.Collection data)
public ModeleAvecActionsDiscretes(ObjectDrawingFrame odf)
Method Detail |
---|
public void setEtats(java.lang.String[] noms)
setEtats
in class FournisseurMarkov
noms
- un tableau de String
contenant une chaîne par état.public void setActions(IAction[] lesActions)
setActions
in class FournisseurMarkov
lesActions
- un tableau de IAction
public void setTransitions(double[][][] trans)
trans
- un tableau[action][etat1][etat2] donnant la probabilité d'atteindre etat2
à partir de l'exécution de l'action action
dans etat1
.public void setRecompenses(double[][] award)
award
- un tableau[action][etat] donnant la récompense associée au choix de d'une action dans un état.public void setTransitions(Distribution[][] trans)
setTransitions
in class FournisseurMarkov
trans
- un tableau[etat1][action] de Distribution
donnant la probabilité d'atteindre chaque états à partir de l'exécution de l'action action
dans l'état etat1.public double getPSSA(int destination, int source, IAction action, long dateDebut, long dateFin)
getPSSA
in interface IFournisseur
getPSSA
in class FournisseurMarkov
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.
public Distribution getPSA(int source, IAction action, long dateDebut, long dateFin)
getPSA
in interface IFournisseur
getPSA
in class FournisseurMarkov
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.
public void sauvegarde_donnees(java.io.Writer fic) throws java.io.IOException
fic
.
La sauvegarde est faite en ASCII.
sauvegarde_donnees
in interface BoxModelObject
fic
- le Writer
dans lequel il faut écrire.
java.io.IOException
public BuildingPanel getBuildingPanel(boolean lockedBox)
BoxModelObject
getBuildingPanel
in interface BoxModelObject
public void generateCode(java.io.FileWriter file)
generateCode
in interface BoxModelObject
file
- le fichier dans le quel le code sera écrit.public void generateConnections(java.io.FileWriter file)
generateConnections
in interface BoxModelObject
file
- le fichier dans le quel le code sera écrit.public void drawRealObject(java.awt.Graphics g)
BoxModelObject
drawRealObject
in interface BoxModelObject
g
- le contexte graphique sur lequel il faut dessiner.public BoxObject getBox()
BoxModelObject
getBox
in interface BoxModelObject
BoxObject
correspondant à l'interface entre le IFlux
et l'application de design.public void setBox(BoxObject with)
BoxModelObject
setBox
in interface BoxModelObject
with
- un BoxObject
contenant les donnés;es de l'interface visuelle.public javax.swing.JPanel getDebugPanel()
JPanel
permettant d'agir sur le fonctionnement du module.
getDebugPanel
in interface IFlux
null
si aucun panneau n'est disponible.public IFlux twin()
twin
in interface IFlux
public java.lang.Class getExitType(int no) throws java.lang.IllegalArgumentException
getExitType
in interface IFlux
no
- le numéro de la sortie interrogé
Class
correspondant à la sortie no
.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbSorties()
-1.public int getEntryNb()
getEntryNb
in interface IFlux
public int getExitNb()
getExitNb
in interface IFlux
public java.lang.String descriptionEntree(int no)
descriptionEntree
in interface BoxModelObject
no
- un entier contenant le numéro de la broche à interroger.public java.lang.String descriptionSortie(int no)
descriptionSortie
in interface BoxModelObject
no
- un entier contenant le numéro de la broche à interroger.public java.lang.Class getEntryType(int no) throws java.lang.IllegalArgumentException
getEntryType
in interface IFlux
no
- le numéro de l'entrée interrogé
Class
correspondant à l'entrée no
.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbEntrees()
-1.public void add(int entree, java.lang.Object valeur)
add
in interface IFlux
entree
- le numéro de l'entrée à remplir.valeur
- la donnée. Elle doit se conformer au type typeEntree(entree)
.public void addBlock(int entree, java.util.Collection valeur)
addBlock
in interface IFlux
entree
- le numéro de l'entrée à remplir.valeur
- les données. Elles doivent toutes se conformer au type typeEntree(entree)
.public void raz(int entree)
raz
in interface IFlux
entree
- le numéro de l'entrée à réinitialiser.public void connect(int sortie, IFlux autre, int entree) throws java.lang.IllegalArgumentException
connect
in interface IFlux
sortie
- le numéro de la sortie à connecter.autre
- la section de flux à connecter à la sortie.entree
- le numéro de l'entrée de autre
à connecter sur la sortie.
java.lang.IllegalArgumentException
- si sortie
n'est pas entre 0 et nbSorties()
-1.
java.lang.IllegalArgumentException
- si entree
n'est pas entre 0 et autre.nbEntrees()
-1.
java.lang.IllegalArgumentException
- si le type de l'entrée ne correspond pas au type de la sortie.public void connect(IFlux autre, int entree) throws java.lang.IllegalArgumentException
autre
- la section de flux à connecter à la sortie.entree
- le numéro de l'entrée de autre
à connecter sur la sortie.
java.lang.IllegalArgumentException
- si le flux a plus d'une sortie.
java.lang.IllegalArgumentException
- si entree
n'est pas entre 0 et autre.nbEntrees()
-1.
java.lang.IllegalArgumentException
- si le type de l'entrée ne correspond pas au type de la sortie.public void connect(IFlux autre) throws java.lang.IllegalArgumentException
autre
- la section de flux à connecter à la sortie.
java.lang.IllegalArgumentException
- si le flux a plus d'une sortie.
java.lang.IllegalArgumentException
- si autre
a plus d'une entré.
java.lang.IllegalArgumentException
- si le type de l'entrée ne correspond pas au type de la sortie.public void connect(int sortie, IFlux autre) throws java.lang.IllegalArgumentException
sortie
- le numéro de la sortie à connecter.autre
- la section de flux à connecter à la sortie.
java.lang.IllegalArgumentException
- si sortie
n'est pas entre 0 et nbSorties()
-1.
java.lang.IllegalArgumentException
- si autre
a plus d'une entré.
java.lang.IllegalArgumentException
- si le type de l'entrée ne correspond pas au type de la sortie.public void changeEntryType(int no, java.lang.Class type) throws java.lang.IllegalAccessException
changeEntryType
in interface IFlux
no
- le numéro de l'entrée à modifier.type
- le type dynamique de cette entrée
java.lang.IllegalAccessException
- si cette entrée est incompatible avec type
public void changeExitType(int no, java.lang.Class type) throws java.lang.IllegalAccessException
changeExitType
in interface IFlux
no
- le numéro de la sortie à modifier.type
- le type dynamique de cette sortie
java.lang.IllegalAccessException
- si cette sortie est incompatible avec type
public void lock(java.lang.Object qui)
lock
in interface IFlux
qui
- la référence de l'appelantpublic void unlock(java.lang.Object qui) throws java.lang.IllegalAccessException
unlock
in interface IFlux
qui
- la référence de l'appelant
java.lang.IllegalAccessException
- si qui
n'a pas verrouillé ce flux.public void razBlock(int entree, java.util.Collection valeur)
raz
+ ajouterBloc
.
razBlock
in interface IFlux
entree
- le numéro de l'entrée à actualiser.valeur
- le bloc de valeurs à envoyer.public Entree getEntry(int index)
getEntry
in interface IFlux
index
- le numéro de l'entrées à récupérer.
Entree
gèrant cette entrées.
java.lang.IllegalArgumentException
- si index
n'est pas entre 0 et nbEntrees()
-1.public Sortie getExit(int index)
getExit
in interface IFlux
index
- le numéro de la sortie à recupèrer.
Sortie
correspondant au numéro demandé, ou null
si elle n'existe pas.public void disconnect(int index)
index
.
disconnect
in interface IFlux
index
- le numéro de la sortie à deconnecter.
java.lang.IllegalArgumentException
- si index
n'est pas entre 0 et nbSorties()
-1.public void dumpLocks()
IFlux
dumpLocks
in interface IFlux
public int getUseNb()
getUseNb
in interface IFlux
public java.lang.Class getUseType(int no) throws java.lang.IllegalArgumentException
getUseType
in interface IFlux
no
- le numéro de la broche interrogé
Class
correspondant à la broche no
.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbUtilise()
-1.public void use(int broche, java.lang.Object autre) throws java.lang.IllegalArgumentException
use
in interface IFlux
broche
- le numéro de la broche à connecter.autre
- l'objet à utiliser
java.lang.IllegalArgumentException
- si broche
n'est pas entre 0 et nbUtilise()
-1.
java.lang.IllegalArgumentException
- si le type de autre
ne correspond pas au type de la broche.public java.lang.String descriptionUtilise(int no)
descriptionUtilise
in interface BoxModelObject
no
- un entier contenant le numéro de la broche à interroger.public boolean isUsing(int broche) throws java.lang.IllegalArgumentException
isUsing
in interface IFlux
broche
- le numéro de la broche à tester.
java.lang.IllegalArgumentException
- si broche
n'est pas entre 0 et nbUtilise()
-1.public BoxModelObject getUse(int broche) throws java.lang.IllegalArgumentException
getUse
in interface IFlux
broche
- le numéro de la broche à tester.
java.lang.IllegalArgumentException
- si broche
n'est pas entre 0 et nbUtilise()
-1.public void unUse(int broche) throws java.lang.IllegalArgumentException
unUse
in interface IFlux
broche
- le numéro de la broche à déconnecter.
java.lang.IllegalArgumentException
- si broche
n'est pas entre 0 et nbUtilise()
-1.public java.lang.Class retourAutorise(int no)
retourAutorise
in interface BoxModelObject
no
- un entier contenant le numéro de la broche à interroger.
null
si aucun retour n'est autorisépublic void connectBack(int entree, IFlux autre, int sortie) throws java.lang.IllegalArgumentException
connectBack
in interface IFlux
entree
- le numéro de l'entrée à connecter sur la sortie.autre
- la section de flux à connecter à la sortie.sortie
- le numéro de la sortie de autre
à connecter.
java.lang.IllegalArgumentException
- si entree
n'est pas entre 0 et nbEntrees()
-1.
java.lang.IllegalArgumentException
- si sortie
n'est pas entre 0 et autre.nbSorties()
-1.
java.lang.IllegalArgumentException
- si le type de autre
n'est pas acceptable pour un retour.public double getValeur(int etat, IAction action) throws java.lang.IllegalArgumentException
getValeur
in interface IRecompense
etat
- le numéro de l'état source.action
- l'action choisie.
java.lang.IllegalArgumentException
- si l'action n'est pas supportée.public void setRecompense(int etat, IAction action, double valeur)
public void addRecompense(int etat, IAction action, double increment)
public void resetValides()
public void setValide(int no)
public double valeur()
valeur
in interface IFonction
double
contenant le résultat de la fonction avec les paramètres actuels.public int nbParametres()
nbParametres
in interface IFonction
int
contenant le le nombre de paramètres de la fonction.public void printDescriptif(java.io.Writer flux, int no) throws java.lang.IllegalArgumentException, java.io.IOException
printDescriptif
in interface IFonction
flux
- le flux où envoyer la description.no
- le numéro du paramètre à interroger.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbParametres()
.
java.io.IOException
public void setReglage()
setReglage
in interface IFonction
public void unsetReglage()
unsetReglage
in interface IFonction
public double[] domaine(int no) throws java.lang.IllegalArgumentException
domaine
in interface IFonction
no
- le numéro du paramètre à interroger.
double[2]
contenant respectivement la borne inférieure et supérieure de l'intervalle de validité du paramètre numéro no
.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbParametres()
.public void regleParametre(int no, double valeur) throws java.lang.IllegalArgumentException
regleParametre
in interface IFonction
no
- le numéro du paramètre à règler.valeur
- la valeur du paramètre.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbParametres()
.
java.lang.IllegalArgumentException
- si valeur
n'est pas dans le domaine de validité du paramètre.public double parametre(int no) throws java.lang.IllegalArgumentException
parametre
in interface IFonction
no
- le numéro du paramètre à interroger.
java.lang.IllegalArgumentException
- si no
n'est pas entre 0 et nbParametres()
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |