Arbre

Arbre

classe pour faire des arbres de probabilités

Constructor

new Arbre(parametres)

Source:
Author:
  • <p>Jean-Claude Lhote la classe Arbre permet de définir un arbre de probabilité. à son sommet, il y a un Arbre dont la proba est 1 et qui a la propriété racine = true (c'est le seul) Ses enfants sont eux-mêmes Arbre(s). Une terminaison de l'arbre est un arbre qui a pour enfants [] Un Arbre possède un nom (de type string) qui l'identifie de façon unique (c'est important si on veut éviter des proba aléatoires) chaque Arbre possède une proba. C'est la probabilité qu'on a d'atteindre cet arbre à partir de son parent. exemple : const pins = new Arbre({nom: 'pins',proba: 1, rationnel: true, racine: true) définit la racine de l'arbre pins.enfants[0] = new Arbre(nom: 'malade', proba: 0.3, rationnel: true) pins.enfants[1] = new Arbre(nom: 'sain', rationnel: true, proba: 0.7) Note : on peut aussi utiliser la méthode setFils() par exemple, la dernière assertions peut être remplacée par pins.setFils('sain', 0.7, true)</p>
Parameters:
Name Type Description
parametres object
Properties
Name Type Attributes Description
nom string <optional>
proba numberparametres.rationnel | FractionX <optional>
enfants Array.<Arbre> <optional>
rationnel boolean <optional>
visible boolean <optional>
alter string <optional>
racine boolean <optional>

Classes

Arbre

Methods

getFils(nom)

Source:

Fonction récursive qui cherche dans la descendance complète un arbre nommé.

Parameters:
Name Type Description
nom String

Le nom de l'Arbre recherché dans les fils

Returns:

l'Arbre descendant portant ce nom. Exemple : const unArbre = pin.getFils('sylvestre')

getProba(nom, rationnel)

Source:

fonction récursive pour calculer la probabilité d'atteindre un enfant à partir de l'arbre courant. exemple : pin.getProba('malade', true)

Parameters:
Name Type Description
nom String

Le nom d'un descendant ou pas

rationnel boolean

si true alors on retourne une fraction

Returns:

Probabilité conditionnelle ou pas d'atteindre l'arbre nommé à partir du père. Exemple : si pin.getFilsProba('sylvestre')===0.8 et si sylvestre.getFilsProba('malade')===0.5 alors pin.getProba('malade')===0.4 et sylvestre.getProba('malade')===0.4 aussi ! par contre sylvestre.getProba('malade', 1)= 0.5

represente(xOrigine, yOrigine, decalage, echelle, vertical, sens, tailleCaracteres)

Source:
Parameters:
Name Type Default Description
xOrigine number 0
yOrigine number 0
decalage number 0
echelle number 1
vertical boolean false

true : vertical, false : horizontal

sens number

1 ou 1 définit le sens de l'arbre gauche/droite ou haut/bas

tailleCaracteres number

définit la taille pour ce qui est écrit. xOrigine et yOrigine définissent le point de référence de l'arbre... c'est un angle du cadre dans lequel l'arbre est construit par la position de la racine decalage vaut 0 lors de l'appel initial... cette valeur est modifiée pendant le parcours de l'arbre. echelle est à fixé à 3 si on utilise des fractions et peut être déscendu à 2 si on utilise des nombres décimaux... echelle peut être décimal. vertical est un booléen. Si true, alors l'arbre sera construit de bas en haut ou de haut en bas, sinon, il sera construit de gauche à droite ou de droite à gauche. sens indique la direction de pousse : 1 positif, -1 négatif.

setFils(nom, proba)

Source:
Parameters:
Name Type Description
nom String

Le nom de cet Arbre-fils

proba Number

La probabilité d'aller à ce fils depuis le père.

Returns:

l'Arbre-fils créé Exemple : const sylvestre = pin.setFils('sylvestre', 0.8) un 'pin' a une probabilité de 0.8 d'être 'sylvestre'.

setFilsProba(nom, proba, rationnel)

Source:
Parameters:
Name Type Description
nom String

Le nom de l'Arbre recherché dans les fils

proba Number

La probabilité du fils pour le père.

rationnel boolean

true si la proba doit être mise sous la forme d'une fraction

Returns:

l'Arbre-fils.