12419

Интеллектуальные информационные системы

Книга

Физика

Методические указания к лабораторным работам и семинарским занятиям по дисциплине Интеллектуальные информационные системы Содержание Методические указания к лабораторным работам 3 Лабораторная работа №1. Семантические сети 4 Последовательность в...

Русский

2013-04-27

339.5 KB

223 чел.

Методические указания к лабораторным работам и семинарским занятиям по дисциплине «Интеллектуальные информационные системы»


Содержание

Методические указания к лабораторным работам     3

Лабораторная работа №1. Семантические сети     4

 Последовательность выполнения работы №1    4

 Варианты лабораторной работы №1     4

Лабораторная работа №2. Продукционная модель представления знаний 6

Последовательность выполнения работы №2    6

 Варианты лабораторной работы №2     6

Лабораторная работа № 3. Фреймовая модель представления знаний  10

Последовательность выполнения работы№3    10

 Варианты лабораторной работы №3     10

Лабораторная работа № 4. Модель, основанная на нечеткой логике  11

Последовательность выполнения работы №4    11

 Варианты лабораторной работы №4     11

Лабораторная работа № 5. Построение базы знаний экспертной системы 12

Последовательность выполнения работы №5    12

 Варианты лабораторной работы №5     12

Лабораторная работа № 6. Разработка специальных моделей представления знаний для БЗ и БД и правил для машины вывода      13

Порядок работ и их виды        13

Выделение основных сущностей предметной области    13

Выявление связей между сущностями      13

Классификация отношений        14

Разбиение задачи на подзадачи       14

Порядок оформления лабораторных работ № 6, 7    15

Последовательность выполнения работы №6    15

Варианты лабораторной работы №6     15

Пояснения к лабораторной работе №6     17

Лабораторная работа №7. Разработка БЗ и БД для Пролог – программ решения прикладных задач         22

Варианты лабораторной работы №7     23

Пояснения к лабораторной работе №7     27

Методические указания к семинарским занятиям     28

Приложение 1. Структура отчета по лабораторной работе    30

Приложение 2. Форма титульного листа к лабораторной работе   31

Приложение 3. Пример оформления содержания     32

Приложение 4. Пример оформления списка литературы    32


Методические указания к лабораторным работам

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

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

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

Методические указания содержат методические рекомендации по выполнению 7 лабораторных работ различной сложности.

Лабораторные работы №1-4 предназначены для получения практических навыков построения базы знаний интеллектуальной информационной системы для предложенной предметной области. Лабораторная работа №5 предполагает выбор студентом предметной области. Лабораторные работы №6 и №7 посвящены языкам логического программирования. Для каждой лабораторной работы указаны необходимый теоретический материал, ее цель, последовательность выполнения, предоставляемая студентом отчетность. Там, где это необходимо, приведены примеры и описана пошаговая последовательность действий.

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

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


Лабораторная работа №1. Семантические сети

Цель работы: получение знаний, умений и навыков по созданию базы знаний, представляющей собой семантическую сеть.

Последовательность выполнения работы №1

  1.  Изучите раздел «Семантические сети» теоретического материала (Глава 1, с.18-20).
  2.  Выберите вариант лабораторной работы.
  3.  Ответьте на контрольные вопросы.
    1.  Что такое семантическая сеть?
    2.  Какие отношения обычно используются в семантических сетях?
    3.  Что такое бинарная семантическая сеть?
    4.  Какими достоинствами и недостатками обладает семантическая сеть?
  4.  Напишите отчет к лабораторной работе (приложение 1).

Варианты лабораторной работы №1

Вариант 1

Компания, в которой Вы работаете, получила задание на разработку справочной системы по журналам издательства «Издательство Мечты». Данная компания выпускает различные по целевой аудитории, ценовой категории и объему страниц журналы.

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

Таблица 1

Название журнала

Основная целевая

аудитория

Стоимость одного номера, руб.

Объем страниц журнала

Какая информация представлена в журнале

Возможна ли подписка на журнал

Тюниг автомобилей

Мужчины

140

170

Современные технологии тюнинга автомобилей

нет

Мода

Женщины

90

90

Новейшие тенденции моды

да

Компьютерные и видео игры

Мужчины и женщины

65

60

Все о компьютерных и видео играх

нет

Рукоделие

Женщины

45

50

Эксклюзивные вещи своими руками

да

Фотография

Мужчины и женщины

100

95

Основы и секреты фотографии

да

Кино и музыка

Мужчины и женщины

30

30

Только актуальная информация и кино и музыке

нет

В построенной семантической сети определить:

  1.  Какой журнал предоставляет информацию о современных технологии тюнинга автомобилей?
  2.  Какие журналы предназначены для мужчин?
  3.  Какие журналы стоят 100 рублей?
  4.  На какие журналы можно оформить подписку?

Вариант 2

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

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

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

  1.  Наименование задания.
  2.  Сроки его выполнения.
  3.  Этапы выполнения задания и их очередность.

Для каждого этапа описывается:

  1.  Отдел, выполняющий этап.
  2.  Ответственное лицо, обычно – руководитель отдела или подразделения.
  3.  Сроки начала и окончания этапа.

Предприятие, для которого строится система – ООО «Созвездие»:

Директор: Иванов И.И.

Отдел разработки, нач. отдела – Перов П.П.

В составе отдела разработки:

Бюро постановки задач, нач. бюро – Сидоров С.С.

Бюро программирования, нач. бюро – Брайан Керниган

Бюро сопровождения, нач. бюро – Билл Гейтс

Отдел маркетинга, нач. отдела – Тошико Ямада

Задания в работе:

  1.  Разработка текстового редактора «Созвездие», этапы – постановка задачи, программирование, продвижение на рынок,  поддержка.
  2.  Разработка Интернет - браузера «Созвездие», этапы – постановка задачи, программирование, продвижение на рынок,  поддержка.

В построенной семантической сети определить:

  1.  Кто является начальником отдела маркетинга?
  2.  Какие задания выполняет ООО «Созвездие»?
  3.  Чем занимается Иванов И.И.?
  4.  Какие сроки выполнения заданы для разработки Интернет - браузера?

Лабораторная работа №2. Продукционная модель представления знаний

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

Последовательность выполнения работы №2

  1.  Изучите раздел «Продукционная модель представления знаний» теоретического материала (Глава 1, с.16-18).
  2.  Изучите задание к лабораторной работе.
  3.  Ответьте на контрольные вопросы.
    1.  Как представлены знания в продукционной модели представления знаний?
    2.  Что такое консеквент?
    3.  Какие части имеет продукционная система?
    4.  Для чего нужна рабочая память?
    5.  Какими достоинствами и недостатками обладает продукционная модель представления знаний?
  4.  Напишите отчет к лабораторной работе (приложение 1).

