« Logique ternaire » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Helter78 (discuter | contributions)
Fonctionnalité de suggestions de liens : 3 liens ajoutés.
Balises : Éditeur visuel Modification par mobile Modification par le web mobile Tâche pour novices Suggéré : ajouter des liens
Hereptol (discuter | contributions)
ajout histoire et intro + fournie
Ligne 2 : Ligne 2 :
{{a sourcer|date=février 2017}}
{{a sourcer|date=février 2017}}
{{confusion|sortie à trois états}} <!-- Une sortie à 3 état n'est pas une logique ternaire, le « troisième état » étant déterminé par l’extérieur il est soit 0 soit 1 soit une haute impédance -->
{{confusion|sortie à trois états}} <!-- Une sortie à 3 état n'est pas une logique ternaire, le « troisième état » étant déterminé par l’extérieur il est soit 0 soit 1 soit une haute impédance -->
La '''logique ternaire''', ou '''logique 3 états''', est une branche du [[calcul des propositions]] qui étend l'[[Algèbre de Boole (logique)|algèbre de Boole]], en considérant, en plus des états VRAI et FAUX, l'état INCONNU.
La '''logique ternaire''', ou '''logique 3 états''' (parfois abrégée '''3VL'''), également appelé '''logique trinaire''' , '''trivalente''' , ou '''triléenne''' ) (en [[anglais]] {{Langue|en|''three-valued logic'', ''trinary logic'', ''trivalent'', ''ternary'', or ''trilean''}}<ref>https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/util/Trilean.html</ref>), est une branche du [[calcul des propositions]] qui étend l'[[Algèbre de Boole (logique)|algèbre de Boole]], en considérant, en plus des états '''VRAI''' (en anglais ''TRUE''→ '''T'''), et '''FAUX''' (en anglais ''FALSE''→ '''F'''), l'état '''INCONNU''' (en anglais ''UNKNOW''→ '''U'''). Cela la différencie des [[Principe de bivalence|logiques bivalentes]] plus connues (telles que la [[logique classique]] ou la [[logique booléenne]] ) qui ne fournissent que ''vrai'' et ''faux''.


[[Emil Leon Post]] est reconnu pour avoir introduit pour la première fois des degrés de vérité logique supplémentaires dans sa théorie des propositions élémentaires de 1921 <ref>{{Article|langue=en|prénom1=Emil L.|nom1=Post|titre=Introduction to a General Theory of Elementary Propositions|périodique=American Journal of Mathematics|volume=43|numéro=3|pages=163–185|date=1921|issn=0002-9327|doi=10.2307/2370324|lire en ligne=https://www.jstor.org/stable/2370324|consulté le=2024-05-15}}</ref>. La forme conceptuelle et les idées de base de la logique à trois valeurs ont été initialement publiées par [[Jan Łukasiewicz]] et [[Clarence Irving Lewis]] . Celles-ci ont ensuite été reformulées par [[Grigore Moisil]] sous une forme algébrique axiomatique, et également étendues à la logique à ''n'' valeurs en 1945.
== Tables de vérité ==


== Pré-découverte ==
Vers 1910, [[Charles Sanders Peirce]] a défini un système logique à valeurs multiples. Il ne l'a jamais publié. En fait, il n'a même pas numéroté les trois pages de notes où il définissait ses opérateurs à trois valeurs<ref>{{Lien web |langue=en |titre=Peirce’s Deductive Logic > Peirce's Three-Valued Logic (Stanford Encyclopedia of Philosophy/Summer 2020 Edition) |url=https://plato.stanford.edu/archIves/sum2020/entries/peirce-logic/three-valued-logic.html |consulté le=2024-05-15}}</ref>. Peirce a fermement rejeté l'idée que toutes les propositions doivent être vraies ou fausses, les propositions limites, écrit-il, sont « à la limite entre P et non P »<ref name=":0">{{Lien web |langue=en |prénom=Robert |nom=Lane |titre=Commens |sous-titre=Triadic Logic |url=http://www.commens.org/ |année=2001 |consulté le=2024-05-15}}</ref>. Cependant, aussi confiant qu'il était que « la logique triadique est universellement vraie »<ref>{{Lien web |langue=en |titre=Peirce Logic Notebook, Charles Sanders Peirce Papers MS Am 1632 (339). Houghton Library, Harvard University |url=https://iiif.lib.harvard.edu/manifests/view/drs:15255301$645i |site=Harvard Library Viewer |page=645}}</ref>, il a également noté que « tout cela est très proche du non-sens »<ref>{{Lien web |langue=en |titre=Peirce Logic Notebook, Charles Sanders Peirce Papers MS Am 1632 (339). Houghton Library, Harvard University |url=https://iiif.lib.harvard.edu/manifests/view/drs:15255301$638i |site=Harvard Library Viewer |page=638}}</ref>. Ce n'est qu'en 1966, lorsque Max Fisch et Atwell Turquette commencèrent à publier ce qu'ils avaient redécouvert dans ses manuscrits inédits, que les idées triadiques de Peirce devinrent largement connues<ref name=":0" />.
== Tables de vérité ==
{{Article connexe|Algèbre de De Morgan}}
Dans la logique ternaire de [[Stephen Cole Kleene]], les [[Table de vérité|tables de vérité]] des fonctions de base sont les suivantes :
Dans la logique ternaire de [[Stephen Cole Kleene]], les [[Table de vérité|tables de vérité]] des fonctions de base sont les suivantes :


Ligne 56 : Ligne 60 :
|}
|}
Quand on manipule un NULL booléen dans les opérations logiques, la logique ternaire s'applique. L'alternative « IF A THEN [instructions] » conduit à ne pas exécuter les instructions si A est NULL.
Quand on manipule un NULL booléen dans les opérations logiques, la logique ternaire s'applique. L'alternative « IF A THEN [instructions] » conduit à ne pas exécuter les instructions si A est NULL.

== Notes et références ==
== Notes et références ==

=== Notes ===
{{traduction/référence|en|Three-valued logic|1223110187}}
<references responsive="1" group="N"></references>

=== Références ===
{{références}}
{{références}}


== Voir aussi ==
== Voir aussi ==

=== Articles connexes ===

* [[Ordinateur ternaire|Ordinateurs ternaires]]:
** le [[Setun]] (URSS, 1958)
** le {{Lien|langue=en|trad=Ternac|fr=Ternac (ordinateur ternaire)|texte=Ternac}} ([[États-Unis]], 1973)
* [[Logique polyvalente]]
* [[Logique polyvalente]]
* [[Système ternaire]]
* [[Système ternaire]]
* [[Algèbre de Post]]
* [[Algèbre de Post]], [[Algèbre de De Morgan]]
* [[Table de Karnaugh]]
* [[Table de Karnaugh]]
* [[Sortie à trois états]]
* [[Sortie à trois états]]
* [[Tampon trois états]]
* [[Tampon trois états]]

=== Liens externes ===

* {{en}} ''[http://www.computer-museum.ru/english/setun.htm {{lang|en|Development of ternary computers at Moscow State University}}]''
* {{En}} Hackaday.io : Série d'articles accompagnant du projet [https://hackaday.io/project/164907-ternary-computing-menagerie ''Ternary Computing Menagerie''] (2019):

{{Colonnes|nombre = 3|1=
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/161756-balanced-ternary-numbering-system Balanced Ternary Numbering System]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/161762-counting Counting]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/161795-single-input-gates single-input-gates]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/161823-ternary-past-and-present Ternary Past and Present]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/161949-two-input-gates Two Input Gates]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162061-ternary-logic Ternary Logic] and [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162125-more-on-ternary-logic more]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162168-gray-codes Gray Codes]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162509-primitive-data-types Primitive Data Types] and [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162510-data-type-sizes-and-memory-access Memory Access]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162511-unary-operators Unary Operators]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162567-relational-operators Relational Operators]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162568-de-morgans-laws De Morgan's Laws]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162607-logical-operators Logical Operators]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162652-control-statements Control Statements]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162816-tritwise-operations-and-eating-crow Tritwise Operations... And Eating Crow]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/162817-shift-operations Shift Operations]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/169827-a-fast-balanced-ternary-addersubtracter A Fast Balanced Ternary Adder/Subtracter]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/169850-parity-calculation-and-checking Parity Calculation and Checking] and [https://hackaday.io/project/164907-ternary-computing-menagerie/log/170682-more-on-balanced-ternary-parity-checking more]
: [https://hackaday.io/project/164907-ternary-computing-menagerie/log/170171-balanced-ternary-huffman-encoding Balanced Ternary Huffman Encoding]
}}


{{Portail|mathématiques|logique}}
{{Portail|mathématiques|logique}}

Version du 15 mai 2024 à 10:25

La logique ternaire, ou logique 3 états (parfois abrégée 3VL), également appelé logique trinaire , trivalente , ou triléenne ) (en anglais three-valued logic, trinary logic, trivalent, ternary, or trilean[1]), est une branche du calcul des propositions qui étend l'algèbre de Boole, en considérant, en plus des états VRAI (en anglais TRUET), et FAUX (en anglais FALSEF), l'état INCONNU (en anglais UNKNOWU). Cela la différencie des logiques bivalentes plus connues (telles que la logique classique ou la logique booléenne ) qui ne fournissent que vrai et faux.

Emil Leon Post est reconnu pour avoir introduit pour la première fois des degrés de vérité logique supplémentaires dans sa théorie des propositions élémentaires de 1921 [2]. La forme conceptuelle et les idées de base de la logique à trois valeurs ont été initialement publiées par Jan Łukasiewicz et Clarence Irving Lewis . Celles-ci ont ensuite été reformulées par Grigore Moisil sous une forme algébrique axiomatique, et également étendues à la logique à n valeurs en 1945.

Pré-découverte

Vers 1910, Charles Sanders Peirce a défini un système logique à valeurs multiples. Il ne l'a jamais publié. En fait, il n'a même pas numéroté les trois pages de notes où il définissait ses opérateurs à trois valeurs[3]. Peirce a fermement rejeté l'idée que toutes les propositions doivent être vraies ou fausses, les propositions limites, écrit-il, sont « à la limite entre P et non P »[4]. Cependant, aussi confiant qu'il était que « la logique triadique est universellement vraie »[5], il a également noté que « tout cela est très proche du non-sens »[6]. Ce n'est qu'en 1966, lorsque Max Fisch et Atwell Turquette commencèrent à publier ce qu'ils avaient redécouvert dans ses manuscrits inédits, que les idées triadiques de Peirce devinrent largement connues[4].

Tables de vérité

Dans la logique ternaire de Stephen Cole Kleene, les tables de vérité des fonctions de base sont les suivantes :

A B A OU B A ET B NON A A implique B
Vrai Vrai Vrai Vrai Faux Vrai
Vrai Inconnu Vrai Inconnu Faux Inconnu
Vrai Faux Vrai Faux Faux Faux
Inconnu Vrai Vrai Inconnu Inconnu Vrai
Inconnu Inconnu Inconnu Inconnu Inconnu Inconnu
Inconnu Faux Inconnu Faux Inconnu Inconnu
Faux Vrai Vrai Faux Vrai Vrai
Faux Inconnu Inconnu Faux Vrai Vrai
Faux Faux Faux Faux Vrai Vrai

D'une certaine manière, ces propriétés correspondent à l'intuition : par exemple, si on ignore si A est vrai ou faux, son inverse est tout aussi incertain.

Les autres fonctions logiques se déduisent de par leur définition, la distributivité continuant à s'appliquer. Par exemple A NAND B, si A est Faux et B Inconnu, vaut NON(A ET B), soit NON(Faux), donc Vrai.

En électronique

En électronique numérique, une sortie vaut 0 quand elle est connectée à la masse, 1 quand elle est connectée à la source de tension.

En cas de panne d'un composant ou d'une liaison, un ou plusieurs composants peut délivrer un résultat qui ne répond pas à l’algèbre booléenne. L’objectif d'un système fiable est de réussir a identifier ce problème et faire qu'il n'ait pas de conséquence sur le résultat final en introduisant, entre autres des redondances. Ceci est particulièrement vrai en aéronautique avec les commandes de vol électriques et d'autant plus dans les avions militaires.

En informatique

En SQL, les variables de type booléen peuvent prendre, en plus des valeurs vrai et faux, la valeur NULL. Une variable booléenne non initialisée, ou une opération avec une variable numérique elle-même non initialisée (dont la valeur est aussi appelée NULL) renvoient le booléen NULL. L'évaluation des prédicats admet donc trois valeurs possibles : true, false et unknown.

Exemples d'évaluation d'une formule en informatique (équation ou inéquation mathématique) :

Équation Typage de données Résultat Typage de résultat
4 < NULL NULL est ici le NULL des nombres renvoie la valeur NULL NULL est ici le NULL des booléens

Quand on manipule un NULL booléen dans les opérations logiques, la logique ternaire s'applique. L'alternative « IF A THEN [instructions] » conduit à ne pas exécuter les instructions si A est NULL.

Notes et références

Notes


Références

  1. https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/util/Trilean.html
  2. (en) Emil L. Post, « Introduction to a General Theory of Elementary Propositions », American Journal of Mathematics, vol. 43, no 3,‎ , p. 163–185 (ISSN 0002-9327, DOI 10.2307/2370324, lire en ligne, consulté le )
  3. (en) « Peirce’s Deductive Logic > Peirce's Three-Valued Logic (Stanford Encyclopedia of Philosophy/Summer 2020 Edition) » (consulté le )
  4. a et b (en) Robert Lane, « Commens : Triadic Logic », (consulté le )
  5. (en) « Peirce Logic Notebook, Charles Sanders Peirce Papers MS Am 1632 (339). Houghton Library, Harvard University », sur Harvard Library Viewer, p. 645
  6. (en) « Peirce Logic Notebook, Charles Sanders Peirce Papers MS Am 1632 (339). Houghton Library, Harvard University », sur Harvard Library Viewer, p. 638

Voir aussi

Articles connexes

Liens externes