Разработка экспертной системы выбора фильма в зависимости от настроения и пожеланий пользователя

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.05.2014
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Постановка цели и задач
  • 2. Описание предметной области
  • 3. Выбор метода решения
  • 3.1 Модель представления знаний
  • 3.2 Метод вывода на знаниях
  • 3.3 Средства программной реализации
  • 4. Описание базы знаний
  • 4.1 Стратегия поиска
  • 4.2 Дерево вопросов
  • 5. Программная реализация
  • 5.1 Код программы
  • 5.2 Человеко-машинный интерфейс
  • 6. Руководство пользователя
  • Выводы
  • Введение
  • фильм пользователь база программный
  • Экспертная система - это интеллектуальная система-советчик, построенная на базе знаний о предметной области, а также опыта и знаний экспертов. Разработка экспертных систем является составной частью работ по искусственному интеллекту. Экспертные системы создаются для помощи в решении задач, обладающих неполнотой данных, неоднозначностью и противоречивостью, напр. постановка диагноза болезни.
  • База знаний -- это особого рода база данных, разработанная для оперирования знаниями. База знаний содержит структурированную информацию, покрывающую некоторую область знаний, для использования компьютером (или человеком) с конкретной целью.
  • Работа экспертной системы в ответ на запрос пользователя предполагает обязательный диалог с ним. При этом экспертная система задаёт пользователю ряд вопросов и на основе анализа полученной информации сообщает ему своё решение, являющееся советом по данной теме или ситуации.

Экспертная система характеризуется следующими свойствами:

· Моделирует мышление человека;

· Формирует выводы на основе своих знаний;

· Возможность накопления знаний и сохранение их длительное время;

· Работа с большими объемами знаний.

1. Постановка цели и задач

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

1) Изучить предметную область;

2) Выбрать и обосновать метод решения;

3) Создать базу знаний;

4) Разработать дерево вопросов, которое позволит системе получить достаточно информации для выбора фильма;

5) Программно реализовать экспертную систему. Созданную систему протестировать и снабдить руководством пользователя.

2. Описание предметной области

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

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

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

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

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

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

3. Выбор метода решения

3.1 Модель представления знаний

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

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

Для решения поставленной задачи целесообразно использовать продукционную модель. Данная модель, основанная на правилах, позволяет представить знание в виде предложений типа: "ЕСЛИ - ТО".

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

3.2 Метод вывода на знаниях

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

Разрабатываемая ЭС будет построена на основе прямого вывода - от фактов к заключению. Пользователь выбирает соответствующие факторы, после чего система их анализирует и выводит результат.

3.3 Средства программной реализации

Реализовать экспертную систему можно с помощью различных программных сред. Сравним некоторые среды разработки:

Характеристика

VisualBasic

Delphi

PHP

StrawberryProlog 1.51

Наличие IDE

да

да

нет

да

Простота изучения и освоения

очень высокая

средняя

низкая

средняя

Наличие бесплатной среды разработки

да

нет

да

да

Средства отладки

встроенные средства отладки

встроенные средства отладки

нет встроенных средств отладки

Встроенные, но не удобные

В качестве среды реализации ЭС выбрана объектно-ориентированная среда программирования VisualBasic, так как она по сравнению с другими имеет следующие преимущества:

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

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

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

· Реализация разработчиком максимально гибкого и удобного интерфейса для своей ЭС;

· Создание меню;

· Обработка событий мыши и клавиатуры;

· Обработка файлов на жестком диске.

4. Описание базы знаний

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

4.1 Стратегия поиска

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

4.2 Дерево вопросов

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

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

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

Состав

Основание

Года

Время просмотра

Вывод

Пара

Литературное

произведение

Классика

Ограничено

Новые времена

Нет

Римские каникулы

Не важно

Ограничено

Вечное сияние чистого разума

Нет

Малышка на миллион

Реальное событие

Классика

Ограничено

Человек-слон

Нет

Лоуренс Аравийский

Не важно

Ограничено

Король говорит!

Нет

Игры разума

Военное событие

Классика

Ограничено

Касабланка

