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

Объекты двух классов могут находиться в отношении взаимно однозначного соответствия. Это значит, что:
  1. В этих классах одинаковое количество объектов;
  2. Каждый объект первого класса связан заданным свойством только с одним объектом второго класса.
В соответствующей таблице типа ООО в каждой строке и каждой графе будет находиться только одна 1, фиксирующая наличие связи между объектами. Это свойство можно использовать при решении логических задач.

Пример

Однажды в Артеке за круглым столом оказалось пятеро ребят родом из Москвы, Санкт-Петербурга, Новгорода, Перми и Томска: Юра, Толя, Алёша, Коля и Витя. Москвич сидел между Томичем и Витей, петербуржец — между Юрой и Толей, а напротив него сидели пермяк и Алёша. Коля никогда не был в Санкт-Петербурге, а Юра не бывал в Москве и Томске, а Томич с Толей регулярно переписываются. Нужно определить, в каком городе живет каждый из ребят.
 
Анализ этого текста позволяет выделить два класса объектов: «мальчик» и «город». Нужно установить взаимно однозначное соответствие (выявить пары) между объектами этих классов. Наличие свойства у пары объектов «мальчик живет в городе» будем обозначать 1, а его отсутствие — 0.
Отметим в таблице свойства пар, следующие из условия задачи:
Мальчик Город
Город
Город
Город
Город

Москва
Санкт-Петербург
Новгород
Пермь
Томск
 Юра  0 0

0
0
Толя

0

0
0
Алёша

0

0

Коля

0



Витя
0



0


После этого остается проследить, чтобы в каждой строке и каждой графе обязательно была одна и только одна 1:

Мальчик Город
Город Город Город Город
  Москва Санкт-Петербург Новгород Пермь Томск
 Юра 0 0 1 0 0
Толя 1 0 0 0 0
Алёша 0
0  0 0 1
Коля 0 0 0 1 0
Витя 0 1 0 0 0

 

Таким образом, Юра живет в Новгороде, Толя — в Москве, Алеша — в Томске, Коля — в Перми, Витя — в Санкт-Петербурге.