Cours 2 Logique de Prédicats

Documents pareils
Logique : ENSIIE 1A - contrôle final

Chapitre 2. Eléments pour comprendre un énoncé

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Bases de données Cours 5 : Base de données déductives

Résolution d équations non linéaires

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Du Premier au Second Degré

Structures algébriques

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Algorithmique et Programmation, IMA

dans un cadre richement typé

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Systèmes décisionnels et programmation avancée

Moments des variables aléatoires réelles

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Université Paris-Dauphine DUMI2E 1ère année, Applications

Calculabilité Cours 3 : Problèmes non-calculables.

Simulation de variables aléatoires

Logique. Plan du chapitre

Al attention du praticien et des étudiants, nous avons développé

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

CORRECTION EXERCICES ALGORITHME 1

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Cours de Programmation Impérative: Zones de mémoires et pointeurs

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Programmation Objet - Cours II

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Intelligence Artificielle Planification

Pour l épreuve d algèbre, les calculatrices sont interdites.

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Feuille TD n 1 Exercices d algorithmique éléments de correction

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Les devoirs en Première STMG

Présentation du langage et premières fonctions

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Loi d une variable discrète

Attestation de maîtrise des connaissances et compétences au cours moyen deuxième année

Correction du baccalauréat STMG Polynésie 17 juin 2014

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.

Langage SQL : créer et interroger une base

Chapitre 4: Dérivée d'une fonction et règles de calcul

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

Réalisabilité et extraction de programmes

Algorithmique des Systèmes Répartis Protocoles de Communications

Organigramme / Algorigramme Dossier élève 1 SI

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Marc HINDRY. Introduction et présentation. page 2. 1 Le langage mathématique page 4. 2 Ensembles et applications page 8

FONCTIONS À CROISSANCE RÉGULIÈRE

Intelligence artificielle appliquée à l automatique

Fondements de l informatique Logique, modèles, et calculs

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

3. Conditionnement P (B)

Intégration et probabilités TD1 Espaces mesurés

Huitième partie VIII. Logique du premier ordre. Plan. En bref... Avantages et inconvénients de la logique propositionnelle. Avantages.

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Optimisation Discrète

Exercice 1 Trouver l équation du plan tangent pour chaque surface ci-dessous, au point (x 0,y 0,z 0 ) donné :

Bases de données déductives

Compilation. Algorithmes d'analyse syntaxique

Indications pour une progression au CM1 et au CM2

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

1.1 Codage de source et test d hypothèse

Probabilités conditionnelles Loi binomiale

Initiation à la Programmation en Logique avec SISCtus Prolog

UML et les Bases de Données

Probabilités. C. Charignon. I Cours 3

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours 1 : La compilation

Etude de fonctions: procédure et exemple

2 Comment fonctionne un ordinateur, dans les grandes lignes

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

LE PROBLEME DU PLUS COURT CHEMIN

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

IV- Equations, inéquations dans R, Systèmes d équations

MIS 102 Initiation à l Informatique

Plan Pédagogique du cours

Théorie des Langages

Présentation du cours de mathématiques de D.A.E.U. B, remise à niveau

Fonctions de deux variables. Mai 2011

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Cours 1 : Qu est-ce que la programmation?

Plus courts chemins, programmation dynamique

Transcription:

Cours 2 Logique de Prédicats Vocabulaire- Syntaxe - Sémantique Kaninda Musumbu 1 Département d Informatique Université de Bordeaux Notes du cours et TD : http://dept-info.labri.u-bordeaux.fr/ musumbu/expert

Introduction Remarque En logique des propositions on considère une proposition comme un tout, représenté par une variable, dont on ne détaille pas le contenu. On ne s intéresse qu à sa vérité ou à sa fausseté. En logique des prédicats, ou logique du premier ordre, on regarde les propositions de plus près. Exemple : Charles est grand est grand est un prédicat (ce qu on dit à propos du sujet) Qu on réécrit sous une forme qui met en évidence le prédicat: estgrand(charles)

Introduction Notation Suivant ce modèle, la logique des prédicats représente les propositions élémentaires (atomiques) sous la forme : nom-prédicat(objet1,objet2,...) où objet1,objet2,...) sont les objets sur lesquels porte le prédicat (le sujet et ses éventuels complément)

Motivation Définition Comment exprimer les phrases suivantes "No all birds fly" est équivalente à "Some birds don t fly". "Not all integers are even" equiv est équivalente à "Some integers are not even". "Not all cars are expensive" equiv "Some cars are not expensive". Remarque Logique propositionnelle pas suffisament expressive (puissante) pour représenter tous types d assertions telle que " ". x 1