Варианты лабораторной работы №2

Вариант 1

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

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

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

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

Мало кто так же способен внятно сказать, нужны ли ему художественные режимы (если он не занимается фотографией профессионально). Это лучше всего выяснить, спросив, например, что такое глубина резкости (предложите клиенту несколько вариантов на выбор, правильный ответ – диапазон расстояний, в котором все объекты выходят резкими).

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

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

topic camera.

set_number_of_values (camera,1).

Пример правила со служебным синтаксисом  приведен ниже. В данном правиле класс пользователя - новичок, сменная оптика не нужна, художественные режимы отсутствуют, и низкая цена, этим характеристикам отвечает камера Riva Zoom 100. Этому правилу соответствует первая строка таблицы 2.

if ?class is new and ?opt is no and ?hud_res is no and ?price is low

then camera is 'Riva Zoom 100'.

Таблица 2

Класс

Сменная оптика

Художественные режимы

Цена

Камера

Новичок

нет

нет

Небольшая

Riva Zoom100

Новичок

нет

нет

Средняя

Riva Zoom500

Новичок

нет

нет

Высокая

Riva Zoom550

Новичок

есть

нет

Небольшая

Dynax 404si

Новичок

есть

нет

Средняя

Dynax 406si

Новичок

есть

нет

Высокая

Dynax 408si

Новичок

нет

есть

Небольшая

Nikon 1200

Новичок

нет

есть

Средняя

Kodak 835AF

Новичок

нет

есть

Высокая

Nikon 1201

Новичок

есть

есть

Небольшая

Rekam DH300

Новичок

есть

есть

Средняя

Rekam Max 3

Новичок

есть

есть

Высокая

Rekam Mega 110

Любитель

нет

нет

Небольшая

Konica POP MINI

Любитель

нет

нет

Средняя

Konica POP EFP-8

Любитель

нет

нет

Высокая

Konica Centuria-10

Любитель

нет

есть

Небольшая

Konica POP BF-8

Любитель

нет

есть

Средняя

Konica Centuria-20

Любитель

нет

есть

Высокая

Konica POP ST

Любитель

есть

нет

Небольшая

Konica POP ST 80

Любитель

есть

нет

Средняя

Samsung FINO 15 SE

Любитель

есть

нет

Высокая

Samsung FINO 20 SE

Любитель

есть

есть

Небольшая

Dynax 505si

Любитель

есть

есть

Средняя

Samsung VEGA 170

Любитель

есть

есть

Высокая

Pentax ESPIO 200

Профессионал

нет

нет

Небольшая

нет

Профессионал

нет

нет

Средняя

нет

Профессионал

нет

нет

Высокая

нет

Профессионал

нет

есть

Небольшая

нет

Профессионал

нет

есть

Средняя

нет

Профессионал

нет

есть

Высокая

нет

Профессионал

есть

нет

Небольшая

Konica Centuria-60Z

Профессионал

есть

нет

Средняя

Konica Centuria-70Z

Профессионал

есть

нет

Высокая

Olympus ZOOM 80

Профессионал

есть

есть

Небольшая

Olympus is-300

Профессионал

есть

есть

Средняя

Dynax 7

Профессионал

есть

есть

Высокая

Dynax 9

Вариант 2

Вы работаете в крупной компании производящей спецодежду. Ваша компания производит более 10 000 наименований различной спецодежды. Отдел программирования, в котором Вы работаете, получил задание на разработку системы, помогающей покупателю определиться с выбором. Покупатель может выбрать защищающую одежду для головы, рук или корпуса. Материал, из которого изготовлена одежда, может быть как натуральным, так и искусственным. Также в наличии имеются товары различной ценовой категории. Ваша задача: наполнить пустую оболочку экспертной системы знаниями из таблицы 3. Цена определяется исходя из максимальной суммы, которую готов потратить клиент.

Таблица 3

Защита

Материал

Серия

Цена

наименование

голова

натуральный

«Зима»

Небольшая

Каска «Труд»

голова

искусственный

«Омон»

Средняя

Каска «Байкал»

голова

искусственный

«Зима»

Высокая

Каска «СОМ 3-53 Люкс

голова

искусственный

«Рабочий»

Небольшая

Каска «СуперБосс»

голова

натуральный

«Комфорт»

Средняя

Каска «Эйрвинг»

голова

искусственный

«Зима»

Высокая

Каска «Вигард»

голова

натуральный

«Зима»

Небольшая

Каска «Металлург»

голова

искусственный

«Омон»

Средняя

Каска «Сварщик»

голова

натуральный

«Омон»

Высокая

Каска «Шахтер»

голова

натуральный

«Комфорт»

Небольшая

Каска «Термолюкс»

голова

искусственный

«Рабочий»

Средняя

Каска «Супер Вигард»

голова

искусственный

«Рабочий»

Высокая

Каска «Люкс»

руки

натуральный

«Зима»

Небольшая

Рукавицы утепленные гладкокрашеные

руки

искусственный

«Зима»

Средняя

Рукавицы нагольные

руки

натуральный

«Зима»

Высокая

Рукавицы меховые

руки

натуральный

«Омон»

Небольшая

Рукавицы крытые

руки

натуральный

«Омон»

Средняя

Рукавицы морозостойкие

руки

искусственный

«Рабочий»

Высокая

Рукавицы с двойным налодонником

руки

искусственный

«Рабочий»

Небольшая

Рукавицы джинсовые

руки

искусственный

«Зима»

Средняя

Рукавицы брезентовые

руки

натуральный

«Комфорт»

Высокая

Рукавицы крагиспилковые

руки

искусственный

«Рабочий»

Небольшая

Рукавицы суконные

руки

искусственный

«Комфорт»

Средняя

Вачеги для металлурга

руки

искусственный

«Комфорт»

Высокая

Вачеги цельноспилковые

корпус

искусственный

«Омон»

Небольшая

Костюм мужской «Вектор»

корпус

искусственный

«Омон»

Средняя

Костюм мужской «Вектор+»

корпус

искусственный

«Омон»

Высокая

Костюм мужской «Амулет»

корпус

искусственный

«Зима»

Небольшая

Костюм мужской «Диксон»

корпус

искусственный

«Зима»

Средняя

Костюм мужской «Зимник»

корпус

искусственный

«Рабочий»

Высокая

Костюм мужской «Модуль»

корпус

натуральный

«Комфорт»

Небольшая

Костюм мужской «Стим»

корпус

натуральный

«Комфорт»

Средняя

Костюм мужской «Рейсер»

