Documentation du code

Fonctions utilitaires pour gérer des facteurs de certitude.

moteur_avec_variables_fc.facteurs_certitude.fc_et(fc1, fc2)

Calcule le facteur de certitude d’une conjonction de faits.

moteur_avec_variables_fc.facteurs_certitude.fc_ou(fc1, fc2)

Calcule le facteur de certitude d’une disjonction de faits.

class moteur_avec_variables_fc.regle_avec_variables_fc.RegleAvecVariables_FC(conditions, conclusion, fc=1.0)

Représentation d’une règle d’inférence pour le chaînage avec variables.

__init__(conditions, conclusion, fc=1.0)

Construit une règle étant donné une liste de conditions, une conclusion et un facteur de certitude associé.

Paramètres:
  • conditions (list) – une collection de propositions (pouvant contenir des variables) nécessaires à déclencher la règle.
  • conclusion – la proposition (pouvant contenir des variables) résultant du déclenchement de la règle.
  • fc – le facteur de certitude associé.
__repr__()

Représentation d’une règle sous forme de string.

depend_de(fait, methode)

Vérifie qu’un fait fait partie, sous réserve de substitution, des conditions de la règle.

Paramètres:
  • fait – un fait qui doit faire partie des conditions de déclenchement.
  • methodeFiltre ou Unificateur, détermine le type de pattern match à appliquer.
Retourne:

un dictionnaire qui attribue un environnement à chaque condition qui peut être satisfaite par le fait pasée en paramètre. False si aucune condition n’est satisfaite par le fait.

satisfaite_par(faits, cond, env, env_fc, methode)

Vérifie que des faits suffisent, sous réserve de substitution, à déclencher la règle.

Paramètres:
  • faits (list) – une liste de faits.
  • cond – la condition qui a donné lieu à env par le pattern match.
  • env (dict) – un environnement de départ déjà établi par depend_de.
  • env_fc – le facteur de certitude associé à env.
  • methodeFiltre ou Unificateur, détermine le type de pattern match à appliquer.
Retourne:

une liste d’environnements qui correspondent à toutes les substitutions possibles entre les conditions de la règle et les propositions. On retourne une liste vide si au moins une condition ne peut être satisfaite.

class moteur_avec_variables_fc.connaissance_fc.BaseConnaissances_FC

Une base de connaissances destinée à contenir les faits et les règles d’un système de chaînage avec facteurs de certitude.

__init__()

Construit une base de connaissances.

ajoute_faits(faits)

Ajoute une liste de faits dans la base de connaissances.

Paramètres:faits (list) – une liste de faits.
ajoute_regles(descriptions)

Ajoute des règles dans la base de connaissance.

L’argument est une liste de descriptions, chacune composée d’une liste de conditions, d’une conséquence et optionnellement d’un facteur de certitude.

Paramètres:descriptions (list) – une liste de descriptions de règles.
ajoute_un_fait(fait)

Ajoute un fait dans la base de connaissances.

Un fait est un tuple composé du fait proprement dit, c’est-à-dire une proposition sans variable, et optionnellement d’un scalaire représentant son facteur de certitude.

Paramètres:fait – un fait.
ajoute_une_regle(description)

Ajoute une règle dans la base de connaissances étant donné sa description.

Une règle est décrite par une liste (ou un tuple) de deux ou trois éléments: une liste de conditions, une conclusion et un facteur de certitude optionnel.

Les conditions et la conclusion doivent être des propositions.

Paramètres:description – une description de règle.
class moteur_avec_variables_fc.chainage_avant_avec_variables_fc.ChainageAvantAvecVariables_FC(connaissances, methode=None)

Bases: moteur_sans_variables.chainage.Chainage

Un moteur d’inférence à chaînage avant avec variables.

ChainageAvantAvecVariables_FC.__init__(connaissances, methode=None)
Paramètres:methodeFiltre ou Unificateur, détermine le type de pattern match à appliquer. Filtre par défaut.
ChainageAvantAvecVariables_FC.affiche_solutions(indent=None)

Affiche les solutions d’un chaînage après l’appel à chaine.

Paramètres:indent (str) – l’identation souhaitée au début de chaque ligne (quatre espaces par défaut).
ChainageAvantAvecVariables_FC.affiche_trace(indent=None)

Affiche la trace d’un chaînage après l’appel à chaine.

Paramètres:indent (str) – l’identation souhaitée au début de chaque ligne (quatre espaces par défaut).
ChainageAvantAvecVariables_FC.chaine()

Effectue le chaînage avant sur les faits et les règles contenus dans la base de connaissances.

ChainageAvantAvecVariables_FC.instancie_conclusion(regle, envs_et_fcs)

Instancie la conclusion d’une règle pour tous les environnements.

Paramètres:
  • regle – la règle dont la conclusion doit être instanciée.
  • envs_et_fcs (list) – une liste de paires d’environnements et de facteurs de certitude servant à instancier la conclusion de la règle.
Retourne:

une liste de propositions correspondant aux différentes instanciations de la conclusion.

ChainageAvantAvecVariables_FC.reinitialise()

Réinitialise le moteur.

La trace et les solutions sont à nouveau vides après l’appel à cette méthode.