Нет

Барри Линдон

Не важно

Ограничено

Жизнь прекрасна

Нет

Пианист

Состав

Время дня

Основание

Года

Время просмотра

Вывод

Компания

День

Лит. Произведение

Классика

Ограничено

Сокровища Сьерра-Мадре

Нет

Семь самураев

Не важно

Ограничено

Джанго освобождённый

Нет

Пираты Карибского моря: Проклятие "Чёрной жемчужины"

Реальное событие

Классика

Ограничено

Большой побег

Нет

Спасти рядового Райана

Не важно

Ограничено

Человек-слон

Нет

Список Шиндлера

Военное событие

Классика

Ограничено

На западном фронте без перемен

Нет

Подводная лодка

Не важно

Ограничено

Тропы славы

Нет

Бункер

Вечер

Лит. Произведение

Классика

Ограничено

Глубокий сон

Нет

Хороший, плохой, злой

Не важно

Ограничено

Семь

Нет

Парк юрского периода

Реальное событие

Классика

Ограничено

Цельнометаллическая оболочка

Нет

Мост через реку Квай

Не важно

Ограничено

Охотник на оленей

Нет

Пианист

Военное событие

Классика

Ограничено

Подводная лодка

Нет

Апокалипсис сегодня

Не важно

Ограничено

Могила светлячков

Нет

Пианист

Состав

Пол

Основание

Года

Настроение

Время

Вывод

Один\Одна

Мужской

Лит. Произведение

Классика

Дружелюбное

Ограничено

Генерал

Нет

Отступники

Грустное

Ограничено

Мальтийский сокол

Нет

Крёстный отец 2

Раздраженное

Ограничено

Дурная слава

Нет

Крёстный отец

Не важно

Дружелюбное

Ограничено

Гравитация

Нет

Тёмный рыцарь: Возрождение легенды

Грустное

Ограничено

Гравитация

Нет

Жизнь Пи

Раздраженное

Ограничено

1+1

Нет

Мстители

Реальное событие

Классика

Дружелюбное

Ограничено

Человек-слон

Нет

Нюрнбергский процесс

Грустное

Ограничено

На западном фронте без перемен

Нет

Список Шиндлера

Раздраженное

Ограничено

Человек-слон

Нет

Большой побег

Не важно

Дружелюбное

Ограничено

ИпМан

Нет

Король говорит!

Грустное

Ограничено

Отель Руанда

Нет

Спасти рядового Райана

Раздраженное

Ограничено

Отель Руанда

Нет

Король говорит!

Военное событие

Классика

Дружелюбное

Ограничено

На западном фронте без перемен

Нет

Список Шиндлера

Грустное

Ограничено

На западном фронте без перемен

Нет

Мост через реку Квай

Раздраженное

Ограничено

На западном фронте без перемен

Нет

Цельнометаллическая оболочка

Не важно

Дружелюбное

Ограничено

Тропы славы

Нет

Бесславные ублюдки

Грустное

Ограничено

Тропы славы

Нет

Мост через реку Квай

Раздраженное

Ограничено

Лагерь для военнопленных № 17

Нет

Охотник на оленей

Один\Одна

Женский

Лит. Произведение

Классика

Дружелюбное

Ограничено

Это случилось однажды ночью

Нет

Римские каникулы

Грустное

Ограничено

Леон

Нет

Римские каникулы

Раздраженное

Ограничено

12 разгневанных мужчин

Нет

Казино

Не важно

Дружелюбное

Ограничено

Гравитация

Нет

Побег из Шоушенка

Грустное

Ограничено

День Сурка

Нет

Гравитация

Раздраженное

Ограничено

Шоу Трумана

Нет

Зелёная миля

Реальное событие

Классика

Дружелюбное

Ограничено

На западном фронте без перемен

Нет

Лоуренс Аравийский

Грустное

Ограничено

На западном фронте без перемен

Нет

Человек-слон

Раздраженное

Ограничено

На западном фронте без перемен

Нет

Подводная лодка

Не важно

Дружелюбное

Ограничено

Скафандр и бабочка

Нет