корпус

натуральный

«Зима»

Высокая

Костюм мужской «Тайшет»

корпус

натуральный

«Зима»

Небольшая

Костюм мужской «Буран КМФ»

корпус

натуральный

«Комфорт»

Средняя

Костюм мужской «Аляска»

корпус

натуральный

«Рабочий»

Высокая

Костюм мужской «Легенда»

При наполнении базы правил обратите внимание на синтаксис. Не поставленная точка грозит неправильной работой программой.

Лабораторная работа №3. Фреймовая модель представления знаний

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

Последовательность выполнения работы №3

  1.  Изучите раздел «Фреймовая модель представления знаний» теоретического материала (Глава 1, с.21-25).
  2.  Выберите вариант лабораторной работы.
  3.  Ответьте на контрольные вопросы.
  4.  Что такое фрейм, слот?
  5.  Что такое механизм наследования? Для чего он нужен?
  6.  Какие указатели наследования Вы знаете?
  7.  Какие свойства фреймов Вы знаете?
  8.  Что такое демон?
  9.  Какими достоинствами и недостатками обладают фреймы?
  10.  Напишите отчет к лабораторной работе (приложение 1).

Варианты лабораторной работы №3

Вариант 1

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

В наличии имеются следующие боевые транспортные аппараты:

Таблица 4

Наименование

Способ передвижения

Вместимость, десант

Вооружение

Защита

БМП-3

Гусеницы

7 чел

пушка 100 мм

броня

Ми-24

Вертолет

6 чел

пушка 30 мм

сталь

БТР-50Б

Колеса

8 чел

пулемет 14.5 мм

броня

Ми-8

Вертолет

12 чел

нет

нет

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

Таким образом, задачей выполнения лабораторной работы является создание системы фреймов из знаний, представленных в таблице 4.

В созданной системе найти десантные средства, удовлетворяющие следующим требованиям:

  1.  вертолет, способный перевозить не менее 6 человек десанта над полем боя без поддержки наземных средств;
  2.  наземное средство доставки не менее 6 десантников в тыл противника при активном противодействии бронетанковых войск противника;
  3.  средство доставки не менее 6 человек десанта в тыл противника при наличии противодействия противника.

Вариант 2

В лабораторной работе №1 «Семантические сети», вариант 1 представлена задача разработки семантической сети для небольшого издательства. Ваша задача представить знания, описанные в таблице 1 в виде фреймов.

В построенной системе фреймов определить:

  1.  Какой журнал предоставляет информацию о современных технологиях тюнинга автомобилей?
  2.  Какие журналы предназначены для мужчин?
  3.  Какие журналы стоят 100 рублей?
  4.  На какие журналы можно оформить подписку?
  5.  Найти все журналы издательства.
  6.  Найти все журналы, которые стоят не более 150 рублей.

Лабораторная работа №4. Модель, основанная на нечеткой логике

Цель работы: получение знаний, умений и навыков по созданию базы нечетких знаний.

Последовательность выполнения работы №4

  1.  Изучите раздел «Модель, основанная на нечетких знаниях» теоретического материала (Глава 1, с. 30-45).
  2.  Выберите вариант лабораторной работы.
  3.  Ответьте на контрольные вопросы.
  4.  Что такое лингвистическая переменная, нечеткое множество?
  5.  Какое нечеткое число называется триангулярным, трапецеидальным, в чем их различие?
  6.  Какие операции над нечеткими множествами Вы знаете?
  7.  Как работает нечеткий логический контроллер?
  8.  Напишите отчет к лабораторной работе (приложение 1).

Варианты лабораторной работы №4

Вариант 1

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

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

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

Вариант 2

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

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

Лабораторная работа №5. Построение базы знаний экспертной системы

Цель работы: получение знаний, умений и навыков по созданию базы знаний экспертной системы для выбранной предметной области.

Последовательность выполнения работы №5

  1.  Изучите Главу 2 теоретического материала.
  2.  Выберите вариант лабораторной работы.
  3.  Составьте базу знаний для выбранной предметной области. Внесите полученную базу знаний в программную оболочку экспертной системы. Изучите компонент объяснения вывода на знаниях.
  4.  Ответьте на контрольные вопросы.
  5.  Что такое экспертная система?
  6.  Какие этапы разработки экспертной системы Вы знаете?
  7.  Какие специалисты принимают участие в разработке экспертной системы?
  8.  Какими практическими способами знания могут быть получены?
  9.  Напишите отчет к лабораторной работе (приложение 1).

Варианты лабораторной работы №5

Вариант 1

Построение базы знаний экспертной системы «Подбор тарифного плана оператора мобильной связи Мегафон-Сибирь».

Вариант 2

Построение базы знаний экспертной системы «Расчет приблизительной продолжительности жизни человека».

Вариант 3

Построение базы знаний экспертной системы «Выбор автосигнализации».

Вариант для выполнения лабораторной работы может быть предложен студентом и должен быть утвержден преподавателем.

Лабораторная работа №6. Разработка специальных моделей представления знаний для БЗ и БД и правил для машины вывода

Порядок работ и их виды

Введение с указанием предметной области.

В разделе “I. Идентификация” постановка (формулировка) проблемы, цели и задачи.

В разделе “II.. Концептуализация” нужно представить следующие результаты разработки Содержательной и Концептуальной моделей.

Выделение основных сущностей предметной области

Выявление связей (соответствий, в частности, отношений) между сущностями.

Классификация отношений. Описание сущностей. Разбиение задачи на подзадачи.

Выделение основных сущностей предметной области.

Результатом является полный список сущностей (объектов, концептов). В списке необходимо выделить основные сущности.

Оформление результатов: текст (список).

Выявление связей между сущностями

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

Оформление результатов: текст, рисунки с пояснительным текстом (при необходимости).

Классификация отношений

Основные типы отношений: элемент-класс, род-вид; часть-целое; объект-атрибут (свойство, признак) объекта; объект-объект и т.д. Расширение и/или детализация данного списка разрешается и выражается в более высокой оценке работы.

Результатом является:

а) список отношений и их классификация (элемент-класс, род-вид; часть-целое; и т.д.);

б) классификация дуг (род-вид; часть-целое; и т.д.) и граф с помеченными дугами.

Оформление результатов: текст, содержащий список отношений и их классификацию. В тексте на рисунках графов помечены дуги.  

Описание сущностей.

Каждой из сущностей устанавливается в соответствие ее краткое определение и описание (1-3 предложения), с указанием ссылок на литературу.

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

Оформление результатов: текст на бумажном носителе с рисунками, аккуратно выполненный от руки, или текстовый файл в формате Word.

