A háromértékű logika ( háromértékű logika vagy háromértékű logika ) a sokértékű logika egyik típusa, amelyet Jan Lukasiewicz javasolt 1920 - ban . Háromértékű logika - történelmileg az első többértékű logika , a kétértékű logika legegyszerűbb kiterjesztése .
Vannak világos TL-ek, amelyekben mindhárom érték meghatározott numerikus értékként van definiálva (például , , ) , valamint számos fuzzy hármas logika egy, kettő és három fuzzy logikai értékkel (kifejezve számokkal mint értéktartományokkal).
Az egy fuzzy értékkel rendelkező fuzzy hármas logika kiegészíti a ("hamis") és ("igaz") értékeket egy fuzzy "bizonytalanság" értékkel, amely (a valószínűségi logikához képest ) a teljes intervallumot lefoglalja . Példa a két fuzzy értékkel rendelkező TL-értékekre: ("kisebb", "egyenlő", "nagyobb"), ("negatív", 0, "pozitív").
A három fuzzy értékkel rendelkező TL nagy gyakorlati érdeklődésre tart számot, mivel bármely mért (például szenzorok segítségével) információ csak egy bizonyos tűrés mellett, azaz egy bizonyos értéktartományban helyes. Az ilyen logikák értékei lehetnek például hármasok ("kisebb, mint", "egyenlő, tűréshatáron belül", "nagyobb mint"), ("lejtés balra", "egyenes, elfogadható határokon belül", "meredekség jobb), („hideg”, „hideg”, „forró”) és mások.
A hármas logika a bináristól eltérően nem logikai gyűrű , és megvan a maga matematikai apparátusa. Egy axiómarendszerből áll , amelyek egyszeres és kettős műveleteket határoznak meg az {" 1 ", "0", "1"} halmazon, valamint a belőlük származó tulajdonságokat.
A hármas logikában a konjunkcióhoz és diszjunkcióhoz a kommutatív (elmozdulás), az asszociatív (asszociatív) és az elosztó (eloszlási) törvényeket megőrzik.
A Lukasiewicz-féle tagadás sajátossága miatt több tulajdonság is kialakul:
A harmadik állapot jelenléte miatt azonban a bináris logika egyes törvényei tévesnek bizonyulnak, és hármas analógokat fogalmaznak meg számukra. Tehát az ellentmondás törvénye helyett az állapotok összeférhetetlenségének törvényét kezdték alkalmazni , a kizárt közép törvénye helyett az állapotok teljességének törvényét ( a kizárt negyedik törvénye ), a helytelen Blake- Poretsky törvényt, a három tagú Blake-Poreckij törvényt használják .
Fizikailag megvalósítva a hármas logika hármas függvényei hármas logikai elemeknek felelnek meg , amelyek általában nem feltétlenül elektronikusak.
A 3-4 értékű logikával rendelkező áramkörök lehetővé teszik a felhasznált logikai és tárolóelemek, valamint az összekapcsolások számának csökkentését. A háromértékű logikai áramkörök könnyen megvalósíthatók CMOS technológiával. A háromértékű logika kifejezőbb, mint a kétértékű logika.
1959-ben a Moszkvai Állami Egyetem számítástechnikai központjában háromkomponensű elemekből - a Nyikolaj Bruszencov által kifejlesztett háromkomponensű ferritdióda cellából - egy kis számítógépet terveztek " Setun " , amelyet 46 példányban adtak ki.
Az alábbiakban az igazságtáblázatok találhatók Stephen Kleene „ erős határozatlansági logikájának ” és Graham Priest „ paradoxon logikájának, LP ” logikai műveleteihez Mindkét logikának három logikai értéke van - "hamis", "bizonytalanság" (Priest logikájában - "paradoxon") és "igazság", amelyeket Kleene logikájában F (hamis), U (ismeretlen), T betűkkel jelölnek. (igaz), Priest logikájában pedig a −1, 0 és 1 számokkal [1] .
|
|
Az U értéket a Kleene-féle logika olyan kifejezésekhez rendeli, amelyek ténylegesen T vagy F értékkel rendelkeznek, de jelenleg ez az érték valamilyen okból ismeretlen, ami bizonytalanságot eredményez. Az U értékű logikai művelet eredménye azonban meghatározható. Például mivel T & F = F és F & F = F, akkor U & F = F. Általánosabban: ha valamilyen operatív logikai műveletre az oper(F,F)=oper(F,T) összefüggés ,
akkor oper (F,U)=oper(F,F)=oper(F,T);
hasonlóképpen, ha
oper(T,F)=oper(T,T), akkor oper(T,U)=oper(T,F)=oper(T,T).
Kleene logikájától eltérően a Priest logikájában a 0 értéket definiálják, és egyszerre tekintik igaznak és hamisnak (paradoxnak). A különbség a tautológiák definíciójában rejlik. Míg Kleene logikájában csak egy megkülönböztetett igazságérték a T, addig Priest logikájában az 1-es és a 0-s értéket is megkülönböztetik.
A logikai értékek numerikus megjelölésével (-1, 0, 1) a logikai műveletek egyenértékűek a következő numerikus műveletekkel:
Az implikációs műveletet a Kleene és Priest logikában a bináris logikai képlethez hasonló képlet határozza meg:
.Igazságtáblázatok neki
|
|
Ez a meghatározás eltér a Lukasiewicz-féle logikában elfogadott implikáció-definíciótól.
Háromértékű logikai függvénynek nevezünk egy függvényt , ha minden változója a {0,1,2} halmazból vesz értékeket, maga a függvény pedig ugyanabból a halmazból. Példák a függvényekre: max (x, y), min (x, y), x+1 ( mod 3). Jelölje a háromértékű logika összes függvényének halmazát. A függvényeken végzett művelet alatt szuperpozíciót értünk. A K -ből származó függvények egy osztályát zártnak nevezzük, ha a K -ből származó függvények bármely szuperpozíciója K - hez tartozik . A K osztályba tartozó függvényrendszert teljesnek nevezzük, ha a K bármelyik függvénye reprezentálható e rendszer függvényeinek szuperpozíciójával. Egy teljes rendszert bázisnak nevezünk, ha ebből a rendszerből egyetlen függvény sem reprezentálható a rendszer többi funkciójának szuperpozíciójával. Bebizonyosodott, hogy létezik véges bázis (főleg, amely egy függvényből áll). Egy zárt K osztályt precomplete-nek nevezünk, ha nem esik egybe a -val , de a hozzá nem tartozó függvény hozzáadása generál . SV Yablonsky bebizonyította [2] , hogy 18 előre befejezett osztály létezik . Az is bebizonyosodott, hogy mindegyiknek véges bázisa van, különösen, amely legfeljebb két változótól függő függvényekből áll [3] . Yu. I. Yanov és A. A. Muchnik bebizonyította [4] , hogy vannak olyan függvényosztályok, amelyeknek nincs bázisuk, és vannak olyan függvényosztályok, amelyeknek végtelen alapjuk van. Ez azt jelenti, hogy a zárt osztályok halmaza a -ban a kontinuum számosságával rendelkezik . Ebben a háromértékű (és bármilyen többértékű) logika lényegében különbözik a kétértékű logikától, ahol – ahogyan azt Post bizonyította [5] – minden zárt osztálynak véges alapja van, és a zárt osztályok halmaza megszámlálható.
Egyes adatbázis-kezelő rendszerek az UNKNOWN speciális értéket használják, amely logikai művelet eredménye lehet, az IGAZ és HAMIS értékekkel együtt.
Az UNKNOWN érték jelentése "ismeretlen", vagyis a művelet nem definiált eredménye. Az UNKNOWN érték akkor használható, ha az alkalmazott szoftverfejlesztő rendszerben a NULL speciális értéket használjuk . Az UNKNOWN érték egy összehasonlítási műveletet ad vissza, ha az egyik vagy mindkét operandus NULL, valamint néhány logikai műveletet, ha az egyik operandus UNKNOWN. A programozási nyelvek feltételes operátorai az UNKNOWN értéket ugyanúgy kezelik, mint a FALSE-t, vagyis az űrlap konstrukcióját:
ha ISMERETLEN , akkor a := 1 másik a := 2az a változóhoz 2 értéket rendel.