לוגיקה טרינארית
לוגיקה טרינארית, לוגיקה תלת-ערכית, או לוגיקה טריוולנטית הוא מונח המתאר מערכת רב-ערכית שבה שלושה ערכי אמת: אמת, שקר, וערך שלישי. זאת בהשוואה ללוגיקה בוליאנית שבה שני ערכי אמת בלבד: אמת ושקר.
ייצוג ערכים
כמו בלוגיקה בוליאנית, ערכי האמת בלוגיקה טרינארית יכולים להיות מיוצגים נומרית באמצעות מספר ייצוגים. כמה מהנפוצים ביותר הינם:
- 1 עבור 'אמת', 2 עבור 'שקר', ו-0 עבור הערך השלישי.
- 1 עבור 'אמת', 0 עבור 'שקר', וסימול אחר עבור הערך השלישי כגון ½, או #.
- טרינארי מאוזן: 1 עבור 'אמת', '1-' עבור 'שקר' ו-0 עבור הערך השלישי.
- באלקטרוניקה: H עבור 'אמת', L עבור 'שקר', ו-X עבור הערך השלישי.
הערך השלישי נקרא לעיתים 'לא-ידוע' (Unknown, Don't Know, or Don't Care), או 'א-רלוונטי' (Irrelevant)
בדומה ללוגיקה בוליאנית בה ספרה בודדת מכונה ביט (Binary Digit - Bit), בלוגיקה טרינארית ספרה בודדת מכונה טריט
(Trinary Digit - Trit).
מאפיינים
לוגיקה טרינארית עוסקת בפסוקים אלגבריים שאיבריהם שייכים לבסיס אריתמטי 3 (להבדיל מלוגיקה בוליאנית שאיבריה שייכים לבסיס 2 או הבסיס המקובל לספירה שהוא בסיס 10). לכן לביטוי בעל n ספרות טרינאריות יהיו 3n צירופי ערכים אפשריים.
טבלת אמת
טבלת האמת הבסיסית מציגה את שלוש הפעולות הלוגיות הבסיסיות: And, Or לשני ערכים, ו-Not לערך יחיד.
NOT A | A |
---|---|
1 | 0 |
0 | 1 |
# | # |
A AND B | A OR B | B | A |
---|---|---|---|
1 | 1 | 1 | 1 |
# | 1 | # | 1 |
0 | 1 | 0 | 1 |
# | 1 | 1 | # |
# | # | # | # |
0 | # | 0 | # |
0 | 1 | 1 | 0 |
0 | # | # | 0 |
0 | 0 | 0 | 0 |
הערך # משמש לצרכים לוגיים כמשתנה ש'ערכו לא נקבע', 'שערכו אינו ידוע', 'שערכו עשוי להיות-'. לכן פיתוח הטבלה:
- OR: מקבל תוצאה 1 כאשר לפחות אחד מהמבואות הוא 1, מקבל 0 כאשר שני המבואות הם 0, ומקבל # במקרים אחרים, שכן מבוא # עשוי להיות 1.
- AND: מקבל תוצאה 0 כאשר לפחות אחד מהמבואות הוא 0, מקבל 1 כאשר שני המבואות הם 1, ומקבל # במקרים אחרים, שכן מבוא # עשוי להיות 0.
לוגיקה טרינארית באלקטרוניקה ובמחשוב
אחת מראשונות מכונות החישוב שנבנתה מעץ ב-1840 על ידי טומאס פוולר (Thomas Fowler) הייתה מחשב טרינארי המבוסס על לוגיקה טרינארית. היישום המודרני היחיד והאחרון נכון לשנת 2008 הוא מחשב הסטון, Setun הסובייטי שנבנה בשלהי שנות ה-50 במוסקבה ועשה שימוש בלוגיקה טרינארית (בייצוג טרינארי מאוזן).
ניתן ליישם לוגיקה טרינארית אמיתית באמצעות רכיבים אלקטרונים, אולם סיבוכיות התכנון, יחד עם היכולת לממש לוגיקה טרינארית בקלות ובזול יחסית באמצעות מערכות לוגיקה בינארית, מנעו מתחום זה להתפתח.
מספר שימושים נפוצים ללוגיקה טרינארית הממומשים באמצעות לוגיקה בינארית כוללים שיטות מסוימות בתיקון שגיאות, יישומים בלוגיקה עמומה (Fuzzy Logic), וכן בתכנות ובמסדי נתונים, בהם NULL מייצג ערך שטרם נקבע, או UNKNOWN שמייצג ערך שאינו ידוע.
העתיד
טענה שהושמעה בעבר וככל הנראה לא הוכחה מעולם היא שישומי לוגיקה טרינארית עשויים להיות יעילים ביחס
ליישומי לוגיקה בינארית מאחר שבסיס 3 יותר קרוב מאשר בסיס 2 בערכו לערך האקספוננט (הטבעי e≅2.718).
לוגיקה טרינארית עשויה להיות שימושית ביישומים אופטו-אלקטרוניים, בהם ייצוג הערכים באמצעות עוצמת אור, לדוגמה 0=כבוי, 1=חלש, 2=חזק.
מספר מוסדות מחקר וחברות מסחריות כגון Hypres ו-IBM פעילות לעיתים ומפרסמות פרסומים בתחום הלוגיקה והמחשוב הטרינארי.
הפשטות והיעילות של הלוגיקה הטרינארית עשויים להחזיר אותה להתעניינות מחקרית, כפי שחזה דונלד קנות'.