Научная статья на тему 'Диалоговое решение логических задач'

Диалоговое решение логических задач Текст научной статьи по специальности «Математика»

CC BY
328
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛОГИЧЕСКАЯ ЗАДАЧА / LOGICAL PROBLEM / ЛОГИЧЕСКАЯ ФОРМУЛА / LOGICAL FORMULAS / РЕЛЯЦИОННАЯ АЛГЕБРА / RELATIONAL ALGEBRA / РЕЛЯЦИОННАЯ ТАБЛИЦА / RELATIONAL TABLE / РЕЛЯЦИОННЫЙ ТЕРМ / РЕЛЯЦИОННЫЙ ЗАПРОС / RELATIONAL QUERY / RELATIONAL TERM

Аннотация научной статьи по математике, автор научной работы — Курганский Виктор Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Курганский Виктор Иванович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A relational method for logical problems solving and its basic properties are discussed. A solving of logical problems is reduced to the designing relational tables and queries, and the relational queries execution. Method provides oriented for human view of logical formulas and relational queries in the form of relational tables. The power of deductive method does not yield to the power of classical propositional calculus and predicate calculus.

Текст научной работы на тему «Диалоговое решение логических задач»

Курганский Виктор Иванович УДК 510.62:004.82

ДИАЛОГОВОЕ РЕШЕНИЕ ЛОГИЧЕСКИХ ЗАДАЧ

Аннотация

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

Ключевые слова: логическая задача, логическая формула, реляционная алгебра, реляционная таблица, реляционный терм, реляционный запрос.

Под логической задачей будем понимать такую задачу, которая, с одной стороны, может быть представлена в виде набора логических формул и решена методами логического вывода, а с другой стороны, в формулах должны использоваться обозначения объектов и свойств объектов реального мира. Одним из известных примеров таких задач является задача Эйнштейна. Условия и решения этой задачи опубликованы на множестве сайтов. Есть и серьезные публикации, посвященные решению этой задачи [1]. В настоящей работе представлен новый метод решения логических задач, более мощный и точный, по сравнению с алгоритмом и способом записи процесса решения из [1]. Метод демонстрируется на примере задачи Эйнштейна.

Отметим, что разновидностей логических формул и наборов правил манипулирования этими формулами (так называемых логик) довольно много. В данной работе имеется в виду логический аппарат, ветви которого в [2] названы классическим исчис-

© Курганский В.И., 2013

лением высказываний и классическим исчислением предикатов. Истоками этого аппарата является натуральный логический вывод Г. Генцена [3].

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

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

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

мулами - выполнением реляционных запросов. Представление логических формул таблицами впервые было применено в разработке Query-by-Example [4]. Тезис о том, что выполнение реляционного запроса есть акт логического вывода, явно сформулирован в работе [5]. В целом же эта работа посвящена исследованию выразительной мощности ряда логик в сравнении с языком реляционных запросов SQL. Элементы табличного представления логических формул используются в новом аппарате решения прикладных логических задач - алгебре кортежей [6].

Реляционный метод ниже представлен неформально. Некоторые его методологические аспекты обсуждались на конференциях [7, 8]. Математическое обоснование метода обсуждалось на конференции [9] и опубликовано в [10].

Ниже в п. 1 разбирается реляционное решение задачи Эйнштейна. При этом используются некоторые термины реляционной модели данных, дополнительно вводится «логическая» терминология.

В п. 2 обсуждается собственно реляционный метод решения логических задач.

1. РЕЛЯЦИОННОЕ РЕШЕНИЕ ЗАДАЧИ ЭЙНШТЕЙНА

Как и в [1], начнем с условия задачи. Впервые некий аналог этого условия был опубликован в 1962 г. в [11].

1. Есть 5 домов, все разного цвета.

2. В каждом доме живет по одному человеку отличной друг от друга национальности.

3. Каждый жилец пьет только один определенный напиток, курит определенную марку сигарет и держит определенное животное.

4. Никто из 5 человек не пьет одинаковых с другими напитков, не курит одинаковых сигарет и не держит одинаковых животных.

Вопрос: кому принадлежит рыба?

Подсказки:

1. Англичанин живет в красном доме.

2. Швед держит собаку.

3. Датчанин пьет чай.

4. Зеленый дом стоит слева от белого.

5. Жилец зеленого дома пьет кофе.

6. Человек, который курит Pall Mall, держит птицу.

7. Жилец из среднего дома пьет молоко.

8. Жилец из желтого дома курит Dunhill.

9. Норвежец живет в первом доме.

10. Курильщик Marlboro живет около того, кто держит кошку.

11. Человек, который содержит лошадь, живет около того, кто курит Dunhill.

12. Курильщик сигарет Winfield пьет пиво.

13. Норвежец живет около голубого дома.

14. Немец курит Rothmans.

15. Курильщик Marlboro живет по соседству с человеком, который пьет воду.

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

Вначале по условиям задачи создадим 6 реляционных таблиц (рис. 1). Содержимое таблиц - возможные значения переменных (номера домов, национальности, напитки и пр.).

Далее докажем вспомогательное утверждение (лемму) о том, что существуют отдельные дома, удовлетворяющие всем условиям задачи.

Для этого запишем подсказки из словесной формулировки задачи в виде логических формул. Отметим, что подсказка № 4 применительно к одному дому имеет смысл только для домов с номерами 1 и 5. Подсказки 10, 11 и 13 для записи и доказательства вспомогательного утверждения переформулируем так, чтобы они имели отношение только к одному дому. Например, подсказка 10 в этом случае будет выглядеть так: в доме, где курят Marlboro, кошку не держат. Пред-

1 Экспериментальный образец программного обеспечения реляционного метода решения логических задач разработан студентом Института математики, экономики и информатики Иркутского государственного университета Кочетковым И.М.

Рис. 1. Исходные данные и результат решения задачи в виде реляционных таблиц

ставление этой подсказки в виде логической формулы приведено на рис. 2.

Обозначим конъюнкцию всех 15 формул идентификатором ФТОД. Построим реляционный терм (выражение реляционной алгебры). Визуальное представление этого терма приведено на рис. 3.

Конструктивно этот реляционный терм представляет собой SQL-запрос. SQL-запрос

формируется автоматически из визуального представления реляционного терма. Его назначение - построить декартово произведение первых 6 реляционных таблиц (рис. 1) и выбрать из него только те записи, которые удовлетворяют логической формуле ФТОД.

Выполним реляционный терм (SQL-запрос) и получим таблицу, где перечислены 88 домов, характеристики которых удовлетво-

Рис. 2. Визуальное представление подсказки № 10 в разрезе одного дома

Рис. 3. Визуальное представление требований к отдельным домам в виде реляционного терма

(выражения реляционной алгебры)

ряют всем условиям задачи. Используя полученную таблицу в качестве аргумента двух других реляционных термов, точно так же найдем допустимые тройки домов с номерами 1, 2 и 3, а также 3, 4 и 5. В первом случае таких троек домов окажется 15, а во втором - 45. Далее из двух таблиц о допусти-

мых тройках домов построим таблицу, каждая запись которой содержит данные о допустимом ряде из 5 домов, удовлетворяющем условиям задачи (рис. 4). Таких рядов оказалось 7.

Наконец, создадим и выполним еще один реляционный терм, который позволяет по-

Рис. 4. Визуальное представление таблицы о допустимых 7 рядах из 5 домов

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

Задача решена. Решение оказалось несколько неожиданным. Рыба может принадлежать не только немцу (см., например [1]), но и датчанину или норвежцу.

Приведенное решение задачи потребовало определенных усилий. На уяснение условий задачи и их запись в виде формул и реляционных термов ушло около 2 часов. Эти временные затраты сравнимы со временем формирования базы знаний для решения задачи средствами системы программирования ПРОЛОГ. Вычислительные затраты на исполнение реляционных термов ничтожны и не превысили 2-х минут. Новое качество реляционного решения задачи очевидно.

Рассмотрим некоторые методические аспекты решения логических задач реляционными средствами. Исходные данные для решения задачи должны быть представлены одной или несколькими реляционными таблицами. Реляционная таблица характеризует множество однотипных предметов или объектов. Характеристика предмета (объекта) осуществляется значениями его свойств, выделенных для решения логической задачи.

В рассмотренном выше примере простейшие таблицы задавали множества возможных номеров домов, национальностей их жильцов и т. п.

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

По сути, реляционные термы являются

особой формой записи логических формул. Эта форма записи в большей мере ориентирована на восприятие человеком, по сравнению с традиционным текстовым представлением логических формул. Причина очень проста. Реляционный терм является предписанием составить новую таблицу из существующих таблиц. Новая таблица создается выполнением определенных теоретико-множественных операций с исходными таблицами. Так, таблица об отдельных домах - это декартово произведения 6 таблиц исходных данных. При вычислении ответа на вопрос «Чья рыба?» из таблицы о допустимых рядах из 5 домов были выделены 5 таблиц с данными о национальностях жильцов каждого из домов. Затем эти 5 таблиц были объединены в одну таблицу.

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

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

2. РЕЛЯЦИОННЫЙ МЕТОД РЕШЕНИЯ ЛОГИЧЕСКИХ ЗАДАЧ

Одно из основных положений реляционного метода решения логических задач зак-

лючается в применении реляционной алгебры. Эта алгебра быша разработана Э. Кодцом в начале 70-х годов прошлого столетия и составляет основу реляционной модели данных [12, 13]. Язык реляционной алгебры трансформировался к настоящему времени в язык запросов SQL.

При решении логических задач выражения реляционной алгебры транслируются в последовательности SQL-запросов (транзакции). Исполнение транзакций составляет важный элемент реляционного решения логических задач. С целью более полного использования современных возможностей SQL реляционная алгебра Э.Кодда немного модифицирована [10].

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

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

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

НЦ='ДА ТЧАНИН v НЦ='НЕМЕЦ v НЦ='НОРВЕЖЕЦ.

Ниже представление реляционной таблицы T в виде логической формулы будем обозначать H(T).

Утверждение о том, что всякое выражение реляционной алгебры Q может быть сведено к логической формуле H(Q), было доказано Э. Коддом [12, 13]. Связь выражения Q и формулы H(Q) заключается в том, что область истинности формулы H(Q) совпадает с реляционной таблицей T, вычисленной выражением Q. Таким образом, выполняя ре-

1 Из формулы H(Q) выводима формула H( T).

ляционный терм Q, мы доказываем теорему Я(0 ® Н(Т)1.

Отметим еще несколько особенностей и свойств реляционного метода. Из разобранного решения логической задачи Эйнштейна может показаться, что реляционные термы, имевшие в нем место, «взяты с потолка». Это не так. Например, логическая формула, связанная с реляционным термом, выполнение которого позволило получить таблицу об отдельных домах, удовлетворяющих условиям задачи, может быть выведена из формул, соответствующих таблицам исходных данных и подсказкам задачи. Этот вывод осуществляется многократным применением правила вывода «включение и» классического исчисления высказываний [2].

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

Реляционный метод предполагает решение логической задачи на системе примеров реляционных таблиц. Этим он похож на хорошо известный аппарат диаграмм Венна [14] Диаграммы Венна обладают тем свойством, что теоретико-множественное соотношение, доказанное на одной системе примеров множеств, при определенных условиях будет справедливо для любой другой системы примеров рассматриваемых множеств. Эти условия установлены в теореме Венна [15, 16].

В рамках реляционного метода аналогом множеств являются реляционные таблицы, рассматриваемые как множества их строк. Доказываемое методом Венна соотношение в рамках реляционного метода представляет собой утверждение о том, что формула Н(^0) выводима из формул Н^), ..., Н(дп), где Qo, ..., Qn - реляцион-

ные термы (И«,), ..., И(<п) ® И«,)). Это утверждение имеет ориентированное на человека представление в виде диалоговой формы об определенной связи между п реляционными таблицами, вычисленными выполнением реляционных термов 20, ..., <<п.

Реляционная реализация критерия справедливости теоретико-множественного соотношения, соответствующего утверждению (И(<), ..., И(<п) ® Н(<)), на любой системе примеров позволяет использовать при конструировании этого утверждения в 2-3 раза больше базовых множеств, по сравнению с геометрической реализацией диаграмм Венна1.

ЗАКЛЮЧЕНИЕ

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

Экспериментальный образец программного обеспечения метода предполагает решение логических задач в локальной вычислительной среде с использованием локаль-

ной СУБД MS JET. Разработаны проекты реализации реляционного метода в Web-среде и в средах программных приложений. При решении логических задач возможно использование данных из внешних реляционных баз данных, эксплуатируемых под управлением различных СУБД.

При тестировании метода и экспериментального образца программного обеспечения были решены около 10 довольно сложных и популярных логических задач. В их числе:

