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

Информатика 10 класс Босова § 22. Логические задачи и способы их решения

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

§ 22. Логические задачи и способы их решения


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

22.1. Метод рассуждений

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

Пример 1. На одной улице стоят в ряд 4 дома, в каждом из них живёт по одному человеку. Их зовут Василий, Семён, Геннадий и Иван. Известно, что все они имеют разные профессии: скрипач, столяр, охотник и врач. Известно, что:

1) столяр живёт правее охотника;
2) врач живёт левее охотника;
3) скрипач живёт с краю;
4) скрипач живёт рядом с врачом;
5) Семён не скрипач и не живёт рядом со скрипачом;
6) Иван живёт рядом с охотником;
7) Василий живёт правее врача;
8) Василий живёт через дом от Ивана.

Определим, кто где живёт.

Изобразим дома прямоугольниками и пронумеруем их:

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

Известно, что скрипач живёт с краю (3). Следовательно, он может жить в доме 1 или в доме 4.

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

Скрипач живёт рядом с врачом (4), т. е. врач может жить правее (дом 2) или левее (дом 3) скрипача.

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

Но врач живёт левее охотника (2), следовательно, скрипач не может жить в доме 4, т. к. в противном случае получится, что врач, живущий с ним рядом, живёт правее охотника, а это противоречит условию (2). Таким образом, скрипач живёт в доме 1, а врач — рядом с ним, в доме 2.

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

Так как врач живёт левее охотника (2), а столяр — правее охотника (1), то охотнику достаётся дом 3, а столяру — дом 4.

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

Так как Семён не скрипач и не живёт рядом со скрипачом (5), то он может жить в доме 3 или в доме 4.

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

Так как Иван живёт рядом с охотником (6), то он может жить в доме 2 или 4.

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

Так как Василий живёт правее врача (7), то он может жить в доме 3 или 4.

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

Подводим итоги с учётом того, что Василий живёт через дом от Ивана (8): в доме 1 может жить только Геннадий, в доме 2 — Иван, в доме 4 — Василий, в доме 3 — Семён.

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

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

22.2. Задачи о рыцарях и лжецах

Задачи о рыцарях и лжецах — это такой класс логических задач, в которых фигурируют персонажи:

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

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

Пример 2. Двое жителей острова А и В разговаривали между собой в саду. Проходивший мимо незнакомец спросил у А: «Вы рыцарь или лжец?». Тот ответил, но так неразборчиво, что незнакомец не смог ничего понять. Тогда незнакомец спросил у В: «Что сказал А?». «А сказал, что он лжец», — ответил В. Может ли незнакомец доверять ответу Б? Мог ли А сказать, что он лжец?

Если А — рыцарь, то он скажет правду и сообщит, что он рыцарь.

Если А — лжец, то он скроет правду и сообщит, что он рыцарь.

Это значит, что В, утверждающий, что «А сказал, что он лжец» заведомо лжёт; он — лжец. Определить же, кем является А, в данной ситуации невозможно.

Пример 3. Рядом стоят два города: город Лжецов (Л) и город Правдивых (П). В городе Лжецов живут лжецы, а в городе Правдивых — правдивые люди. Лжецы всегда лгут, а правдивые — всегда говорят правду. Лжецы и правдивые ходят друг к другу в гости.

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

Нужен простой вопрос, ответ на который точно известен вашему респонденту. Например: «Вы находитесь в своём городе?».

Надо задать вопрос и проанализировать варианты ответов с учетом того, кто их мог дать.

Самостоятельно разберитесь с решением задачи, рассмотрев блок-схему на рис. 4.12.

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

Рис. 4.12. Блок-схема для анализа ответов

Пример 4. Перед нами три человека: А, В и С. Один из них рыцарь, другой — лжец, третий — нормальный человек. При этом неизвестно, кто есть кто. Эти люди утверждают следующее:

1) А: я нормальный человек;
2) В: это правда;
3) С: я не нормальный человек.

Кто такие А, В и С?

Для решения этой задачи следует рассмотреть все возможные варианты распределения ролей.

Начнём с А. Он может быть рыцарем (Р), лжецом (Л) или нормальным человеком (Н). Если А — рыцарь, то В может быть лжецом или нормальным человеком и т. д. Представим все варианты распределения ролей в таблице:

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

