Site Loader

Персональный сайт — Таблицы истинности

Меню сайта

Категории раздела
Дистанционное обучение [0]

Наш опрос

Статистика

Онлайн всего: 1

Гостей: 1

Пользователей: 0


Для логического выражения можно построить таблицу истинности, показывающую, какие значения принимает выражение при всех наборах значений входящих в него переменных.

Для построения таблицы истинности следует:

 

  1. Подсчитать n — число переменных в выражении;
  2. Подсчитать общее число логических операций в выражении;
  3. Установить последовательность выполнения логических операций с учётом скобок и приоритетов;
  4. Определить число столбцов в таблице: число переменных + число операций;
  5. Заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п. 3;
  6. Определить число строк в таблице (не считая шапки таблицы): m=2
    n
    ;
  7. Выписать наборы входных переменных с учётом того, что они представляют собой целый ряд n-разрядных двоичных чисел от 0 до 2n−1;
  8. Провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.

 

Построим таблицу истинности A∨A&B. В нём две переменные, две операции, причём сначала выполняется конъюнкция, а затем дизъюнкция. Всего в таблице будет четыре столбца:

ABA&BA∨A&B

 

Наборы входных переменных — это целые числа от 0 до 3, представленные в двухразрядном двоичном коде: 00,01,10,11. Заполненная таблица истинности имеет вид:

ABA&BA∨A&B
0000
0100
1001
1111

Последний столбец (результат) совпал со столбцом A. В таком случае говорят, что логическое выражение A∨A&B равносильно логической переменной A.

Вход на сайт

Поиск

Календарь

«  Январь 2023  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
232425
26
272829
3031


Архив записей
  • 2014 Январь

Друзья сайта
Сайт Иванской Светланы Алексеевны

Конкурс сайтов


Принципы построения таблиц истинности

Оглавление

Время чтения:  5 минут

499

Логическая функция одно из основополагающих понятий математической логики. Она зависит от логических переменных и принимает значения из множества, от которого находится в зависимости. Логические функции булевых переменных могут принимать только два значения – 1 или 0.

Понятие таблиц истинности

Задаваться логическая функция может числовым способом, словесным описанием, картами Карно, аналитическим выражением и с помощью таблиц истинности. В последнем случае все аргументы функции следует записать в левой части таблицы, а значения, которые им соответствуют, в правой.

Определения 1 — 2

Таблица истинности – это таблица, просто и наглядно показывающая, какие значения будут у логического выражения при всевозможных наборах переменных функции.

Равносильными именуют те логические выражения с совпадающими последними столбцами таблицы истинности. Обозначают равносильные функции знаком «=».

Правила того, как следует проводить построение таблицы истинности

Несоблюдение хотя бы одного из них ведёт к очень грубой ошибке. Вот эти правила:

  • Число строк таблицы должно совпадать с числом комбинаций всевозможных n логических переменных, то есть быть равным 2n;
  • Количество столбцов таблицы должно равняться сумме числа логических переменных и числа логических операций;
  • В построенный шаблон таблицы истинности должны вписываться все значения исходных переменных;
  • Построение таблицы истинности выражения происходит по её столбцам, при этом обязательно учитываются правила логических операций.

Порядок действий при построении таблицы истинности для логических выражений

Порядок действий при построении таблицы истинности, какой бы ни была логическая функция, следующий:

  1. Определить, какое число строк и столбцов будет в будущей таблице. Делается подобное по формулам
    X = n + m, Y = 2n+1.
    Где n – число переменных, m – чило логических операций.
  2. Заполнить самую верхнюю строку таблицы переменными и логическими операциями, идя слева направо. При этом приоритетность логических операций следует учитывать обязательно, иначе получится совсем не то, что нужно;
  3. В первых столбцах перечислить всевозможные комбинации входных значений;
  4. Выполняя заданные логические операции, заполнить все оставшиеся ячейки;

Ответом следует считать последний заполненный столбец таблицы.

О порядке логических операций

Лучше его представить списком. Логические операции выполняют в следующей последовательности: сначала идёт инверсия, затем конъюнкция, после этого дизъюнкция, после неё импликация, по её выполнении эквиваленция.

После них идут Штрих Шеффера и Стрелка Пирса. Первым может быть выполнено как то, так и другое.

Далее приведём несколько поучительных задач на построение таблиц истинности

Задачи 1 — 3

Сделать построение таблицы истинности для функции ((A→B) ∧ A) ↔ B

