Как решать логические уравнения по информатике

Логические уравнения

В ЕГЭ (но не в учебниках) встречается тип заданий, которые до 2011 года имели один из двух видов:

    • при каких значениях переменных a,b,c. данное выражение становится истинным(ложным);
    • сколько различных решений имеет уравнение f(a,b,c. ) = 1 (0)

Это могут быть короткие выражения:

(K ^ L ^ M ) v (⌝L ^ ⌝M ^ N) = 0

((J → K) → (M /\ N /\ L)) /\ ((J /\ ¬K) → ¬(M /\ N /\ L)) /\ (M → J) = 1

(((J -> K) -> (M & N & L)) & ((J &

и системы однотипных или не совсем однотипных выражений.

в случае коротких выражений иногда проще всего построить таблицу истинности. Существуют онлайн-построители, например http://programming.dojo.net.nz/study/truth-table-generator/index

также можно писать несложные программы для построения таблиц истинности:

Проделывать многие операции над логическими выражениями умеет и WolframAlpha:

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

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

Если это дизъюнкция, то могут быть рассуждения вида «если левая скобка 0, то правая обязана быть 1»

В демонстрационном варианте 2012 г., А ТАКЖЕ в реальных вариантах весны/лета 2011 года появилась новая формулировка:

Алгоритм решения системы с большим числом однотипных уравнений

    1. преобразовать уравнения, найти что-то с известной таблицей истинности
    2. проанализовать таблицу истинности. например, если получается XOR то либо первый аргумент 1 либо второй
    3. метод гипотез: пусть х1 = 0, тогда при х2 = 0 получаем 00ххххххх, при х2 = 1 получаем 01ххххххх
    4. первое уравнение дает N ветвей решений, нужно посмотреть что у них общего
    5. так же разобрать второе уравнение, после чего должна проявиться закономерность построения решений
    6. найти закономерность — определить, на сколько увеличилось число ветвей благодаря второму уравнению
    7. подсчитать общее количество распространив эту схему до конца системы
    8. может быть проще увидеть взаимосвязь всех уравнений вместе, как они определяют закономерность построения решения

2012 год

B15

Вот два способа рассуждения.

I.

Если обозначить A = x1 ≡ x2, B = x3 ≡ x4 и так далее

то получим: (A ∨ B) ∧ (¬A ∨ ¬B)

или, по закону Де Моргана, (A ∨ B) ∧ ¬(A ∧ B)

это достаточно известная альтернативная формула для исключающего ИЛИ, как и (A ∧ ¬B) ∧ (¬A ∧ B)

Тогда система принимает вид:

Из первого уравнения видно, что либо x1 и x2 одинаковы, либо x3 и x4 одинаковы.

то есть если x1 и x2 одинаковы, то x3 и x4 разные

и наоборот, если x1 и x2 различны, то x3 и x4 одинаковы

Иными словами, рассмотрим наборы при x1 = 0, тогда

если x2 = 0, то левая скобка 1, тогда правая скобка д.б. 0, т.е. либо x3,x4 = 0,1 либо 1,0,

если x2 = 1, то левая скобка 0, тогда правая скобка д.б. 1, т.е. либо x3=x4=0 либо x3=x4=1

получается четыре ветви

теперь рассмотрим наборы при x1 = 1, тогда

получается опять четыре ветви

то есть первое уравнение дает восемь «ветвей» решений

Что даст второе уравнение?

либо x3 и x4 одинаковы, либо либо x5 и x6 одинаковы

в каждой из 8 ветвей на некоторую пару x3,x4 приходится по две пары x5,x6

то есть второе уравнение даст 16 ветвей

Аналогично, третье уравнение даст 32 ветви,

а четвертое уравнение в каждой из них по два итоговых решения.

Итого — 64 решения.

II.

Если смотреть на систему как на целое, то можно получить общий вид цепочек

тогда не верно (x3x4), но верно (x5x6), не верно (x7x8) и верно (x9x10)

это наборы вида 00xx00xx00 00xx00xx11

в которых xx — это 01 или 10

Т.е. в каждом таком решении значения идут парами, если где-то пара одинаковая, то перед ней будет разная, и после будет разная.

8 групп комбинаций, в каждой из которых по 4 возможных значения на местах xx xx 8*4 = 32

И то же самое, если НЕ верно (x1x2)

Итого 64 решения.

Или можно чуть более наглядно это описать для тех, кто любит переобозначения.

Обозначим A0 = пара 00, A1 = пара 11, B0 = пара 01, B1 = пара 10

После любого A может идти только B и наоборот.

Рассмотрим комбинации по две:

A0B0 A0B1 A1B0 A1B1 B0A0 B0A1 B1A0 B1A1 — их получилось 8.

если их будет по три

то на каждую такую кобминацию будет по две трехбуквенных, то есть 16

если по четыре, то 32

Итого 64 решения.

2014 год

B15

Преобразуем уравнения к удобному виду:

(x1 ⊕ x2 ) ^ (x1 ⊕ x3) = 0

(x2 ⊕ x3 ) ^ (x2 ⊕ x4) = 0

(x8 ⊕ x9 ) ^ (x8 ⊕ x10) = 0

рассмотрим решения 0ххххххххх

(0 ⊕ x2 ) ^ (0 ⊕ x3) = 0

эти две скобки не должны быть одновременно 1, чтобы конъюнкция была 0

если левая скобка 1, то вторая д.б.0 и наоборот, и еще они могут быть равны 0 одновременно

итак если x2 = 1 то x3 = 0

если правая 1, то левая 0

а одновременно они нули — это 011ххххх

рассмотрим решения 1ххххххххх

(1 ⊕ x2 ) ^ (1 ⊕ x3) = 0

если х2 = 0, левая скобка 1, правая д.б. 0, т.е. х3 = 1

если х3 = 0, правая скобка 1, левая д.б.0, т.е. х2 = 1

и одновременно скобки нули при х2 = х3 = 1

итак, первое уравнение дает шесть ветвей решений

010xxxxxxx 001ххххххх 011ххххх

(1 ⊕ 0 ) ^ (1 ⊕ x4) = 0 (0 ⊕ 1 ) ^ (0 ⊕ x4) = 0 (1 ⊕ 1 ) ^ (1 ⊕ x4) = 0

0101хххххх 0010хххххх 0110хххххх

101ххххххх 110ххххххх 111ххххххх

(1 ⊕ 0 ) ^ (1 ⊕ x4) = 0 (0 ⊕ 1 ) ^ (0 ⊕ x4) = 0 (1 ⊕ 1 ) ^ (1 ⊕ x4) = 0

1010хххххх 1100хххххх 1110хххххх

итак второе уравнение дало 8 ветвей

третье должно дать 10

итак, ответ — 20 решений

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

2013 год

B15

преобразуем второе уравнение

все скобки здесь должны быть истинами

рассмотрим x1 = 1 и y1 = 1

т.е. комбинации 1xxx1xxx

(1 → x2) /\ (x2 → x3) /\ (x3 → x4) = 1

(1 → y2) /\ (y2 → y3) /\ (y3 → y4) = 1

(1 → 1) /\ (y2 → x2) /\ (y3 → x3) /\ (y4 →x4) = 1

это сразу определяет что x2 = 1, x3 = 1, x4 = 1 и то же для игреков

т.е. из этой ветви годится только решение 11111111

И (*) ВООБЩЕ если xn = 1 то очевидно для всех i xn+i = 1

и то же для всех y

т.е. если встречается 1, то далее все одноименные переменные тоже 1

01110111 например годится, 00110011 и 00010001

это следует из первых двух уравнений

а что дает третье уравнение?

то что если какой-то y=1 то однономерной x с ним тоже будет 1

т.е. ветви решений не симметричны:

годится 01110000 но не годится 00001111

подсчитаем комбинации исходя из этого

xx110011 (00, 01 и 11)

xxx10001 (000, 001, 011 и 111)

xxxx0000 (0000, 0001, 0011, 0111, 1111)

Ответ: 15

И еще примеры решения конкретных систем: Пример 1, Пример 2

Рассмотрим решение коротких и длинных одиночных уравнений

Два варианта решения:

  • таблица истинности (гарантия верного ответа)
  • аналитический (упрощение, сведение к системе)

АЛГОРИТМ аналитического решения

    1. возможно решать противоположную задачу, определив общее число наборов,
    2. в зависимости от необходимости превратить в конъюнкцию = 1 или дизъюнкцию = 0
    3. разбить на систему
    4. согласно таблице истинности описать наборы решений для каждой части системы
    5. по возможности выбрать ту, где меньше решений
    6. посмотреть какие решения совпадают, т.е. протестировать решения одной части для другой части
    7. выкинуть из второй части то, что не является решениями первой части.
    8. для системы из двух легко воспользоваться формулой количества пересечений.
    9. иногда довольно легко подсчитать комбинации по их «правилу образования», иногда нагляднее и проще выписать их себе списком (если это в пределах десятка).

Рассмотрим пример: (K V L) → (L ^ M ^ N) = 0

Импликация. Ложна когда первая часть истинна, а вторая ложна. Отсюда система:

Первый вариант рассуждений. Рассмотрим антирешения.

дизъюнкция ложна в 4 случаях: 0000 0001 0010 0011

конъюнкция истинна в 2 случаях: 0111 1111

при этом эти «антирешения» не пересекаются, т.е. получается, что все остальные 16-6 = 10 комбинаций должны подходить обоим уравнениям. Потому что эти 10 комбинаций не содержат ни антирешений первого, ни антирешений второго уравнения.

Второй вариант рассуждений. Выберем уравнение с наименьшим числом решений, это первое (16-4 = 12).

Подставим эти решения во второе. Как это сделать, если у нас нет их полного списка?

Очень просто. Среди этих 12 решений есть 2 антирешения второго, так как она оба НЕ входят в 4 антирешения первого.

Значит их нужно выкинуть. 12-2 = 10

Третий вариант. Объединение множеств решений первого и второго — 16. Решений первого 12, решений второго 14.

А найти надо пересечения. По формуле мощности пересечения множеств

|X ∩ Y| = |X| + |Y| — |X U Y| = 12 + 14 — 16 = 26 — 16 = 10

Ответ: 10 решений.

( K | L ) | ( L & M & N )

0 0 0 0 | 1 0 0 0 1 0 0 0 0 0

0 0 0 1 | 1 0 0 0 1 0 0 0 0 1

0 0 1 0 | 1 0 0 0 1 0 0 1 0 0

0 0 1 1 | 1 0 0 0 1 0 0 1 0 1

0 1 0 0 | 0 0 1 1 0 1 0 0 0 0

0 1 0 1 | 0 0 1 1 0 1 0 0 0 1

0 1 1 0 | 0 0 1 1 0 1 1 1 0 0

0 1 1 1 | 0 0 1 1 1 1 1 1 1 1

1 0 0 0 | 0 1 1 0 0 0 0 0 0 0

1 0 0 1 | 0 1 1 0 0 0 0 0 0 1

1 0 1 0 | 0 1 1 0 0 0 0 1 0 0

1 0 1 1 | 0 1 1 0 0 0 0 1 0 1

1 1 0 0 | 0 1 1 1 0 1 0 0 0 0

1 1 0 1 | 0 1 1 1 0 1 0 0 0 1

1 1 1 0 | 0 1 1 1 0 1 1 1 0 0

1 1 1 1 | 0 1 1 1 1 1 1 1 1 1

Рассмотрим другой пример: (K v L) & (M v N) = 1

Первому не подходят 0000, 0001, 0010, 0011, т.е. решений 12

Второму не подходят 0000, 0100, 1000, 1100, т.е. решений 12

Объединение множеств решений первого и второго — 15,а не 16, так как комбинация 0000 не подходит обоим уравнениям..

|X ∩ Y| = |X| + |Y| — |X U Y| = 12 + 12 — 15 = 24 — 15 = 9

Или можно просто сказать, что уникальных антирешений всей системы 7 — они складываются из антирешений первого, антирешений второго минус 1 (одно) повторение антирешения 0000, 16-7 = 9

Ответ: 9 решений

(K ^ L ^ M ) v (⌝L ^ ⌝M ^ N) = 0

Дизъюнкция равна 0, это система

16 комбинации всего возможны

антирешения первого: 111х, их два, следовательно 16-2 = 14 решений первого

антирешения второго: х001, их два, следовательно 16-2 = 14 решений второго

антирешения НЕ пересекаются

поэтому решений 14+14 — 16 = 12

(K v L v M ) ^ (⌝L ^ ⌝M ^ N) = 1

Здесь у второго вообще 2 решения (0001 и 1001), подставляем их в первое, 0001 является антирешением первого.

Ответ: 1 решение

(K ^ L ^ M ) → (⌝M ^ N) = 1

решим сначала (K ^ L ^ M ) → (⌝M ^ N) = 0

не противоречат ли они второй?

значит здесь 2 решения

значит у противоположной задачи 16 — 2 = 14 решений

Задания в 2010 году были в два раза длиннее. И переменных там больше.

Задача №23. Решение систем логических уравнений.

Решение систем логических уравнений методом замены переменных

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

Сколь­ко су­ще­ству­ет раз­лич­ных на­бо­ров зна­че­ний ло­ги­че­ских пе­ре­мен­ных x1, х2, х3, х4, х5, х6, х7, х8, ко­то­рые удо­вле­тво­ря­ют всем пе­ре­чис­лен­ным ниже усло­ви­ям?

(x1 → х2) → (х3→ х4) = 1

(х3 → х4) → (х5 → х6) = 1

(х5 → х6) → (х7 → х8) = 1

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний пе­ре­мен­ных x1, х2, х3, х4, х5, х6, х7, х8, при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств. В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Сде­ла­ем за­ме­ну пе­ре­мен­ных:

(x1 → х2) = y1; (х3 → х4) = y2; (х5 → х6) = y3; (х7 → х8) = y4.

Тогда можно за­пи­сать си­сте­му в виде од­но­го урав­не­ния:

(y1 → y2) ∧ (y2 → y3) ∧ (y3 → y4) = 1. Конъюнкция равна 1 (истинна), когда каждый операнд принимает значение 1. Т.е. каждая из импликаций должна быть истинна, а это выполняется при всех значениях, кроме (1 → 0). Т.е. в таблице значений переменных y1, y2, y3, y4 единица не должна стоять левее нуля:

Т.е. условия выполняются для 5 наборов y1-y4.

Т.к. y1 = x1 → x2, то значение y1 = 0 достигается на единственном наборе x1, x2: (1, 0), а значение y1 = 1 – на трех наборах x1, x2: (0,0) , (0,1), (1,1). Аналогично для y2, y3, y4.

Поскольку каждый набор (x1,x2) для переменной y1 сочетается с каждым набором (x3,x4) для переменной y2 и т.д., то количества наборов переменных x перемножаются:

Кол-во наборов на x1…x8

Сло­жим ко­ли­че­ство наборов: 1 + 3 + 9 + 27 + 81 = 121.

Сколько существует различных наборов значений логических переменных x1, x2, . x9, y1, y2, . y9, которые удовлетворяют всем перечисленным ниже условиям?

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, . x9, y1, y2, . y9, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

Сде­ла­ем за­ме­ну пе­ре­мен­ных:

(x1 ≡ y1) = z1, (x2 ≡ y2) = z2,…. ,(x9 ≡ y9) = z9

Систему можно записать в виде одного уравнения:

(¬ z1 ≡ z2) ∧ (¬ z2 ≡ z3) ∧ …..∧ (¬ z8 ≡ z9)

Эквивалентность истинна, только если оба операнда равны. Решениями этого уравнения будут два набора:

z1z2z3z4z5z6z7z8z9
010101010
101010101

Т.к. zi = (xi ≡ yi), то значению zi = 0 соответствуют два набора (xi,yi): (0,1) и (1,0), а значению zi = 1 — два набора (xi,yi): (0,0) и (1,1).

Тогда первому набору z1, z2,…, z9 соответствует 2 9 наборов (x1,y1), (x2,y2),…, (x9,y9).

Столько же соответствует второму набору z1, z2,…, z9. Тогда всего 2 9 +2 9 = 1024 наборов.

Решение систем логических уравнений методом визуального определения рекурсии.

Этот метод применяется, если система уравнений достаточно проста и порядок увеличения количества наборов при добавлении переменных очевиден.

Сколь­ко раз­лич­ных ре­ше­ний имеет си­сте­ма урав­не­ний

где x1, x2, … x10 — ло­ги­че­ские пе­ре­мен­ные?

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний x1, x2, … x10, при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств. В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Решим первое уравнение. Дизъюнкция равна 1, если хотя бы один из ее операндов равен 1. Т.е. решениями являются наборы:

Для x1=0 существуют два значения x2 ( 0 и 1), а для x1=1 только одно значение x2 (1), такие, что набор (x1,x2) является решением уравнения. Всего 3 набора.

Добавим переменную x3 и рассмотрим второе уравнение. Оно аналогично первому, значит для x2=0 существуют два значения x3 ( 0 и 1), а для x2=1 только одно значение x3 (1), такие, что набор (x2,x3) является решением уравнения. Всего 4 набора.

Несложно заметить, что при добавлении очередной переменной добавляется один набор. Т.е. рекурсивная формула количества наборов на (i+1) переменных:

Ni+1 = Ni + 1. Тогда для десяти переменных получим 11 наборов.

Решение систем логических уравнений различного типа

Сколь­ко су­ще­ству­ет раз­лич­ных на­бо­ров зна­че­ний ло­ги­че­ских пе­ре­мен­ных x1, . x4, y1. y4, z1. z4, ко­то­рые удо­вле­тво­ря­ют всем пе­ре­чис­лен­ным ниже усло­ви­ям?

В от­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний пе­ре­мен­ных x1, . x4, y1, . y4, z1, . z4, при ко­то­рых вы­пол­не­на дан­ная си­сте­ма ра­венств.

В ка­че­стве от­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.

Заметим, что три уравнения системы одинаковы на различных независимых наборах переменных.

Рассмотрим первое уравнение. Конъюнкция истинна (равна 1) только тогда, когда все ее операнды истинны (равны 1). Импликация равна 1 на всех наборах, кроме (1,0). Значит, решением первого уравнения будут такие наборы x1, x2, x3, x4, в которых 1 не стоит левее 0 (5 наборов):

Учитель информатики

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

§ 18 Алгебра логики

Информатика. 10 класса. Босова Л.Л. Оглавление

§ 18. Алгебра логики

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

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

Джордж Буль (1815-1864) — английский математик, основоположник алгебры логики. Дж. Буль изучал логику мышления математическими методами и разработал алгебраические методы решения традиционных логических задач. В 1854 году он опубликовал работу, в которой изложил суть алгебры логики, основанной на трёх операциях: and, or, not. Долгое время алгебра логики была известна достаточно узкому классу специалистов. В 1938 году Клод Шеннон применил алгебру логики для описания процесса функционирования релейноконтактных и электронно-ламповых схем.

18.1. Логические высказывания и переменные

Высказывание — это предложение, в отношении которого можно сказать, истинно оно или ложно.

Например, высказывание «Джордж Буль — основоположник алгебры логики» истинно, а высказывание «2 + 2 = 5» ложно.

Что вы можете сказать об истинности или ложности предложения «Данное высказывание — ложь»?

Из имеющихся высказываний можно строить новые высказывания. Для этого используются логические связки — слова и словосочетания «не», «и», «или», «если …, то», «тогда и только тогда» и др.

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

Например, из двух простых высказываний «Алгебра логики является основой строения логических схем компьютеров» и «Алгебра логики служит математической основой решения сложных логических задач» можно получить составное высказывание «Алгебра логики является основой строения логических схем компьютеров и служит математической основой решения сложных логических задач».

Обоснование истинности или ложности элементарных высказываний не является задачей алгебры логики. Эти вопросы решаются теми науками, к сфере которых относятся элементарные высказывания. Такое сужение интересов позволяет обозначать высказывания символическими именами (например, А, В, С). Так, если обозначить элементарное высказывание «Джордж Буль — основоположник алгебры логики» именем А, а элементарное высказывание «2 + 2 = 5» именем В, то составное высказывание «Джордж Буль — основоположник алгебры логики, и 2 + 2 = 5» можно записать как «А и В». Здесь А, В — логические переменные, «и» — логическая связка.

Логическая переменная — это переменная, которая обозначает любое высказывание и может принимать логические значения «истина» или «ложь».

Для логических значений «истина» и «ложь» могут использоваться следующие обозначения:

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

18.2. Логические операции

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

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

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

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

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

При построении отрицания простого высказывания:

• используется оборот «неверно, что» или к сказуемому добавляется частица «не»;
• в высказывании, содержащем слово «все», это слово заменяется на «некоторые» и наоборот.

Рассмотрим несколько новых логических операций.

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

Операция импликации обозначается символом ? и задаётся следующей таблицей истинности:

В разговорной речи импликации соответствуют предложения, содержащие связку «если …, то». Эту связку мы используем тогда, когда хотим показать наличие причинно-следственной связи, иначе говоря, зависимость одного события от другого. Например, пусть некоторый человек сказал: «Если завтра будет хорошая погода, то я пойду гулять». Ясно, что человек окажется лжецом лишь в том случае, если погода действительно будет хорошей, а гулять он не пойдёт. Если же погода будет плохой, то, независимо от того, пойдёт он гулять или нет, во лжи его нельзя обвинить: обещание пойти гулять он давал лишь при условии, что погода будет хорошей.

Результат операции импликации, как и других логических операций, определяется истинностью или ложностью логических переменных, а не наличием причинно-следственных связей между высказываниями. Например, абсурдное с житейской точки зрения высказывание «Если 2 > 3, то существуют ведьмы» является истинным с точки зрения алгебры логики.

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

Строгая дизъюнкция обозначается символом ? и задаётся следующей таблицей истинности:

В русском языке строгой (разделительной) дизъюнкции соответствует связка «либо». В отличие от обычной дизъюнкции (связка «или») в высказывании, содержащем строгую дизъюнкцию, мы утверждаем, что произойдёт только одно событие.

Например, высказывая утверждение «На сегодняшнем матче Петя сидит на трибуне А либо на трибуне Б», мы считаем, что Петя сидит либо только на трибуне А, либо только на трибуне Б, и что сидеть одновременно на двух трибунах Петя не может.

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

В логике эквиваленция обозначается символом и задаётся следующей таблицей истинности:

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

Рассмотрим высказывание «Денис пойдёт в бассейн тогда и только тогда, когда он выучит уроки».

Это высказывание истинно (договорённость соблюдается), если истинны оба элементарных высказывания («Денис пойдёт в бассейн», «Денис выучит уроки»). Высказывание истинно (договорённость не нарушается) и в том случае, если оба элементарных высказывания ложны («Денис не пойдёт в бассейн», «Денис не выучит уроки»). Если же одно из двух высказываний ложно («Денис пойдёт в бассейн, хотя и не выучит уроки», «Денис выучит уроки, но не пойдёт в бассейн»), то договорённость нарушается, и составное высказывание становится ложным.

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

Можно сделать выводы:

• операция эквиваленции есть отрицание операции строгой дизъюнкции

• операция строгой дизъюнкции есть отрицание операции эквиваленции

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

Таблица 4.1

Логические операции и их обозначения

Операция отрицания выполняется над одним операндом. Такие операции называются одноместными или унарными. Все остальные логические операции, представленные в таблице 4.1, выполняются над двумя операндами и называются двуместными или бинарными.

18.3. Логические выражения

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

Для логического выражения справедливо:

1) всякая логическая переменная, а также логические константы (О, 1) есть логическое выражение;
2) если А — логическое выражение, то и — логическое выражение;
3) если А и В — выражения, то, связанные любой бинарной операцией, они также представляют собой логическое выражение.

