Caractéristiques et exemples de programmation logique

Caractéristiques et exemples de programmation logique

La Programmation logique Il s'agit d'un paradigme de programmation qui utilise des circuits logiques au lieu de seulement des fonctions mathématiques pour contrôler la façon dont les faits et les règles sont énoncés.

Au lieu d'un flux de contrôle soigneusement structuré qui dicte quand exécuter et comment évaluer les appels vers des fonctions ou d'autres instructions, les règles logiques du programme sont écrites comme des clauses logiques ou des prédicats.

Exemples de programmation logique dans Prolog. Source: par Kuldeepsheoran1 - Capture d'écran, CC par -sa 3.0, Wikimedia Commons

Cette approche, qui est souvent utilisée dans la programmation génétique et évolutive, indique généralement à un modèle quel objectif d'atteindre, au lieu de l'atteindre.

Chaque règle contient un en-tête et un corps avec une logique formalisée, au lieu d'une fonction mathématique exécutable. Par exemple, "et c'est vrai (dirigé): si C1, C2 et C3 sont vrais (corps)". Les faits ou les résultats sont exprimés sans corps, comme "et est vrai".

Cependant, avec certains langages de programmation tels que Prolog. Par exemple, "pour résoudre et ajouter C1, C2 et C3".

[TOC]

Caractéristiques de la programmation logique

La programmation logique est sensiblement différente des autres stratégies de programmation existantes. Au lieu d'instructions à un ordinateur avec le programme, les relations entre les objets sont établies. De cette façon, l'ordinateur peut raisonner ces relations et ainsi atteindre des solutions logiques.

Dans un programme logique, il existe deux principaux ensembles de code: les faits et les règles. Les règles s'appliquent aux faits afin d'obtenir des connaissances sur l'environnement.

Vérité et déduction logique

Les programmes logiques peuvent être déchiffrés à travers deux concepts importants: la vérité et la déduction logique. La vérité survient si le calcul du programme est vrai ou non, sous la mise en œuvre des symboles du programme. La déduction logique détermine si une clause logique est une conséquence du programme.

Peut vous servir: types de logiciels d'application

Ces instructions seront toujours interprétées comme des phrases et des clauses logiques, le résultat de son exécution étant une conséquence logique des calculs contenant.

Logique de première commande

C'est une branche de la logique propositionnelle. Considérez si les objets sont vrais ou faux dans une perspective partielle du monde, appelé domaine. La programmation logique est basée sur une généralisation de la logique de premier ordre.

Cette logique est composée de syntaxe et de sémantique. La syntaxe est le langage formel utilisé pour exprimer des concepts. D'un autre côté, la sémantique des formules logiques de premier ordre indique comment déterminer la valeur réelle de toute formule.

Cette logique est basée sur un alphabet et une langue de premier ordre, en plus d'un ensemble d'axiomes et de règles d'inférence.

Forme clausale

C'est un sous-ensemble de logique de premier ordre. Il a une forme normalisée où une phrase est définie par un préfixe universel ou une chaîne de quantificateurs universels, et un ensemble libre de quantificateurs de clause.

Lors de la demande d'une consultation au programme, le corps de la clause dont la rubrique peut coïncider sera considéré. C'est la même chose que l'application d'une règle d'inférence dans la logique.

En tant que passage de l'inférence, deux clauses sont choisies qui ont comme propriété qui contient un dilemme X (un littéral positif) et l'autre contient un dilemme ¬x (un littéral négatif). Ces dilemmes sont connus comme complémentaires.

À partir de ces deux clauses initiales, une nouvelle clause résolutive est construite à l'aide de tous les littéraux, à l'exception de ceux complémentaires.

Intelligence artificielle

La programmation logique est une méthodologie utilisée pour rechercher des ordinateurs à déduire, car il est utile de représenter les connaissances. La logique est utilisée pour représenter les connaissances et l'inférence pour le gérer.

Peut vous servir: nticx

