ELEMENTS DE LOGIQUE 1. Introduction

publicité
ELEMENTS DE LOGIQUE
1. Introduction
Ce cours est une approche sur
le problème général de la représentation des connaissances
et sur les théories qui ont été développées pour cela,
en particulier la logique
Problème fondamental : Comment représenter sous forme logique
- le contenu des phrases du langage naturel ?
- des raisonnements ?
Les informaticiens s'intéressent au problème
de la représentation et du traitement de l'information
On voudrait un ordinateur intelligent. Mais :
• l’ordinateur sait résoudre des problèmes qu'on peut décomposer en opérations
simples
• l’ordinateur ne sait pas résoudre d'autres problèmes bien plus difficiles:
comprendre, apprendre, reconnaître, communiquer, interpréter, juger, planifier,
décider, etc.
L'inférence est l'élément de base de toute description de la connaissance et du
raisonnement
Le langage prend un aspect mathématique lorsqu'on s'efforce :
• de donner aux mots un sens strictement défini comme s'il s'agissait de symboles
mathématiques
•de systématiser les différentes inférences qu'on peut en tirer
D’où le rôle de la logique, qui se place à un niveau supérieur aux mots :
la logique se place au niveau du raisonnement
1
2. Codage et traitement des informations
Codage des informations
Ex : nombres, chaînes de caractères, graphiques, images, ...
On a souvent le problème du passage du continu au discret : on choisit un maillage
plus ou moins fin pour représenter les données
Par exemple, pour la représentation du temps :
"hier à 14h25", " hier après-midi", "l'an dernier", “au 2e siècle", ...
Traitement des données
• On sait rechercher une information dans un ensemble d'informations en
mémoire.
Ex : recherche séquentielle, dichotomique, interrogation de bases de données
•Requêtes exprimées dans des langages assez proches du langage naturel
Ex : dans une base de données géographique :
SELECT nom FROM capitales WHERE population > 1 000 000
Les opérations complexes peuvent être décomposées en opérations simples.
On autorise les recherches sur critères multiples, les mises à jour sélectives, etc.
Connaissance et information
On aimerait prendre un peu de hauteur,
et arriver à concevoir des systèmes informatiques intelligents,
qui sachent raisonner à la manière d'un humain.
-> développement de l'IA
-> on cherche
- non plus à coder de l'information et développer des algos pour la traiter,
- mais plus généralement à représenter des connaissances de façon à ce
qu'elles se comportent comme guide des raisonnements qui vont les utiliser.
Les codes sont passifs
Les connaissances ont un rôle actif
2
Différentes natures de connaissances
La tradition philosophique distingue entre propriétés
•nécessaires
- “la somme des angles d'un triangle vaut 180°”
- "les chiens sont des animaux à quatre pattes"
•contingentes :
- “en 1999, Chirac était le Président de la République Française”
- “en 2000 Paris est la capitale de la France”
• Les théorèmes sont relatifs à un système d'axiomes.
Depuis longtemps et encore à l'heure actuelle, des travaux tentent d'organiser de
façon raisonnée l'ensemble de nos connaissances :
-> description de propriétés nécessaires (souvent des propriétés définitoires)
-> élaboration de taxinomies : ensemble de classes
organisé par inclusion et partitionnement de classes.
Exemple :
gastéropodes
escargots limaces •••
mollusques
cephalopodes
pieuvres nautiles •••
bivalves
moules huitres •••
Quelques raffinements dans la catégorisation de connaissances :
- connaissances de définition : “un quadrilatère est un polygone à 4 côtés”
- connaissances évolutives : “Chirac est le Président de la République Française”
- connaissances incertaines : “Clovis est né vers 465 ap.J.C.”
- connaissances vagues : “les jeunes enfants sont turbulents”
- connaissances typiques : “en général, les mollusques ont une coquille”
- connaissances sous-déterminées : “les employés ayant 3 enfants ont droit à une
réduction”.
De façon générale, si le langage tolère autant d'ambiguïtés, c'est parce que
nous avons fréquemment besoin d'exprimer des connaissances sousdéterminées.
En fait, la catégorie dépend du point de vue (échelle, précision) choisi.
3
3. Notion de représentation
Une représentation est toujours une approximation.
Il n'existe pas de représentation qui soit uniformément "meilleure" qu'une
autre.
Ex : cartes routières : plus grande est l'échelle de la carte, mieux elle représente la
réalité, mais plus elle est difficile à manipuler.
Une représentation n'a pas de valeur indépendamment d'une classe d'utilisations, et
on ne peut pas séparer :
- l'étude des techniques de représentation,
- de l'étude des techniques inférentielles qui vont exploiter cette représentation.
Représentation et modèle
La connaissance que nous voulons représenter porte sur le monde que nous
observons.
-> nous construisons un modèle -approximatif- du monde.
Ces représentations sont “composites” :
Dans tous les langages artificiels, on utilise le principe de compositionalité:
si une structure X est égale à f(a1,... an ), où les ai sont des objets,
l'interprétation de X, notée Int(X), est définie par Int(f) [ Int(a1)... Int(an ) ]
Ex : L'expression x = (y + 3) / z , représentation mathématique d'une relation
•!• Tous les langages ne sont pas toujours compositionnels : le langage naturel
contient des expressions figées comme "pomme de terre", "tout-à-l'heure", etc.
Langage de représentation
Un langage est formé de séquences de symboles obéissant à des règles de formation
structurelle. Un langage formel L est défini par :
•un alphabet fini A de terminaux (symboles, « briques » du langage)
•un alphabet Aux de non-terminaux dont un élément S est l'axiome de L.
•des règles de réécriture.
L'ensemble des éléments du langage est l'ensemble des suites de symboles de A
obtenues, à partir de l'axiome S, en appliquant toutes les règles de réécriture
possibles.
4
4. Représentation dans un modèle
L'adjectif “logique” : qualifie dans le langage courant, un comportement qui semble
guidé par des principes explicitables et communément admis (comportement « de
bon sens »).
Le substantif “logique” désigne :
- une discipline qui étudie ces principes et leurs conséquences ;
- différentes techniques (les logiques) qui mettent en oeuvre, concrètement, ces
principes.
La pluralité de ces techniques montre en fait que :
Aucun ensemble de principes n'est suffisamment riche pour couvrir de façon
complète les comportements qu'on aimerait qualifier de logiques.
L'élément essentiel qui réunit ces systèmes est leur utilisation d'une notion de
modèle.
Chacune de ces techniques (chaque logique) comporte 2 volets :
- La syntaxe : un langage défini au moyen de réécritures.
- La sémantique : des règles de valuation qui permettent de calculer, dans un
modèle, une valeur ("valeur de vérité") pour toute formule du langage.
La logique classique est le support des mathématiques.
Elle comporte 2 grandes parties :
•la logique propositionnelle
•la logique du premier ordre
C'est à partir de la logique classique que les autres logiques ont été construites.
5
5. La logique propositionnelle classique
5.1. Introduction
La logique propositionnelle étudie les propriétés des connecteurs logiques tels que
et et ou, qui relient des propositions.
On travaille sur des ensembles d'énoncés qui expriment des propositions.
Par exemple
"Jean est un étudiant sérieux"
exprime la proposition que Jean a les propriétés d'être étudiant et sérieux.
Cette proposition peut être vraie ou fausse.
•On se donne :
Un ensemble d'énoncés élémentaires (ou atomiques) représentés par des lettres.
Chaque énoncé a pour nous une valeur, vrai ou faux, mais jamais les 2.
•Ensuite :
On forme des énoncés plus complexes en utilisant les connecteurs logiques.
Et on cherche la valeur de ces nouveaux énoncés.
-> Notre problème :
•analyser comment les valeurs de vérité (vrai ou faux) des énoncés complexes sont
déterminées par les valeurs des énoncés atomiques qui les composent.
•comment construire un énoncé complexe toujours vrai ? (tautologie)
Les méthodes de preuve les plus simples sont les tables de vérités, qui nous sont
familières.
Il existe d'autres mécanismes plus efficaces, et extensibles à d’autres logiques.
6
5.2. Syntaxe
Pour construire les formules propositionnelles, nous nous donnons :
•une suite infinie dénombrable de symboles propositionnels
(lettres X, Y, ...A, B, ..., P, Q, ..., P1, P2, ...)
•deux constantes, V et F
(car les logiques classiques sont à 2 valeurs)
•un ensemble de connecteurs propositionnels.
Ils peuvent être de rang 0 (les constantes), de rang 1, 2, 3, etc.
Seul connecteur de rang 1 : la négation (¬)
Connecteurs de rang 3 ou plus : rarement utilisés
Connecteurs de rang 2 : dans ce cours, nous en considérerons seulement 4 :
∧ (et)
(conjonction)
∨ (ou)
(disjonction)
⊃ (implique)
(implication)
≡
(si et seulement si )
(équivalence)
Par exemple, ¬( (P∧ Q) ∨ ¬(R∧ ¬F) ) est une formule propositionnelle.
5.3. Sémantique
Nous prenons comme ensemble de valeurs de vérité l'ensemble Tr={t,f},
où t et f sont deux objets distincts.
On interpréte chacun des connecteurs par une opération sur Tr.
•Pour la négation
fonction ¬ : Tr → Tr définie par :
¬(t)=f et ¬(f)=t.
•Pour les 4 connecteurs binaires : Leur sémantique est donnée par la table :
| ∧
∨
⊃
≡
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
t
t | t
t
t
t
t
f | f
t
f
f
f
t | f
t
t
f
f
f | f
f
t
t
7
Evaluations booléennes
Soit une application v de l'ensemble des symboles propositionnels sur Tr.
On peut étendre v à l’ensemble des formules propositionnelles, en une évaluation
booléenne , en utilisant les tables de vérité et les 3 règles (récursives) suivantes :
1. v(T) = t ; v(F) = f
2. v(¬X) = ¬v(X)
3. v(XoY) = v(X) o v(Y), pour n'importe quel connecteur binaire o
Exemple
Si l’on choisit v(Q)=f et v(R)=f, on a :
v((¬Q ⊃ R))
=
=
=
=
=
(v(¬Q) ⊃ v(R))
(¬v(Q) ⊃ v(R))
(¬f ⊃ f )
(t ⊃ f )
f
Définition
Une formule propositionnelle X est une tautologie si v(X)=t pour toute évaluation
booléenne v.
Ex : ( A ∨ ¬A )
Définition
Un ensemble S de formules propositionnelles est satisfaisable s'il existe une
évaluation booléenne qui associe à chaque élément de S la valeur t.
8
Quelques relations d'équivalence
¬ (X ∨ Y)
¬ (X ∧ Y)
(X ⊃ Y)
¬ (X ⊃ Y)
(X ≡ Y)
(X ≡ Y)
¬ (X ≡ Y)
est équivalent à :
"
(¬X ∧ ¬Y)
(¬X ∨ ¬Y)
(De Morgan)
(¬X ∨ Y)
(X ∧ ¬Y)
(X ⊃ Y) ∧ (Y ⊃ X)
(X ∧ Y) ∨ (¬X ∧ ¬Y)
(¬X ∧ Y) ∨ (X ∧ ¬Y)
"
"
"
"
"
Conjonction et disjonction généralisées
L’opération ∧ est commutative et associative. Et de même pour ∨.
Nous pouvons donc introduire une notation conjonctive et disjonctive
“généralisée” :
[X1,X2,...,Xn ]
<X1,X2,...,Xn >
est la disjonction généralisée de X1,X2,...,Xn ,
est la conjonction généralisée de X1,X2,...,Xn .
Si v est une évaluation booléenne, nous définissons :
v([X 1,X2,...,Xn ])=t
v(<X1,X2,...,Xn >)=t
SSI
SSI
il existe i tel que v(Xi)=t
pour tout i v(X i)=t
Conséquence propositionnelle
Une formule propositionnelle X est une conséquence propositionnelle d’un
ensemble S de formules propositionnelles, SI :
la valeur de X est égale à t pour toute évaluation booléenne qui associe à chaque
élément de S la valeur t.
9
6. La Logique du premier ordre
La logique des propositions ne permet pas de parler d'individus :
Par exemple, la proposition "Jean est sérieux" est considérée dans sa globalité.
Mais la plupart de nos connaissances portent sur des individus, sur des classes
d'individus, sur des relations entre individus.
-> on utilise la logique du premier ordre.
6.1. Syntaxe
Pour définir un langage de la logique du premier ordre, nous nous donnons :
- un ensemble de variables {x, y, ...},
- un ensemble de constantes {a, b, , ...},
- les éléments V et F,
- un ensemble de fonctions {f,g, ...}, ayant chacun une arité,
- un ensemble de prédicats {P, Q, ...}, ayant chacun une arité,
- des connecteurs : la négation ¬, et des connecteurs binaires : ∧ , ∨,...
- les quantificateurs ∀ et ∃.
Par exemple, ¬( (∀ x)(∃y) P(x, f(y), a) ), est une formule du premier ordre.
(∀ x) : quantification universelle (“pour tout x”),
(∃x) : quantification existentielle (“il existe un x tel que”)
Si P est un prédicat d’arité n, P(X1,X2,...,Xn ) est une formule atomique.
10
6.2. Sémantique
Nous reprenons l'ensemble Tr={t,f} pour les valeurs de vérité.
Pour effectuer l’évaluation d’une formule du premier ordre, il est nécessaire de
choisir un modèle dans lequel la formule sera interprétée.
Un modèle est composé d’un domaine et d’une interprétation.
•On choisit un domaine : ensemble D non vide, quelconque.
•On choisit une interprétation dans D pour chaque :
- constante
- fonction
- prédicat
- variable
Calcul de la valeur d'une formule quantifiée :
• la formule (∀ x)X est vraie si, lorsque l’on remplace, dans X, la variable x par
n’importe quel élément de D, X prend la valeur t.
•la formule (∃x)X est vraie si, lorsque l’on remplace, dans X, la variable x par l’un
des éléments de D, X prend la valeur t.
11
Exemple
Soit un langage du premier ordre contenant
- les sympboles de constantes : a, b, c,
- les symboles de prédicats unaires : Masc et Fem
prédicat binaire : Frère
Soient les formules :
(F1 ... F4) : Masc(a) ; Fem(b) ; Masc(c) ; Frère(a,b)
(F5) :
(∀ x) (Masc(x) ≡ ¬Fem(x))
(F6) :
(∀ x) (∀ y) (Frère(x,y) ⊃ Masc(x))
(F7) :
(∀ x) ¬ Frère(x,x)
Premier modèle On définit le Modèle 1 suivant :
•un domaine D1 = { Jean, Marie, Pierre}.
•une interprétation telle que :
- elle interprète a par Jean, b par Marie, c par Pierre;
- Masc s’interprète par une fonction D1 -> Tr
qui fournit la valeur t sur Jean et Pierre, et f sur Marie ;
- Fem s’interprète par une fonction D1 -> Tr
qui fournit la valeur f sur Jean et Pierre, et t sur Marie ;
- Frère s’interprète par une fonction D1 -> Tr
qui ne donne t que si ces arguments sont, dans cet ordre, Jean et Marie.
-> Alors, dans ce modèle, toutes les formules (F1... F7) prennent la valeur t.
Deuxième modèle On définit le Modèle 2 suivant :
•un domaine D2 = { Jean, Marie }
•une interprétation telle que :
- elle interprète a par Jean, b par Marie, et c par Jean ;
- Masc s’interprète par une fonction D1 -> Tr
qui fournit la valeur t sur Jean et f sur Marie
- Fem s’interprète par une fonction D1 -> Tr
qui fournit la valeur f sur Jean, et t sur Marie
- Frère s’interprète par une fonction D1 -> Tr
qui ne donne t que si ces arguments sont, dans cet ordre, Jean et Marie.
-> Dans ce modèle également, toutes les formules (F1... F7) prennent la valeur t.
12
6.4. Connaissances du premier ordre
Si l’on voit l’univers comme composé d’entités stables, sur lesquelles on dispose
d’une connaissance complète, la logique du premier ordre est un excellent
système de représentation.
Exemple Considérons les énoncés suivants:
“un livre est écrit par un ou plusieurs auteurs”,
“les livres sont des objets”, “les auteurs sont des personnes”,
“un livre est tiré en au moins une édition”,
“chaque édition est caractérisée par un éditeur, une date, un tirage”,
“les éditeurs sont des entreprises”, “les dates et les tirages sont des nombres”
“les personnes, les entreprises, les nombres, les objets, sont des classes
disjointes”
On peut exprimer ces connaissances dans un langage du 1er ordre, par exemple :
•on organise les entités dont on parle en 4 classes, munies de sous-classes :
personnes (auteurs); entreprises (éditeurs); nombres (dates,tirages); objets (livres)
•on exprime les relations entre ces classes à l’aide des prédicats :
personne(x) ; auteur(x) ; entreprise(x) ; éditeur(x) ; nombre(x) ; date(x) ; tirage(x) ;
objet(x) ; livre(x) ; edition(l,e,d,t) ; ecrit(a,l).
•on représente les phrases par les formules comme :
⊃ ((∃y) (auteur(y) ∧ ecrit(y,x))
∧ (∀ z) (ecrit(z,x) ⊃ (auteur(z))))
(∀ x) (livre(x) ⊃ objet(x))
(∀ x) (auteur(x) ⊃ personne(x))
(∀ l) (livre(l)
⊃ (∃e) (∃d) (∃t) edition(l,e,d,t))
...etc.
(∀ x) (livre(x)
Ces formules sont-elles “la meilleure” traduction des énoncés ?
Ces connaissances n’ont de valeur qu’en ce qu’elles sont susceptibles de permettre
des inférences.
13
6.5. Exemples où la logique du premier ordre n’est pas adéquate
La logique du premier ordre n’est pas toujours adéquate pour la représentation des
connaissances.
•L’univers doit être composé d’entités, mais :
1) certains objets ont des contours mal définis (les nuages)
2) la décomposition d’un univers en objets physiques peut avoir un sens à une
échelle, et plus aucun sens à une autre échelle
3) les objets ”massiques” posent des problèmes très particuliers :
• “cette bague est en or” peut se traduire par : bague(a) ∧ fait-en(a, or)
où a et or sont des constantes.
• “l’or de cette bague est le même que celui de ce bracelet” nous demande de
changer de langage et de considérer or comme une classe d’objets, par ex :
bague(a) ∧ bracelet(b) ∧ (∃x) ( or(x) ∧ fait-en(a, x) ∧ fait-en(b, x) )
... et bien d’autres problèmes plus complexes peuvent se poser.
• Le découpage doit être stable, mais :
il faut souvent prendre en compte l’évolution temporelle des objets.
Ex : “cette bague en or a été fabriquée en 1960” peut se représenter par :
bague(a) ∧ fabriqué(a,or,1960)
Mais pour savoir si elle est en or en 2000, il faut ajouter :
(∀ x) (∀ y) (∀ t) (fabrique(x,y,t) ⊃ (∀ t’) ((t’>t) ⊃ fait-en(x,y,t’)))))
ce qui nous permet de déduire que : fait-en(a,or,2000)
Mais quelle valeur de vérité donner à : fait-en(a,or,1950) ???
14
• Notre connaissance sur les objets doit être complète.
Exemple :
mollusques
gastéropodes
escargots limaces •••
cephalopodes
pieuvres nautiles •••
bivalves
moules huitres •••
1. “les nautiles sont des céphalopodes”
2. “les céphalopodes sont des mollusques”
3. “les mollusques ont généralement une coquille”
4. “les céphalopodes généralement n’en ont pas”
5. “les nautiles en ont une”
6. “a est un nautile, b un céphalopode, c un mollusque”
La notion de “généralement vrai” n’a pas sa place en logique classique
On passe par :
“les mollusques, sauf les céphalopodes-non-nautiles, ont une coquille”
D’où :
1. (∀ x) (nautile(x) ⊃ céphalopode(x))
2. (∀ x) (céphalopode(x) ⊃ mollusque(x))
3. (∀ x) (mollusque(x) ∧ ¬(céphalopode(x) ∧ ¬nautile(x)) ⊃ a-coquille(x)))
4. (∀ x) (céphalopode(x) ∧ ¬nautile(x)) ⊃ ¬ a-coquille(x))
5. (∀ x) (nautile(x) ⊃ a-coquille(x))
6. nautile(a) ; céphalopode(b) ; mollusque(c) .
On peut en déduire que a a une coquille.
Mais de ces formules, on ne peut déduire
ni a-coquille(b)
ni ¬a-coquille(b)
- Il existe des modèles où b est un nautile et où il a donc une coquille
- Il existe des modèles où b n'est pas un nautile et où il n'a donc pas de coquille
C'est le problème de la connaissance incomplète :
On sait que b est un céphalopode. Mais est-ce un nautile ?
15
De même pour c.
7. Quelques éléments sur d’autres logiques...
D’autres systèmes logiques (nombreux) ont été définis.
La logique est un domaine de recherches très actif.
Quelques exemples :
• Les logiques d’ordre supérieur à un
On peut vouloir représenter des propriétés des prédicats,
par exemple “le prédicat P(x,y) est transitif”,
c’est-à-dire : si P(x,y) et P(y,z) sont vrais, alors P(x,z) l’est aussi.
On définit pour cela la “logique du second ordre”.
En généralisant, on définit des logiques “d’ordre supérieur” : 2, 3, ...n.
• Logiques modales
On peut vouloir représenter :
“Paul croit que Marie est malade”
“Il est douteux que la vie existe ailleurs que sur terre”
“Généralement les mollusques ont une coquille”
Ces phrases se caractérisent par un contenu sur lequel est énoncé un point de vue.
Dans un premier temps, on peut représenter ce point de vue entre < > et écrire :
<Paul-croit> malade(Marie)
<douteux> ( (∃x) (¬ est (x, terre) ∧ (∃y) (vivant(y) ∧ se-trouve(y,x)))
<generalement> ( (∀ x) (mollusque(x) ⊃ a-coquille(x)))
On appelle modalité toute expression susceptible de qualifier un contenu
propositionnel.
Si l'on choisit un ensemble de modalités, on peut définir une logique contenant ces
modalités : syntaxe du langage, sémantique, système de déduction, ... etc.
16
• Logiques multi-valuées
Il est possible que Tr = {t,f} ne suffise pas.
On peut en particulier ajouter une valeur “indéfini” ou “absurde” quand il est
impossible de donner à une formule la valeur t ou f.
Exemple :
1. “En 1998, le roi de France était chauve”.
La négation grammaticale est :
2. “En 1998, le roi de France n’était pas chauve”.
Que peut-on dire de ces phrases ? laquelle est vraie ? laquelle est fausse ?
Pour traiter ce type de problème, on sépare souvent :
- le contenu présupposé (“il existe un roi de France”)
- le contenu posé (“ce roi est chauve”).
Et l’on dit que, si le présupposé prend la valeur f, la phrase complète prend la valeur
“absurde”.
On définit alors une logique à 3 valeurs (tables de vérité, règles de valuation, etc)
De même,
on définit des logiques probabilistes, où les valeurs de vérité sont dans [0,1]
• Les conclusions révisables
On cherche souvent, dans la vie courante, à obtenir vite une conclusion provisoire,
pour la raffiner dans la mesure du temps disponible.
Des travaux cherchent à mettre cette idée en oeuvre. Elle conduit à :
- la logique du raisonnement “par défaut”
- la révision des connaissances
- le raisonnement “à profondeur variable”
- ...
17
- les logiques non-monotones
En conclusion
Il est fondamental de voir que :
• On n’a jamais trouvé de “format général” dans lequel transcrire toutes les
connaissances humaines...
Un modèle est toujours une approximation parmi d’autres.
•Il existe toujours un compromis à trouver entre expressivité et efficacité.
•Le choix de la description est déjà le fruit d’un raisonnement, la logique n’entre en
jeu qu’une fois que ce choix a été fait.
18
19
Téléchargement