В диких условиях

Грустное

Ограничено

Отель Руанда

Нет

Человек-слон

Раздраженное

Ограничено

Скафандр и бабочка

Нет

Пианист

Военное событие

Классика

Дружелюбное

Ограничено

Касабланка

Нет

Унесенные ветром

Грустное

Ограничено

Касабланка

Нет

Великий диктатор

Раздраженное

Ограничено

Мост через реку Квай

Нет

Барри Линдон

Не важно

Дружелюбное

Ограничено

Могила светлячков

Нет

Жизнь прекрасна

Грустное

Ограничено

Могила светлячков

Нет

Жизнь прекрасна

Раздраженное

Ограничено

Могила светлячков

Нет

Пианист

Состав

М-фильм/фильм

Года

Время просмотра

Вывод

С детьми

Мультфильм

Классика

Ограничено

Король Лев

Нет

Принцесса Мононокэ

Не важно

Ограничено

ВАЛЛ-И

Нет

Рататуй

Фильм

Классика

Ограничено

Малыш

Нет

Волшебник страны Оз

Не важно

Ограничено

Принцесса-невеста

Нет

Назад в будущее

5. Программная реализация

5.1 Код программы

PublicClassvrem

PublicfilmiAsString

PrivateSub Button2_Click(sender AsSystem.Object, e AsSystem.EventArgs) Handles Button2.Click

If RadioButton1.Checked = TrueThen

Ifsostav.VIBOR = "O"&"F"&"H"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"F"&"H"&"yes"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(179)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"M"&"H"&"yes"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(115) &form1.massiv(179)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"F"&"W"&"yes"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(7) &form1.massiv(231)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"M"&"W"&"yes"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(7)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"M"&"PR"&"yes"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(48)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"F"&"PR"&"yes"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(219)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"no"&"dobr"Then

sostav.VIBOR = "O"&"F"&"H"&"no"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(166)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"no"&"dobr"Then

sostav.VIBOR = "O"&"M"&"H"&"no"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(179)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"no"&"dobr"Then

sostav.VIBOR = "O"&"F"&"W"&"no"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(42)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"no"&"dobr"Then

sostav.VIBOR = "O"&"M"&"W"&"no"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(110)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"no"&"dobr"Then

sostav.VIBOR = "O"&"M"&"PR"&"no"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(5)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"no"&"dobr"Then

sostav.VIBOR = "O"&"F"&"PR"&"no"&"dobr"&"dlin"

otvet.lbl.Text = form1.massiv(0)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"yes"&"grus"Then

sostav.VIBOR = "O"&"F"&"H"&"yes"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(123)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"yes"&"grus"Then

sostav.VIBOR = "O"&"M"&"H"&"yes"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(142)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"yes"&"grus"Then

sostav.VIBOR = "O"&"F"&"W"&"yes"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(65)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"yes"&"grus"Then

sostav.VIBOR = "O"&"M"&"W"&"yes"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(7)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"yes"&"grus"Then

sostav.VIBOR = "O"&"M"&"PR"&"yes"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(1)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"yes"&"grus"Then

sostav.VIBOR = "O"&"F"&"PR"&"yes"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(219)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"no"&"grus"Then

sostav.VIBOR = "O"&"F"&"H"&"no"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(232)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"no"&"grus"Then

sostav.VIBOR = "O"&"M"&"H"&"no"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(35)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"no"&"grus"Then

sostav.VIBOR = "O"&"F"&"W"&"no"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(42)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"no"&"grus"Then

sostav.VIBOR = "O"&"M"&"W"&"no"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(110)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"no"&"grus"Then

sostav.VIBOR = "O"&"M"&"PR"&"no"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(216)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"no"&"grus"Then

sostav.VIBOR = "O"&"F"&"PR"&"no"&"grus"&"dlin"

otvet.lbl.Text = form1.massiv(50)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"yes"&"razd"Then

sostav.VIBOR = "O"&"F"&"H"&"yes"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(72)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"yes"&"razd"Then

sostav.VIBOR = "O"&"M"&"H"&"yes"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(114)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"yes"&"razd"Then