Extension de la logique propositionnnelle Objectif On veut parler des individus et leur donner un nom. On veut parler de propriétés de ces individus et des relations entre eux. Remarques Les variables représentent non pas des propositions mes des objets sur lesquels portent les prédicats. L introduction de variables permet de formuler deux types d énoncés: énoncés universels Si X est une girafe alors X est un animal énoncés existentiels Il y a au moins un nombre entier N tel que N > 3etN N < 30.

Syntaxe de la logique de Prédicat Langage Pour écrire des formules de logique des prédicats, on a besoin d un vocabulaire constantes (a, b, c,...) variables (x,y,z,...) fonctions (f,g,h,...) prédicats (p,q,r,...) quantificateurs (, ):

Grammaire de la logique de Prédicat terme = constante variable fonction"("terme,...,terme")" atome = prédicat"("terme,...,terme")" formule = atome variable formule variable formule formule formule connecteur formule connecteur =

Priorité des connecteurs Ordre de priorité (, ) >, > >, > > Exemples:Parenthéser ces formules 1 a b q 2 x b q 3 x E y E r(x) w(y, x) g(x) 4 x p(x) yq(y, x)

Définition de Prédicat Prédicat: Tout énoncé exprime une propriété d un ensemble ou d une collection d ensemble. Soient E 1,..., E n, des ensembles d Univers on appelle prédicat ou relation toute application de E 1 E 2... E n dans V. Donc E 1,..., E n, la donnée de G ( n-uplets (x 1, x 2,..., x n )) telle que (x 1, x 2,..., x n ) G P(x 1,..., x n ) arité nombre d argument associé à chaque prédicat.

Exemples "La robe de Monica est blue", "Le ciel est blue", "La couverture de ce livre est blue", est blue", est un prédicat, on lui associe un nom est_blue ou Blue ou B. Ainsi une phrase qui affirme qu un objet est blue s ecrit: "B(x)", où x représente un objet quelconque. B(x) se lit "x est blue".

Calcul de Prédicats Objectif Définir quels sont les énoncés qui sont valides et quels sont ceux qui ne le sont pas. Arité Chaque symbole de prédicat a une arité qui détermine le nombre d arguments ou d objets auxquels il est appliqué B(x), B(x,y), B(x,y,z)

Valeur d un Prédicat Valuation Soit θ une application (ou valuation) de E dans V. La valeur de vérité d un prédicat P est toute valuation θ telle que Pθ V. Un prédicat clos n a qu une seule valeur possible de vérité. C est, donc, une proposition. Un prédicat qui ne contient aucune variable libre admet une et une seule valeur de vérité. Les prédicats à deux places sont dits binaires. Les prédicats à une place sont dits unaires ou monadiques. Il y a deux prédicats à 0 places, chacun d eux est identifiable à l un des éléments de V.

Quantificateurs Définition opérateur reliant une ou plusieurs variables à un ensemble Soit A un énoncé contenant ou non des occurrences libres de la variable x de domaine E: xa signifie pour tout x de E, A(x). xa signifie il existe au moins un x de E, tel que A(x). Remarque Un prédicate avec variables libre n est pas une proposition. Exemple: x > 1 n est pas une proposition. Ce sont des opérateurs qui transforment des prédicats n aires en prédicats (n 1) aires ( et en particulier les prédicats monadiques en propositions)

Valeur d une expression quantifiée xa = v si chaque x 0 de l ensemble E: A(x 0 ) = v. xa = v s il y a au moins un x 0 de E:A(x 0 ) = v. Exemples: 1 x(18 = 3x) signifie 18 est multiple de 3. 2 x(x 1 = x) signifie 1 est neutre pour. 3 x E y E(x 0 x y = 1) signifie (E, ) est un groupe.

Négation d une Formule Quantifiée Soit A un énoncé ( x : A(x)) x( A(x)) ( x : A(x)) x( A(x))

Portée des Quantificateurs Définition Le concept de portée est central pour un système d infèrence. Elle permet de distinguer les différents usages du même symbole de variable. Porté atome ou formule à laquelle la quantification s applique xa(x), A(x) est la portée de x