Проанализируем имеющиеся три утверждения, считая, что роли между А, В и С распределены в соответствии с первой строкой таблицы.

Итак, А утверждает, что он нормальный человек (1). Но, согласно первой строке таблицы, — он рыцарь, который не может так о себе сказать. Получено противоречие. Следовательно, первая строка не удовлетворяет условию задачи.

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

22.3. Задачи на сопоставление. Табличный метод

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

Пример 5. В летнем лагере в одной палатке жили Алёша, Боря, Витя и Гриша. Все они разного возраста, учатся в разных классах (с 7-го по 10-й) и занимаются в разных кружках: математическом, авиамодельном, шахматном и фотокружке. Выяснилось, что фотограф старше Гриши, Алёша старше Вити, а шахматист старше Алёши. В воскресенье Алёша с фотографом играли в теннис, а Гриша в то же время проиграл авиамоделисту в городки.

Определим, кто в каком кружке занимается.

В этой задаче речь идёт о высказывательной форме (предикате) вида «Ученик х занимается в кружке у». Требуется определить такие значения х и у, чтобы высказывательная форма превратилась в истинное высказывание.

Составим таблицу:

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

Рассмотрим условия:

1) фотограф старше Гриши;
2) Алёша старше Вити, а шахматист старше Алёши;
3) в воскресенье Алёша с фотографом играли в теннис, а Гриша в то же время проиграл авиамоделисту в городки.

Можем сделать выводы: Гриша — не фотограф (1); шахматист — не Алёша и не Витя (2); Алёша — не фотограф и не авиамоделист, Гриша — не фотограф и не авиамоделист (3). Отметим это в таблице:

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

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

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

Из того, что Гриша — шахматист, и условий (1) и (2) следует, что мы можем расположить учеников по возрасту (в порядке возрастания): Витя — Алёша — шахматист Гриша — фотограф. Следовательно, Боря — фотограф. Этого достаточно, чтобы окончательно заполнить таблицу:

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

Итак, Алёша занимается в математическом кружке, Боря — в фотокружке, Витя — в авиамодельном кружке, Гриша — в шахматном кружке.

Самостоятельно сделайте вывод о том, кто из ребят в каком классе учится.

22.4. Использование таблиц истинности для решения логических задач

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

Одним из таких методов является построение таблицы истинности по условию задачи и её анализ. Для этого следует:

1) выделить из условия задачи элементарные (простые) высказывания и обозначить их буквами;
2) записать условие задачи на языке алгебры логики, соединив простые высказывания в составные с помощью логических операций;
3) построить таблицу истинности для полученных логических выражений;
4) выбрать решение — набор логических переменных (элементарных высказываний), при котором значения логических выражений соответствуют условиям задачи;
5) убедиться, что полученное решение удовлетворяет всем условиям задачи.

Пример 6. Три подразделения А, В, С торговой фирмы стремились получить по итогам года максимальную прибыль. Экономисты высказали следующие предположения:

1) если А получит максимальную прибыль, то максимальную прибыль получат B и С;
2) А и С получат или не получат максимальную прибыль одновременно;
3) необходимым условием получения максимальной прибыли подразделением С является получение максимальной прибыли подразделением B.

По завершении года оказалось, что одно из трёх предположений ложно, а остальные два истинны.

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

Рассмотрим элементарные высказывания:

• А — «А получит максимальную прибыль»;
• В — «B получит максимальную прибыль»;
• С — «С получит максимальную прибыль».

Запишем на языке алгебры логики прогнозы, высказанные экономистами:

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

Составим таблицу истинности для F1, F2, F3.

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

Теперь вспомним, что из трёх прогнозов F1, F2, F3 один оказался ложным, а два других — истинными. Эта ситуация соответствует четвёртой строке таблицы.

Таким образом, максимальную прибыль получили подразделения В и С.

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

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

1) выделить из условия задачи элементарные (простые) высказывания и обозначить их буквами;
2) записать условие задачи на языке алгебры логики, соединив простые высказывания в составные с помощью логических операций;
3) составить единое логическое выражение, учитывающее все требования задачи;
4) используя законы алгебры логики, упростить полученное выражение и вычислить его значение;
5) выбрать решение — набор логических переменных (элементарных высказываний), при котором построенное логическое выражение является истинным;
6) убедиться, что полученное решение удовлетворяет всем условиям задачи.

