2#ifndef SI_FOLD_FOLDFAKEREL_H
3#define SI_FOLD_FOLDFAKEREL_H
41 typedef std::map<const CGraph*, Relmap>
FakeRels;
57 const std::map<Vertex*, std::string> & changes );
63 const std::map<Vertex*, std::string> & changes );
68 const std::string & label2 );
78 std::map<std::string, int>
_ltoi;
Graphes avec étiquettes et gestion de cliques (classe abstraite).
Evalue les instances de relations qui n'existent pas dans le modèle.
virtual double prop(const Clique *cl)
Propagation (réponse du modèle)
virtual Relmap init(const CGraph &cg)
virtual double update(const CGraph &cg, Relmap &relm)
virtual void buildTree(Tree &tr) const
(devrait être externe à la classe...)
virtual double update(const Clique *cl, const std::map< Vertex *, std::string > &changes)
Change les états internes pour les noeuds de la liste changes, chacun avec son ancien nom.
void deleteGraph(Relmap rmap)
FoldFakeRel(Model *parent=0)
Relmap allocGraph(const CGraph *cg)
Reldescr * relDescr(const CGraph *cg, const std::string &label1, const std::string &label2)
FakeRels _rels
Table graphe :-> tableau des relations.
std::map< std::string, int > _ltoi
Conversion label -> indice.
std::map< const CGraph *, Relmap > FakeRels
tableau graphe -> Relmap
virtual double prop(const Clique *cl, const std::map< Vertex *, std::string > &changes)
Ce prop() est utilisé pour tester un changement: on ne fait pas d'update() avant, et il n'est pas effec...
Reldescr ** Relmap
tableau indices -> Reldescr
virtual double update(const Clique *cl)
Met à jour les états internes du modèle (au besoin) Cette fonction doit être appelée après chaque changement de l...
FoldFakeRel(const FoldFakeRel &fr)
virtual Model * clone() const
Duplication (fonction abstraite)
MGraph * _mgraph
Graphe modèle.
void setMGraph(MGraph *mg)
Graph modèle (classe abstraite).
virtual Model * parent()
Donne le parent direct (0 si pas de parent)
#define DECLARE_GENERIC_OBJECT_TYPE(T)
Description d'une relation.