Intelligence Artificielle

© Jean-Marc Vanel 2012 , licence Creative Common

Déductions SARL - Conseil, services, formation.

Cette présentation utilise JavaScript, CSS et XHTML via Slidy 2 du W3C

Préambule : la connaissance et sa gestion

Qu'est ce que la connaissance?

Plusieurs choses:

  1. l'expertise : exemple "un béton contient des granulats et un ciment"
  2. les algorithmes et formules : exemple "formule pour le vieillissement d'un béton"
  3. les données : exemple "base de données sur les ciments disponibles"
  4. un savoir faire plus ou moins explicité, exemple en architecture, musique
  5. des documents bureautiques classés par sujets et multi-critères

Notre sujet sera : 1-2-3-4

Plan

Plan global

Plan partie 1 : introduction, logique

Pourquoi l'IA est très importante

L'avenir du développement logiciel

Les domaines de l'IA

AIMA: un manuel d'IA très utilisé dans le monde; des supports de cours en Français .

Modéliser la connaissance : Logique métier et Système d'Information

Le fil conducteur à travers les tendances du développement logiciel pourrait être : comment on va (plutôt cahotiquement ) vers plus de sémantique.

Domaines couverts par le logiciel d'entreprise:

Domaine impacté par
1 logique métier règles, langage Naturel Contrôlé
2 IHM règles
3 stockage persistant Web Sémantique
4 échange de données Web Sémantique

Modéliser la connaissance : Formaliser, pérenniser, sécuriser l'expertise métier

Logique formelle

PEAS : Performance, Environment, Actuators, Sensors.

Chapter 07 AIMA : Logical agents

Logiciel Prover9 : installer sur Ubuntu ou Debian :

sudo apt-get install prover9-mace4 prover9-doc

Logique des propositions - 1 - ingédients

cf Calcul_des_propositions sur wikipedia

Logique des propositions - 2 - tables de vérité 1

cf "Calcul des propositions" sur Wikipédia, 2.2.1 Interprétation des connecteurs

P \lor Q prendra la valeur 1 si et seulement si au moins l'une des deux propositions P ou Q prend la valeur 1.

P Q P \lor Q
0 0 0
0 1 1
1 0 1
1 1 1

Logique des propositions - 2 - tables de vérité 2

⇒ et ⇔ peuvent se définir à partir des 3 premiers opérateurs.

A => B A B ¬A ¬A /\ B
1 0 0 1 1
1 0 1 1 1
0 1 0 0 0
1 1 1 0 1

De même :

Logique des propositions - 3 - exemples

Les puits créent un courant d'air dans les carrés adjacents :

B1,1 ↔ (P1,2 ∨ P2,1)
B2,1 ↔ (P1,1 ∨ P2,2 ∨ P3,1)

etc pour tous les carrés.

Logique des propositions - 4 - raisonnement 1

Règles de déduction, cf 2.1.3.4 Exemples de théorèmes

\big(A \rightarrow \; A) identité
A \lor \lnot A tiers exclu
 A \rightarrow \lnot\lnot A double négation
\lnot\lnot A \rightarrow A double négation classique
\big(\big(A \to B\big) \to A\big) \to A loi de Peirce
\lnot(A \land \lnot A) non contradiction
\lnot(A \land B) \leftrightarrow (\lnot A \lor \lnot B) lois de De Morgan
\lnot(A \lor B) \leftrightarrow (\lnot A \land \lnot B)
(A \to B) \to(\lnot B \to \lnot A) contraposition
\big( (A \to B) \land A)\to B modus ponens (propositionnel)
((A \to B) \land \lnot B) \to \lnot A modus tollens (propositionnel)
\big( (A \to B) \land (B \to C)) \to (A \to C) modus barbara (propositionnel)
(A \to B) \to \big((B \to C) \to (A \to C)\big) modus barbara (implicatif)
\big(A \land (B \lor C)) \leftrightarrow ((A \land B) \lor (A \land C)) distributivité
\big(A \lor (B \land C)) \leftrightarrow ((A \lor B) \land (A \lor C))

Logique des propositions - 4 - raisonnement 2

Règle de résolution ou principe de résolution de Robinson

A partir de G et H :

G = G1∨ G2 ∨ … ∨ Gn
H = ¬G1 ∨ H2 ∨ … ∨ Hm

on déduit K , le résolvant de G et H

K = G2 ∨ … ∨ Gn ∨ H2 ∨ … ∨ Hm

En effet ceci est toujours vrai (c à d. une tautologie ):

G1 ∨¬G1 

Logique des propositions - 4 - raisonnement 3

Exemple concret avec résolution:

S ∨ T → P    (1)
S ∨ R         (2)
¬R             (3)

on veut montrer : P .

On transforme (1):

S → P  ∧  T → P 

puis ramène à une forme normale:

¬S ∨ P      (4)
¬T ∨ P

le résolvant de (2) et (3) est :

S       (5)

le résolvant de (5) et (4) est :

P

La négation de la conséquence cherchée donne

¬P

Enfin P et ¬P donnent la clause vide.

Logique des prédicats

Chapter 08 AIMA : First Order Logic

Calcul des prédicats sur wikipedia

code AIMA : Java et Python

Exemples avec Prover9

Assomptions Prover9 :

man(x) -> mortal(x).   % variable x universelle par défaut
  man(socrates).

But:

mortal(socrates).


Assomptions Prover9 :

all x all p all gp (
  parent(x,p) & parent(p,gp)
  -> grandparent(x, gp) 
).
all x ( 
  human(x) -> exists p ( parent(x,p) & human(p) ) )

But Prover9 :

human(x) -> exists gp grandparent(x,gp).

Modélisation en logique des propositions

Exemple: relations de famille :

male(williams) ∧
parent(williams, charles) ∧
parent(henry, charles) ∧
(
∀x ∀p ∀y parent(x,p) ∧ parent(y,p)
 → meme_parent(x,y)
)

Modélisation en logique des propositions - exemple concret

LONDRES (AFP) - L'islamiste jordanien Abou Qatada, souvent considéré comme l'ancien bras droit de Ben Laden en Europe, a été libéré de prison mardi au Royaume Uni.

islamiste(AbouQatada).
jordanien(AbouQatada).
∃c consideration(c). souvent(c).
au_sujet_de(c,
            anciennement( bras_droit(BenLaden, Europe) = AbouQatada ) ).
∃p evenement(liberation(AbouQatada, p), mardi).
prison(p). partie_de(p, RoyaumeUni).
aujourdhui(2012-02-13).

Autres logiques: second ordre, modale, floue

Logique du second ordre, Logiques modales, Logique floue sur wikipedia

Formation IA suite