Разбиение задачи на подзадачи

Результат: дерево подзадач, дерево решений, дерево состояний, И-ИЛИ-граф, и т.п.  

Оформление результатов. Соответствующие графы (деревья и т.п.)

В разделе “III. Формализация” нужно представить следующие результаты.

Формальные модели представления (как знаний или данных, фактов, правил) тех сущностей и отношений, которые выделены на этапе Концептуализации в свете сформулированных целей и задач на этапе Идентификация, а именно:

логические МПЗ (предикатные и т.д.), логико-математические МПЗ (функциональные и т.д.), продукционные МПЗ, логико - лингвинистические МПЗ,

реляционные МПЗ, сетевые (в частности, иерархические) МПЗ, семантические МПЗ (семантические сети, в том числе функциональные),

фреймовые МПЗ, информационные МПЗ (фрагменты интерфейса или диалога пользователя с ИИС как с ПС - программной системой), онтологические МПЗ (и МПДанных),

алгоритмические МПЗ (алгоритм, блок-схема), элементы (фрагменты) Пролог-программы (программный код).

Разработка элементов Машины Выводов и Механизма Выводов (стратегий вывода, принятия решений и т.п.) на основе результатов, полученных при выполнении предыдущих этапов и их подэтапов.

Результаты. Перечисленные выше МПЗ, “встроенные” в соответствующие части ИИС (и/или в Пролог-программу): БД, БП, БФ, МВ, Интерфейс или в ВС (вычислительную подсистему разрабатываемой Вами ИИС).

Оформление результатов: текст с рисунками на бумажном носителе, аккуратно выполненный от руки, или текстовый файл (в формате Word) с рисунками.

Порядок оформления лабораторных работ №6,7

Результаты (включая рисунки) оформляются на листах формата A4, можно от руки, разборчиво (соблюдение ГОСТа на чертеж не требуется).

Отчет по лабораторной работе

должен содержать следующие разделы:

Введение, предметная область, постановка задачи

Разделы I, II, III.

Для защиты ЛР необходимо:

  •  иметь оформленный текст с выполненной работой и/или файлы с выполненной работой;
  •  разместить файлы на носителе (дискете и т.д.) и сдать эти файлы (а не дискеты и т.п.).

Последовательность выполнения работы № 6

1) Выбрать свой вариант лабораторной работе 1 и разработать МПЗ.

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

При необходимости обратиться к Пояснениям к лабораторной работе.

Варианты лабораторной работы №6

№ 1. На модели ромба методом прямого поиска получить план решения следующей задачи: зная периметр и угол , найти площадь ромба. Проделать то же самое методом обратного поиска.

№ 2. На модели ромба методом прямого поиска получить план решения следующей задачи: зная периметр и одну из диагоналей, найти площадь ромба и угол . Проделать то же самое методом обратного поиска.

№ 3. На модели прямоугольного треугольника методом прямого поиска получить план решения следующей задачи: зная радиус описанной окружности и один из углов, прилегающих к гипотенузе, найти площадь треугольника. Проделать то же самое методом обратного поиска,

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

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

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

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

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

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

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

№ 11. На модели параллелограмма методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 12. На модели прямоугольника методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 13. На модели окружности методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 14. На модели прямоугольника методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 15. На модели равнобедренной трапеции методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 16. На модели прямоугольного треугольника методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 17. На модели равностороннего треугольника методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 18. На модели равнобедренного треугольника методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 19. На модели эллипса методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

№ 20. На модели четырехугольника методом прямого поиска получить план решения следующей задачи: зная …  ..., найти …. Проделать то же самое методом обратного поиска.

В задачах 11-20 следует самостоятельно указать те сущности, которые позволят найти (вычислить) указанные Вами искомые величины.

Пояснения к лабораторной работе №6

1. Механизм вывода на графах

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

Пример 1. Пусть нужно получить функциональную семантическую сеть - ФСС, т.е. получить семантическую модель знаний о ромбе в форме двудольного графа.

Ромб имеет 7 характеристик: длину стороны а, острый угол , тупой угол , площадь S, периметр Р и диагонали  и .

Эти величины связаны следующими формулами:

, , , , .

Двудольный граф - разновидность графа, в котором присутствуют вершины только двух типов (двух долей), назовем их «черными» и «белыми». «Черным» вершинам ставятся в соответствие объекты (понятия), «белым» - связи между ними. Любая дуга на таком графе проходит между двумя вершинами только разных цветов (рисунок 1).

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

Отметим, что связи в ФСС - функциональной семантической сети заданы формулами. Формула определяет способ вычисления входящей в нее величины через остальные. Например, из формулы F3: S = a²sinα

можно вычислить S, если заданы а и α;

можно вычислить а, если заданы α и S;

можно вычислить α, если заданы а и S.

Рис. 1. Функциональная семантическая сеть

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

F1: α + γ = 180,

F2: Р = 4а,

F3: S = a²sinα,

F4: S =  d1d2/2

F5: d1² + d2² = 4а².

Дано (входные данные): длины диагоналей d1 и d2.

Требуется определить (выходные искомые величины): углы ромба α и γ.

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

Стратегии вывода. Вывод новых знаний идет в 2-х направлениях:

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

Для данного примера прямой поиск пойдет от известных величин - d1 и d2 - к искомым - α и γ. Обратный поиск - от искомых α и γ к заданным d1 и d2.

Ход и путь вывода. Последовательность шагов прямого поиска отобразим в виде таблицы 5.

Таблица 5

Прямой поиск

№ шага

Что известно

Что требуется

Какие связи можно применить

Какую связь применим

Что найдем

1

d1, d2

α, γ

F5, F4

F5

a

2

d1, d2, a

α, γ

F4, F2

F4

S

3

d1, d2, a, S

α, γ

F2, F3

F2

P

4

d1, d2, a, S, P

α, γ

F3

F3

α

5

d1, d2, a, S, P, α

γ

F1

F1

γ

6

d1, d2, a, S, P, α, γ

1) Для начала проверим, не принадлежат ли искомые данные к множеству уже известных. В данном случае это не так: известны d1 и d2, требуется найти а и γ. Начнем поиск. Зная диагонали, имеем достаточно данных для того, чтобы применить связи F5 и F4. Выберем одну из них случайным образом, например F5. Преобразовав соответствующее математическое выражение, найдем а - длину стороны ромба.

2) Множество известных данных расширилось, поэтому в начале второго шага снова проверим, а не входят ли искомые величины в множество уже известных? Нет. Продолжим поиск. Известные величины - d1, d2, a - позволяют применить три связи: F5, F4, F2. Применять связь F5 нет смысла: ее уже использовали и ничего нового она не даст. Остаются F4 и F2. Выберем случайным образом одну из них, например F4. Применение этой связи позволит отыскать площадь ромба S.