sostav.VIBOR = "O"&"F"&"W"&"yes"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(73)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"yes"&"razd"Then

sostav.VIBOR = "O"&"M"&"W"&"yes"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(213)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"yes"&"razd"Then

sostav.VIBOR = "O"&"M"&"PR"&"yes"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(73)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"yes"&"razd"Then

sostav.VIBOR = "O"&"F"&"PR"&"yes"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(144)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"no"&"razd"Then

sostav.VIBOR = "O"&"F"&"H"&"no"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(45)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"no"&"razd"Then

sostav.VIBOR = "O"&"M"&"H"&"no"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(179)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"no"&"razd"Then

sostav.VIBOR = "O"&"F"&"W"&"no"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(45)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"no"&"razd"Then

sostav.VIBOR = "O"&"M"&"W"&"no"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(110)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"no"&"razd"Then

sostav.VIBOR = "O"&"M"&"PR"&"no"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(169)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"no"&"razd"Then

sostav.VIBOR = "O"&"F"&"PR"&"no"&"razd"&"dlin"

otvet.lbl.Text = form1.massiv(57)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"H"&"yes"Then

otvet.lbl.Text = form1.massiv(35)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"W"&"yes"Then

otvet.lbl.Text = form1.massiv(72)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"PR"&"yes"Then

otvet.lbl.Text = form1.massiv(15)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"H"&"yes"Then

otvet.lbl.Text = form1.massiv(104)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"W"&"yes"Then

otvet.lbl.Text = form1.massiv(36)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"PR"&"yes"Then

otvet.lbl.Text = form1.massiv(5)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"H"&"no"Then

otvet.lbl.Text = form1.massiv(7)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"W"&"no"Then

otvet.lbl.Text = form1.massiv(116)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"PR"&"no"Then

otvet.lbl.Text = form1.massiv(218)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"H"&"no"Then

otvet.lbl.Text = form1.massiv(45)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"W"&"no"Then

otvet.lbl.Text = form1.massiv(45)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"PR"&"no"Then

otvet.lbl.Text = form1.massiv(224)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"fi"&"yes"Then

otvet.lbl.Text = form1.massiv(153)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"mu"&"yes"Then

otvet.lbl.Text = form1.massiv(89)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"fi"&"no"Then

otvet.lbl.Text = form1.massiv(44)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"mu"&"no"Then

otvet.lbl.Text = form1.massiv(234)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"H"&"yes"Then

otvet.lbl.Text = form1.massiv(69)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"W"&"yes"Then

otvet.lbl.Text = form1.massiv(213)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"PR"&"yes"Then

otvet.lbl.Text = form1.massiv(219)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"H"&"no"Then

otvet.lbl.Text = form1.massiv(188)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"W"&"no"Then

otvet.lbl.Text = form1.massiv(45)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"PR"&"no"Then

otvet.lbl.Text = form1.massiv(174)

otvet.Show()

EndIf

EndIf

If RadioButton2.Checked = TrueThen

Ifsostav.VIBOR = "O"&"F"&"H"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"F"&"H"&"yes"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"M"&"H"&"yes"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"F"&"W"&"yes"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"M"&"W"&"yes"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(24)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"M"&"PR"&"yes"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(120)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"yes"&"dobr"Then

sostav.VIBOR = "O"&"F"&"PR"&"yes"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(134)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"no"&"dobr"Then

sostav.VIBOR = "O"&"F"&"H"&"no"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(232)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"no"&"dobr"Then

sostav.VIBOR = "O"&"M"&"H"&"no"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(231)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"no"&"dobr"Then

sostav.VIBOR = "O"&"F"&"W"&"no"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(99)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"no"&"dobr"Then

sostav.VIBOR = "O"&"M"&"W"&"no"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(51)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"no"&"dobr"Then

sostav.VIBOR = "O"&"M"&"PR"&"no"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(50)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"no"&"dobr"Then

sostav.VIBOR = "O"&"F"&"PR"&"no"&"dobr"&"kor"

otvet.lbl.Text = form1.massiv(217)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"yes"&"grus"Then

