IFT 615 – Intelligence artificielle Raisonnement probabiliste - introduction Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615
Sujets couverts Introduction au raisonnement probabiliste raisonnement avec incertitude révision des concepts de base en théorie des probabilités IFT615 Froduald Kabanza
Rappel : Utility-based agents Les capteurs peuvent être bruités… État incertain. Les actions peuvent avoir des effets incertains ! Rappel du model d’agent. Ici, le modèle avec utilité est repris. Il peut y avoir de l’incertitude à plusieurs endroits… ici, trois exemples sont donnés. IFT615 Froduald Kabanza
Incertitude Soit At l’action d’aller à l’aéroport t minutes avant le départ de l’avion At me permettra-t-il d’arriver à temps? Problèmes : observabilité partielle (conditions routières, etc.) senseurs bruités (annonces du trafic, etc.) incertitude dans l’effet des actions (crevaisons, pannes, etc.) immense complexité pour modéliser les actions et le trafic Un raisonnement purement logique et déterministe : risque de tirer des conclusions erronées « A90 me permettra d’arriver à temps » (impossible de faire cette garantie) risque de tirer des conclusions peu exploitables du point de vue de la prise de décision « A25 me permettra d’arriver à temps, s’il ne pleut pas, s’il n’y a pas d’accident, si mes pneus ne crèvent pas, etc. » « A1440 me permettra presque certainement d’arriver à temps, mais je devrai passer une nuit à l’aéroport. » L’agent demeure à 25Km de l’aéroport. A_90 lui permettrait d’arriver à temps, en conduisant à une vitesse normale, pourvu que les meilleurs conditions soient réunies. L’agent est rationnelle dans la mesure où il maximise sa mesure de performance (arriver à temps et réduire le temps d’attente) en fonction de ce qu’il sait. Considérons un autre situation. Le diagnostique médicale. Essayons d’écrire les règles du diagnostique en médecine dentaire. MalDeDents -> Carie. Mais, cette règle est fausse. Il y a d’autres causes de maux de dents: ginvite, abcès, etc. MalDeDents -> Carie ou Gengivite ou Abcès ou … Il faudrait tout énumérer pour que ça fonctionne. Si on essaie d’inverse (Carie -> MalDeDents) ce n’est guerre mieux parce qu’il y a des caries qui ne causent pas de mal de dents, Problèmes avec la logique: Paresse. Compiler une liste exhaustives de tous les antécédents et de toutes les conséquences pour garantir que la règle est dépourvu d’exception n’est pas pratique. Ignorence théorique. La science médicale ne possède pas de théorie complète. On ne pourrait même pas énumérer les règles. Ignorence pratique. Même si nous connaissions les règles, nous pourrions demeurer dans l’incertitue pour un patient particulier parce que nous ne pouvons pas par exemple effectuer tous les tests médicaux nécessaires. IFT615 Froduald Kabanza
Modéliser l’incertitude à l’aide probabilités Théorie des probabilités permet de modéliser la vraisemblance d’événements l’information sur la vraisemblance est dérivée des croyances/certitudes d’un agent, ou d’observations empiriques de ces événements donne un cadre théorique pour mettre à jour la vraisemblance d’événements après l’acquisition d’observations après avoir observé qu’il n’y a pas de trafic, la probabilité que A25 me permette d’arriver à temps doit changer comment ? facilite la modélisation en permettant de considérer l’influence de phénomènes complexes comme du « bruit » IFT615 Froduald Kabanza
Exemple : un patient a-t-il une carie ? On considère le patient d’un dentiste on souhaite raisonner sur la possibilité qu’il ait une carie en tenant compte de l’incertitude associée à un tel diagnostique MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 P(MalDeDents, Carie, Croche) a 23 – 1 = 7 entrées indépendantes Ici, dans la table, il y en a 8. Mais on aurait pu en mettre les 7 premiers, l’autre étant 1 – la somme des valeurs des autres. IFT615 Froduald Kabanza
« la probabilité que MalDeDent=vrai et Croche=vrai et Carie=vrai » Variable aléatoire Variables aléatoires : MalDeDent : est-ce que le patient a mal aux dents Croche : est-ce que le dentiste a trouvé un « trou » dans la dent avec sa sonde Carie : est-ce que le patient a une carie MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 toutes ces probabilités somment à 1 « la probabilité que MalDeDent=vrai et Croche=vrai et Carie=vrai » Il nous faut un langage pour représenter les connaissances de l’agent et faire un raisonnement avec ces représentations. Forcément, nous voulons un langage capable d’exprimer des degrés de certitudes/croyances. Ici nous choisissons le langage des probabilités L’élément de base du langage est la variable aléatoire. Une variable aléatoire est une variable décrivant une partie des connaissances incertaine. Chaque variable aléatoire a un domaine (de valeurs que la variable peut prendre). Variables aléatoires booléennes, discrètes, continues (e.g., vitesse du robot). On focalise ici sur les cas discrets. On peut voir une variable comme une fonction définie sur l’espace d’échantillonnage et donnant une valeur à chaque échantillon en entrée. IFT615 Froduald Kabanza
Univers et événement élémentaire Événement élémentaire : un état possible de l’environnement c’est une rangée de la table ci-dessous, un événement au niveau le plus simple Univers : l’ensemble des événements élémentaires possibles c’est l’ensemble de toutes les rangées MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 IFT615 Froduald Kabanza
Probabilité conjointe Probabilités conjointes : probabilité assignation de toutes la variables P(MalDeDent=vrai, Croche=vrai, Carie=vrai) = 0.108 (10.8%) P(MalDeDent=faux, Croche=faux, Carie=vrai) = 0.008 (0.8%) MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 IFT615 Froduald Kabanza
Probabilité marginale Probabilités marginales : probabilité sur un sous-ensemble des variables P(MalDeDent=vrai, Carie=vrai) = P(MalDeDent=vrai, Croche=vrai, Carie=vrai) + P(MalDeDent=vrai, Croche=faux, Carie=vrai) = Σx∈{vrai, faux} P(MalDeDent=vrai, Croche=x, Carie=vrai) = 0.108 + 0.012 = 0.12 MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 IFT615 Froduald Kabanza
Probabilité marginale Probabilités marginales : probabilité sur un sous-ensemble des variables P(Carie=vrai) = Σx∈{vrai, faux} Σy∈{vrai, faux} P(MalDeDents=x, Croche=y, Carie=vrai) = 0.108 + 0.012 + 0.072 + 0.008 = 0.2 MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 IFT615 Froduald Kabanza
Probabilité d’une disjonction Probabilités de disjonction (« ou ») d’événements : P(Carie=vrai ou MalDeDent=faux) = P(Carie=vrai) + P(MalDeDent=faux) - P(Carie=vrai, MalDeDent=faux) = 1 - P(Carie=faux, MalDeDent=vrai) = 1 – 0.016 – 0.064 = 0.92 MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 P(A ou B) = P(A) + P(B) – P(A et B) =1 – P(not(A ou B)) =1 – P(not(A) et not (B)) IFT615 Froduald Kabanza
Probabilité d’un événement en général On peut calculer la probabilité d’événements arbitrairement complexes il suffit d’additionner les probabilités des événements élémentaires associés P( (Carie=vrai, MalDeDent=faux) ou (Croche=faux, Carie=faux) ) = 0.072 + 0.008 + 0.064 + 0.576 = 0.72 MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 Ici les évenements sont disjoints, donc on fait l’addition. Sinon, il aurait fallu retrancher la probabilité de leur intersection (elle est 0 dans ce cas-ci). IFT615 Froduald Kabanza
Probabilité conditionnelle vrai seulement si P(MalDeDent=vrai) ≠ 0 Probabilités conditionnelles : P(Carie=faux | MalDeDent=vrai) = P(Carie=faux, MalDeDent=vrai) / P(MalDeDent=vrai) = (0.016 + 0.064) / (0.016 + 0.064 + 0.108 + 0.012) = 0.4 MalDeDent Croche Carie Probabilité vrai 0.108 faux 0.016 0.012 0.064 0.072 0.144 0.008 0.576 Par définition: P(a | b) = P(a b) / P(b) if P(b) ≠ 0 En mots: « sachant que MalDeDent=vrai, quelle est la probabilité que Carie=faux » IFT615 Froduald Kabanza
Distribution de probabilités Distribution de probabilités : l’énumération des probabilités pour toutes les valeurs possibles de variables aléatoires Exemples : P(Carie) = [ P(Carie=faux), P(Carie=vrai) ] = [ 0.8, 0.2 ] P(Carie, MalDeDent) = [ [ P(Carie=faux , MalDeDent=faux), P(Carie=vrai, MalDeDent=faux) ], [ P(Carie=faux , MalDeDent=vrai), P(Carie=vrai, MalDeDent=vrai) ] ] = [ [ 0.72, 0.08], [0.08, 0.12] ] La somme est toujours égale à 1 J’utilise le symbole P pour les distributions et P pour les probabilités P(Carie) désignera la probabilité P(Carie=x) pour une valeur x non-spécifiée c’est un élément quelconque de P(Carie) Le choix d’énumérer les probabilités dans un tableau 2D est arbitraire IFT615 Froduald Kabanza
Distribution conditionnelle On peut faire la même chose pour le cas conditionnel Exemple : P(Carie | MalDeDent=vrai) = [ P(Carie=faux | MalDeDent=vrai), P(Carie=vrai | MalDeDent=vrai) ] = [ 0.4, 0.6 ] P(Carie | MalDeDent) = [ [ P(Carie=faux | MalDeDent=faux), P(Carie=vrai | MalDeDent=faux)], [ P(Carie=faux | MalDeDent=vrai), P(Carie=vrai | MalDeDent=vrai)] ] = [ [ 0.9, 0.1], [0.4, 0.6] ] Chaque sous-ensemble de probabilités associé aux mêmes valeurs des variables sur lesquelles on conditionne somme à 1 P(Carie | MalDeDent) contient deux distributions de probabilités sur la variable Carie : une dans le cas où MalDeDent=faux, l’autre lorsque MalDeDent=vrai somme à 1 somme à 1 IFT615 Froduald Kabanza
Distribution conditionnelle Une distribution conditionnelle peut être vue comme une distribution renormalisée afin de satisfaire les conditions de sommation à 1 Exemple : P(Carie | MalDeDent=vrai) = α P(Carie, MalDeDent=vrai) = α [0.08, 0.12] = (1/ (0.08 + 0.12)) [0.08, 0.12] = [ 0.4, 0.6 ] P(Carie | MalDeDent) = [αfaux P(Carie, MalDeDent=faux) , αvrai P(Carie, MalDeDent=vrai) ] = [ [ 0.72, 0.08] / (0.72 + 0.08), [0.08, 0.12] / (0.08 + 0.12) ] = [ [ 0.9, 0.1], [0.4, 0.6] ] alpha = P(MalDeDent=Vrai) P(a | b) = P(a b) / P(b) if P(b) ≠ 0 IFT615 Froduald Kabanza
Règle de chaînage Règle du produit : P(Carie=faux, MalDeDent=vrai) = P(Carie=faux | MalDeDent=vrai) P(MalDeDent=vrai) = P(MalDeDent=vrai | Carie=faux) P(Carie=faux) En général : P(Carie, MalDeDent) = P(Carie | MalDeDent) P(MalDeDent) = P(MalDeDent | Carie) P(Carie) Règle de chaînage (chain rule) pour n variables X1 ... Xn : P(X1, …,Xn) = P(X1,...,Xn-1) P(Xn | X1,...,Xn-1) = P(X1,...,Xn-2) P(Xn-1 | X1,...,Xn-2) P(Xn | X1,...,Xn-1) = … = Πi=1..n P(Xi | X1, … ,Xi-1) Règle du produit: P(a b) = P(a|b) P(b) = P(b|a)P(a) Découle de la définition de la probabilité conditionelle : P(a | b) = P(a b) / P(b) if P(b) ≠ 0 La règle de chaînage suivante (chain rule) est obtenue par une application successive de la règle du produit IFT615 Froduald Kabanza
Règle de chaînage La règle du chaînage est vraie, quelle que soit la distribution de X1 ... Xn Plutôt que de spécifier toutes les probabilités jointes P(X1, ... , Xn), on pourrait plutôt spécifier P(X1), P(X2|X1), P(X3|X1, X2), ..., P(Xn | X1,...,Xn-1) Exemple, on aurait pu spécifier : P(Carie=faux) = 0.8, P(Carie=vrai) = 0.2 P(MalDeDent=faux| Carie=faux) = 0.9 , P(MalDeDent=vrai| Carie=faux) = 0.1 P(MalDeDent=faux| Carie=vrai) = 0.4, P(MalDeDent=vrai | Carie=vrai) = 0.6 On aurait tout les ingrédients pour calculer les P(Carie, MalDeDent) : P(Carie=faux, MalDeDent=vrai) = P(MalDeDent=vrai |Carie=faux) P(Carie=faux) = 0.1 * 0.8 = 0.08 P(Carie=vrai, MalDeDent=vrai) = P(MalDeDent=vrai|Carie=vrai) P(Carie=vrai) = 0.6 * 0.2 = 0.12 IFT615 Froduald Kabanza
Règle de Bayes Carie=faux ⇔ carie Carie=vrai ⇔ carie On pourrait aussi calculer P(Carie=faux | MalDeDent=vrai) : P(carie | malDeDent) = P(carie, malDeDent) / P(malDeDent) = P(carie, malDeDent) / ( P(malDeDent, carie) + P(malDeDent, carie)) = α P(malDeDent|carie) P(carie) = 0.08 / (0.08 + 0.12) = 0.4 On appelle P(Carie) une probabilité a priori c’est notre croyance p/r à la présence d’une carie avant toute observation On appelle P(Carie| MalDeDent) une probabilité a posteriori c’est notre croyance mise à jour après avoir observé MalDeDent La règle de Bayes lie ces deux probabilités ensemble α P(carie | malDeDent) = P(malDeDent|carie) P(carie) Donne une probabilité diagnostique à partir d’une probabilité causale : P(Cause|Effect) = P(Effect|Cause) P(Cause) / P(Effect) Règle de Bayes: P(b | a) = P(a | b) P(b) / P(a) Découle de la règle du produit: P(ab) = P(a | b) P(b) = P(b | a) P(a) IFT615 Froduald Kabanza
Indépendance Soit les variables A et B, elles sont indépendantes si et seulement si P(A|B) = P(A) ou P(B|A) = P(B) ou P(A, B) = P(A) P(B) Exemple : P(Pluie, Carie) = P(Pluie) P(Carie) Pluie Carie Probabilité vrai 0.03 faux 0.27 0.07 0.63 = P(pluie) P(carie) = 0.3 * 0.1 P(Pluie = vrai) = 0.3 P(Carie = vrai) = 0.1 = P(pluie) P(carie) = 0.3 * 0.9 = P(pluie) P(carie) = 0.7 * 0.1 = P(pluie) P(carie) = 0.7 * 0.9 IFT615 Froduald Kabanza
Indépendance L’indépendance totale est puissante mais rare L’indépendance entre les variables permet de réduire la taille de la distribution de probabilités et rendre les inférences plus efficaces dans l’exemple précédent, on n’a qu’à stocker en mémoire P(Pluie = vrai) = 0.3 et P(Carie = vrai) = 0.1, plutôt que la table au complet Mais il est rare d’être dans une situation où toutes les variables sont réellement indépendantes IFT615 Froduald Kabanza
Indépendance conditionnelle Si j’ai une carie, la probabilité que la sonde accroche dans la dent ne dépend pas du fait que j’aie mal à la dent ou non : P(Croche | MalDeDents, Carie=vrai) = P(Croche | Carie=vrai) Même chose si je n’ai pas la carie : P(Croche | MalDeDents, Carie=faux) = P(Croche | Carie=faux) On dit que Croche est conditionnellement indépendante de MalDeDents étant donné Carie, puisque : P(Croche | MalDeDents, Carie) = P(Croche | Carie) Formulations équivalentes : P(MalDeDents | Croche , Carie) = P(MalDeDents |Carie) P(MalDeDents, Croche | Carie) = P(MalDeDents |Carie) P(Croche|Carie) IFT615 Froduald Kabanza
Indépendance conditionnelle Réécrivons la distribution conjointe en utilisant la règle de chaînage (chain rule) : P(MalDeDents, Croche, Carie) = P(MalDeDents | Croche, Carie) P(Croche, Carie) = P(MalDeDents | Croche, Carie) P(Croche | Carie) P(Carie) = P(MalDeDents | Carie) P(Croche | Carie) P(Carie) C-à-d., 2 + 2 + 1 = 5 paramètres individuels/distincts Dans des cas idéals, l’exploitation de l’indépendance conditionnelle réduit la complexité de représentation de la distribution conjointe de exponentielle (O(2n)) en linéaire (O(n)) En raisonnement probabiliste, l’indépendance conditionnelle est le concept de représentation des connaissances le plus basique et utile P(MalDeDents, Carie, Croche) a 23 – 1 = 7 entrées indépendantes IFT615 Froduald Kabanza
Autres types de variables aléatoires On s’est concentré sur des variables aléatoires Booléennes ou binaires le domaine, c.-à-d. l’ensemble des valeurs possibles de la variable, était toujours {vrai, faux} On pourrait avoir d’autres types de variables, avec des domaines différents : Discrètes : le domaine est énumérable Météo {soleil, pluie, nuageux, neige} lorsqu’on mraginalise, on doit sommer sur toutes les valeurs : P(Température) = Σx {soleil, pluie, nuageux, neige} P(Température, Météo=x) Continues : le domaine est continu (par exemple, l’ensemble des réels) exemple : PositionX = 4.2 le calcul des probabilités marginales nécessite des intégrales IFT615 Froduald Kabanza
En bref Probabilité jointe : P(X1, …,Xn) Probabilité marginale : P(Xi), P(Xi, Xj), etc. Probabilité conditionnelle : P(X1, …,Xk |Xk+1, …,Xn ) = P(X1, …,Xk , Xk+1, …,Xn ) P( Xk+1, …,Xn ) Régle de chaînage : P(X1, …,Xn) = Πi=1..n P(Xi | X1, … ,Xi-1) Indépendance : Xi et Xj sont indépendantes si P(Xi,Xj) = P(Xi) P(Xj), ou P(Xi|Xj) = P(Xi) ou P(Xj|Xi) = P(Xj) Indépendance conditionnelle : Xi et Xj sont indépendante sachant Xk si P(Xi,Xj|Xk) = P(Xi|Xk) P(Xj|Xk) ou P(Xi|Xj,Xk) = P(Xi|Xk) ou P(Xj|Xi,Xk) = P(Xj|Xk) Règle de Bayes : P(X1, …,Xk |Xk+1, …,Xn ) = P(Xk+1, …,Xn | X1, …,Xk) P(X1, …,Xk ) P( Xk+1, …,Xn ) IFT615 Froduald Kabanza
Le monde des Wumpus Problème: calculer la probabilité que [1,3], [2,2] et [3,1] contienne une fosse Identifier l’ensemble de variables aléatoires nécessaires: Pij=true ssi il y a une fosse dans [i,j] (Pij=0.2 partout sauf dans [1,1]). Bij=true ssi il y a une brise dans [i,j] Inclure seulement les variables observées B11, B12, B21 dans la distribution des probabilités (modèle). IFT615 © Froduald Kabanza
Spécifier la distribution des probabilités Spécifier la distribution conjointe ( P(P1,1 , …,P4,4 ,B1,1 ,B1,2 ,B2,1) ) appliquer la règle du produit : P(B1,1 ,B1,2 ,B2,1|P1,1 ,…,P4,4) P(P1,1 ,…,P4,4) (on spécifie une forme P(Effect|Cause) ) premier terme : P(B1,1 ,B1,2 ,B2,1|P1,1 ,…,P4,4) probabilité conditionnelle d’une configuration/état de brises, étant donnée une configuration de fosses 1 si les fosses sont adjacentes aux brises, 0 sinon second terme : P(P1,1 ,…,P4,4) probabilité a priori des configurations des fosses les fosses sont placées aléatoirement, avec une probabilité de 0.2 par chambre si P1,1 ,…,P4,4 sont telles qu’il y a exactement n fosses, on aura P(P1,1 ,…,P4,4) = Π(i,j)=(1,1) …(4,4) P(Pi,j) = 0.2n *0.816-n IFT615 Froduald Kabanza
Observations et requête Identifier les observations on sait ce qui suit : b = b1,1 b1,2 b2,1 known = p1,1 p1,2 p2,1 Identifier les variables de requête y a-t-il une fosse à la position 1,3? P(P1,3 | known, b)? Identifier les variables cachées on définit Unknown comme étant l’ensemble des variables Pi,j autres que celles qui sont connues (known) et la variable de requête P1,3 IFT615 Froduald Kabanza
Observations et requête Faire l’inférence avec l’inférence par énumération, on obtient : P(P1,3| known, b) = unknown P(P1,3 , unknown, known, b) croît exponentiellement avec le nombre de chambres! avec 12 chambres unknown : 212=4096 termes IFT615 Froduald Kabanza
Utiliser l’indépendance conditionnelle Idée de base: les observations sont conditionnellement indépendantes des chambres cachées étant données les chambres adjacentes. C.-à-d., les autres chambres ne sont pas pertinentes. Définir Unknown = Fringe Other P(b|P1,3 , known, Unknown) = P(b|P1,3, known, Fringe, Other) Réécrire la probabilité d’interrogation P(P1,3| known, b) pour exploiter cette indépendance. IFT615 © Froduald Kabanza
Utiliser l’indépendance conditionnelle P(P1,3| known, b) = unknown P(P1,3, unknown, known, b) = unknown P(b|P1,3 , known, unknown) P(P1,3 , known, unknown) = frontier other P(b| known, P1,3 , frontier, other) P(P1,3 , known, frontier, other) = frontier other P(b| known, P1,3 , frontier) P(P1,3 , known, frontier, other) = frontier P(b| known, P1,3 , frontier) other P(P1,3 , known, frontier, other) = frontier P(b| known, P1,3 , frontier) other P(P1,3 ) P(known) P(frontier) P(other) = P(known) P(P1,3) frontier P(b| known, P1,3 , frontier) P(frontier) other P(other) = ’ P(P1,3) frontier P(b| known, P1,3 , frontier) P(frontier) IFT615 Froduald Kabanza
Utiliser l’indépendance conditionnelle (a) (b) Événements cohérents pour les variables P2,2 et P3,1, montrant P(frontier) Pour chaque événement : 3 événements avec P1,3= vrai, montrant 2 ou 3 fosses. 2 événements avec P1,3= faux, montrant 1 ou 2 fosses. P(P1,3|known, b) = ’ <0.2(0.04+0.16+0.16), 0.8(0.04+0.16)> <0.31, 0.69> P(P2,2|known, b) <0.86, 0.14> IFT615 Froduald Kabanza
Résumé La théorie des probabilités est un formalisme cohérent pour raisonner avec l’incertitude Une distribution conjointe spécifie les probabilités pour toute les valeurs des variables aléatoires Pour les domaines d’application réalistes, on doit trouver une façon de réduire la taille de la distribution conjointe L’indépendance et l’indépendance conditionnelles nous fournissent les outils de base pour simplifier les distributions conjointes IFT615 Froduald Kabanza
Vous devriez être capable de... À partir d’une distribution conjointe ou des distributions conditionnelles et a priori nécessaires : calculer une probabilité conjointe calculer une probabilité marginale déterminer si deux variables sont indépendantes déterminer si deux variables sont conditionnellement indépendantes sachant une troisième IFT615 Froduald Kabanza
Probabilités Les assertions probabilistes facilitent la modélisation : des faits et de règles complexes : comparée aux règles de production, l’approche est moins sensible à l’impossibilité d’énumérer toutes les exceptions, antécédents ou conséquences de règles de l’ignorance : l’approche est moins sensible à l’omission/oubli des faits, de prémisses ou des conditions initiales à un raisonnement IFT615 Froduald Kabanza
Probabilités Perspective subjective/bayésienne des probabilités : les probabilités expriment le degré de croyance d’un agent dans des propositions/faits exemple : P(A25 | aucun accident rapporté) = 0.06 les probabilités ne sont pas des assertions sur ce qui est vrai de façon absolue n’expriment pas forcément des tendances/fréquences d’une situation, mais pourraient être apprises automatiquement à partir d’expériences les probabilités des propositions changent avec l’acquisition de nouvelles informations exemple : P(A25 | aucun accident rapporté, 5h du matin) = 0.15 À l’opposée, il y a la perspective objective/fréquentiste des probabilités les probabilités expriment des faits/propriétés sur des objets on peut estimer ces probabilités en observant ces objets à plusieurs reprises les physiciens diront que les phénomènes quantiques sont objectivement probabilistes à part pour la physique quantique, c’est difficile de défendre la perspective fréquentiste pour les phénomènes plus macro par exemple, si on connaît la position initiale exacte d’une pièce de monaie, la force avec laquelle elle est lancée, etc. on pourrait deviner le résultat (la probabilité est de 0.5 seulement si on ne connaît pas ces informations) IFT615 Froduald Kabanza
Prise de décisions avec incertitude Supposons que je crois ceci : P(A25 me permet d’arriver à temps | …) = 0.04 P(A90 me permet d’arriver à temps | …) = 0.70 P(A120 me permet d’arriver à temps | …) = 0.95 P(A240 me permet d’arriver à temps | …) = 0.999 P(A1440 me permet d’arriver à temps | …) = 0.9999 Quelle action devrais-je choisir? cela dépend de mes préférences : manquer l’avion vs. trop d’attente La théorie de l’utilité est utilisée pour modéliser et inférer avec des préférences une préférence exprime le degré d’utilité d’une action/situation Théorie de la décision = théorie des probabilités + théorie de l’utilité Page 466 : Maximum expected utility et le principe correspondant. Structure simple d’un agent fonctionnant avec la théorie de la décision : intéressant : on peut lui donner un plan, un MDP, etc. S’applique bien au monde des wumpus. IFT615 Froduald Kabanza
Probabilités : traitement général On commence avec un ensemble appelé univers est un événement élémentaire Un modèle de probabilités est une distribution de probabilité P() pour chaque élément , telle que 0 P() 1 P() = 1 Un événement est un sous-ensemble de probabilité d’un événement A : P(A)={A} P() Exemple d’un dé : = {1,2,3,4,5,6} et P(1)=P(2)=P(3)=P(4)=P(5)=P(6)=1/6 Événement A = « Dé est < 4 » : P(A) = P(=1) P(=2) + P(=3) = 1/6+1/6+1/6 = 1/2 Il nous faut un langage pour représenter les connaissances de l’agent et faire un raisonnement avec ces représentations. Forcément, nous voulons un langage capable d’exprimer des degrés de certitudes/croyances. Ici nous choisissons le langage des probabilités. IFT615 Froduald Kabanza
Variable aléatoire Une variable aléatoire est une variable décrivant une partie des connaissances incertaines (on la note avec une première lettre majuscule) c’est une « fenêtre » sur l’univers Chaque variable a un domaine de valeurs qu’elle peut prendre Types de variables aléatoires : Booléennes : le domaine est {vrai, faux} exemple : Carie {vrai, faux} (ai-je la carie?) Discrètes : le domaine est énumérable Météo {soleil, pluie, nuageux, neige} Continues : le domaine est continu (par exemple, l’ensemble des réels) exemple : X = 4.0, PositionX 10.0, Speed 20.5 Page 467 : L’élément de base du langage est la variable aléatoire. Une variable aléatoire est une variable décrivant une partie des connaissances incertaine. Chaque variable aléatoire a un domaine (de valeurs que la variable peut prendre). Variables aléatoires booléennes, discrètes, continues (e.g., vitesse du robot). On focalise ici sur les cas discrets. IFT615 Froduald Kabanza
Variable aléatoire On peut voir une variable aléatoire X comme une fonction X() donnant une valeur à chaque événement élémentaire possible sauf si nécessaire, on va écrire X plutôt que X() P induit une distribution de probabilités pour chaque variable aléatoire X la probabilité qu’une variable X ait la valeur xi est la somme des probabilités d’événements élémentaires qui sont tels que X() = x P(X=xi) = { : X()=xi } P() Exemple du dé : P( NombreImpaire = vrai) = P(1)+P(3)+P(5) = 1/6+1/6+1/6=1/2 IFT615 Froduald Kabanza
Propositions Une proposition est une assertion de ce qui est vrai, c.-à-d., une assertion sur la valeur d’une ou plusieurs variables en d’autres mots, un événement (ensemble d’échantillons ou d’événements atomiques) pour lequel la proposition est vraie exemple : Carie = vrai (noté parfois carie) ou Carie = faux ( carie) Étant données deux variables booléennes A et B : l’événement a est l’ensemble d’échantillons pour lesquels A = vrai l’événement a est l’ensemble d’échantillons pour lesquels A = faux l’événement a b est l’ensemble des pour lesquels A=vrai et B=vrai l’événement a b est l’ensemble des pour lesquels A=vrai ou B=vrai Page 467 : Une proposition est une assertion de ce qui est vraie, c’est à dire, une assertion sur la valeur d’une variable. Ce peut être une propriété ou un fait. Exemple : Carie=vrai est une proposition. Quand c’est binaire nous allons la noter Carie. Et carie=faux : not(carie). On peut combiner des propositions élémentaires pour en faire d’autres par les connecteurs logiques standard : exemple page 468. Note : dans la logique du 1er ordre, une telle combinaison n’est plus une proposition : c’est une formule! Mais les formules sont plus générales que ce qui est permis ici : quantification, etc. IFT615 Froduald Kabanza
Propositions Souvent nous aurons plusieurs variables aléatoires toutes les variables aléatoires tiennent leur valeur d’un même échantillon pour des variables distinctes, l’espace d’échantillonnage est alors le produit cartésien des domaines des variables aléatoires Un événement atomique est donc une spécification complète de l’état du « monde » pour lequel un agent est incertain par exemple, si le « monde » de l’agent est décrit par seulement deux variables aléatoires booléennes (Carie et MalDeDents), il y a exactement quatre états / événements atomiques possibles : Carie = faux MalDeDents = faux Carie = faux MalDeDents = vrai Carie = vrai MalDeDents = faux Carie = vrai MalDeDents = vrai on a donc = { <vrai,vrai>, <vrai,faux>, <faux,vrai>, <faux, faux>} Les événements atomiques sont exhaustifs et mutuellement exclusifs Page 468 : Un événement atomique est une spécification complète d’un ’état possible. En d’autres mots, un événement atomique est une assignation de valeur pour chaque variable aléatoire décrivant un aspect de l’environnement. Un événement (non atomique) est une assignation de valeurs à certaines variables. Un événement atomique est une spécification complète d’un ’état possible. En d’autres mots, un événnement est une assignation de valeur pour chaque variable aléatoire décrivant un aspect de l’environnement. IFT615 Froduald Kabanza
Syntaxe des propositions Élément de base : variable aléatoire Similaire à la logique propositionnelle Variables aléatoires booléenne exemple : Carie = vrai Variables aléatoires discrètes (domaines finis or infinis) exemple : Météo = v, avec v { soleil, pluie, nuageux, neige } Variables aléatoires continues (bornées ou non bornées) exemple : Temp=21.6 (la variable Temp a exactement la valeur 21.6) exemple : Temp < 22.0 (la variable Temp a une valeur inférieure à 22) IFT615 Froduald Kabanza
Syntaxe des propositions En général, les propositions élémentaires sont définies en assignant une valeur ou un intervalle de valeurs aux variables exemple : Météo = soleil, Carie = faux (notée aussi carie) Les propositions complexes sont définies par des combinaisons booléennes exemple : (Météo = soleil) (Carie = faux) IFT615 Froduald Kabanza
Axiomes de la théorie des probabilités : Axiomes de Kolmogorov Pour toute propositions a, b 0 ≤ P(a) ≤ 1 P(vrai) = 1 et P(faux) = 0 P(a b) = P(a) + P(b) – P(a b) IFT615 Froduald Kabanza
Règle de Bayes et indépendance conditionnelle P(Carie | MalDeDents Croche) = α P(MalDeDents Croche | Carie) P(Carie) = α P(MalDeDents | Carie) P(Croche | Carie) P(Carie) Exemple d’un modèle de Bayes simple (naive Bayes classifier) : P(Cause,Effect1, … ,Effectn) = P(Cause) Πi P(Effecti|Cause) Carie MalDeDents Croche Souvent utilisé lorsque les variables-effets ne sont pas conditionnellement indépendantes étant donné les variables-causes. Le nombre total de paramètres est linéaire en n Cause Effet1 EffetN IFT615 Froduald Kabanza