3) Третий шаг опять начнем с проверки, не получен ли результат? Поскольку это не так, оценим достигнутое. Четыре известные характеристики ромба позволяют применить две связи F2 и F3 (не считая уже отработанных F4 и F5). Выберем случайным образом одну из них, скажем F2. Применив ее, найдем длину периметра Р. Замечание. Здесь описан формальный алгоритм, пригодный для программирования. Человек не стал бы делать этот шаг, для него совершенно лишний. А вот программа его сделать вполне может, поскольку здесь в ней работает механизм случайного выбора.

4) Искомые величины все еще не найдены, поэтому продолжим поиск. Единственная связь, которой до сих пор не воспользовались и которая готова к применению, это связь F3. Воспользовавшись ей, найдем угол α.

5) Одно из искомых значений найдено. Осталась одна неопределенная величина и единственная неиспользованная связь - F1. Применим F1 и найдем с ее помощью второй угол - угол γ.

6) Сравнение множества известных данных и множества искомых данных показывает, что все требуемые данные найдены. Значит, задача решена.

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

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

Ход и путь вывода. Последовательность шагов обратного поиска отобразим в виде таблицы 5.

Таблица 5

Обратный поиск

№ шага

Что известно

Что требуется

Применение каких связей даст искомые величины

Что будем искать

Какую связь применим

Что нужно для применения этой связи

1

d1, d2

α, γ

F1, F3

γ

F1

α

2

d1, d2

α

F3

α

F3

a, S

3

d1, d2

a, S

F2, F4, F5

a

F5

d1, d2

4

d1, d2

S, d1, d2,

F4

S

F4

d1, d2

5

d1, d2

d1, d2

1) Начинаем поиск от вершин двудольного графа, содержащих углы ромба (цели). Вычислить их можно с помощью связей F1 и F3. Случайным образом выберем одну из искомых переменных и одну из связей, которая способна ее вычислить. Пусть это будет γ и F1. Если удастся использовать эту связь, то сможем найти целевую величину γ. Но сделать это можно только в том случае, если будет известна величина α. Запланируем применение связи F1. В множестве искомых данных оставим α.

2) Проверим, все ли искомые данные есть в множестве известных? Не все. В множестве целевых данных один единственный элемент - α, и вычисление его возможно с помощью единственной связи - F3. Для  применения этой связи нужны а и S. Планируем применение связи F3, не удаляя из целевого множества а, добавляем в него S.

3) Все ли искомые данные известны? Нет. Выберем случайно одну из целевых переменных, например а, и одну из связей для ее вычисления, например F5. Для ее применения нужны d1 и d2. Планируем применение связи F5, вычеркиваем а из множества искомых переменных, дописываем в это множество d1 и d2.

4) В множестве искомых данных три переменные, но две из них входят в множество исходных данных. Искать надо только одну переменную - S. Для этого есть связь F4. Планируем применение этой связи. Для ее использования нужно знать значения переменных d1 и d2. Запишем их в целевое множество, удалив оттуда переменную S.

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

Полученный план определяет следующий порядок применения формул для решения задачи: F4 → F5 → F3 → F1. Сравните этот план с тем, что получен методом прямого поиска. Отсюда очевидна неоднозначность пути решения задачи.

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

Функциональная семантическая сеть (ФСС). Вычислительную модель нужно представлять графически с помощью графического языка в форме двудольного графа с использованием соответствующих формул.

Вычислительная модель любой вычислительной задачи имеет следующую форму:

ЗНАЯ  М   ВЫЧИСЛИТЬ  Y1, Y2,…, YN    ПО   X1, X2,…, XК.

Здесь М, Y1, Y2,…, YN, X1, X2,…, XК - величины, которые имеют смысл, определяемый их вхождением в задачу - в ее постановку и условия;  значит X1, X2,…, XК - входные данные, Y1, Y2,…, YN  -  выходные искомые величины, значения их требуется вычислить, найти, определить. М - величина, которая выражает условие задачи. Идентификаторы ЗНАЯ, ВЫЧИСЛИТЬ и ПО имеют фиксированный смысл и служат для разделения известных данных  X1, X2,…, XК  от искомых величин Y1, Y2,…, YN.  

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

Пролог-программа triangle.pro  

triangle.pro /* triangle - имя программы, pro - расширение, указывающее,*/   

                      /* что программа написана на Прологе*/

Predicates                                   /* раздел описания предикатов */

point(4,2).  /* point(4,2) - факт, полученный из предиката point(X,Y)  */

  /*подстановкой X=4,Y=2; ниже  точка point(4,2) обозначена как P3 и т.п.*/

point(6,4).

point(7,1).  

seg1(P3, P4).

seg1(point(4,2), point(6,4)).

  …

Clauses    /* раздел клауз: правил А В, имеющих в Прологе вид А :- В*/

                         /* раздел утверждений, условий и т.п.*/

area(X,Y,Z):- Z is X*Y/2. /* здесь area(X,Y,Z) - площадь, ее числовое */

                                           /* значение присваивается переменной Z*/

                                             /* X= ha - высота на Y=a - основание или */

                                            /*  X= hс и  Y=с, или же X= hb и Y=b */

  …

zapros:- makewindow(“Введите координаты точки”).

Goal                                               /* раздел целей*/

   zapros.

В программе triangle.pro отсутствуют следующие разделы:

Constans              /* раздел констант, не обязательный */

Domens              /* характеризация типов переменных и т.д.*/

        /* (например) name = symbol -  тип переменной symbol */.

Разделы

Clauses    /* раздел правил, условия, предложения, правила, утверждения */

Goal         /* раздел целей */

представлены лишь указанными выше фрагментами.

Рис. 2 Представление знаний, фактов, правил и данных с треугольником (предметная область).

 

Лабораторная работа 7. Разработка БЗ и БД для Пролог - программ решения прикладных задач

Ход выполнения работы:

  1.  Выбрать свой вариант задания.
  2.  Ознакомиться с заданием и выполнить его.

При необходимости обратиться к Пояснениям к лабораторной работе, которые приведены после пункта «Варианты лабораторной работы №7».

Варианты лабораторной работы №7

Разработать МПЗ для Базы Знаний и написать Базу Данных, Базу Фактов и Базу Правил для программы (Пролог - программы), решающую соответственно:

1) задачу  о волке, козе и капусте;

2) задачу о трех каннибалах и трех миссионерах;

3) задачу о четырех ферзях на поле размером 44 клетки;