sostav.VIBOR = "O"&"F"&"H"&"yes"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"yes"&"grus"Then

sostav.VIBOR = "O"&"M"&"H"&"yes"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"yes"&"grus"Then

sostav.VIBOR = "O"&"F"&"W"&"yes"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(24)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"yes"&"grus"Then

sostav.VIBOR = "O"&"M"&"W"&"yes"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"yes"&"grus"Then

sostav.VIBOR = "O"&"M"&"PR"&"yes"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(126)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"yes"&"grus"Then

sostav.VIBOR = "O"&"F"&"PR"&"yes"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(30)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"no"&"grus"Then

sostav.VIBOR = "O"&"F"&"H"&"no"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(232)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"no"&"grus"Then

sostav.VIBOR = "O"&"M"&"H"&"no"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(157)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"no"&"grus"Then

sostav.VIBOR = "O"&"F"&"W"&"no"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(99)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"no"&"grus"Then

sostav.VIBOR = "O"&"M"&"W"&"no"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(51)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"no"&"grus"Then

sostav.VIBOR = "O"&"M"&"PR"&"no"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(50)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"no"&"grus"Then

sostav.VIBOR = "O"&"F"&"PR"&"no"&"grus"&"kor"

otvet.lbl.Text = form1.massiv(181)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"yes"&"razd"Then

sostav.VIBOR = "O"&"F"&"H"&"yes"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"yes"&"razd"Then

sostav.VIBOR = "O"&"M"&"H"&"yes"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(123)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"yes"&"razd"Then

sostav.VIBOR = "O"&"F"&"W"&"yes"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(104)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"yes"&"razd"Then

sostav.VIBOR = "O"&"M"&"W"&"yes"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(223)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"yes"&"razd"Then

sostav.VIBOR = "O"&"M"&"PR"&"yes"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(171)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"yes"&"razd"Then

sostav.VIBOR = "O"&"F"&"PR"&"yes"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(6)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"H"&"no"&"razd"Then

sostav.VIBOR = "O"&"F"&"H"&"no"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(232)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"H"&"no"&"razd"Then

sostav.VIBOR = "O"&"M"&"H"&"no"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(157)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"W"&"no"&"razd"Then

sostav.VIBOR = "O"&"F"&"W"&"no"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(99)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"W"&"no"&"razd"Then

sostav.VIBOR = "O"&"M"&"W"&"no"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(214)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"M"&"PR"&"no"&"razd"Then

sostav.VIBOR = "O"&"M"&"PR"&"no"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(52)

otvet.Show()

EndIf

Ifsostav.VIBOR = "O"&"F"&"PR"&"no"&"razd"Then

sostav.VIBOR = "O"&"F"&"PR"&"no"&"razd"&"kor"

otvet.lbl.Text = form1.massiv(217)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"H"&"yes"Then

otvet.lbl.Text = form1.massiv(114)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"W"&"yes"Then

otvet.lbl.Text = form1.massiv(224)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"PR"&"yes"Then

otvet.lbl.Text = form1.massiv(75)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"H"&"yes"Then

otvet.lbl.Text = form1.massiv(83)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"W"&"yes"Then

otvet.lbl.Text = form1.massiv(72)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"PR"&"yes"Then

otvet.lbl.Text = form1.massiv(184)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"H"&"no"Then

otvet.lbl.Text = form1.massiv(123)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"W"&"no"Then

otvet.lbl.Text = form1.massiv(51)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"MO"&"PR"&"no"Then

otvet.lbl.Text = form1.massiv(56)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"H"&"no"Then

otvet.lbl.Text = form1.massiv(136)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"W"&"no"Then

otvet.lbl.Text = form1.massiv(99)

otvet.Show()

EndIf

Ifsostav.VIBOR = "S"&"AB"&"PR"&"no"Then

otvet.lbl.Text = form1.massiv(22)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"fi"&"yes"Then

otvet.lbl.Text = form1.massiv(118)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"mu"&"yes"Then

otvet.lbl.Text = form1.massiv(74)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"fi"&"no"Then