Portée des Quantificateurs Variables liées variables sous la portée de quantificateurs Ensemble de variables liées Si A est un atome ou formue, l ensemble Varlie(A) de variables liées de A est défini par : si A est un atome alors Varlie(A)Porté= si A est de la forme B C alors Varlie(A)= Varlie(B) Varlie(C) si A est de la forme B alors Varlie(A) = Varlie(B) si A est de la forme xb ou xb alors Varlie(A) = Varlie(B)\ { x } Exemple x(enfant(x) y(mere(y, x)) x( yr(x, y) z S(x, z, v))

Variables libres et liées Variables libres Une occurrence d une variable est libre si elle n est dans la portée d aucun quantificateur. Sinon elle est liée. y(p(x) x(p(x) Q(y)) formule close ou ouverte formule sans variables libres, sinon elle est ouverte. x(entier(x) y(entier(y) plusgrand(y, x)

Variables libres et liées Exemple mere(x) pere(y) x(mere(x) pere(y, x) x(enfant(x) y(mere(y, x)) x yr(x, y) z S(x, z)) x yr(x, y) R(y, x) z S(x, z))

Exemples de formalisation Tous les hommes sont mortels Seulement les hommes sont mortels Il existe un homme mortel Il n existe pas d homme mortel

Exemples de formalisation Tous les hommes sont mortels x(h(x) M(x)) Seulement les hommes sont mortels x(m(x) H(x)) Il existe un homme mortel x(h(x) M(x)) Il n existe pas d homme mortel x(h(x) M(x))

Localité de la notion de Variable Définition Dans un système basé sur la logique, le nom d une variable est complètement local à la règle dans laquelle elle apparaît. Exemple si si X est mortel X est humain X est un commerçant X possède une boutique Remarque : il n y a aucun lien entre les occurrences de X dans les deux règles ci-dessus.

Quantification Revisitée 1 Les quantificateurs sont implicites dans la manière dont sont écrites les règles. Donc, on peut considérer toutes les variables comme étant quantifiées. 2 Si une variable apparaît dans la conclusion d une règle elle est supposée vraie pour toute constante pour laquelle la règle est appliquée. On dit que les variables de conclusions sont quantifiées universellement. 3 Les variables qui apparaissent uniquement dans les prémisses et non dans la conclusion d une règle sont dites quantifiées existentiellement

Quantification Revisitée Exemple Si Y est un sport et X pratique Y alors X est athlétique Pour chaque valeur de X, la règle est vraie, si une certaine valeur de Y peut-être trouvée Autrement dit: du moment qu on trouve Y, on n a pas besoin de savoir de quel Y il s agit. Remarque La raison de cette convention se base sur l analyse de la manière dont les règles sont exécutée

Substitution et Instance Définition une substitution est une application des variables dans les termes θ : Variable Terme L application d une substitution à une expression E est le résultat du remplacement simultané de toutes les occurrences libres des variables dans E par leur terme associé. Définition Si E est une expression et θ une substitution alors Eθ est appelé une instance de E. Notation Soit x = {x 1,..., x n } tel que θ(x) x, La substitution θ, est alors notée θ(x) = {x 1 t 1,..., x n t n }

Unificateur, Most general unifier Unificateur: Soient t 1, t 2, deux termes et θ une substitution. θ est dit unificateur ssi t 1 θ = t 2 θ Définition : mgu t 1, t 2, admettent une instance commune t ssi θ 1, θ 2 t.q. t 1 θ 1 = t 2 θ 2 = t Exemple t 1 = f (a, g(y )) et t 2 = f (X, g(b)) t 1 est plus général que t 2 ssi t 2 est une instance de t 1 et t 1 non de t 2. un unificateur de t 1, t 2 est une substitution θ t.q. t 1 θ = t 2 θ. un unificateur général (mgu) de t 1, t 2 est un unificateur telle que l instance associée aux 2 soit la plus générale.

Algorithme d Unification (1/3) Entrée: T 1 et T 2 à unifier Sortie: θ = mgu(t 1, T 2 ) ou echec Algorithme Initialisation θ = {}; vide_pile(p); echec=false; empile(p,t 1 = T 2 );

Algorithme d Unification (2/3) Tant_que( non_vide(p) et non(echec)) faire eq=depile(p); (* eq=(x=y) *) eqθ ; case: (var(x) et var(y)) ou (const(x) et const(y)) et X==Y continue; var(x) et X occ(y ); subst Y à X dans P et θ ; θ= θ {X Y }

Algorithme d Unification (3/3) var(y) et Y occ(x) subst X à Y dans P et θ ; θ= θ {Y X} X = f (X 1,..., X n ) et Y = f (Y 1,..., Y n ) empile(p,x i = Y i, i = 1..n) sinon echec = true; Fin TQ Si echec alors sortie= echec sinon sortie= θ Fin

Exercice Les expressions suivantes sont-elles unifiables, si oui quel est leur mgu p(f (a), g(x)) et p(y, Y ) p(a, X, h(g(z ))) et p(z, h(y ), h(y )) p(x, X) et p(y, f (Y ))