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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

«Исследование и сравнение способов решения логических задач»

Выполнила

Торосян Надежда

Научный руководитель: Пяткина Г.А.

Москва 2013 г.

Введение

Вся наша жизнь - это непрерывное решение разнообразных логических проблем. Логические задачи отличаются от математических тем, что для их решения необходима сообразительность, а не какие-то особые знания, и, чаще всего, решающий логические задачи должен иметь в виду некоторые очевидные истины, такие как: отец старше своего сына; генерал старше майора по званию и т.п. Иначе говоря, решающий задачу использует исключительно логику. «Логика (от греч. logos - слово, понятие, рассуждение, разум) - наука о законах и формах рационального мышления, методах формализации содержательных теорий.» См.: Логика в информатике /В.Ю. Лыскова, Е.А. Ракитина Чтобы научиться логически мыслить, необходимо уметь анализировать, сравнивать, обобщать, систематизировать полученную информацию, а также доказывать и опровергать, определять и объяснять понятия. Во многих ситуациях человек действует интуитивно, или опираясь на жизненный опыт, не нуждаясь в пояснении своих решений, но при логическом подходе к проблеме всегда необходимо пояснение принятых решений и выводов. Решение логических задач в некоторой степени напоминает решение научной проблемы, так как исследователь сначала сталкивается с массой данных, и часто не имеет возможности сразу сделать какие-либо заключения. Поэтому ему приходится выдвигать одну или несколько гипотез, а затем сопоставлять полученные из исследования гипотез результаты с исходными данными. Если обнаруживается несоответствие теоретических данных фактам, гипотеза отвергается и заменяется новой, после чего проверятся так же, как предыдущая. И так до тех пор, пока результаты не совпадут с изначальными данными. Такой же принцип используется и при решении логических задач.

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

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

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

Задачами моего исследования являются:

- изучить теоретически способы решения логических задач;

- сравнить между собой эффективность применения этих способов по отношении к разным типам задач;

- создать сайт, содержащий рекомендации по использованию разных способов в решении задач;

- написать программу в среде Delphi, позволяющую проверить навыки, полученные при изучении материала сайта;

- написать отчет о проделанной работе.

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

В процессе работы над дипломом были использованы задачник по моделированию «Информатика и ИКТ» Н.В. Макаровой, справочник «Логика в информатике» В. Ю. Лысковой и Е. А. Ракитиной. При выполнении следующей части работы будут использованы учебник для 9 класса «Информатика и ИКТ. Базовый курс Н. Д. Угриновича и самоучитель «Программирование в среде Delphi 7» Галисеева Г.В.

Глава I. Теоретическая часть. Методы решения логических задач

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

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

Рассмотрим этот способ на примере некоторых задач.

Задача 1. В поездке пятеро друзей - Антон, Борис, Вадим, Дима и Гриша знакомились с попутчицей. Они предложили ей отгадать их фамилии, и каждый из них высказал одно истинное и одно ложное утверждение. Вот что они сказали:

Дима: моя фамилия - Мишин, а фамилия Бориса - Хохлов.

Антон: Мишин - это моя фамилия, а фамилия Вадима - Белкин.

Борис: фамилия Вадима - Тихонов, а моя фамилия - Мишин.

Вадим: моя фамилия - Белкин, а фамилия Гриши - Чехов.

Гриша: да, моя фамилия Чехов, а фамилия Антона - Тихонов.

Какую фамилию носит каждый из друзей?

Решение. Обозначим высказывательную форму «юноша по имени А носит фамилию Б» как АБ, где буквы А и Б соответствуют первым буквам имени и фамилии. Далее, зафиксируем высказывания каждого мальчика. Получается:

ДМ и БХ; АМ и ВБ; ВТ и БМ; ВБ и ГЧ; ГЧ и АТ.

Сначала, допустим, что истинно ДМ. Следовательно, АМ и БМ ложно, так как у Антона и Бориса должны быть другие фамилии. Но если АМ и БМ ложны, то должны быть верны другие два высказывания из пар, то есть ВБ и ВТ, но они не могут быть истинными одновременно. Вернемся к началу: из первой пары высказываний ДМ не верно, значит, верно БХ. А значит, те случаи, в которых первая буква Б, а вторая не Х ложны. Таковым является второе высказывание из третьей пары - БМ, а значит из этой пары верно второе высказывание, то есть ВТ. С ним можно поступить также как и с предыдущим верным, в результате чего получаем, что из четвертой пары верно ГЧ, а из второй - АМ. Следовательно, получаем такие верные высказывания: БХ, ВТ, ГЧ, АМ. Остается одна свободная буква имени и одна буква фамилии - ДБ. Получаем ответ: Фамилия Бориса - Хохлов, Вадима - Тихонов, Гриши - Чехов, Антона - Мишин, а Димы - Белкин.

Задача 2. В первом туре школьного конкурса «Эрудит» в четверку лучших вошли: Дима, Катя, Миша и Нина. И конечно, болельщики высказывали свои предположения о распределении мест во втором, финальном туре. Один считал, что первым будет Дима, а Миша будет вторым. Другой болельщик выразил надежду на то, что Катя займет четвертое место, а второе место достанется Нине. Третий же был уверен в том, что Катя займет третье место, а на втором месте будет Дима. В результате оказалось, что каждый из болельщиков был прав только в одном из своих прогнозов. Какие места заняли Дима, Катя, Миша, Нина?