При преобразовании или вычислении значения логического выражения логические операции выполняются в соответствии с их приоритетом:

1) отрицание;
2) конъюнкция;
3) дизъюнкция, строгая дизъюнкция;
4) импликация, эквиваленция.

Операции одного приоритета выполняются в порядке их следования, слева направо. Как и в арифметике, скобки меняют порядок выполнения операций.

Пример 1. Выясним, какие из приведённых слов удовлетворяют логическому условию (первая буква согласная ? вторая буква согласная) & (последняя буква гласная ? предпоследняя буква гласная):

1) ОЗОН;
2) ИГРА;
3) МАФИЯ;
4) ТРЕНАЖ.

Вычислим значение логического выражения для каждого из данных слов:

Итак, заданному условию удовлетворяют первое и четвёртое слова.

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

Пример 2. Решим логическое уравнение

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

Таким образом, значение переменной D уже найдено. Импликация равна нулю в единственном случае — когда из истины следует ложь. Иначе говоря, в нашем случае: А = 1 и С = 0.

Подставим найденные значения переменных в уравнение

Ответ: А = 1, В = 1, С = 0, D = 0.

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

Пример 3. Выясним, сколько различных решений имеет логическое уравнение

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

Первое равенство будет выполняться только при А = 1, В = 1 и С = 0. Поскольку D в этом уравнении не задействовано, оно может принимать любое из двух значений (0 или 1). Таким образом, всего первое уравнение имеет два решения.