4) задачу о ферзях на поле размером 88;

5) задачу о шахматных ладьях на поле размером 88;

6)  задачу о шахматных конях на поле размером 88;

7)  задачу  о лжецах и правдолюбцах;

8) задачу - игру в «крестики и нулики»;

9) задачу о коммивояжере;

10) задачу о Ханойских башнях.

1) Задача о “волке, козе и капусте”.

Человеку нужно переправиться через реку и перевезти с собой волка, козу и капусту. Имеется лодка, которой управляет человек. На лодке одновременно можно перевезти не более 2-х пассажиров, включая человека (он же лодочник). Если на одном и том же берегу с волком с козой нет человека, то он ее съест. Аналогично, если коза останется на берегу с капустой, то она съест капусту. Все остальные ситуации безопасны. Требуется организовать переправу через реку так, чтобы все пассажиры были доставлены в сохранности на другой берег реки.

2) Задача о “трех каннибалах и трех миссионерах”.

На правом берегу реки находятся три каннибала и три миссионера, которым нужно переправиться на левый берег на двухместной лодке, не считая 3-е место для лодочника. Никого другого на берегах нет, место лодочника занимает только он сам. Если на любом берегу каннибалов окажется больше, чем миссионеров, то первые съедят вторых. Как следует организовать переправу, чтобы все пассажиры оказались на правом берегу целыми и невредимыми, если к тому же лодка при ее курсировании с одного берега на другой обязательно должна перевозить хоть одного пассажира из 6-ти указанных (таково правило переправы на этой реке).

3) Задача о “4 ферзях” на поле размером 4´4 клетки.

Расставить как можно больше шахматных ферзей на доске размером 4´4, чтобы они не «били» друг друга (конечно, каждый из ферзей находился в отдельной клетке: два ферзя не могут находиться в одной клетке, других фигур и пешек на доске нет). Задача о размещении 4-х ферзей на шахматной доске состоит в определении того, можно ли расставить ровно 4-я ферзей на шахматной доске (4´4 клеток) таким образом, чтобы ни один ферзь не нападал на другого по шахматным правилам, а если можно, то каким числом способов. Правила ходов ферзя: ферзь со своей клетки может перемещаться на любую клетку по горизонтали, вертикали и диагонали, если на его пути не встречается другой ферзь. Если такой ферзь встречается, то первый ферзь должен  либо срубить его и встать на его место, но не обходить ее (правило запрета), либо быть срубленным этим ферзем.

4) Задача о «8 ферзях».

Расставить 8 шахматных ферзей на доске размером 88, чтобы они не «били» друг друга (конечно, каждый из ферзей находился в отдельной клетке: два ферзя не могут находиться в одной клетке, других фигур и пешек на доске нет). Задача о размещении ферзей на шахматной доске состоит в определении того, можно ли расставить ровно восемь ферзей на шахматной доске (88 клеток) таким образом, чтобы ни один ферзь не нападал на другого по шахматным правилам, а если можно, то каким числом способов Правила ходов ферзя: ферзь со своей клетки может перемещаться на любую клетку по горизонтали, вертикали и диагонали, если на его пути не встречается другой ферзь. Если такой другой ферзь встречается, то ферзь либо должен  обязательно срубить его и встать на его место, но не обходить его (правило запрета), либо бить им срубленным.

5) Задача о «шахматных ладьях» на поле размером 88 клетки.

Расставить как можно больше  шахматных ладей на доске размером 8´8, чтобы они не «били» друг друга (конечно, каждая из ладей находился в отдельной клетке: две ладьи не могут находиться в одной клетке, других фигур и пешек на доске нет). Задача о размещении ладей на шахматной доске состоит в определении максимального числа ладей, которые можно расставить на шахматной доске (8´8 клеток) таким образом, чтобы ни одна ладья не нападала на другую, а если можно, то каким числом способов Правила ходов ладьи: ладья со своей клетки может перемещаться на соответствующую клетку по известному шахматному правилу, если на ее пути не встречается другая ладья. Если такая другая ладья встречается, то ладья должна  срубить ее и встать на ее место, но не обходить ее (правило запрета), либо быть ею срубленной.

6) Задача о «шахматных конях» на поле размером 88 клетки.

Расставить как можно больше шахматных коней на доске размером 8´8, чтобы они не «били» друг друга (конечно, каждый из коней находился в отдельной клетке: два коня не могут находиться в одной клетке, других фигур и пешек на доске нет). Задача о размещении коней на шахматной доске состоит в определении максимального количества коней, которых можно расставить на шахматной доске (8´8 клеток) таким образом, чтобы ни один конь не нападал на другого по шахматным правилам, а если можно, то каким числом способов. Правила ходов: конь со своей клетки может перемещаться на соответствующую клетку по шахматным правилам, если на этой клетке нет другого коня (правило запрета). В противном случае он должен срубить этого коня либо быть им срубленным.

7) Задача - логическая головоломка «Правдолюбцы и лжецы».

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

Разговор 1. Житель А говорит жителю В: “либо я - лжец, либо ты правдолюбец”.

Разговор 2. Житель Д говорит жителям З и К: “либо я - лжец, либо З правдолюбец”.

Разговор 3. Один житель, подойдя к жителям Р, П и Т спросил их: “а сколько среди вас правдолюбцев?”. Р ответил неопределенно, а П и говорит: “Р сказал, что среди нас есть один правдолюбец”. Но тут вмешался Т: “П лжет”.

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

8) Задача - игра в «крестики и нулики».

Исходным состоянием игры «Крестики-нолики» является пустая игровая доска размера 33, а конечным или целевым состоянием - доска  на которой будет в одной строке, столбце или по диагонали располагается 3 крестика или нолика (в зависимости от того, чья победа предполагается). Путь из исходного состояния в конечное содержит последовательность ходов, ведущих к победе игрока, ставящего в клетке только х - крестик или только 0 - нолик.

9) Задача о коммивояжере.

Коммивояжер должен посетить каждый из пяти городов, не заходя более одного раза в каждый город. Между каждой парой городов имеется путь, длина которого (в километрах) указана на графе, см. рис. 1, а. Нужно, отправляясь из города, например, A, найти самый короткий путь, по которому коммивояжер по одному разу проходит через каждый город и в конце поездки возвращается в город А (рис. 3а).

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

Не следует смешивать исходный граф задачи, изображенный на рис. 3а, с графом, описывающим пространство состояний (рис. 3б).