Решение. Мы имеем три пары высказываний болельщиков, в каждой из которых одно высказывание истинно, а второе ложно: Дима-1 и Миша-2; Катя-4 и Нина-2; Катя-3 и Дима-2. Предположим, что из первой пары верно второе высказывание, то есть то, что Миша-2. Из этого следует, что больше никто не может быть вторым, то есть вторые высказывания во второй и третьей парах ложны. Остается считать истинными первые высказывания в этих парах, то есть Катя-4 и Катя-3, что, очевидно, невозможно. Значит, изначальное предположение было неверно. Значит, из первой пары верно первое высказывание, что Дима-1. Значит, последнее высказывание третьей пары, что Дима-2 ложно, а следовательно верно то, что Катя-3. Если Катя-3, то первое высказывание второй пары, что Катя-4 ложно, а значит второе, что Нина-2 верно. Получаем, что Дима-1, Нина-2, Катя-3, а следовательно Миша-4.

1.2 Метод таблиц

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

Рассмотрим данный метод на примере нескольких задач.

Задача 3. В симфонический оркестр приняли на работу трех музыкантов - Брауна, Смита и Вессона, умеющих играть на скрипке, флейте, альте, кларнете, гобое и трубе. Известно, что:

Смит самый высокий;

Играющий на скрипке ниже ростом играющего на флейте;

Играющие на скрипке и флейте и Браун любят пиццу;

Когда между альтистом и трубачом возникает ссора, Смит мирит их;

Браун не умеет играть ни на трубе, ни на гобое.

На каких инструментах играет каждый из музыкантов, если каждый владеет двумя инструментами?

Решение. Составим таблицу, в которой в строках будут фамилии музыкантов, а в столбцах названия музыкальных инструментов. Отразим в ней условия задачи, заполнив соответствующие клетки + и - в зависимости от того, возможен такой вариант или нет. Так, если сопоставить 1 и 2 утверждения, можно сделать вывод, что Смит не играет на скрипке. Из условия 4 следует, что Смит не играет ни на альте, ни на трубе и из условий 3 и 5, что Браун не играет ни на скрипке, ни на флейте, ни на трубе, ни на гобое. Итак, получаем таблицу со знаками «-» в соответствующих клетках:

скрипка

флейта

альт

кларнет

гобой

труба

Браун

-

-

-

-

Смит

-

-

-

Вессон

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

скрипка

флейта

альт

кларнет

гобой

труба

Браун

-

-

-

-

Смит

-

-

-

Вессон

+

-

-

-

-

+

Теперь, в столбцах «флейта», «альт» и «гобой» тоже стоит по два минуса. Значит, в оставшихся клеточках этих столбцов тоже можно поставить знак «+».

скрипка

флейта

альт

кларнет

гобой

труба

Браун

-

-

+

-

-

Смит

-

+

-

+

-

Вессон

+

-

-

-

-

+

Итак, остается недозаполненным только один столбец - «кларнет». А именно, клеточки на пересечении этого столбца со строками «Браун» и «Смит». В этом случае, смотрим на количество знаков «+» в этих строках. В строке «Смит» их два, значит, в соответствующей клеточке мы ставим «-», так как в строке не может быть три «+», потому что каждый музыкант играет только на двух музыкальных инструментах. Значит, в клеточке на пересечении строки «Браун» и столбца «кларнет» ставим «+». Получается полностью заполненная таблица:

скрипка

флейта

альт

кларнет

гобой

труба

Браун

-

-

+

+

-

-

Смит

-

+

-

-

+

-

Вессон

+

-

-

-

-

+

Ответ: Браун играет на альте и кларнете, Смит - на флейте и гобое, а Вессон - на скрипке и трубе.

Задача 4. Беседуют трое друзей: Белокуров, Чернов и Рыжов. Брюнет сказал Белокурову: «Любопытно, что один из нас блондин, другой брюнет, а третий - рыжий, но ни у кого цвет волос не соответствует фамилии». Какой цвет волос у каждого из друзей?

Решение. Для начала составим таблицу, в которой в строках будут фамилии мальчиков, а в столбцах - цвета волос. Так как ни у одного из друзей цвет волос не соответствует фамилии, можно сразу поставить «-» в соответствующих клеточках:

блондин

брюнет

рыжий

Белокуров

-

Чернов

-

Рыжов

-

Далее, следует обратить внимание на то, что в разговоре брюнет обращается к Белокурову, а значит, это не может быть один и тот же человек. Ставим «-» в соответствующей клеточке:

блондин

брюнет

рыжий

Белокуров

-

-

Чернов

-

Рыжов

-

Из таблицы видно, что брюнетом не может быть ни Белокуров, ни Чернов, а значит, брюнет - Рыжов. Ставим в клеточке на пересечении его фамилии с соответствующим столбцом знак «+». Но так как Рыжов не может быть одновременно и брюнетом, и блондином, то на пересечении со столбцом «блондин» тоже ставим знак «-».

блондин

брюнет

рыжий

Белокуров

-

-

Чернов

-

Рыжов

-

+

-