Главная страница
Навигация по странице:

  • Вариант 3 1.

  • Математическая логика и теория алгоритмов. Тическая логика и теория алгоритмов


    Скачать 453.81 Kb.
    НазваниеТическая логика и теория алгоритмов
    АнкорМатематическая логика и теория алгоритмов
    Дата19.01.2023
    Размер453.81 Kb.
    Формат файлаpdf
    Имя файла5170689_merged.pdf
    ТипКонтрольная работа
    #893813

    Контрольная работа по дисциплине Математическая логика и теория алгоритмов
    Выполнил: ст. гр. БИСЗ20-
    01
    Бурдыкин А.Г
    Проверил: доцент каф. ВМ
    Сливина Т. А.

    Вариант 3
    1. Приведите примеры предложений а) являющихся высказываниями, б) не являющихся высказываниями.
    Решение.
    Высказывание в математической логике – это повествовательное предложение, выражающее суждение. Это суждение должно принимать определённое логическое значение – быть истинным или ложным.
    Примеры высказываний:
    1) “Число 18 делится на 6” – это простое высказывание, которое имеет значение “истина”.
    3) “Если число делится на 6, то оно делится на 3” – это сложное высказывание, которое имеет значение “истина”, оно состоит из двух простых высказываний
    “число делится на 6” и “число делится на 3”, которые связываются между собой импликацией (логическим следованием).
    3) “Земля вращается вокруг Луны” – это ложное высказывание.
    Следующие предложения не являются высказываниями”:
    1) “Который час?” – это вопросительное предложение, оно не является суждениям, которое имеет определённое значение истинности.
    2) “Число
    𝑥 меньше 7.” – относительно истинности этого предложения ничего нельзя сказать определённого, зависит от конкретного значения числа 𝑥.
    3) “Да будет свет!” – восклицательное предложение, которое также не имеет определённого логического значения.
    2. Определить логические значения высказываний при
    𝑥 = 1, 𝑦 = 1, 𝑧 = 0. а) (𝑥⋀𝑦) ⟷ (𝑧⋁𝑦̅) б) ((𝑥⋁𝑦)⋀𝑧) ⟷ ((𝑥⋀𝑧)⋁(𝑦⋀𝑧))

    Решение.
    а) (𝑥⋀𝑦) ⟷ (𝑧⋁𝑦̅)
    Конъюнкция 𝑥⋀𝑦 принимает значение 1 (истина) только в случае одновременной истинности 𝑥 и 𝑦, значит при 𝑥 = 1, 𝑦 = 1 𝑥⋀𝑦 = 1.
    Отрицание 𝑦̅ меняет значение истинности 𝑦 на противоположное, значит, 𝑦̅ =
    0при 𝑦 = 1.
    Дизъюнкция 𝑧⋁𝑦̅ принимает значение 0 (ложь) только в случае одновременной ложности 𝑧 и 𝑦̅, значит 𝑧⋁𝑦̅ = 0 при 𝑧 = 0, 𝑦̅ = 0.
    Эквиваленция принимает значение 1 (истина) только в случае совпадения логических значений операндов. Значит при 𝑥⋀𝑦 = 1 и 𝑧⋁𝑦̅ = 0 значение
    (𝑥⋀𝑦) ⟷ (𝑧⋁𝑦̅) – ложь: (𝑥⋀𝑦) ⟷ (𝑧⋁𝑦̅) = 0. б) ((𝑥⋁𝑦)⋀𝑧) ⟷ ((𝑥⋀𝑧)⋁(𝑦⋀𝑧))
    Дизъюнкция 𝑥⋁𝑦 принимает значение 0 (ложь) только в случае одновременной ложности 𝑧 и 𝑦, значит 𝑥⋁𝑦 = 1 при 𝑥 = 1, 𝑦 = 1.
    Конъюнкция (𝑥⋁𝑦)⋀𝑧 принимает значение 1 (истина) только в случае одновременной истинности 𝑥⋁𝑦 и 𝑧, значит (𝑥⋁𝑦)⋀𝑧 = 0 при 𝑥⋁𝑦 = 1, 𝑧 = 0.
    Аналогично, 𝑥⋀𝑧 = 0 при 𝑥 = 1, 𝑧 = 0 и 𝑦⋀𝑧 = 0 при 𝑦 = 1, 𝑧 = 0.
    Дизъюнкция (𝑥⋀𝑧)⋁(𝑦⋀𝑧) принимает значение 0 (ложь) только в случае одновременной ложности 𝑥⋀𝑧 и 𝑥⋀𝑧, значит (𝑥⋀𝑧)⋁(𝑦⋀𝑧) = 0 при 𝑥⋀𝑧 = 0 и 𝑦⋀𝑧 = 0.
    Эквиваленция принимает значение 1 (истина) только в случае совпадения логических значений операндов. Значит при (𝑥⋁𝑦)⋀𝑧 = 0 и (𝑥⋀𝑧)⋁(𝑦⋀𝑧) = 0 значение ((𝑥⋁𝑦)⋀𝑧) ⟷ ((𝑥⋀𝑧)⋁(𝑦⋀𝑧)) – истина:
    ((𝑥⋁𝑦)⋀𝑧) ⟷ ((𝑥⋀𝑧)⋁(𝑦⋀𝑧)) = 1
    Заметим, что заданное высказывание всегда истинно – при любых значениях логических переменных, так как выражает закон дистрибутивности конъюнкции относительно дизъюнкции: (𝑥⋁𝑦)⋀𝑧 = (𝑥⋀𝑧)⋁(𝑦⋀𝑧).

    3. Доказать равносильность формулы
    𝑥 ⟶ (𝑦 ⟶ 𝑧) ≡ 𝑥⋀𝑦 ⟶ 𝑧
    Решение. Докажем равносильность формулы двумя способами: с помощью таблиц истинности и с помощью равносильных преобразований.
    Составляем таблицу истинности для формулы 𝑥 ⟶ (𝑦 ⟶ 𝑧). Учитываем, что импликация ложна только в случае, когда из истины следует ложь.
    𝑥 𝑦 𝑧 𝑦 ⟶ 𝑧 𝑥 ⟶ (𝑦 ⟶ 𝑧)
    0 0 0 1
    1 0 0 1 1
    1 0 1 0 0
    1 0 1 1 1
    1 1 0 0 1
    1 1 0 1 1
    1 1 1 0 0
    0 1 1 1 1
    1
    Теперь составляем таблицу истинности для формулы 𝑥⋀𝑦 ⟶ 𝑧. Учитываем, что конъюнкция истинна только в случае, когда оба операнда истинны.
    𝑥 𝑦 𝑧 𝑥⋀𝑦 𝑥⋀𝑦 ⟶ 𝑧
    0 0 0 0
    1 0 0 1 0
    1 0 1 0 0
    1 0 1 1 0
    1 1 0 0 0
    1 1 0 1 0
    1 1 1 0 1
    0 1 1 1 1
    1

    Видим, что таблицы истинности для формул 𝑥 ⟶ (𝑦 ⟶ 𝑧) и 𝑥⋀𝑦 ⟶ 𝑧 совпадают, значит они равносильны (или вся формула равносильна):
    𝑥 ⟶ (𝑦 ⟶ 𝑧) ≡ 𝑥⋀𝑦 ⟶ 𝑧
    Другой способ доказательства: используем равносильные преобразования.
    𝑥 ⟶ (𝑦 ⟶ 𝑧) ≡ [заменыем импликацию по закону 𝐴 ⟶ 𝐵 = 𝐴̅⋁𝐵] ≡
    ≡ 𝑥̅⋁(𝑦̅⋁𝑧) ≡ 𝑥̅⋁𝑦̅⋁𝑧
    𝑥⋀𝑦 ⟶ 𝑧 ≡ 𝑥⋀𝑦
    ̅̅̅̅̅̅⋁𝑧 ≡ [используем закон де Моргана] ≡ (𝑥̅⋁𝑦̅)⋁𝑧 ≡ 𝑥̅⋁𝑦̅⋁𝑧
    Отсюда:
    𝑥 ⟶ (𝑦 ⟶ 𝑧) ≡ 𝑥⋀𝑦 ⟶ 𝑧
    4. Составить РКС (схему):
    𝐹(0,0,1) = 𝐹(0,1,1) = 𝐹(1,0,1) = 𝐹(1,1,1) = 1
    Решение.
    Нам заданы наборы функции от трёх логических переменных 𝑥, 𝑦, 𝑧, на которых функция принимает значение 1. По этим данным составляем совершенную дизъюнктивную нормальную форму – СДНФ: в каждой элементарной конъюнкции этой формы переменная входит с отрицанием, если в соответствующем наборе она принимает значение 0:
    𝐹 = 𝑥̅𝑦̅𝑧⋁𝑥̅𝑦𝑧⋁𝑥𝑦̅𝑧⋁𝑥𝑦𝑧
    Сначала составим РКС для этой формы, затем упростим форму и составим
    РКС для упрощённой формы. Каждую элементарную конъюнкцию в этой форме представляем тремя последовательно соединёнными элементами
    (последовательное соединение соответствует логическому умножению - конъюнкции), которые соответствуют переменным в конъюнкции, а все эти тройки элементов соединяются параллельно (соответствует дизъюнкции – логическому сложению):

    Теперь упростим полученную форму СДНФ:
    𝑥̅𝑦̅𝑧⋁𝑥̅𝑦𝑧 = [используем закон дистрибутивности] = 𝑥̅𝑧(𝑦̅⋁𝑦) =
    = [используем закон исключённого третьего] = 𝑥̅𝑧 ∙ 1 =
    = [используем закон единицы] = 𝑥̅𝑧
    Аналогично,
    𝑥𝑦̅𝑧⋁𝑥𝑦𝑧 = 𝑥𝑧(𝑦̅⋁𝑦) = 𝑥𝑧 ∙ 1 = 𝑥𝑧
    Получаем:
    𝐹 = 𝑥̅𝑧⋁𝑥𝑧 = (𝑥̅⋁𝑥)𝑧 = 1 ∙ 𝑧 = 𝑧
    В итоге получаем упрощённую формулу для 𝐹:
    𝐹 = 𝑧
    Релейно-контактная схема для 𝐹 = 𝑧:
    𝑥̅
    𝑥̅
    𝑥
    𝑥
    𝑦̅
    𝑦̅
    𝑦
    𝑦
    𝑧
    𝑧
    𝑧
    𝑧
    𝑧

    5. Найти СДНФ и СКНФ: а) с помощью равносильных преобразований; б) с помощью таблицы истинности.
    (𝑥⋁𝑧̅) ⟶ 𝑦⋀𝑥
    Решение. а) (𝑥⋁𝑧̅) ⟶ 𝑦⋀𝑥 = [заменяем импликацию по закону 𝐴 ⟶ 𝐵 = 𝐴̅⋁𝐵] =
    = (𝑥⋁𝑧̅
    ̅̅̅̅̅)⋁(𝑦⋀𝑥) = [используем закон де Моргана] =
    = (𝑥̅⋀𝑧̿)⋁(𝑦⋀𝑥) = [
    снимаем двойное отрицание и используем закон коммутативности
    ] =
    = (𝑥̅⋀𝑧)⋁(𝑥⋀𝑦)
    Получили дизъюнктивную нормальную форму. Из неё получим СДНФ – совершенную дизъюнктивную нормальную форму, используя закон единицы, закон исключенного третьего и закон дистрибутивности.
    𝑥̅⋀𝑧 = 𝑥̅⋀1⋀𝑧 = 𝑥̅⋀(𝑦⋁𝑦̅)⋀𝑧 = 𝑥̅⋀𝑦⋀𝑧⋁𝑥̅⋀𝑦̅⋀𝑧
    𝑥⋀𝑦 = 𝑥⋀𝑦⋀1 = 𝑥⋀𝑦⋀(𝑧⋁𝑧̅) = 𝑥⋀𝑦⋀𝑧⋁𝑥⋀𝑦⋀𝑧̅
    Получаем СДНФ (знаки конъюнкции опустим):
    𝑥̅𝑦𝑧⋁𝑥̅𝑦̅𝑧⋁𝑥𝑦𝑧⋁𝑥𝑦𝑧̅
    Форму СКНФ получим из найденной формы (𝑥̅⋀𝑧)⋁(𝑥⋀𝑦):
    (𝑥̅⋀𝑧)⋁(𝑥⋀𝑦) = [ставим двойное отрицание] =
    = (𝑥̅⋀𝑧)⋁(𝑥⋀𝑦)
    ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ = [используем закон де Моргана] =
    = (𝑥̅⋀𝑧
    ̅̅̅̅̅)⋀(𝑥⋀𝑦
    ̅̅̅̅̅̅)
    ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = (𝑥⋁𝑧̅)⋀(𝑥̅⋁𝑦̅)
    ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = [закон дистрибутивности] =
    = (𝑥⋀𝑥̅)⋁(𝑥⋀𝑦̅)⋁(𝑧̅⋀𝑥̅)⋁(𝑧̅⋀𝑦̅)
    ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = 0⋁(𝑥⋀𝑦̅)⋁(𝑧̅⋀𝑥̅)⋁(𝑧̅⋀𝑦̅)
    ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ =
    = (𝑥⋀𝑦̅)⋁(𝑥̅⋀𝑧̅)⋁(𝑦̅⋀𝑧̅)
    ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = [используем закон де Моргана] =
    = (𝑥⋀𝑦̅
    ̅̅̅̅̅̅)⋀(𝑥̅⋀𝑧̅
    ̅̅̅̅̅)⋀(𝑦̅⋀𝑧̅
    ̅̅̅̅̅) = [
    используем закон де Моргана и снимаем двойное отрицание
    ] =
    = (𝑥̅⋁𝑦)⋀(𝑥⋁𝑧)⋀(𝑦⋁𝑧)

    Получили КНФ. Из неё получим СКНФ, используя законы нуля, противоречия и закон дистрибутивности.
    𝑥̅⋁𝑦 = (𝑥̅⋁𝑦)⋁0 = (𝑥̅⋁𝑦)⋁(𝑧⋀𝑧̅) = (𝑥̅⋁𝑦⋁𝑧)⋀(𝑥̅⋁𝑦⋁𝑧̅)
    Аналогично, 𝑥⋁𝑧 = (𝑥⋁𝑦⋁𝑧)⋀(𝑥⋁𝑦̅⋁𝑧) и 𝑦⋁𝑧 = (𝑥⋁𝑦⋁𝑧)⋀(𝑥̅⋁𝑦⋁𝑧)
    Учитывая каждую дизъюнкцию только один раз, получаем СКНФ:
    (𝑥̅⋁𝑦⋁𝑧)⋀(𝑥̅⋁𝑦⋁𝑧̅)⋀(𝑥⋁𝑦⋁𝑧)⋀(𝑥⋁𝑦̅⋁𝑧) б) Найдём СДНФ и СКНФ с помощью таблицы истинности.
    Составляем таблицу истинности для формулы (𝑥⋁𝑧̅) ⟶ 𝑦⋀𝑥.
    𝑥 𝑦 𝑧 𝑧̅ 𝑥⋁𝑧̅ 𝑦⋀𝑥 (𝑥⋁𝑧̅) ⟶ 𝑦⋀𝑥
    0 0 0 1 1
    0 0
    0 0 1 0 0
    0 1
    0 1 0 1 1
    0 0
    0 1 1 0 0
    0 1
    1 0 0 1 1
    0 0
    1 0 1 0 1
    0 0
    1 1 0 1 1
    1 1
    1 1 1 0 1
    1 1
    СДНФ составляется по наборам переменных, на которых функция принимает значение 1: в каждую элементарную конъюнкцию переменная входит с отрицанием, если в наборе она принимает значение 0: 𝑥̅𝑦̅𝑧⋁𝑥̅𝑦𝑧⋁𝑥𝑦𝑧̅⋁𝑥𝑦𝑧.
    СКНФ составляется по наборам переменных, на которых функция принимает значение 0: в каждую элементарную дизъюнкцию переменная входит с отрицанием, если в наборе она принимает значение 1:
    (𝑥⋁𝑦⋁𝑧)⋀(𝑥⋁𝑦̅⋁𝑧)⋀(𝑥̅⋁𝑦⋁𝑧)⋀(𝑥̅⋁𝑦⋁𝑧̅)
    Получили такие же формы СДНФ и СКНФ, только с перестановкой членов.

    6. Записать на языке логики предикатов: а) “Из перпендикулярности векторов
    𝑎 и 𝑏 следует равенство нулю их скалярного произведения”, б) “Если
    𝑎 и 𝑏 делятся на 𝑐, то (𝑎 − 𝑏) и (𝑎 + 𝑏) делятся на 𝑐”.
    Решение. а) Вводим два 2-местных предиката, определённых на множестве пар векторов:
    𝑃(𝑎, 𝑏) − "векторы 𝑎 и 𝑏 перпендикулярны"
    𝑄(𝑎, 𝑏) − "скалярное произведение векторов 𝑎 и 𝑏 равно нулю"
    Тогда заданное высказывание с использованием импликации и кванторов общности для двух переменных имеет вид:
    ∀𝑎∀𝑏(𝑃(𝑎, 𝑏) ⟶ 𝑄(𝑎, 𝑏))
    а) Вводим 2-местный предикат, определённый на множестве пар целых чисел
    𝑍 × 𝑍:
    𝑃(𝑎, 𝑏) − "𝑎 делится на 𝑏"
    Вводим два 3-местных предиката, определённых на множестве троек целых чисел 𝑍 × 𝑍 × 𝑍:
    𝑄(𝑎, 𝑏, 𝑐) − "𝑎 − 𝑏 делится на 𝑐"
    𝑅(𝑎, 𝑏, 𝑐) − "𝑎 + 𝑏 делится на 𝑐"
    Тогда заданное высказывание с использованием конъюнкций, импликации и кванторов общности для трёх переменных имеет вид:
    ∀𝑎∀𝑏∀𝑐(𝑃(𝑎, 𝑐)⋀𝑃(𝑏, 𝑐) ⟶ 𝑄(𝑎, 𝑏, 𝑐)⋀𝑅(𝑎, 𝑏, 𝑐))
    7. Изобразите на координатной плоскости область истинности предиката
    (𝑥 ≥ 2
    ̅̅̅̅̅̅̅)⋀(𝑥 ≤ 𝑦)

    Решение.
    Область истинности предиката "𝑥 ≥ 2", определённого на множестве точек координатной плоскости – полуплоскость, лежащая правее прямой 𝑥 = 2
    (включая точки прямой, т.к. неравенство нестрогое). Область истинности отрицания этого предиката 𝑥 ≥ 2
    ̅̅̅̅̅̅̅ – это область истинности предиката 𝑥 < 2 - полуплоскость, лежащая левее прямой 𝑥 = 2 (исключая точки прямой, т.к. неравенство строгое).
    Область истинности предиката "𝑥 ≤ 𝑦", определённого на множестве точек координатной плоскости – полуплоскость, лежащая выше прямой 𝑦 = 𝑥
    (включая точки прямой, т.к. неравенство нестрогое).
    Берём пересечение этих областей (так как предикаты 𝑥 ≥ 2
    ̅̅̅̅̅̅̅ и 𝑥 ≤ 𝑦 соединены конъюнкцией) – получаем область истинности заданного предиката
    (заштрихована на рисунке, это неограниченная область):
    𝑥
    𝑦
    0 2
    𝑦 = 𝑥


    написать администратору сайта