Самостоятельно выясните, сколько решений имеет второе уравнение (из совокупности двух уравнений).

Сколько решений имеет исходное уравнение?

Пример 4. Выясним, сколько решений имеет очень простое с виду логическое уравнение х1 & х2 ? х3 & х4 = 1.

Введём замену переменных. Пусть t1 = х1 & х2, t2 = х3 & х4. Тогда исходное уравнение примет вид: t1 ? t2 = 1.

На t1 никаких ограничений нет, эта переменная может принимать значения 0 и 1. Импликация равна 0 только в случае, когда из истины (1) следует ложь (0). Исключим этот вариант. Построим дерево решений, представив на нём значения переменных t1 и t2 при которых t1 ? t2 = 1.

Получаем для t1 и t2 три набора значений: 00, 01, 11. Первая двоичная цифра в каждом из этих трёх наборов — результат выражения х1 & х2, вторая — х3 & х4. Рассмотрим первый набор: существует три набора х1 и х2 таких, что х1 & х2 = 0, другими словами, первый 0 мы можем получить тремя способами. Второй О в этом наборе мы также можем получить тремя способами.

Из курсов информатики и математики основной школы вам известно одно из основных правил комбинаторики — правило умножения. Согласно ему, если элемент А можно выбрать n способами, и при любом выборе А элемент В можно выбрать m способами, то пару (А, В) можно выбрать n • m способами.

