logo

Logique du premier ordre en intelligence artificielle

Dans le sujet de la logique propositionnelle, nous avons vu comment représenter des déclarations en utilisant la logique propositionnelle. Mais malheureusement, en logique propositionnelle, nous ne pouvons représenter que les faits, qui sont vrais ou faux. PL n'est pas suffisant pour représenter les phrases complexes ou les déclarations en langage naturel. La logique propositionnelle a un pouvoir expressif très limité. Considérons la phrase suivante, que nous ne pouvons pas représenter en utilisant la logique PL.

doubler en chaîne java
    'Certains humains sont intelligents', ou « Sachin aime le cricket. »

Pour représenter les déclarations ci-dessus, la logique PL n'est pas suffisante, nous avons donc besoin d'une logique plus puissante, telle que la logique du premier ordre.

Logique du premier ordre :

  • La logique du premier ordre est une autre manière de représenter les connaissances en intelligence artificielle. C'est une extension de la logique propositionnelle.
  • FOL est suffisamment expressif pour représenter les déclarations en langage naturel de manière concise.
  • La logique du premier ordre est également connue sous le nom de Logique des prédicats ou Logique des prédicats du premier ordre . La logique du premier ordre est un langage puissant qui développe plus facilement les informations sur les objets et peut également exprimer la relation entre ces objets.
  • La logique du premier ordre (comme le langage naturel) suppose non seulement que le monde contient des faits comme la logique propositionnelle, mais suppose également les éléments suivants dans le monde :
      Objets:A, B, les gens, les nombres, les couleurs, les guerres, les théories, les carrés, les fosses, les wumpus, ......
  • Rapports: Il peut s'agir d'une relation unaire telle que : rouge, rond, est adjacent, ou n-toute relation telle que : la sœur de, frère de, a de la couleur, se situe entreFonction:Père de, meilleur ami, troisième manche de, fin de, ......
  • En tant que langage naturel, la logique du premier ordre comporte également deux parties principales :
      Syntaxe
  • Sémantique

    Syntaxe de la logique du premier ordre :

    La syntaxe de FOL détermine quelle collection de symboles est une expression logique en logique du premier ordre. Les éléments syntaxiques de base de la logique du premier ordre sont les symboles. Nous écrivons les déclarations en notation abrégée en FOL.

    Éléments de base de la logique du premier ordre :

    Voici les éléments de base de la syntaxe FOL :

    Constante 1, 2, A, John, Mumbai, chat,....
    Variables x, y, z, a, b,....
    Prédicats Frère, Père, >,....
    Fonction sqrt, LeftLegOf, ....
    Connectiques ∧, ∨, ¬, ⇒, ⇔
    Égalité ==
    Quantificateur ∀, ∃

    Phrases atomiques :

    • Les phrases atomiques sont les phrases les plus élémentaires de la logique du premier ordre. Ces phrases sont formées d'un symbole de prédicat suivi d'une parenthèse avec une séquence de termes.
    • Nous pouvons représenter les phrases atomiques comme Prédicat (terme1, terme2, ......, terme n) .

    Exemple : Ravi et Ajay sont frères : => Frères (Ravi, Ajay).
    Chinky est un chat : => chat (Chinky)
    .

    Phrases complexes:

    • Les phrases complexes sont créées en combinant des phrases atomiques à l'aide de connecteurs.

    Les énoncés logiques du premier ordre peuvent être divisés en deux parties :

      Sujet:Le sujet est la partie principale de la déclaration.Prédicat:Un prédicat peut être défini comme une relation qui lie deux atomes ensemble dans une instruction.

    Considérez l'énoncé : « x est un nombre entier ». , il se compose de deux parties, la première partie x est le sujet de l'instruction et la deuxième partie « est un nombre entier », est connue sous le nom de prédicat.

    Logique du premier ordre en intelligence artificielle

    Quantificateurs en logique du premier ordre :

    • Un quantificateur est un élément de langage qui génère une quantification, et la quantification précise la quantité d'échantillons dans l'univers du discours.
    • Ce sont les symboles qui permettent de déterminer ou d'identifier la plage et la portée de la variable dans l'expression logique. Il existe deux types de quantificateurs :
        Quantificateur universel, (pour tous, tout le monde, tout)
    • Quantificateur existentiel, (pour certains, au moins un).

    Quantificateur universel :

    Le quantificateur universel est un symbole de représentation logique, qui spécifie que l'énoncé compris dans sa plage est vrai pour tout ou chaque instance d'une chose particulière.

    Le quantificateur universel est représenté par un symbole ∀, qui ressemble à un A inversé.

    Remarque : Dans le quantificateur universel, nous utilisons l'implication '→'.

    Si x est une variable, alors ∀x se lit comme suit :

      Pour tout x Pour chaque x Pour chaque x.

    Exemple:

    Tous les hommes boivent du café.

    Soit une variable x qui fait référence à un chat afin que tous les x puissent être représentés dans UOD comme ci-dessous :

    Logique du premier ordre en intelligence artificielle

    ∀x homme(x) → boisson (x, café).

    Il se lira ainsi : Il y a tous les x où x est un homme qui boit du café.

    system.out.println

    Quantificateur Existentiel :

    Les quantificateurs existentiels sont le type de quantificateurs qui expriment que l'énoncé dans leur portée est vrai pour au moins une instance de quelque chose.

    Il est désigné par l'opérateur logique ∃, qui ressemble à un E inversé. Lorsqu'il est utilisé avec une variable de prédicat, il est alors appelé quantificateur existentiel.

    analyseur java

    Remarque : Dans le quantificateur existentiel, nous utilisons toujours le symbole AND ou Conjonction (∧).

    Si x est une variable, alors le quantificateur existentiel sera ∃x ou ∃(x). Et il se lira ainsi :

      Il existe un « x ». Pour certains « x ». Pour au moins un « x ».

    Exemple:

    Certains garçons sont intelligents.

    Logique du premier ordre en intelligence artificielle

    ∃x : garçons(x) ∧ intelligent(x)

    Il se lira ainsi : Il y a des x où x est un garçon intelligent.

    Points à retenir:

    • Le connecteur principal pour le quantificateur universel est une implication .
    • Le principal connecteur pour le quantificateur existentiel est et .

    Propriétés des quantificateurs :

    • Dans le quantificateur universel, ∀x∀y est similaire à ∀y∀x.
    • Dans le quantificateur existentiel, ∃x∃y est similaire à ∃y∃x.
    • ∃x∀y n’est pas similaire à ∀y∃x.

    Quelques exemples de FOL utilisant un quantificateur :

    1. Tous les oiseaux volent.
    Dans cette question, le prédicat est ' voler (oiseau) .'
    Et comme il y a tous les oiseaux qui volent, cela sera représenté comme suit.
    ∀x oiseau(x) →voler(x) .

    2. Chaque homme respecte ses parents.
    Dans cette question, le prédicat est ' respect(x, y),' où x=homme et y= parent .
    Puisqu’il y a tout homme, nous utiliserons donc ∀, et cela sera représenté comme suit :
    ∀x homme(x) → respecte (x, parent) .

    3. Certains garçons jouent au cricket.
    Dans cette question, le prédicat est ' jouer (x, y) ,' où x= garçons et y= jeu. Puisqu'il y a des garçons, nous allons utiliser ∃, et il sera représenté par :
    ∃x garçons(x) → jouer(x, cricket) .

    ipconfig sur Ubuntu

    4. Tous les élèves n’aiment pas à la fois les mathématiques et les sciences.
    Dans cette question, le prédicat est ' like(x, y),' où x= étudiant et y= sujet .
    Puisqu'il n'y a pas tous les étudiants, nous utiliserons donc ∀ avec négation, donc représentation suivante pour cela :
    ¬∀ (x) [ étudiant(x) → comme(x, Mathématiques) ∧ comme(x, Sciences)].

    5. Un seul élève a échoué en mathématiques.
    Dans cette question, le prédicat est ' échec(x, y),' où x= étudiant et y= sujet .
    Puisqu’il n’y a qu’un seul élève qui a échoué en mathématiques, nous utiliserons donc pour cela la représentation suivante :
    ∃(x) [ élève(x) → échec (x, Mathématiques) ∧∀ (y) [¬(x==y) ∧ élève(y) → ¬échec (x, Mathématiques)] .

    Variables libres et liées :

    Les quantificateurs interagissent avec des variables qui apparaissent de manière appropriée. Il existe deux types de variables dans la logique du premier ordre qui sont indiquées ci-dessous :

    Variable libre : Une variable est dite libre dans une formule si elle apparaît en dehors du cadre du quantificateur.

    Exemple : ∀x ∃(y)[P (x, y, z)], où z est une variable libre.

    Variable liée : Une variable est dite variable liée dans une formule si elle apparaît dans le cadre du quantificateur.

    Exemple : ∀x [A (x) B( y)], ici x et y sont les variables liées.