10) Задача-головоломка «Ханойская башня» состоит в следующем. Имеется три стержня: а, b, с (рис. 4). В начале на стержне, а нанизано 64 диска уменьшающихся размеров (исходная башня). Все диски имеют разный диаметр, внизу находится самый большой диск, а наверху - самый маленький. Никакой диск большего диаметра не может находиться выше диска меньшего диаметра. В начале на стержнях b и с дисков нет. Задача: переложить все диски с а на b в том же порядке, в каком они были на а, пользуясь стержнем с как вспомогательным. При этом ни на одном из стержней никогда не должно возникать ситуации, при которой диск большего диаметра лежит на диске меньшего диаметра.  

 

           а               Ь                с

Рис. 4. Ханойская башня

Пояснения к лабораторной работе №7

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

Пример представления фактов, правил и запросов в Пролог - программе.

Основными компонентами программы на Прологе являются разделы: предикаты (predicates), цель (goal) и условия (clauses).

Предикатами называются высказывания, составные части которых являются переменными (в примере ниже - символьными именами (symbol)).

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

Условия могут быть либо фактами - предикатами с конкретными значениями символических имен, либо правилами. Заключение правила в Прологе пишется слева от знака :-, а условия, связанные логическими операциями "И", - через запятую справа.

Predicates

ruk(symbol,symbol)

nach(symbol,symbol)

print 1 (symbol,symbol)

Сlauses

ruk("Петров","Иванов").

ruk("Петров","Смирнов").

ruk("Яшин","Петров").

nach(X,Y) :- ruk(X,Y).

nach(X,Y) :- ruk(X,Z),nach(Z,Y).

print1(Q,S):- nach(Q,S),write(Q),nl,fail.

Goal

write("Введите фамилию "), nl, readln(S), write("Cписок начальников"), nl,

write("для ",S), nl, print 1(Q,S).

В этом примере введены предикаты:

ruk(X,Y) для представления в БД факта, что X является непосредственным руководителем - начальником сотрудника Y,

nach(X,Y) для представления в БД факта, что X является руководителем для Y,

printl(Q,S)  для печати всех руководителей сотрудника S.

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

Методические указания к семинарским занятиям

На семинарских занятиях № 1,3, 5 и 7 предусмотрены контрольные работы по разделам дисциплины «Интеллектуальные информационные системы». Контрольные работы выполняются студентами на занятиях в письменном виде, сдаются преподавателю. За контрольную работу выставляется оценка, которая в дальнейшем влияет на экзаменационную оценку.

Семинарское занятие №1. Контрольная работа № 1. «Модели представления знаний». Для выполнения контрольной работы №1 необходимо изучить Главу 1 теоретического материала.

Семинарское занятие №2. Методы технологии инженерии знаний.

На данном занятии проводится семинар по методам извлечения знаний. Методы извлечения знаний делятся на текстологические и коммуникативные. Семинар посвящен коммуникативным методам извлечения знаний. Студенты делятся на группы по 4-5 человек. Группа студентов выбирает любой из коммуникативных методов извлечения знаний. Далее происходит распределение ролей в группе. Например, если выбран метод «Круглого стола», то четверо из пяти студентов становятся экспертами, один инженером по знаниям. По легенде эксперты обладают знаниями о предметной области, а задача инженера по знаниям эти знания получить и запротоколировать. Задача занятия состоит в детальном и практическом изучении методов инженерии знаний. Примеры систем, для которых предстоит наполнять базу знаний, приведены ниже. При подготовке к семинарским занятиям студентам потребуется дополнительная подготовка, такая как продумывание плана занятия, подготовка табличек (например, «доктор» «инженер по знаниям» «пациент»), легенды семинара.

Система поддержки принятия решений «Потребительский кредит».

Экспертная система «Подбор конфигурации персонального компьютера».

Система автоматического прохождения технического осмотра автомобилей.

Медицинская система поддержки принятия решения «Антигрипп».

Экспертная система «Выбор метода печати для издания»

Экспертная система «Реклама на баннерах в г. Красноярске»

Семинарское занятие №3. Контрольная работа №2. «Экспертные системы. Технологии инженерии знаний». Для выполнения контрольной работы №2 необходимо изучить Главу 2 теоретического материала.

Семинарское занятие №4. Чтение докладов по теме «Нейронные сети». Подготовка этого занятия подробно расписана в методических указаниях к самостоятельной работе студентов, раздел «подготовка рефератов и докладов по нейросетевым технологиям».

Семинарское занятие №5. Контрольная работа №3. «Эволюционные алгоритмы». Для выполнения контрольной работы №3 необходимо изучить Главу 4 теоретического материала.

Семинарское занятие №6. Специальные языки представления знаний. Тема обсуждения: логико - лингвистические ЯПЗ и функциональные семантические сети.

Семинарское занятие №7. Контрольная работа №4. «Специальные языки представления знаний». Для выполнения контрольной работы №4 необходимо изучить Главу 5 теоретического материала.

Семинарское занятие №8. Выводы на знаниях. Тема обсуждения: выводы в СПЗ, реализованных в виде семантических сетей и сетей фреймов.

Семинарское занятие №9. Дедуктивные и абдуктивные выводы. Тема обсуждения: отличительные черты дедуктивных абдуктивных рассуждений.

Семинарское занятие №10. Языки логического программирования. Темы обсуждения: отличительные черты традиционного и логического программирования.

Семинарское занятие №11. Введение в язык Пролог. Примеры Пролог - программ. Темы обсуждения: основные разделы Пролог - программы. Предикаты, правила-продукции, факты и данные в Пролог - программе.

Для подготовки к семинарским занятиям №6 - №11 необходимо изучить главу 5 теоретического материала.


Приложение 1

Структура отчета по лабораторной работе

  1.  Титульный лист (форма титульного листа приведена в приложении 2)
  2.  Задание на проектирование. Задание на проектирование оформляется в соответствии с выбранным заданием.
  3.  Содержание. Содержание включает наименование всех разделов, подразделов и пунктов, если они имеют наименование, а также список литературы и приложений, с указанием номера страниц, с которых они начинаются. Форма оформления содержания приведена в приложении 3.
  4.  Введение. Введение должно содержать вводную информацию к лабораторной работе. То есть цель лабораторной работы, краткое содержание теоретического материала по данной теме.
  5.  Основная часть работы должна содержать этапы выполнения лабораторной работы и результаты выполнения контрольных тестов (результаты ответа системы на вопросы, приведенные в заданиях к работам)
  6.  Заключение. Заключение должно содержать основные выводы, сделанные студентом, по выполнению лабораторной работы.
  7.  Список используемой литературы. В список литературы должны быть включены все источники, которые были использованы при выполнении лабораторной работы. Пример оформления списка литературы приведен в приложении 4
  8.  Приложения. Приложения содержат вспомогательный материал, такой как базы знаний в виде одной из моделей представления знаний.


