Решение логических задач

Разделы: Информатика


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

1. с помощью рассуждений.

2. табличный;

3. средствами алгебры логики;

Познакомимся с ними поочередно.

I. Способ решения с помощью рассуждений

Этим способом обычно решают несложные логические задачи.

Примеры:

№1.1. Вадим, Сергей и Михаил изучают различные иностранные языки: китайский, японский и арабский. На вопрос, какой язык изучает каждый из них, один ответил: "Вадим изучает китайский, Сергей не изучает китайский, а Михаил не изучает арабский".

Впоследствии выяснилось, что в этом ответе только одно утверждение верно, а два других ложны. Какой язык изучает каждый из молодых людей?

Решение. Имеется три утверждения:

  1. Вадим изучает китайский;
  2. Сергей не изучает китайский;
  3. Михаил не изучает арабский.

Если верно первое утверждение, то верно и второе, так как юноши изучают разные языки. Это противоречит условию задачи, поэтому первое утверждение ложно.

Если верно второе утверждение, то первое и третье должны быть ложны. При этом получается, что никто не изучает китайский. Это противоречит условию, поэтому второе утверждение тоже ложно.

Остается считать верным третье утверждение, а первое и второе – ложными. Следовательно, Вадим не изучает китайский, китайский изучает Сергей.

Ответ: Сергей изучает китайский язык, Михаил – японский, Вадим – арабский.

№1.2. Министры иностранных дел России, США и Китая обсудили за закрытыми дверями проекты соглашения о полном разоружении, представленные каждой из стран.

Отвечая затем на вопрос журналистов: "Чей именно проект был принят?", министры дали такие ответы:

Россия – "Проект не наш, проект не США";

США – "Проект не России, проект Китая";

Китай – "Проект не наш, проект России".

Один из них (самый откровенный) оба раза говорил правду; второй (самый скрытный) оба раза говорил неправду, третий (осторожный) один раз сказал правду, а другой раз – неправду.

Определите, представителями каких стран являются откровенный, скрытный и осторожный министры.

Решение. Для удобства записи пронумеруем высказывания дипломатов:

Россия – "Проект не наш" (1), "Проект не США" (2);

США – "Проект не России" (3), "Проект Китая" (4);

Китай – "Проект не наш" (5), "Проект России" (6).

Узнаем, кто из министров самый откровенный.

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

Если самый откровенный – министр США, то тогда вновь получаем, что победил китайский проект, значит оба утверждения российского министра тоже верны, чего не может быть по условию.

Получается, что наиболее откровенным был китайский министр. Действительно, из того, что (5) и (6) справедливы, следует, что победил российский проект. А тогда получается, что из двух утверждений российского министра первое ложно, а второе верно. Оба же утверждения министра США неверны.

Ответ: Откровеннее был китайский министр, осторожнее – российский, скрытнее – министр США.

II. Табличный способ решения

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

Примеры:

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

Известно, что:

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

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

Решение: Составим таблицу и отразим в ней условия задачи, заполнив соответствующие клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание.

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

Из условия 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   1 1 0 0
Смит 0 1 0 0 1 0
Вессон 1 0 0 0 0 1

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

№2.2. Три одноклассника – Влад, Тимур и Юра, встретились спустя 10 лет после окончания школы. Выяснилось, что один из них стал врачом, другой физиком, а третий юристом. Один полюбил туризм, другой бег, страсть третьего – регби.

Юра сказал, что на туризм ему не хватает времени, хотя его сестра – единственный врач в семье, заядлый турист. Врач сказал, что он разделяет увлечение коллеги.

Забавно, но у двоих из друзей в названиях их профессий и увлечений не встречается ни одна буква их имен.

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

Решение: Здесь исходные данные разбиваются на тройки (имя – профессия – увлечение).

Из слов Юры ясно, что он не увлекается туризмом и он не врач. Из слов врача следует, что он турист.

Имя Юра    
Профессия   врач  
Увлечение   туризм  

Буква "а", присутствующая в слове "врач", указывает на то, что Влад тоже не врач, следовательно врач – Тимур. В его имени есть буквы "т" и "р", встречающиеся в слове "туризм", следовательно второй из друзей, в названиях профессии и увлечения которого не встречается ни одна буква его имени – Юра. Юра не юрист и не регбист, так как в его имени содержатся буквы "ю" и "р". Следовательно, окончательно имеем:

Имя Юра Тимур Влад
Профессия физик врач юрист
Увлечение бег туризм регби

Ответ. Влад – юрист и регбист, Тимур – врач и турист, Юра – физик и бегун.

III. Способ решения средствами алгебры логики

Обычно используется следующая схема решения:

  • изучить условие задачи;
  • выделить простые высказывания и обозначить их буквами;
  • записать условие задачи на языке алгебры логики.
  • составить конечную формулу, для этого объединить логическим умножением формулы каждого утверждения, приравнять произведение к единице.
  • упростить формулу.
  • проанализировать полученный результат или составить таблицу истинности, найти по таблице значения переменных, для которых значение функции равно 1.
  • из полученных значений истинности формулы определяются значения истинности введённых логических высказываний, на основании которых делается заключение о решении.

Примеры.

№3.1. Трое друзей, болельщиков автогонок "Формула-1", спорили о результатах предстоящего этапа гонок.

– Вот увидишь, Шумахер не придет первым, – сказал Джон. Первым будет Хилл.

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

Питер, к которому обратился Ник, возмутился:

– Хиллу не видать первого места, а вот Алези пилотирует самую мощную машину.

По завершении этапа гонок оказалось, что каждое из двух предположений двоих друзей подтвердилось, а оба предположения третьего из друзей оказались неверны. Кто выиграл этап гонки?

Решение. Введем обозначения для логических высказываний: S– победит Шумахер; X – победит Хилл; А – победит Алези.

Реплика Ника "Алези пилотирует самую мощную машину" не содержит никакого утверждения о месте, которое займёт этот гонщик, поэтому в дальнейших рассуждениях не учитывается.

Зафиксируем высказывание каждого из друзей:

Джон:

Ник:

Питер:

Учитывая то, что предположения двух друзей подтвердились, а предположения третьего неверны, запишем и упростим истинное высказывание

Высказывание истинно только при S=1, A=0, X=0

Ответ: Победителем этапа гонок стал Шумахер

№3.2. Андрей, Аня и Маша решили пойти в кино. Каждый из них высказал свои пожелания по поводу выбора фильма.

Андрей сказал: “Я хочу посмотреть французский боевик”.

Маша сказала: “Я не хочу смотреть французскую комедию”.

Аня сказала: “Я хочу посмотреть американскую мелодраму”.

Каждый из них слукавил в одном из двух пожеланий. На какой фильм пошли ребята?

Решение:

1. Выделим простые высказывания и запишем их через переменные:

А - “Французский фильм”
В - “Боевик”
С - “Комедия”

2. Запишем логические функции (сложные высказывания). Учтем условие о том, что каждый из ребят оказался прав в одном предположении:

а) “Французский боевик” -

б) “Американскую мелодраму” -

в) “Не французская комедия” -

3. 3апишем произведение указанных функций:

4. Упростим формулу:

5. Приравняет результат к единице:

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

A B C
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0

Найдем по таблице значения переменных, для которых выражение = 1

А)

0 1 0 1

Б)

1 0 1 1

8. Проанализируем результат: результат Б) не является решением, т.к. в ответе Маши оба утверждения оказываются неверными, что противоречит условию задачи. Результат А) полностью удовлетворяет условию задачи и поэтому является верным решением.

Ответ: ребята выбрали американский боевик

Также прилагаются логические задачи в приложении 1.