Согласно правилу умножения, пару 00 можно получить 3 • 3 = 9 способами.

Что касается пары 01, то первый 0 мы можем получить тремя способами, а для получения 1 существует единственный вариант (х3 & х4 = 1 при х3 = 1 и х4 = 1). Следовательно, есть ещё три набора переменных х1, х2, х3, х4, являющихся решением исходного уравнения.

Самостоятельно доведите решение этой задачи до конца.

18.4. Предикаты и их множества истинности

Равенства, неравенства и другие предложения, содержащие переменные, высказываниями не являются, но они становятся высказываниями при замене переменной каким-нибудь конкретным значением. Например, предложение х 2 + у 2 = 1) — множество точек окружности единичного радиуса с центром в начале координат. Следует отметить, что многие задания, выполняемые вами на уроках математики, прямо связаны с предикатами. Например, стандартное задание «Решить квадратное уравнение x 2 — 3x + 2 = 0» фактически означает требование найти множество истинности предиката Р(х) = (x 2 — 3x + 2 = 0).

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

Пусть А и В соответственно являются множествами истинности предикатов А(х) и В(х). Тогда пересечение множеств А и В будет являться множеством истинности для предиката А(х) & В(х), а объединение множеств А и В будет множеством истинности для предиката А(х) ? В(х).

Пример 5. Найдём все целые числа 2, превращающие предикат

P(z) = (z > 5) & (z — 2 5) являются целые числа 6, 7, 8 и т. д. Множеством истинности предиката В(z) = (z — 2

Множество истинности исходного предиката — пересечение (общие элементы) множеств истинности образующих его предикатов:

Его мощность |Р| = 11.

Пример 6. Рассмотрим предикат (50 2 ) ? (50 > (х + 1) 2 ), определённый на множестве целых чисел. Найдём множество истинности этого предиката.

Зачастую задания такого рода формулируют несколько иначе.

Например, так: «Найдите все целые числа х, для которых истинно высказывание (50 (х + 1)2)».

Проанализируем отдельно каждый из элементарных предикатов (50 2 ) и (50 > (x + 1) 2 ), решив соответствующие неравенства:

Определим значение исходного предиката на каждом из полученных подмножеств, причём отдельно рассмотрим значение х = -8 (оно попадает в два подмножества) и значение х = 7 (оно не попадает ни в одно подмножество):

Итак, множеством истинности исходного предиката являются целые числа, принадлежащие отрезку [-8; 7]. Наименьшим элементом этого множества является число -8, наибольшим — число 7; мощность множества равна 16.

САМОЕ ГЛАВНОЕ

Высказывание — это предложение, в отношении которого можно сказать, истинно оно или ложно. Высказывания, образованные из других высказываний, называются составными (сложными). Высказывание, никакая часть которого не является высказыванием, называется элементарным (простым). Истинность или ложность составных высказываний зависит от истинности или ложности образующих их высказываний и определённой трактовки связок (логических операций над высказываниями).

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

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

Логические операции имеют следующий приоритет:

1) отрицание;
2) конъюнкция;
3) дизъюнкция, строгая дизъюнкция;
4) импликация, эквиваленция.

Операции одного приоритета выполняются в порядке их следования, слева направо. Скобки меняют порядок выполнения операций.

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

Вопросы и задания

1. Из данных предложений выберите те, которые являются высказываниями. Обоснуйте свой выбор.

1) Как пройти в библиотеку?
2) Коля спросил: «Который час?»
3) Картины Пикассо слишком абстрактны.
4) Компьютеры могут быть построены только на основе двоичной системы счисления.

2. Из каждых трёх выберите два высказывания, являющихся отрицаниями друг друга:

1) «1999 2000», «1999 ? 2000»;
2) «Петя решил все задания контрольной работы», «Петя не решил все задания контрольной работы», «Петя решил не все задания контрольной работы»;
3) «Луна — спутник Земли», «Неверно, что Луна — спутник Земли», «Неверно, что Луна не является спутником Земли »;
4) «Прямая а не параллельна прямой с», «Прямая а перпендикулярна прямой с», «Прямые а и с не пересекаются» (считаем, что прямые а и с лежат в одной плоскости);
5) «Мишень поражена первым выстрелом», «Мишень поражена не первым выстрелом», «Неверно, что мишень поражена не первым выстрелом».

3. Рассмотрите следующие элементарные высказывания: А = «Река Днепр впадает в Чёрное море», В = «45 — простое число», С = «Вена — столица Австрии», D = «0 — натуральное число».

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

