argutia.logic.resolution
Class MaillonClause

java.lang.Object
  extended by argutia.logic.resolution.Maillon<Clause>
      extended by argutia.logic.resolution.MaillonClause
public class MaillonClause
extends Maillon<Clause>
Nested Class Summary
 
Nested classes/interfaces inherited from class argutia.logic.resolution.Maillon
Maillon.Etat
 
Field Summary
private Contexte contexte
           
protected static Map<Clause,MaillonClause> mC_pool
           
protected boolean mL_deja_present_dans_clauses_unitaires
          Précise si lorsque la clause devient unitaire, son maillon littéral était déjà présent dans Contexte.mL_dans_clauses_unitaires, auquel cas aucun ajout ou suppression ne s'y fera.
protected MaillonData premier_mL_inconnu
          Mis à jour uniquement dans addMLDansClausesUnitaires(MaillonLitteral).
 
Fields inherited from class argutia.logic.resolution.Maillon
contents, etat, etiquette, nb_mD_non_affectés
 
Constructor Summary
MaillonClause(Contexte contexte, Clause c)
           
 
Method Summary
protected void addMLDansClausesUnitaires(MaillonLitteral mL)
          Ajoute, s'il n'était pas déjà présent, le maillon littéral de la clause, fournit en paramètre, dans la liste des littéraux des clauses unitaires, et met à jour mL_deja_present_dans_clauses_unitaires.
 void addMLNonAffecte(MaillonLitteral mL)
          Incrémente le nombre de maillons contexte non affectés suite au passage à l'état INCONNU d'un maillon littéral de la clause.
 void clear(Contexte contexte)
           
static MaillonClause getInstance(Contexte contexte, Clause c)
           
 int getNbLitterauxNonAffectés()
           
static void memoriser(Contexte contexte)
           
protected void remove()
          Supprime la clause et ses maillons contexte du contexte.
protected void removeMLDansClausesUnitaires(MaillonLitteral mL)
           
 void removeMLNonAffecte(MaillonLitteral mL)
          Décrémente le nombre de maillons contexte non affectés suite au passage à l'état INSATISFAIT d'un maillon littéral de la clause.
 void removeSatisfait(MaillonLitteral mL)
          Passage à l'état INCONNU de la clause suite à la remise à l'état INCONNU d'un de ses maillons littéraux (celui passé en paramètre) précédemment à l'état SATISFAIT.
 void setSatisfait(MaillonLitteral mL)
          Passage à l'état SATISFAIT de la clause suite au passage à l'état SATISFAIT d'un de ses maillons littéraux, passé en paramètre.
private void updateEtat()
           
 
Methods inherited from class argutia.logic.resolution.Maillon
add, equals, getContenu, getEtat, hashCode, setEtat, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Field Detail

mC_pool

protected static final Map<Clause,MaillonClause> mC_pool

contexte

private Contexte contexte

mL_deja_present_dans_clauses_unitaires

protected boolean mL_deja_present_dans_clauses_unitaires
Précise si lorsque la clause devient unitaire, son maillon littéral était déjà présent dans Contexte.mL_dans_clauses_unitaires, auquel cas aucun ajout ou suppression ne s'y fera. Repose sur l'aspect LIFO des affectations.

premier_mL_inconnu

protected MaillonData premier_mL_inconnu
Mis à jour uniquement dans addMLDansClausesUnitaires(MaillonLitteral).

Constructor Detail

MaillonClause

public MaillonClause(Contexte contexte,
                     Clause c)
Method Detail

memoriser

public static void memoriser(Contexte contexte)

getInstance

public static MaillonClause getInstance(Contexte contexte,
                                        Clause c)

clear

public void clear(Contexte contexte)

updateEtat

private void updateEtat()

addMLDansClausesUnitaires

protected void addMLDansClausesUnitaires(MaillonLitteral mL)
Ajoute, s'il n'était pas déjà présent, le maillon littéral de la clause, fournit en paramètre, dans la liste des littéraux des clauses unitaires, et met à jour mL_deja_present_dans_clauses_unitaires.

Parameters:
mL - maillon littéral à ajouter dans la liste ittéraux des clauses unitaires

addMLNonAffecte

public void addMLNonAffecte(MaillonLitteral mL)
Incrémente le nombre de maillons contexte non affectés suite au passage à l'état INCONNU d'un maillon littéral de la clause.

Parameters:
mL - maillon littéral de la clause passé à l'état INCONNU

getNbLitterauxNonAffectés

public int getNbLitterauxNonAffectés()
Returns:
le nombre de littéraux de la clause qui sont à l'état Maillon.Etat.INCONNU

remove

protected void remove()
Supprime la clause et ses maillons contexte du contexte.

See Also:
Resolution.removeAffectation()

removeMLDansClausesUnitaires

protected void removeMLDansClausesUnitaires(MaillonLitteral mL)

removeMLNonAffecte

public void removeMLNonAffecte(MaillonLitteral mL)
Décrémente le nombre de maillons contexte non affectés suite au passage à l'état INSATISFAIT d'un maillon littéral de la clause.

Parameters:
mL - maillon littéral de la clause passé de INCONNU à INSATISFAIT

removeSatisfait

public void removeSatisfait(MaillonLitteral mL)
Passage à l'état INCONNU de la clause suite à la remise à l'état INCONNU d'un de ses maillons littéraux (celui passé en paramètre) précédemment à l'état SATISFAIT. On incrémente alors le nombre d'occurences de chaque littéral INCONNU de la clause.

Parameters:
mL - maillon littéral cause du passage à l'état INCONNU de la clause

setSatisfait

public void setSatisfait(MaillonLitteral mL)
Passage à l'état SATISFAIT de la clause suite au passage à l'état SATISFAIT d'un de ses maillons littéraux, passé en paramètre. On décrémente alors le nombre d'occurences de chaque littéral INCONNU de la clause.

Parameters:
mL - maillon littéral de la clause passé de INCONNU à SATISFAIT
Argutia JavaDoc
23 décembre 2007