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