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