P 2 love (x, y) : «x любит y»,
где x и y пробегают значения Джон, Мери. Построенные конструкции позволяют ввести раздел предикатов в программе на языке Turbo - Prolog для исследования отношений Джона и Мери:
predicates
love (symbol, symbol) (5),
высказывания (1) - (4) запишутся в виде раздела клауз:
clauses
love (john, john).
love (john, mery).
love (mery, mery).
love (mery, john).
Здесь предполагается, что все высказывания (1) - (4) принимают значение истина. Цель вычислений состоит в определении значений переменной Person, которая запоминает любящих Джона символических переменных и печатает их:
goal
love (Person, john),
write (" n", Person).
Машина выдаст в окне ответов первое найденное ею решение john. Если строку (5) переписать в виде
love (symbol, symbol) - nondeterm (o, i)
и прейти к транслятору и языку Visual Prolog, то получим два решения. Однако Turbo- Prolog гораздо легче осваивается начинающими, чем Visual. Если первый пример решается преподавателем с использованием стационарной или портативной ЭВМ, то при решении следующего примера нужно максимально использовать инициативу обучающихся. Нужно построить программу, как и в предыдущем случае из трёх разделов (предикатов, клауз и цели), которая из простейших высказываний: "Эрику нравится плавание ", "Эрику нравится чтение", "Джону нравятся компьютеры", ..., и т.д. (высказывания на английском языке и без больших букв), которая находит значение переменной Person такое, что ей будут нравиться чтение и плавание (очевидно, этим значением будет eric) Предикатом в этой программе будет
likes (symbol, symbol)
т.е. представляет собой высказывание P (x, y): " x нравится y", где x и y - переменные первого и второго сорта (первый сорт - это имена людей, а второй сорт - это нравящиеся им хобби). Таким образом имеем двусортный язык логики предикатов [2], а P(x, y) - атомная (элементарная) формула этого языка. Применительно к языку Пролог, рассматриваемому на начальной стадии обучения, под предикатом проще всего понимать высказывание, зависящее от переменных, а в качестве имени предиката брать глагол. После проработки второго примера для слушателей знакомых с математическим анализом следует раздать индивидуальные задания по моделированию на языке Пролог примеров на дифференцирование и интегрирование [3]. Если слушатели с математическим анализом не знакомы, то можно продолжить изучение отношений, аналогичных изучавшихся в первых двух примерах в соответствии с [4].
СПИСОК ЛИТЕРАТУРЫ
- Мендельсон Э. Введение в математическую логику. М: "Наука", с. 319, 1984.
- Колмогоров А.Н., Драгалин А.Г. Введение в математическую логику. М.: "Наука", c.118, 1982.
- Тарушкин В.Т., Тарушкин П.В., Тарушкина Л.Т. Экспериментальные обучающие системы для аналитического дифференцирования и интегрирования. Современные проблемы науки и образования, N 4, стр. 116 - 117, M.: "Акад. Естеств.", 2009.
- Адаменко А., Кучуков А. Логическое программирование и Visual Prolog. СПб.: "БХВ-Петербург", 990 c., 2003.
Библиографическая ссылка
Тарушкин В.Т., Тарушкин П.В., Тарушкина Л.Т., Юрков А.В. ЛОГИКА ПРЕДИКАТОВ И ЯЗЫК ПРОЛОГ // Современные наукоемкие технологии. – 2010. – № 4. – С. 62-63;URL: https://top-technologies.ru/ru/article/view?id=24642 (дата обращения: 21.11.2024).