Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание / LAB_SIIN.DOC
Скачиваний:
57
Добавлен:
17.04.2013
Размер:
56.83 Кб
Скачать

Лабораторные работы по курсу “Системы искусственного интеллекта”

1. Введение.

Система программирования Turbo-Prolog за короткое время получила широкое распространение и приобрела многочисленных сторонников. Разнообразные диалоговые и сервисные возможности выделяют ее среди других Prolog-систем.

2. Структура программы.

Обычно программа на Turbo-Prolog имеет следующую структуру :

constants — определение констант

domains — определение типов данных

predicates — определение предикатов

clauses — определение фактов и правил

Содержимое разделов constants и domains может отсутствовать, но для улучшения читабельности и ясности программы рекомендуется всегда описывать константы и домены в тексте.

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

В программе могут присутствовать еще два раздела, обеспечивающие определение глобальных доменов и предикатов

global domains

global predicates

Определение типов данных и предикатов в этих разделах позволяет обеспечить межмодульный интерфейс.

Наконец, перед разделом predicates может быть дополнительный раздел , содержащий определение предикатов динамической базы данных. Этот раздел называется

database

Таким образом, программа на Turbo-Prolog может состоять из следующих разделов :

constants

domains

global domains

database

predicates

global predicates

clauses

goal

Раздел predicates

В этом разделе определяются предикаты (отношения). Каждый предикат определяется со своим именем и аргументами (параметрами). Если типы данных некоторых аргументов предопределены, то они должны быть описаны заранее в разделе domains.

Раздел clauses

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

Правило состоит из заголовка и тела. Заголовок представляет собой предикат, тело состоит из термов, которые могут быть связаны между собой словами or или and (в транскрипции Turbo Prolog’а “;” и “,”). Между заголовком и телом стоит знак “:-”, означающий “если”. Каждое правило должно заканчиваться точкой. Имена переменных должны начинаться с прописной буквы и могут содержать буквы, цифры и знак подчеркивания “_”. Максимальная длина имени — 250 знаков.

Особую роль играют несвязанные переменные, Они представляются знаком “_”.

Комментарии

Комментарии могут располагаться в произвольных местах программы. Они начинаются с символов “/*” и заканчиваются символами “*/”.

Запуск системы

Система запускается файлом Prolog.exe. Появляется сообщение об инициализации системы, исчезающее при нажатии любой клавиши. Затем появляется главное меню со стандартным для Turbo-сред набором опций и четыре рабочих окна : редактирования, диалога, сообщений и трассировки. Ниже выводятся значения функциональных клавиш.

3. Типы данных

Symbol — последовательность букв, цифр и знаков подчеркивания, начинающаяся со строчной буквы или заключенная в кавычки.

String — любая последовательность символов, заключенная в кавычки.

Char — отдельный символ, заключенный в апострофы.

Integer — целое число в диапазоне от -32768 до 32767.

Real — любое число, которое может быть представлено в экспоненциальной форме.

File — имя файла

Примеры :

symbol — person, a1, b2, auto_nummer, ‘Prolog’;

string — “хорошая погода”, “123 / 234”, “Кочан”;

“char — ‘f’, ‘5’, ‘!’, ‘*’;

integer — 4, 24, -975;

real — 34, 0.245, -234.22;

file — Peter, balista, new4.

Данные типа symbol в отличие от данных типа string находятся в таблице символов. А таблица символов располагается в оперативной памяти. Поэтому использование данных типа symbol ускоряет работу программы, однако вначале, для построение таблицы символов, требуется дополнительное время.

Лабораторные задания

Лабораторная работа №1 “Знакомство с Turbo Prolog”

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

1 этап

Программа выдает на экран приветствие типа : «Вас приветствует ПРОЛОГ»

2 этап

Программа запрашивает имя пользователя, осуществляет его ввод с клавиатуры и последующую выдачу сообщения, например : «Вася – Вас приветствует ПРОЛОГ».

Использовать предикаты writeиreadln, сделать вариант сGOALи без нее.

Лабораторная работа №2 “Установление родственных связей”

Создать программу,описывающую родственные взаимоотношения группы людей изображенной на рис.1

Памела Том Джейн

Линда Боб Лиз Билл

Нил Пат Эмми Рэд

Джин Энн

рис.1 Схема родственных отношений.

При разработке программы использовать предикаты типа:

  • родитель;

  • мужчина;

  • женщина.

Построить предикаты — сестра, предок, потомок, отец, мать и один по индивидуальному заданию.

Соседние файлы в папке Задание