Пример 7. На вопрос, кто из трёх учащихся изучал логику, был получен ответ: «Если изучал первый, то изучал и второй, но неверно, что если изучал третий, то изучал и второй». Кто из учащихся изучал логику?

Обозначим через А, В, С простые высказывания:

• А = «Первый ученик изучал логику»;
• В = «Второй ученик изучал логику»;
• С = «Третий ученик изучал логику».

Из условия задачи следует истинность высказывания:

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

Упростим получившееся высказывание:

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

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


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

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

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

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

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

К ним относятся методы:

1) построения таблицы истинности по условию задачи и её анализ;
2) составления и упрощения логического выражения.


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

1. Вы встретили 10 островитян, стоящих по кругу. Каждый из них произнёс фразу: «Следующие 4 человека, стоящие после меня по часовой стрелке, лжецы». Сколько среди них лжецов?

2. Однажды некий путешественник гостил на острове рыцарей и лжецов. Там ему встретились два местных жителя. Путешественник спросил одного из них: «Кто-нибудь из вас рыцарь?» Его вопрос не остался без ответа, и он узнал то, что хотел. Кем был островитянин, к которому путешественник обратился с вопросом, — рыцарем или лжецом? Кем был другой островитянин?

3. В старинном индийском храме восседали три богини: Правда, Ложь и Мудрость. Правда говорит только правду, Ложь всегда лжёт, а Мудрость может сказать правду или солгать. Паломник, посетивший храм, спросил у богини слева: «Кто сидит рядом с тобой?» «Правда», — ответила та. Тогда он спросил у средней: «Кто ты?» «Мудрость», — отвечала она. Наконец он спросил у той, что справа: «Кто твоя соседка?» «Ложь», — ответила богиня. И после этого паломник точно знал, кто есть кто. Определите, на каком месте сидит каждая из богинь.

4. В симфонический оркестр приняли на работу трёх музыкантов — Борисова, Сергеева и Васечкина, умеющих играть на скрипке, флейте, альте, кларнете, гобое и трубе. Каждый из музыкантов владеет двумя инструментами.

5. В педагогическом институте Аркадьева, Бабанова, Корсакова, Дашков, Ильин и Флёров преподают экономическую географию, английский язык, немецкий язык, историю, французский язык, математику.

6. На вопрос «Кто из девушек собирается прийти на день рождения к Саше?» был получен уклончивый ответ: «Если Марина придёт на день рождения, то Надя тоже придёт, а Таня не придёт. Если Надя придёт, то Таня придёт в том и только в том случае, если не придёт Марина». Можно ли по этой информации точно установить, кто из девушек придёт к Саше, а кто нет?

7. В бюро переводов приняли на работу троих сотрудников: Диму, Сашу и Юру. Каждый из них знает ровно два иностранных языка из следующего набора: немецкий, японский, шведский, китайский, французский и греческий.

8. Ребята знали, что у четырёх подруг — Маши, Кати, Вали и Наташи — дни рождения приходятся на разное время года, но не могли точно вспомнить, у кого на какое.

9. В санатории на берегу моря отдыхают отец О, мать М, сын S и две дочери D1 и D2. До завтрака члены семьи часто купаются в море, причём известно, что если отец утром отправляется купаться, то с ним обязательно идут мать и сын; если сын идёт купаться, то его сестра D1 отправляется вместе с ним; вторая дочь D2 купается тогда и только тогда, когда купается мать; каждое утро купается по крайней мере один из родителей. Если в воскресенье утром купалась в море лишь одна из дочерей, то кто из членов семьи в это утро ходил на море?

10. В нарушении правил обмена валюты подозреваются четыре работника банка — Антипов (А), Борисов (B), Цветков (С) и Дмитриев (D).


§ 21. Элементы схемотехники. Логические схемы
§ 22. Логические задачи и способы их решения
Глава 5. СОВРЕМЕННЫЕ ТЕХНОЛОГИИ СОЗДАНИЯ И ОБРАБОТКИ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ
§ 23. Текстовые документы