Решение:

    1. Определяем сколько будет у нас столбцов. Количество переменных у нас 2, логических операций 4, число столбцов равно сумме 2+4 = 6.
    2. Определяем, сколько будет у на строк. Оно равно 2n, плюс ещё одна строка для обозначения переменных и логических операций. У нас будет 2n+1 = 22 + 1= 5;
    3. Заполняем первую строку. Прописываем символы переменные и логических операций;
    4. В двух первых столбцах записываем возможные значения переменных;
    5. В далее идущих столбцах записываем, какие значения принимают промежуточные функции;
    6. В самом последнем из столбцов записываем итоговые значения функции.

    В результате всего этого у нас должно получиться:


    Провести построение таблицы истинности функции (A ∨ B) ∧ – C

    Решение:

    1. Определяем сколько будет столбцов. Количество переменных у нас 3, количество логических операций 3. Складываем то и другое: 3+3 = 5.
    2. Определяем, количество строк. Оно равно 2n, плюс ещё одна строка для обозначения переменных и логических операций.В итоге будет 2n+1 = 23 + 1= 9;
    1. Заполняем первую строку. Прописываем символы переменные и логических операций;
    2. В два первые столбца вносим возможные значения наших переменных;
    3. В далее следующие столбцы записываем, какие значения принимают промежуточные функции;
    4. В последнем столбце записываем итоговые значения функции.

    В итоге получим таблицу:


    Сделать таблицу истинности для

    (A ∧ B ↔ B ∧ C) ∨ (C → A)

    Функция посложнее и таблица получится значительно больше, чем предыдущая.

    1. Считаем столбцы. Количество переменных 3, количество логических операций 6. Значит столбцов будет 3+6=9;
    2. Считаем строки. Их количество будет 23+1= 9;
    3. Заполняем первую строку таблицы;
    4. В первых столбцах записываем все допустимые значения наших переменных;
    5. В остающихся столбцах пишем, какие наша функция принимает промежуточные значения
    6. В последний столбец пишем итоговые значения данной нам функции.

    В итоге у нас получается таблица:

    Нет времени решать самому?

    Наши эксперты помогут!

    Контрольная

    | от 300 ₽ |

    Реферат

    | от 500 ₽ |

    Курсовая

    | от 1 000 ₽ |

    Построения функции, если известна её таблица истинности

    Совершенной дизъюнктивной нормальной формой считают такую нормальную форму, в которой отсутствуют одинаковые элементарные конъюкции и все конъюкции включают один и тот же набор переменных, куда каждая из них входит не более одного раза.

    Алгоритм действий для получения СДНФ по таблице истинности:

    1. Отметьте в таблице строки, в которых значение функции равняется 1
    2. Выпишете для каждой отмеченной строки конъюкцию всех переменных. Если переменная равна 1, в конъюкцию следует включить саму эту переменную. Если переменная равняется 0, то её отрицание;
    3. Все полученные конъюкции свяжите в дизъюкцию.

    Аналогичным образом определяется СКНФ

    В строках, в последнем столбце которых функция равна 0, запишите дизъюкции всех переменных. Если значение переменной в данной строке будет 0, в дизъюкцию следует включить саму эту переменную. Если значение функции равно 1, то включить нужно её отрицание.

    Правило + задача

    СДНФ всегда равно СКНФ. СДНФ = СКНФ.

    Дана таблица истинности:

    Выделяем в ней цветом строку

    Заполняем столбцы с СДНФ и с СКНФ

    Записываем СДНФ

    СДНФ = A & B

    Записываем СКНФ

    СКНФ = (A ∨ B) & (A ∨ B) & (A ∨ B)

    Оценить статью (79 оценок):

    Поделиться

    Жанна Ивановна Конева — Магистр прикладной информатики

    Популярные статьи

    Выполнение любых работ по информатике

    Как составить таблицу истинности за девять простых шагов

    Как составить таблицу истинности за девять простых шагов

    Философия 4: Логика и Критика Мышление


    Сьерра-колледж

    Осень 2004 г.

    Инструктор: Эл Синелли

     

    Шаг 1. Выясните, сколько индивидуальный переменные утверждения находятся в аргументе или составном утверждении, которое вы будете анализировать, т.е. сколько отдельных писем , представляющих претензии .

     

    Пример 1. Вот аргумент:          A -> (B v C)

                                                                ~B

                                                                 ~C / ~А

    Аргумент содержит три переменные индивидуального требования : A, B, C.

    Шаг 2. Каждая переменная утверждения имеет две истины значения: Истина или Ложь.

    Вот полезная формула чтобы узнать, сколько строк вам понадобится для таблицы истинности:

    Возьмите общее количество независимых переменные претензии, которые вам нужно построить, и сделать это показателем степени 2. Значение для этого показателя — количество необходимых строк.

              Один переменная требования: P = две строки, 2 1 .

              Два переменные: P, Q = четыре строки, 2

    2 .

              Три переменные: P, Q, R = восемь строк, 2 3 .

              Четыре переменные: P, Q, R, S = шестнадцать строк, 2 4 и так далее.

     

    Пример 2. Аргумент в примере 1 имеет три отдельные переменные заявки.

              Следовательно его таблица истинности будет состоять из восьми строк.

    Шаг 3. Создайте столбец для каждого отдельного утверждение и составное утверждение в утверждении или аргументе, который вы анализируете.

    Сделать отдельные столбцы для: i) отдельные требования, представленные буквами переменных требований, ii) скобочные претензии (претензии внутри претензии), iii) все помещения и iv) заключение рассуждения.

     

    Пример 3. Аргумент в примере у одного есть восемь отдельных утверждений: A, B, C, (B v C), A -> (B v C), ~ B, ~ C и ~А.

    Шаг 4. Ваша таблица истинности должна содержать полные возможности истинности для всех утверждений. Для этого нужно перечислить возможности истинности для каждой переменной утверждения.

     

    Возьмите первую переменную претензии, назначьте это значение T для верхней половины строк и F для нижней половины.

    Затем возьмите вторую переменную претензии и присвойте ему значение T для первой и третьей четвертей строк.

    Для третьей переменной претензии присвоить Значения T и F для чередующихся восьмых строк и чередующихся шестнадцатых для четвертой переменной, чередуя тридцать секунд и шестьдесят четвертых для переменные пятого и шестого индивидуальных требований.

     

    Продолжайте назначать значения истинности попеременно соответствующими показателями двух для каждой дополнительной индивидуальной переменной претензии.

     

     

    Пример 4. Присвоения значений истинности для отдельных переменных утверждения для аргумента в пример 1.

    А

    Б

    С

    Б в С

    А -> (Б против С)

    Т

    Т

    Т

     

     

     

     

     

    Т

    Т

    Ф

     

     

     

     

     

    Т

    Ф

    Т

     

     

     

     

     

    Т

    Ф

    Ф

     

     

     

     

     

    Ф

    Т

    Т

     

     

     

     

     

    Ф

    Т

    Ф

     

     

     

     

     

    Ф

    Ф

    Т

     

     

     

     

     

    Ф

    Ф

    Ф

     

     

     

     

     

     

    Шаг 5. Назначьте соответствующие значения истинности к составным утверждениям, основанным на: а) значениях истинности отдельного утверждения переменные и б) логическая связь между более простыми утверждениями в Претензия к компонентам. Работайте от самых простых составных утверждений к самым сложным.

    Пример 5. Присвоение значения истинности для всех переменных утверждений для аргумента в примере 1.

    А

    Б

    С

    Б в С

    А -> (Б против С)

    Т

    Т

    Т

    Т

    Т

    Ф

    Ф

    Ф

    Т

    Т

    Ф

    Т

    Т

    Ф

    Т

    Ф

    Т

    Ф

    Т

    Т

    Т

    Т

    Ф

    Ф

    Т

    Ф

    Ф

    Ф

    Ф

    Т

    Т

    Ф

    Ф

    Т

    Т

    Т

    Т

    Ф

    Ф

    Т

    Ф

    Т

    Ф

    Т

    Т

    Ф

    Т

    Т

    Ф

    Ф

    Т

    Т

    Т

    Т

    Ф

    Т

    Ф

    Ф

    Ф

    Ф

    Т

    Т

    Т

    Т

    Шаг 6. Если вы строите график одного соединения утверждение в таблице истинности, сравните его с другими утверждениями, которые вы построили. Если значения истинности утверждения эквивалентны для одних и тех же назначений истинности переменные индивидуального утверждения, то два составных утверждения эквивалентны.

    Шаг 7. Чтобы определить действительность аргумент, установить возможные значения истинности для всех отдельных аргументов переменные претензии, составные претензии, предпосылки и вывод. Вычеркнуть все строки в котором вывод верен. Затем вычеркните все строки, в которых есть какие-либо или все посылки ложны. Если строк не осталось, то аргумент действует. Если есть одна или несколько строк, содержащих все назначенные помещения значение T, в то время как заключение ложно, аргумент недействителен.

    Пример 7а. Удалите строки, в которых вывод верный.

    А

    Б

    С

    Б в С

    P1: А -> (Б против С)

    P2: ~B

    Р3: ~С

    Конц. : ~A

    Т

    Т

    Т

    Т

    Т

    Ф

    Ф

    Ф

    Т

    Т

    Ф

    Т

    Т

    Ф

    Т

    Ф

    Т

    Ф

    Т

    Т

    Т

    Т

    Ф

    Ф

    Т

    Ф

    Ф

    Ф

    Ф

    Т

    Т

    Ф



    Пример 7б. Исключите ряды, в которых одно или все помещения являются ложными.

     

    P1: А -> (Б против С)

    Р2: ~В

    Р3: ~С

    Конц.: ~A

    х

    Т

    Ф

    Ф

    Ф

    х

    Т

    Ф

    Т

    Ф

    х

    Т

    Т

    Ф

    Ф

    х

    Ф

    Т

    Т

    Ф

    Все остальные строки содержат хотя бы одну ложную посылку, следовательно, аргумент верен.

    Шаг 8. Для определения валидности с помощью Версия таблиц истинности с «короткой таблицей», отображающая все столбцы обычной истины. таблицу, затем создайте одну или две строки, где вы назначаете вывод об истине значение F и присвоить всем посылкам значение T.


    Пример 8. Два ряды с ложным выводом.

    А

    Б

    С

    Б в С

    P1: А -> (Б против С)

    P2: ~B

    Р3: ~С

    Конц.: ~A

     

     

     

     

    Т

    Т

    Т

    Ф


    Шаг 9. Работайте в обратном направлении от заключения и посылок.

    Можете ли вы присвоить значения истинности составные претензии и переменные индивидуальных претензий, которые согласуются с значения истинности, присвоенные посылкам и заключению?

    Если сможете, продемонстрируйте, что аргумент неверный. Если вы не можете, это означает, что аргумент действителен.

    Некоторые пробы и ошибки здесь может понадобиться.


    Пример 9. Если вы знаете, что ~A неверно, что еще можно вывести? Присвойте истинностное значение T помещениям. Воля эта работа?


    А

    Б

    С

    Б в С

    P1: А -> (Б против С)

    Р2: ~В

    Р3: ~С

    Конц. : ~A

    Т

    Ф

    Ф

    хххх

    Т

    Т

    Т

    Ф

    (B v C) должно быть правдой чтобы P:1 было правдой. (B v C) не может быть истинным, если B и C оба ложны.

    Создание таблиц правдоподобия в python — Qaru Таким образом, нам не нужно обращаться к внутренним свойствам реализации:

     import inspect
    переменные определения (f):
        вернуть inspect.getargspec(f).args
     

    Для достоверности нам нужна комбинаторика, поэтому мы используем модуль itertools :

     из продукта импорта itertools, повторите
    по определению правдивый (f):
        вары = переменные (f)
        # распечатать заголовок
        печатает (переменные + ['формула'])
        # получить все комбинации
        для аргументов в product(*repeat((True, False), len(vars))):
            результат = f(*аргументы)
            печатает (аргументы + (результат))
     

    Используется, мы получаем следующие результаты:

     >>> правдивость(f)
    х у формула
    Правда Правда Правда
    Верно Ложно Ложно
    Ложно Верно Ложно
    Ложь Ложь Ложь
    >>> правдивый(ч)
    х у г формула
    Верно Верно Верно Ложно
    Верно Верно Ложно Ложно
    Верно Ложно Верно Ложно
    Верно Ложно Ложно Ложно
    Ложь Верно Верно Верно
    Неверно Верно Ложно Ложно
    Ложно Ложно Верно Ложно
    Ложь Ложь Ложь Ложь Ложь
     

    Я оставлю вам реализацию рекурсивной функции. В конце концов, это ваша домашняя работа, и инструкции на самом деле довольно хорошо объясняют, что вам нужно делать.

    Что касается последней задачи, то это простая комбинаторика. Для каждой переменной у нас есть два возможных значения. Для каждой переменной, которую мы добавляем в набор комбинаций, мы должны объединить все эти комбинации один раз с True и один раз с False , чтобы получить вдвое больше. А для случая только с одной переменной у нас есть только две возможности. Так за n переменных, имеем 2 ** n возможных комбинаций.


    Хорошо, давайте последовательно пройдемся по инструкциям, чтобы это рекурсивное решение заработало:

    Функция должна иметь значения второго параметра со значением по умолчанию [], которое будет списком значений, которые функция создает и в конечном итоге передает f

    Итак, наша функция будет выглядеть так:

     def truetable (f, values=[]):
        # …
     

    Но вместо этого мы сделаем значение по умолчанию None и явно установить его в пустой список внутри функции. Вы можете ударить своего инструктора за это, потому что это очень распространенная ошибка.

     по определению достоверность (f, значения = нет):
        если значения Нет:
            значения = []
        # …
     

    Если список значений пуст, функция должна напечатать строку, содержащую все имена переменных (один заголовок столбца для каждой переменной)

    Хорошо, это просто вызов prints(variables(f)) , поэтому эта часть выглядит так:

     если значения == []:
        печатает (переменные (f))
     

    Если список значений имеет ту же длину, что и список переменных f, функция должна вывести строку значений, содержащую все значения в values, а также результат применения f к этому списку значений (используйте *- оператор для применения f к списку аргументов)

    Опять же, это тоже прямолинейно:

     if len(values) == len(variables(f)):
        результат = f(*значения)
        печатает (значения + [результат])
     

    Если список значений короче, чем список переменных f, функция должна выполнять рекурсивные вызовы truetable() с соответствующими изменениями аргументов truetable().

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *