You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Способ 1. Сведение к одному уравнению. Сначалапреобразуем уравнения так, чтобы правые частибыли равны 1 (истинному значению). Для этогоприменим инверсию (операцию “НЕ”) к обеим частямпервого уравнения:⎧⎪A → C=1⎨⎪⎩ A ⊕ B = 1Теперь представляем импликацию и “исключающееИЛИ” через базовые операции (“И”, “ИЛИ”,“НЕ”):⎪⎧ A + C=1⎨⎪⎩ A ⋅ B + A ⋅ B = 1Поскольку необходимо, чтобы левые части обоихуравнений были равны 1, можно объединить ихс помощью операции “И” в одно уравнение, равносильноеисходной системе:( A+ C)( ⋅ A⋅ B+ A⋅ B)= 1Раскрываем инверсию в первой скобке по законуде Моргана и вносим “сомножитель” A в скобку, незабыв, что A ⋅ A = 0 и A ⋅ A = A:A ⋅C⋅( A⋅ B+ A⋅ B)= 1 ⇔ A ⋅B⋅ C=1Последнее уравнение, равносильное исходнойсистеме, имеет единственное решение: A = 1,B=0 и C=1. Таким образом, в море вышли кораблиА и C.Способ 2. Таблица истинности. Поскольку логическиевеличины имеют только два значения, можнопросто перебрать все варианты и найти срединих те, при которых выполняется данная системауравнений. Для системы с тремя переменными возможны8 вариантов:A B C A → C A ⊕ B0 0 0 1 00 0 1 1 00 1 0 1 10 1 1 1 11 0 0 1 11 0 1 0 11 1 0 1 01 1 1 0 0Зеленым цветом выделена единственнаястрочка, для которой выполняются условия задачи,то есть A → C=0 и A ⊕ B=1. Таким образом,A = 1, B=0 и C=1, это значит, что в море вышликорабли А и C. Недостаток этого метода — трудоемкостьпри большом количестве переменных(больше 4).Заметим, что такой подход особенно удобен приавтоматизации решения подобных задач. Именноон (совместно с приведением системы к одномууравнению) используется в программе для решениясистем логических уравнений, которая размещенана диске-приложении к этому номеру.Способ 3. Декомпозиция. Идея состоит в том,чтобы зафиксировать значение одной из переменных(положить ее равной 0 или 1) и за счет этогоупростить уравнения. Затем можно зафиксироватьзначение второй переменной и т.д. В нашем случаепри A = 0 получаем⎧0→ C=0⎨⎩0 ⊕ B = 1Известно, что импликация ложна только в одномслучае — когда посылка истинна, а следствие ложно( 1→ 0=0). Поэтому первое уравнение (и, следовательно,вся система) при A = 0 решений не имеет.Теперь рассмотрим второй случай, когда A = 1:⎧1→ C=0⎨⎩1 ⊕ B = 1Из первого уравнения в силу свойств импликациисразу следует, что C=0 или C=1, а из второго— B=0 ( A ⊕ B=1 означает, что A ≠ B ). Таким образом,существует единственное решение системы:A = 1 , B=0 и C=1; это значит, что в море вышликорабли А и C.Способ 4. Последовательное решение уравнений.В некоторых случаях можно решать уравнения последовательно,на каждом шаге добавляя по однойпеременной в рассматриваемый набор. Чтобы вводитьпеременные в алфавитном порядке, поменяемместами уравнения в нашей системе:⎧A⊕ B=1⎨⎩A → C = 0Мы видим, что первое уравнение зависиттолько от A и B , а в третьем подключается переменнаяC . Будем строить дерево решений и одновременнозаписывать его в свернутом виде в таблицу.Переменная A может принимать два значения:A0А011Из первого уравнения A ⊕ B=1 следует, чтоA ≠ B , поэтому при A = 0 получаем единственныйвариант B=1, а при A = 1 имеем B=0. Итак, первоеуравнение имеет два решения относительно переменныхA и B.АB01A B0 11 0Теперь “подключаем” второе уравнение A → C=0,из которого нужно определить допустимые значенияC для каждоговарианта. При A = 0А01 импликация не можетбыть ложна, тоесть первая строчкаB10 предыдущейтаблицы×не дает ни одно-го решения системыC1 двух уравнений. При1031сентябрь 2011 / ИНФОРМАТИКА