Приложение 2

Форма титульного листа к лабораторной работе

Федеральное государственное учебное предприятие

Политехнический институт Сибирского Федерального Университета

Кафедра Систем Искусственного Интеллекта

Тема лабораторной работы

Отчет по лабораторной работе № 1 по дисциплине «Интеллектуальные информационные системы»

Выполнил:

Студент гр. 00-00

Иванов И.И.

Принял:

Должность преподавателя

Иванов И.И.

Красноярск 200Х


Приложение 3

Пример оформления содержания

Содержание

Введение           5

Анализ задачи          7

Решение задачи          10

Выбор алгоритма и структур данных     11

Описание алгоритма        12

Выбор набора тестов        30

Заключение          35

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

Приложение 1. Листинг программы      37

Приложение 2. Листинг тестов       60

Приложение 4

Пример оформления списка литературы

  1.  Андрейчиков, А.В.  Интеллектуальные информационные системы: Учебник / Андрейчикова О.Н. // М.: Финансы и статистика, 2004. – 424 с.
  2.  Афонин, В. Л. Интеллектуальные робототехнические системы. / Макушкин В. А. // Серия: Основы информационных технологий. Издательство: Интернет-университет информационных технологий, 2005. - 208 с.
  3.  Братко, Иван. Язык PROLOG (Пролог): алгоритмы искусственного интеллекта. / Братко, Иван //  3-е издание. М.: Вильямс, 2000. - 640 c.
  4.  Гаврилова, Т.А. Базы знаний интеллектуальных систем. / Хорошевский В.Ф. // СПб.: Питер, 2001 – 384с.
  5.  Гарднер, Говард. Структура разума: теория множественного интеллекта. / Гарднер, Говард //  М.: Вильямс, 2003. - 512 с.
  6.  Гладков, Л.А. Генетические алгоритмы. / Курейчик, В.В., Курейчик, В.М. // М.: Физматлит, 2006. – 320.


EMBED Equation.3  

 EMBED Equation.3  

 EMBED Equation.3  ,

 EMBED Equation.3  

 EMBED Equation.3  

EMBED Equation.3  

EMBED Equation.3  

S

а



Рис. 3. Пояснение к задаче о коммивояжере.

а - граф дорог; б - пространство состояний.

  1.  

 

А также другие работы, которые могут Вас заинтересовать

39058. Браузерная анимация 79 KB
  Это тот же принцип что и в кино: для непрерывной анимации достаточно 24 или больше вызовов таймера в секунду. Псевдокод для анимации выглядит так: У анимации есть три основных параметра: dely время между кадрами в миллисекундах т. stepprogress функция stepprogress занимается отрисовкой состояния анимации соответствующего времени progress. Значение progress меняется от 0 в начале анимации до 1 в конце.
39059. Обработка изображений в математическом пакете MATLAB с использованием расширения Image processing toolbox 150.5 KB
  Например диагностика различных заболеваний по изображениям внутренних органов человека обнаружение лесных пожаров поиск перспективных для ловли рыбы акваторий оценка экологического состояния регионов навигационные задачи и т. матрицы в котором каждый элемент соответствует одному пикселю отображаемого изображения. Некоторые изображения например полноцветные представляются в виде трехмерных массивов где представлены соответственно красная зеленая и синяя составляющие.
39060. Компьютерные технологии поиска информации в науке 323 KB
  Поиск информации представляет собой процесс выявления в некотором множестве документов текстов всех тех которые посвящены указанной теме предмету удовлетворяют заранее определенному условию поиска запросу или содержат необходимые соответствующие информационной потребности факты сведения данные. Полнотекстовый поиск поиск по всему содержимому документа. Пример полнотекстового поиска любой интернетпоисковик например www.
39061. Поисково-информационные системы в сети Интернет (Google) 52.5 KB
  В первой фазе индексные сервера для каждого слова в запросе формируют список идентификаторов документов. Результирующий список документов определяется путем выделения общих идентификаторов документов для каждого слова и проставления весов оценка актуальности для каждого документа. Во второй фазе на основании списка идентификаторов документов сервера документов выдают информацию о названии документа ссылки на него URL краткого описания документа а также фрагменты текста содержащие ключевые слова поиска. Далее все слова из текста...
39062. Математические пакеты и их применение в науке и производстве 34 KB
  От других продуктов аналогичного назначения например Mple Theorist компании Wterloo Mple Softwre и Mthemtic компании Wolf Reserch MTHCD компании Mthsoft отличается ориентация на создание высококачественных документов докладов отчетов статей в режиме WYSIWYG Wht You See Is Wht You Get. Преимущества MTHCD состоит в том что он не только позволяет провести необходимые расчеты но и оформить свою работу с помощью графиков рисунков таблиц и математических формул. В MTHCD`e можно не только совмещать текст и формулы но...
39063. Системы автоматизированного проектирования. Программы AutoCAD и P-CAD 67 KB
  Программы utoCD и PCD По целевому назначению программы utoCD и PCD относятся к группе: CD англ. По отраслевому назначению программы utoCD и PCD относятся к группам: ED англ. utodesk rchitecturl Desktop utoCD Revit rchitecture Suite Pirnesi rchiCD. Сравнение utoCD и PCD Характеристика utoCD PCD 1.
39064. Работа с базами данных. Язык SQL 44 KB
  Большинство современных СУБД построено на реляционной модели данных. Для получения информации из отношений таблиц базы данных в качестве языка манипулирования данными в теоретическом плане используются три абстрактных языка: язык реляционной алгебры; язык реляционного исчисления на кортежах; язык реляционного исчисления на доменах. Накопленная информация в современных информационных технологиях хранится и организованна в базах данных.
39065. Программа для бизнес-планирования производства и оказания услуг в бизнесе Project Expert 90.5 KB
  Аналитическая система Project Expert программа позволяющая прожить планируемые инвестиционные решения без потери финансовых средств предоставить необходимую финансовую отчётность потенциальным инвесторам и кредиторам обосновать для них эффективность участия в проекте. Project Expert поможет: Разработать бизнесплан развития предприятия Разработать финансовую модель проекта и компании Определить финансирование проекта. Работу с программой Project Expert можно разделить на 6 этапов: 1.
39066. Язык UML 91 KB
  На UML диаграмме примечание присоединяется к одному или нескольким элементам диаграммы. Внутри прямоугольникапримечания помещаются комментарии или ограничения относящиеся к элементу или нескольким элементам диаграммы. UML диаграммы С помощью комбинации пиктограмм строятся UML диаграммы. Рассмотрим три из них: диаграммы прецедентов диаграммы классов и диаграммы действий.