- •Лабораторные работы по курсу «Системы искусственного интеллекта»
- •1. Введение.
- •2. Структура программы на языке Turbo-Prolog.
- •Раздел Database
- •Раздел Predicates
- •Раздел Clauses
- •Раздел Goal
- •Комментарии
- •3. Стандартные типы данных
- •4. Запуск системы
- •5. Окна системы
- •6. Работа с файлами
- •7. Другие возможности оболочки
- •8. Настройка оболочки
- •Лабораторная работа №1 “Знакомство с Turbo Prolog”
- •Лабораторная работа №2 “Установление родственных связей”
- •Лабораторная работа №3 “Организация циклов”
- •Индивидуальные варианты :
- •Лабораторная работа №4 “Работа с текстами”
- •Индивидуальные варианты :
- •Лабораторная работа №5 “Работа со списками”
- •Индивидуальные варианты :
- •Лабораторная работа №6 “Создание базы данных”
- •Индивидуальные варианты :
- •Лабораторная работа №7 “Организация экспертной системы”
- •Индивидуальные варианты :
Лабораторные работы по курсу «Системы искусственного интеллекта»
Группы МП-40,45,48
Искусственный интеллект (ИИ) – это одно из направлений информатики, целью которого является создание программно-аппаратных комплексов, позволяющих решать задачи традиционно относящиеся к разряду интеллектуальных.
1. Введение.
Лабораторные работы по СИИ предназначены для более глубокого понимания студентами методов логического программирования, позволяющих в реальные сроки создавать действующие прототипы одной из вариаций СИИ -- экспертных систем (ЭС). В качестве инструментального средства для выполнения всех семи лабораторных работ используется среда логического программирования Turbo-Prolog (версии 1.1 или 2.0). Эта система за короткое время получила широкое распространение и приобрела многочисленных сторонников. Разнообразные диалоговые и сервисные возможности выделяют ее среди других Prolog-систем.
2. Структура программы на языке Turbo-Prolog.
Программа на Turbo-Prolog имеет несколько блоков:
Инструкции компилятору -- определяющий особые режимы трансляции и последующей работы программы;
Constants -- описание констант;
Domains -- описание типов данных вводимых самим пользователем;
Database-- описание предикатов внутренней базы данных;
Predicates -- описание предикатов используемых в программе помимо стандартных;
Clauses -- описание фактов и правил;
Goal-- перечень целевых предикатов, истинность которых доказывает программа.
Содержимое разделов инструкций компилятору, Constants,Domains,DatabaseиGoalможет отсутствовать. В программе на языке Turbo-Prolog могут также присутствовать еще два раздела, обеспечивающие определение глобальных доменов и предикатов:
global domains;
global predicates.
Определение типов данных и предикатов в этих разделах позволяет обеспечить межмодульный интерфейс.
Раздел Database
В разделе Databaseописываются предикаты внутренней (встроенной) базы данных языка Turbo-Prolog, которые могут быть реализованы только в виде фактов.
Раздел Predicates
В разделе Predicatesопределяются предикаты (отношения) -- основные элементы программы. Каждый предикат определяется своим именем и аргументами (параметрами). Если типы некоторых аргументов отличаются от стандартных, то они должны быть описаны заранее в разделеDomains.
Раздел Clauses
В разделе Clauses определяются реализации предикатов, то есть факты и правила. Факт представляется именем предиката, за которым следуют аргументы, заключенные в круглые скобки. Заканчивается запись факта точкой. Все имена предикатов должны начинаться со строчной буквы.
Правило состоит из заголовка и тела. Заголовок представляет собой предикат, тело состоит из термов, которые могут быть связаны между собой словами or или and (в транскрипции Turbo Prolog’а “;” и “,”). Между заголовком и телом стоит знак “:-”, означающий “если”. Каждое правило должно заканчиваться точкой. Имена переменных должны начинаться с прописной буквы и могут содержать буквы, цифры и знак подчеркивания “_”. Максимальная длина имени -- 250 знаков.
Раздел Goal
Раздел Goalможет находиться как перед, так и после разделаClauses, в нем определяется цель, которую необходимо достичь для решения поставленной задачи. Цель может состоять из нескольких подцелей. Если разрабатываемая программа предназначена для работы в пакетном режиме, то есть если необходимо создать exe -- файл, раздел goal не может быть опущен.