argutia.logic.resolution
Class MaillonLitteral

java.lang.Object
  extended by argutia.logic.resolution.Maillon<Literal>
      extended by argutia.logic.resolution.MaillonLitteral
public class MaillonLitteral
extends Maillon<Literal>
Nested Class Summary
 
Nested classes/interfaces inherited from class argutia.logic.resolution.Maillon
Maillon.Etat
 
Field Summary
private Contexte contexte
           
protected LinkedList<MaillonClause> mC_inconnus_contenant_mL_oppose
           
protected LinkedList<MaillonClause> mC_passes_a_satisfait
          Maillons clause à l'état INCONNU passés à l'état SATISFAIT suite à la mise à l'état SATISFAIT du maillon littéral.
protected static Map<Literal,MaillonLitteral> mL_pool
           
protected MaillonLitteral oppose
          Contient le littéral opposé.
 
Fields inherited from class argutia.logic.resolution.Maillon
contents, etat, etiquette, nb_mD_non_affectés
 
Constructor Summary
  MaillonLitteral(Contexte contexte, Literal l)
          Construit un maillon littéral d'étiquette l, ainsi que le maillon littéral opposé.
private MaillonLitteral(Contexte contexte, Literal l, MaillonLitteral oppose)
          Construit un maillon littéral d'etiquette l et d'opposé oppose.
 
Method Summary
 MaillonData add(MaillonData mD)
          Ajoute un maillon contexte (créé par l'ajout d'une clause) en tête de liste.
 void addOccurence()
          Incrémente d'un le nombre de maillons contexte non affectés.
 void clear(Contexte contexte)
           
static MaillonLitteral getInstance(Contexte data, Literal l)
           
 int getNbOccurencesNonAffectées()
           
 MaillonLitteral getOppose()
           
protected boolean isPur()
           
static void memoriser(Contexte data)
           
protected void removeFirstMD()
          Supprime du content le premier maillon contexte.
 void removeOccurence()
          Décrémente d'un le nombre de maillons contexte non affectés.
 void removeSatisfait()
          Réactive les occurences du littéral opposé dans chaque clause INCONNU.
 void setSatisfait()
          Passe le littéral à l'état SATISFAIT et son opposé à l'état INSATISFAIT.
 
Methods inherited from class argutia.logic.resolution.Maillon
equals, getContenu, getEtat, hashCode, setEtat, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Field Detail

mL_pool

protected static final Map<Literal,MaillonLitteral> mL_pool

contexte

private Contexte contexte

mC_inconnus_contenant_mL_oppose

protected final LinkedList<MaillonClause> mC_inconnus_contenant_mL_oppose

mC_passes_a_satisfait

protected final LinkedList<MaillonClause> mC_passes_a_satisfait
Maillons clause à l'état INCONNU passés à l'état SATISFAIT suite à la mise à l'état SATISFAIT du maillon littéral. Cette mémorisation est nécessaire en cas de backtrack pour ne pas remettre à INCONNU une clause déjà satisfaite par un autre maillon littéral.

See Also:
setSatisfait()

oppose

protected MaillonLitteral oppose
Contient le littéral opposé.

See Also:
Literal.getOppose()
Constructor Detail

MaillonLitteral

public MaillonLitteral(Contexte contexte,
                       Literal l)
Construit un maillon littéral d'étiquette l, ainsi que le maillon littéral opposé. Met à jour Maillon.etat selon que le littéral est la tautologie, contradiction ou autre.

Parameters:
contexte - Contexte associé.
l - Littéral étiquette du maillon littéral.

MaillonLitteral

private MaillonLitteral(Contexte contexte,
                        Literal l,
                        MaillonLitteral oppose)
Construit un maillon littéral d'etiquette l et d'opposé oppose. Met à jour Maillon.etat selon que le littéral est la tautologie, contradiction ou autre. Appelé uniquement à partir de #MaillonLitteral(Literal).

Parameters:
l - content du maillon littéral
oppose - maillon littéral opposé
Method Detail

memoriser

public static void memoriser(Contexte data)

getInstance

public static MaillonLitteral getInstance(Contexte data,
                                          Literal l)

clear

public void clear(Contexte contexte)

addOccurence

public void addOccurence()
Incrémente d'un le nombre de maillons contexte non affectés.

add

public MaillonData add(MaillonData mD)
Description copied from class: Maillon
Ajoute un maillon contexte (créé par l'ajout d'une clause) en tête de liste.

Overrides:
add in class Maillon<Literal>
See Also:
Resolution.injecterClause(Clause)
Parameters:
mD - maillon contexte à ajouter en tête de liste
Returns:
l'ancien content de liste afin de mettre à jour les pointeurs nextL ou nextC de mD

getNbOccurencesNonAffectées

public int getNbOccurencesNonAffectées()
Returns:
le nombre d'occurences de ce littéral qui sont à l'état Maillon.Etat.INCONNU.

getOppose

public MaillonLitteral getOppose()
Returns:
le MaillonLitteral dont l'étiquette vaut etiquette.getOppose()

isPur

protected boolean isPur()
Returns:
true s'il existe des occurences non affectées du littéral, et aucune du litteral oppose

removeFirstMD

protected void removeFirstMD()
Supprime du content le premier maillon contexte.

See Also:
MaillonClause.remove()

removeOccurence

public void removeOccurence()
Décrémente d'un le nombre de maillons contexte non affectés.

removeSatisfait

public void removeSatisfait()
Réactive les occurences du littéral opposé dans chaque clause INCONNU. Toutes les clauses INCONNU passée à satisfaites parce qu'elles contiennent le littéral redeviennent INCONNU. Repasse le littéral et son opposé à l'état INCONNU.

setSatisfait

public void setSatisfait()
Passe le littéral à l'état SATISFAIT et son opposé à l'état INSATISFAIT. Toutes les clauses INCONNU contenant le littéral deviennent satisfaites. Désactive les occurences du littéral opposé dans chaque clause INCONNU.

See Also:
MaillonClause.setSatisfait(MaillonLitteral), MaillonClause.removeMLNonAffecte(MaillonLitteral)
Argutia JavaDoc
23 décembre 2007