otvet.lbl.Text = form1.massiv(195)

otvet.Show()

EndIf

Ifsostav.VIBOR = "D"&"mu"&"no"Then

otvet.lbl.Text = form1.massiv(63)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"H"&"yes"Then

otvet.lbl.Text = form1.massiv(123)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"W"&"yes"Then

otvet.lbl.Text = form1.massiv(24)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"PR"&"yes"Then

otvet.lbl.Text = form1.massiv(41)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"H"&"no"Then

otvet.lbl.Text = form1.massiv(179)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"W"&"no"Then

otvet.lbl.Text = form1.massiv(42)

otvet.Show()

EndIf

Ifsostav.VIBOR = "T"&"PR"&"no"Then

otvet.lbl.Text = form1.massiv(81)

otvet.Show()

EndIf

EndIf

otvet.Show()

Me.Close()

EndSub

EndClass

5.2 Человеко-машинный интерфейс

Пример работы программы

6. Руководство пользователя

Программа не требует установки: для работы достаточно скопировать папку filmsна жесткий диск компьютера.

Для начала работы запустите файл films.exe.В операционных системах семейства Windows по умолчанию это осуществляется двойным щелчком левой кнопки мыши по соответствующей иконки.

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

Нажатие кнопки осуществляется одинарным щелчком по ней левой кнопкой мыши.

Выводы

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

В ходе работы были:

1) изучена предметная область;

2) выбран метод решения задачи;

3) разработано дерево вопросов;

4) выбран язык программирования;

5) реализована программа;

6) создано руководство пользователя.

Размещено на Allbest.ru


Подобные документы

  • Аналитический обзор системы управления курсами Moodle, программное построение ее модулей. Разработка структурной схемы и базы знаний экспертной системы. Создание дерева вопросов и выбор алгоритма поиска решений. Анализ возможных угроз и защита информации.

    дипломная работа [534,7 K], добавлен 14.12.2013

  • Виды и основные функции интеллектуальных систем. Выбор инструментального средства для создания экспертной системы. Физическое проектирование базы данных. Использование среды EsWin 2.1 для разработки и тестирования экспертной системы выбора должности.

    курсовая работа [615,8 K], добавлен 22.03.2016

  • Структура типичной экспертной системы. База данных (рабочая память), её назначение. Функция getsport как экземпляр класса cSport. Алгоритм работы экспертной системы. Реализация пользовательского интерфейса. Результаты тестирования системы пользователем.

    курсовая работа [1018,8 K], добавлен 13.06.2012

  • Описание экспертной системы по подбору кадров. Требования к функциональным характеристикам программы. Состав и параметры технических средств ЭВМ. Структура входных данных. Руководство программиста и пользователя. Тестирование программного средства.

    курсовая работа [897,0 K], добавлен 13.11.2016

  • Определение автоматизированных информационных систем. Обоснование выбора среды разработки информационной системы. Создание запросов для выбора информации. Логическая и физическая структура реляционной базы данных. Разработка интерфейса пользователя.

    курсовая работа [2,1 M], добавлен 16.04.2017

  • Разработка программного комплекса, нацеленного на предоставление информации о комплектации персонального компьютера. Входные и выходные данные системы. Описание предметной области. Краткая информация о языке Clips. Проектирование экспертной системы.

    курсовая работа [36,0 K], добавлен 23.06.2011

  • Пример экспертной системы с использованием метода Криса-Нейлора. Структура базы данных. Стратегия вывода результатов выбора страны. Руководство пользователя, редактирование базы знаний. Режим тестирования, его завершение, блок объяснения решения.

    контрольная работа [1,6 M], добавлен 29.12.2012

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

    курсовая работа [744,0 K], добавлен 05.02.2016

  • Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.

    лабораторная работа [17,8 K], добавлен 15.01.2011

  • Требования к спецодежде. Материалы и ткани для ее изготовления. Разработка экспертной системы для определения вероятности использования спецодежды определенного вида с использованием метода Байеса. Реализация демонстрационной версии системы в MS Excel.

    курсовая работа [616,5 K], добавлен 18.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.