Разнообразие логических задач очень велико. Способов их решения тоже немало. Но наибольшее распространение получили следующие три способа решения логических задач:
· средствами алгебры логики;
· табличный;
· с помощью рассуждений.
Познакомимся с ними поочередно.
Обычно используется следующая схема решения:
1. изучается условие задачи;
2. вводится система обозначений для логических высказываний;
3. конструируется логическая формула, описывающая логические связи между всеми высказываниями условия задачи;
4. определяются значения истинности этой логической формулы;
5. из полученных значений истинности формулы определяются значения истинности введённых логических высказываний, на основании которых делается заключение о решении.
Пример 1. Трое друзей, болельщиков автогонок "Формула-1", спорили о результатах предстоящего этапа гонок.
– Вот увидишь, Шумахер не придет первым, – сказал Джон. Первым будет Хилл.
– Да нет же, победителем будет, как всегда, Шумахер, – воскликнул Ник. – А об Алези и говорить нечего, ему не быть первым.
Питер, к которому обратился Ник, возмутился:
– Хиллу не видать первого места, а вот Алези пилотирует самую мощную машину.
По завершении этапа гонок оказалось, что каждое из двух предположений двоих друзей подтвердилось, а оба предположения третьего из друзей оказались неверны. Кто выиграл этап гонки?
Решение. Введем обозначения для логических высказываний:
Ш – победит Шумахер; Х – победит Хилл; А – победит Алези.
Реплика Ника "Алези пилотирует самую мощную машину" не содержит никакого утверждения о месте, которое займёт этот гонщик, поэтому в дальнейших рассуждениях не учитывается.
Зафиксируем высказывания каждого из друзей:
Учитывая то, что предположения двух друзей подтвердились, а предположения третьего неверны, запишем и упростим истинное высказывание
Высказывание
истинно только при Ш=1, А=0, Х=0.Ответ. Победителем этапа гонок стал Шумахер.
Пример 2. Некий любитель приключений отправился в кругосветное путешествие на яхте, оснащённой бортовым компьютером. Его предупредили, что чаще всего выходят из строя три узла компьютера – a, b, c, и дали необходимые детали для замены. Выяснить, какой именно узел надо заменить, он может по сигнальным лампочкам на контрольной панели. Лампочек тоже ровно три: x, y и z.
Инструкция по выявлению неисправных узлов такова:
1. если неисправен хотя бы один из узлов компьютера, то горит по крайней мере одна из лампочек x, y, z;
2. если неисправен узел a, но исправен узел с, то загорается лампочка y;
3. если неисправен узел с, но исправен узел b, загорается лампочка y, но не загорается лампочка x;
4. если неисправен узел b, но исправен узел c, то загораются лампочки x и y или не загорается лампочка x;
5. если горит лампочка х и при этом либо неисправен узел а, либо все три узла a, b, c исправны, то горит и лампочка y.
В пути компьютер сломался. На контрольной панели загорелась лампочка x. Тщательно изучив инструкцию, путешественник починил компьютер. Но с этого момента и до конца плавания его не оставляла тревога. Он понял, что инструкция несовершенна, и есть случаи, когда она ему не поможет.
Какие узлы заменил путешественник? Какие изъяны он обнаружил в инструкции?
Решение. Введем обозначения для логических высказываний:
a – неисправен узел а; x – горит лампочка х;
b – неисправен узел b; y – горит лампочка y;
с – неисправен узел с; z – горит лампочка z.
Правила 1–5 выражаются следующими формулами:
Формулы 1–5 истинны по условию, следовательно, их конъюнкция тоже истинна:
Выражая импликацию через дизъюнкцию и отрицание (напомним, что
), получаем:Подставляя в это тождество конкретные значения истинности x=1, y=0, z=0, получаем:
Отсюда следует, что a=0, b=1, c=1.
Ответ на первый вопрос задачи: нужно заменить блоки b и c; блок а не требует замены. Ответ на второй вопрос задачи получите самостоятельно.
При использовании этого способа условия, которые содержит задача, и результаты рассуждений фиксируются с помощью специально составленных таблиц.
Пример 3. В симфонический оркестр приняли на работу трёх музыкантов: Брауна, Смита и Вессона, умеющих играть на скрипке, флейте, альте, кларнете, гобое и трубе.
Известно, что:
1. Смит самый высокий;
2. играющий на скрипке меньше ростом играющего на флейте;
3. играющие на скрипке и флейте и Браун любят пиццу;
4. когда между альтистом и трубачом возникает ссора, Смит мирит их;
5. Браун не умеет играть ни на трубе, ни на гобое.
На каких инструментах играет каждый из музыкантов, если каждый владеет двумя инструментами?
Решение. Составим таблицу и отразим в ней условия задачи, заполнив соответствующие клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание.
Так как музыкантов трoе, инструментов шесть и каждый владеет только двумя инструментами, получается, что каждый музыкант играет на инструментах, которыми остальные не владеют.
Из условия 4 следует, что Смит не играет ни на альте, ни на трубе, а из условий 3 и 5, что Браун не умеет играть на скрипке, флейте, трубе и гобое. Следовательно, инструменты Брауна – альт и кларнет. Занесем это в таблицу, а оставшиеся клетки столбцов "альт" и "кларнет" заполним нулями:
скрипка | флейта | альт | кларнет | гобой | труба | |
Браун | 0 | 0 | 1 | 1 | 0 | 0 |
Смит | 0 | 0 | 0 | |||
Вессон | 0 | 0 |
Из таблицы видно, что на трубе может играть только Вессон.
Из условий 1 и 2 следует, что Смит не скрипач. Так как на скрипке не играет ни Браун, ни Смит, то скрипачом является Вессон. Оба инструмента, на которых играет Вессон, теперь определены, поэтому остальные клетки строки "Вессон" можно заполнить нулями:
скрипка | флейта | альт | кларнет | гобой | труба | |
Браун | 0 | 0 | 1 | 1 | 0 | 0 |
Смит | 0 | 0 | 0 | 0 | ||
Вессон | 1 | 0 | 0 | 0 | 0 | 1 |
Из таблицы видно, что играть на флейте и на гобое может только Смит.
скрипка | флейта | альт | кларнет | гобой | труба | |
Браун | 0 | 0 | 1 | 1 | 0 | 0 |
Смит | 0 | 1 | 0 | 0 | 1 | 0 |
Вессон | 1 | 0 | 0 | 0 | 0 | 1 |
Ответ: Браун играет на альте и кларнете, Смит – на флейте и гобое, Вессон – на скрипке и трубе.
Пример 4. Три одноклассника – Влад, Тимур и Юра, встретились спустя 10 лет после окончания школы. Выяснилось, что один из них стал врачом, другой физиком, а третий юристом. Один полюбил туризм, другой бег, страсть третьего – регби.
Юра сказал, что на туризм ему не хватает времени, хотя его сестра – единственный врач в семье, заядлый турист. Врач сказал, что он разделяет увлечение коллеги.
Забавно, но у двоих из друзей в названиях их профессий и увлечений не встречается ни одна буква их имен.
Определите, кто чем любит заниматься в свободное время и у кого какая профессия.
Решение. Здесь исходные данные разбиваются на тройки (имя – профессия – увлечение).
Из слов Юры ясно, что он не увлекается туризмом и он не врач. Из слов врача следует, что он турист.
Имя | Юра |
Профессия | врач |
Увлечение | туризм |
Буква "а", присутствующая в слове "врач", указывает на то, что Влад тоже не врач, следовательно врач – Тимур. В его имени есть буквы "т" и "р", встречающиеся в слове "туризм", следовательно второй из друзей, в названиях профессии и увлечения которого не встречается ни одна буква его имени – Юра. Юра не юрист и не регбист, так как в его имени содержатся буквы "ю" и "р". Следовательно, окончательно имеем:
Имя | Юра | Тимур | Влад |
Профессия | физик | врач | юрист |
Увлечение | бег | туризм | регби |
Ответ. Влад – юрист и регбист, Тимур – врач и турист, Юра – физик и бегун.
Пример 5. Три дочери писательницы Дорис Кей – Джуди, Айрис и Линда, тоже очень талантливы. Они приобрели известность в разных видах искусств – пении, балете и кино. Все они живут в разных городах, поэтому Дорис часто звонит им в Париж, Рим и Чикаго.
Известно, что:
1. Джуди живет не в Париже, а Линда – не в Риме;
2. парижанка не снимается в кино;
3. та, кто живет в Риме, певица;
4. Линда равнодушна к балету.
Где живет Айрис, и какова ее профессия?
Решение. Составим таблицу и отразим в ней условия 1 и 4, заполнив клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание:
Париж | Рим | Чикаго | Пение | Балет | Кино |
0 | Джуди | ||||
Айрис | |||||
0 | Линда | 0 |
Далее рассуждаем следующим образом. Так как Линда живет не в Риме, то, согласно условию 3, она не певица. В клетку, соответствующую строке "Линда" и столбцу "Пение", ставим 0.