к высказываниям А, В, С и D. Сколько новых высказываний можно получить с помощью отрицания (инверсии)? Конъюнкции? Дизъюнкции? Импликации? Эквиваленции? Сколько всего новых высказываний можно получить? Сколько среди них будет истинных?

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

1) На вкус и цвет товарищей нет.
2) Если долго мучиться, что-нибудь получится.
3) Не зная броду, не суйся в воду.
4) Тяжело в ученье, легко в бою.
5) То не беда, что во ржи лебеда, то беда, что ни ржи, ни лебеды.
6) Где тонко, там и рвётся.
7) Или грудь в крестах, или голова в кустах.
8) За двумя зайцами погонишься — ни одного не поймаешь.
9) И волки сыты, и овцы целы.

5. Подберите вместо А, В, С, D такие высказывания, чтобы полученные сложные высказывания имели смысл:

1) если (А или В и С), то D;
2) если (не А и не В), то (С или D);
3) (А или В) тогда и только тогда, когда (С и не D).

7. Сколько из приведённых чисел Z удовлетворяют логическому условию: ((Z кратно 4) v (Z кратно 5)) ? (Z кратно 6)?
1) 4; 2) 6; 3) 7; 4) 12.

8. Найдите все целые числа Z, для которых истинно высказывание:

9. Какие из высказываний А, В, С должны быть истинны и ка кие ложны, чтобы были ложны следующие высказывания?

10. Даны три числа в различных системах счисления:

Переведите А, В и С в двоичную систему счисления и вы полните поразрядно логические операции (A v В) & С. Отвеп дайте в десятичной системе счисления.

11. Логическое отрицание восьмиразрядного двоичного числа записанное в десятичной системе счисления, равно 217 Определите исходное число в десятичной системе счисления,

12. Определите логическое произведение и логическую сумм> всех двоичных чисел в диапазоне от 1610 до 2210, включая границы. Ответ запишите в восьмеричной системе счисления.

13. Сколько различных решений имеет логическое уравнение?

14. Сколько решений имеет логическое уравнение х1 & х2 v х3 & x4 = 1?

15. Изобразите в декартовой прямоугольной системе координат множества истинности для следующих предикатов:

16. Предикат ((8x — 6) 65) определён на множестве целых чисел. Найдите его множество истинности. Укажите наибольшее целое число х, при котором предикат превращается в ложное высказывание.


источники:

http://ege-study.ru/ru/ege/materialy/informatika/zadanie-23/

http://murnik.ru/18-algebra-logiki