Турбо-Пролог

Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 20:44, курсовая работа

Описание работы

Турбо-Пролог (Turbo Prolog) является языком искусственного интеллекта (ИИ). Разработан этот язык компанией Borland International и характеризуется высокой скоростью работы и низкой стоимостью, что делает Турбо-Пролог весьма популярным в широких кругах обладателей персональных компьютеров.

Содержание работы

Содержание 1
Глава 1. Описание языка Турбо-Пролог 2
1.1 Введение 2
1.2 Пакет системы Турбо-Пролог 5
1.2.1 Главное меню системы Турбо-Пролог 6
1.2.2 Запуск на счет программы, написанной на Турбо-Прологе 7
1.2.3 "Добро пожаловать в систему Турбо-Пролог!" 7
1.2.4 Сохранение программного файла 8
1.2.5 Просмотр каталога директории 8
1.2.6 Загрузка и редактирование программного файла 9
1.3 Заключение 10
Глава 2. Основные понятия языка Турбо-Пролог 11
2.1 Ведение 11
2.2 Декларативные и императивные языки 11
2.2.1 Логика предикатов 12
2.2.2 Пролог и логика предикатов 14
2.3 Управление программой 16
2.3.1 Цели программы 16
2.3.3 Результат доказательства цели 17
2.3.4 Связки и другие символы 17
2.3.5 Цели и подцели 18
2.4 Внутренние подпрограммы унификации Турбо-Пролога 18
2.4.1 Представление данных при помощи фактов и правил 19
2.4.2 Обработка правил и фактов во время унификации 19
2.4.3 Откат 22
2.5 Заключение 23
Глава 3. Основы программирования на Турбо-Прологе 24
3.1 Введение 24
3.2 Структура программ Турбо-Пролога 24
3.2.1 Описание доменов и предикатов 26
3.2.2 Правила образования имен в Турбо-Прологе 29
3.3 Предикаты и утверждения 29
3.3.1 Использование внешних и внутренних целей 30
3.3.2 Предикаты и утверждения разных арностей 33
3.3.3 Отрицание 33
3.4 Арифметика в Турбо-Прологе 35
3.5 Заключение 36
4. Примеры программ на языке Турбо-Пролог 37
5. Заключение 41
Список литературы 43

Файлы: 1 файл

KrsPR_02.doc

— 532.00 Кб (Скачать файл)

grandfather(X,Y):-father(X,Z2),father(Z2,Y);father(X,Z2),mother(Z2,Y).

grandmother(X,Y):-mother(X,Z2),father(Z2,Y);mother(X,Z2),mother(Z2,Y).

test(X,Y):-father(X,Z),wife(Z,Y).

tesha(X,Y):-mother(X,Z),wife(Z,Y).

/*****               конец программы          *****/

__________________________________________________________________

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Заключение

Язык программирования Пролог быстро завоевал популярность во всем мире. С момента его создания, приблизительно в 1970 году, большое число программистов выбрали Пролог для использования при решении задач в различных областях символьных вычислений, включающих:

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

 

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

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

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

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

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

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

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

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

Как и большинство  других языков программирования, Пролог существует в множестве различных  реализаций, каждая со своими семантическими и синтаксическими особенностями. Для описания в этой книге был выбран «базовый» Пролог и все приводимые примеры написаны для стандартной версии, идеально подходящей для обучения основным принципам языка. Турбо-Пролог идеально подходит для начала изучения декларативных, логических языков. Сегодня он актуален именно в этом плане. Проводя параллели, Турбо-Пролог имеет такое же значение среди декларативных языков, что и Турбо Паскаль среди императивных.

 

 

 

 

 

 

 

 

 

 

Список литературы

 

  1. Адаменко А., Кучуков А. Логическое программирование и Visual Prolog. – Санкт-Петербург: БХВ-Петербург, 2003. – 992с.
  2. Братко И. Программирование на языке Пролог для искусственного

интеллекта. - М.: Мир, 1990.- 560с.

  1. Доорс Дж., Рейблейн А. Р., Вадера С. Пролог — язык программирования будущего. – М.: Финансы и статистика, 1990. – 139с.
  2. Ин Ц., Соломон Д. Использование Турбо-Пролога. - М.: Мир, 1993. – 608с.
  3. Клоксин У., Меллиш К. Программирование на языке пролог. - М.: Мир, 1987. – 336с.
  4. Макаллистер Дж. Искусственный интеллект и Пролог на микроЭВМ. - М.: Машиностроение, 1990. - 240с.
  5. Малпас. Дж. Реляционный язык Пролог и его применение. – М.: Наука, 1990. – 464с.
  6. Николаев В.Г., Евсеева О.Н., Ярушкина Н.Г. Программирование на языке Турбо-Пролог 2.0. - Ульяновск: УлГТУ, 1995. - 64с.
  7. Скляров В.А. Программное и лингвистическое обеспечение персональных ЭВМ. Системы общего назначения: Справ. пособие.- Минск: Высшая школа 1992.- 462с.
  8. Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог - М.: Мир, 1990. – 305с.
  9. Стобо. Дж. Язык программирования Пролог. - М.: Радио и Связь, 1993, 368с.
  10. Терёхин В. В. Turbo Prolog: учебное пособие. – Новокузнецк, 2005. – 119с.
  11. Чери С, Готлоб Г., Танка Л. Логическое программирование и базы данных. - М.: Мир, 1992. – 352с.
  12. Янсон Я. Турбо-Пролог в сжатом изложении. - М.: Мир, 1991. – 98с.
  13. Pereira F. C. N., Shieber S. M. Prolog and Natural-Language Analysis. – Massachusetts, Microtome Publishing, 1987. – 210p.
  14. Spivey M. An introduction to logic programming through Prolog. - Prentice–Hall International, 1995. – 251p.



Информация о работе Турбо-Пролог