La logique utilisée pour représenter les connaissances est le formulaire de clause. Il est utilisé parce que la logique de première commande est bien comprise et est capable de représenter tous les problèmes de calcul.

Prolog est un langage de programmation basé sur des idées de programmation logiques. L'idée de Prolog est de faire en sorte que la logique semble un langage de programmation.

Exemples de programmation logique

Exemple 1

- Fait: Rubí est un chat.

- Règle: tous les chats ont des dents.

- Consultation: Rubí a des dents?

- Conclusion: oui.

La règle "Tous les chats ont des dents" peuvent être appliqués à Rubí, car il y a un fait qui dit "Rubí est un chat". Cet exemple n'est écrit avec aucune syntaxe d'un véritable langage de programmation.

Exemple 2

Cet exemple peut être écrit dans Prolog, pour être l'un des langages de programmation logique les plus connus:

- Femme (Alissa).

- mâle (Bobby).

- mâle (carlos).

- Femme (Doris).

- Son_ (Doris, Carlos).

- Son_ (Carlos, Bobby).

- Son_ (Doris, Alissa).

- Père_ (f, p): - mâle (f), fils_ (p, f).

Ce programme est difficile à lire, car Prolog est remarquablement différent des autres langues. Tout composant du code qui ressemble à «Femme (Alissa)." c'est un fait.

Une règle est "père_ (f, p): - mâle (f), fils_ (p, f)". Le symbole ": -" peut être lu comme "c'est vrai si". Les majuscules signifient que les variables peuvent être appliquées à n'importe quel objet, donc F pourrait signifier Carlos, Doris, Alissa ou Bobby. Ce code peut être traduit par:

- Alissa est une femme.

- Bobby est un homme.

- Carlos est un homme.

- Doris est une femme.

Il peut vous servir: dispositifs de sortie: caractéristiques, quels sont les types, types, exemples

- Doris est la fille de Carlos.

- Carlos est le fils de Bobby.

- Doris est la fille d'Alissa.

- "F est le père de P" est vrai si F est un homme et si P est le fils de F.

Consultation

Supposons que vous souhaitiez consulter le programme pour plus d'informations. Vous pouvez chercher à vous demander que vous êtes de qui est le père Bobby avec: ?- Père_ (Bobby, x). Le système indiquera la réponse suivante: x = carlos.

Dans ce cas, une relation se produit lorsque l'une de ses valeurs est une variable. Ce qu'il a fait, c'est appliquer différents objets à cette relation jusqu'à ce que l'un d'eux soit logiquement solide.

Le seul père de Carlos est Bobby, et Bobby est un homme. Cela a satisfait la règle.". Lorsque x est égal à "carlos", la logique est solide.

Autres consultations

D'autres consultations plus générales peuvent être faites à Prolog, ce qui fait que le système génère plusieurs résultats:

- ?- Père_ (père, enfant).

- Père = Bobby

- Enfant = Carlos

- Père = Carlos

- Enfant = Doris

Comme on pourrait l'obtenir, la programmation logique ne nécessite pas d'informations que Alissa ou Bobby sont des gens pour obtenir des connaissances à leur sujet. En fait, il n'est pas nécessaire d'indiquer qu'il y a un concept appelé personne.

Dans la plupart des langages de programmation non logiques, ces concepts doivent d'abord être définis avant d'écrire des programmes qui traitent les informations sur les personnes.

Les références

  1. IA profonde (2020). Programmation logique. Tiré de: Deepai.org.
  2. Wikiversity (2020). Théorie des langages de programmation / programmation logique. Pris de: dans.Wikiversity.org.
  3. Imperial College London (2006). Programmation logique. Pris de: doc.IC.CA.ROYAUME-UNI.
  4. Jia-huai vous (2020). Introduction à Logic Programmmmm. Université de l'Alberta. Tiré de: Eng.Ucy.CA.Cycle.
  5. C2 Wiki (2020). Programmation logique. Tiré de: wiki.C2.com.