• Задача Р. Смаллиана об узнике, принцессах и тиграх в варианте логического лабиринта [17: с. 27-28].

• Логическая задача Эйнштейна.

• Задача о девицах П.С. Порецкого [18, 16].

• Задача расстановки 8 ферзей на 64-клеточной доске (например [19]).

• Антитрестовская задача [6].

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

Литература

1. Коточигов A.M. От Эйнштейна к Шерлоку Холмсу // Компьютерные инструменты в образовании, 2003. № 6. С. 84-88.

2. ЕршовЮ.Л., ПалютинЛ.А. Математическая логика. 2-е изд., испр. и доп. М.: Наука, 1987.

3. Генцен Г. Непротиворечивость чистой теории чисел // Математическая теория логического вывода. М.: Наука, 1967. С. 77-153.

4. Злуф M.M. Query-by-Example: язык баз данных // СУБД. 1996. № 3. С. 149-160.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5. Тайцлин M.A. Сравнение выразительной силы для некоторых языков запросов для баз данных. // Труды математического института им. В.А.Стеклова. 2011. Т. 274. С. 297-313.

6. Кулик Б.А., Зуенко A.A., Фридман А.Я. Алгебраический подход к интеллектуальной обработке данных и знаний. СПб.: Издательство Политехнического университета, 2010

7. Бычков И.В., Курганский В.И. О реляционном решении прикладных логических задач // Вине-ровские чтения / Труды IV Всероссийской конференции. Часть 1.Иркутск: 2011. С. 54-62.

8. БычковИ.В., КурганскийВ.И., КочетковИ.М., ПарамоновВ.В. О реляционном решении задачи расстановки 8 ферзей // Ляпуновские чтения. 28-30 ноября 2011 г. Материалы конференции. Иркутск: РИО ИДСТУ СО РАН. 2011. С. 10.

1 Диаграммы Венна обычно строят с применением 2-4 множеств. Дж.Венн умел строить диаграммы, применяя до 7 множеств.

9. Курганский В.И. Дедуктивные свойства реляционной модели данных // Тезисы докладов международной конференции «Мальцевские чтения» (12-16 ноября 2012). С. 31.

10. Курганский В.И. Реляционная модель данных как основа для решения логических задач // Современная наука: актуальные проблемы теории и практики. Серия «Естественные и технические науки». 2012. № 12. С. 12-20.

11. Life International, December 17, 1962, P. 95.

12. CoddE.F. Relational completeness of data base sublanguages. IBM Research Laboratory, San Jose, California. КО 987 (#170041), March 6, 1972, Computer Sciences.

13. Кузин Л. Т. Основы кибернетики. Т. 1. Математические основы кибернетики: Учеб. Пособие для ВУЗов. - 2-е изд.; перераб. и. доп. М.: Энергоатомиздат, 1994.

14. Кузичев А. С. Диаграммы Венна. История и применения. М.: Наука, 1968.

15. Venn J. Symbolic Logic. London: Macmillan And Co., 1881.

16. Непейвода H.H. Прикладная логика. 2-е изд., испр. и доп. Новосибирск: изд-во Новосиб. унта, 2000.

17. Смаллиан Р. Принцесса или тигр?. М.: Мир, 1985.

18. Порецкий П. С. О способах решения логических равенств и обратном способе математической логики // Собрание протоколов заседаний секции физико-математических наук общества естествоиспытателей при Казанском университете, т. 2, Каз., 1884.

19. Братко И. Программирование на языке Пролог для искусственного интеллекта. М.: Мир, 1990.

DIALOG LOGICAL PROBLEMS SOLVING

Abstract

A relational method for logical problems solving and its basic properties are discussed. A solving of logical problems is reduced to the designing relational tables and queries, and the relational queries execution. Method provides oriented for human view of logical formulas and relational queries in the form of relational tables. The power of deductive method does not yield to the power of classical propositional calculus and predicate calculus..

Keywords: logical problem, logical formulas, relational algebra, relational table, relational term, relational query.

Курганский Виктор Иванович, кандидат физико-математических наук, доцент кафедры Информационных систем Института математики, экономики и информатики Иркутского государственного университета,

V.Kurgansky@mail.ru

© Наши авторы, 2013. Our authors, 2013.

i Надоели баннеры? Вы всегда можете отключить рекламу.