Автор работы: Пользователь скрыл имя, 06 Октября 2015 в 22:51, курсовая работа
Пользовательские интерфейсы будущего, скорее всего, основной упор будут делать на обучающие примеры, тактильные ощущения, распознавание речи и образов. Процесс взаимодействия будет основан на базе знаний, что позволит сократить когнитивную дистанцию между пользователем и информационной системой. Соответствующие исследования начались в 90-х гг. прошлого столетия, но пока подобные интерфейсы не получили широкого распространения.
Введение....................................................................................................................3
1.1 Интеллектуальный интерфейс....................................................................5
1.2 Принципы разработки интеллектуальных интерфейсов..........................9
Список литературы...................................................................................................12
Вторая часть: разработка экспертной системы «Выбор страны отдыха»
2.1 Постановка задачи............................................................................................13
2.2 Дерево решений, таблица переменных и база знаний.......................................13
2.3 Преобразование дерева решений в правила....................................................14
2.4 Структуры данных экспертной системы.........................................................19
2.5 Интерфейс программы и программная реализация........................................23
Литература.............................................................................................................29
Таким образом, дерево решений позволяет просто и наглядно представить ход рассуждений эксперта при решении задачи и формировать правила для базы знаний, а без базы знаний экспертную систему не построить.
Теперь посмотрим, каким образом при описанные структуры данных соотносятся с мыслительной деятельностью человека в процессе обратной цепочки рассуждений. Прежде всего человек просматривает все возможные пути, способные привести к решению задачи (список логических выводов). Затем он выделяет условия, составляющие эти пути (список переменных и список переменных условия). Такие структуры данных позволяют быстро обрабатывать информацию, не повторяя одни и те же шаги по нескольку раз, потому что значения переменных можно использовать в определенной ситуации для различных логических выводов. Если же при разговоре с человеком, выбирающего детский сад для своего ребенка, у него нет не только компьютера, но даже карандаша и бумаги, ему придётся много раз переспрашивать, ведь сразу невозможно запомнить большой объем предоставленной ему информации. Конечно, в конце концов он примет решение, но затратить много сил и времени.
2.4. Структура данных экспертной системы.
При создании экспертной системы для упрощения ответа на вопросы и решения поставленной задачи в систему включается ряд полезных таблиц или структур данных. Структуры данных нужны для работы с базой знаний. После определения метода решения выбранного круга задач можно приступить к разработке системы.
Список логических выводов - это структура данных, содержащая упорядоченный список возможных логических выводов.
Список состоит из номера правила, логического вывода, связанного с этим правилом, и условий, которые формируют вывод. На каждое правило базы знаний в списке приходится одна запись. Список логических выводов используется исключительно для поиска вывода по номеру правила. Когда условия части ЕСЛИ истинны, вызывается часть ТО правила, ей присваивается значение.
На рис. 2 приведён полностью сформированный список логических выводов для всех правил базы знаний.
10 STRANA
…
260 STRANA
Рис.2 Список логических выводов.
Список считается сформированным, когда логический вывод каждого правила помещён в запись с номером, совпадающим с номером правила.
Список переменных – это перечень имен переменных для всех условных частей правил базы знаний и признак их инициализации.
Признак инициализации показывает, присвоено ли переменной значение. Независимо от того, в скольких условиях встречается переменная, в список переменных она включается всего один раз. В этот список также нельзя включать переменные из списка логических выводов, поскольку их значения определяются с помощью правил. Список переменных приведён в таблице.3.
Таблица 3
Список имен переменных
Имя переменной |
Признак |
Значение |
VID_OTD |
I |
ДА |
KLIMAT |
NI |
|
RAZVLECH |
NI |
|
PLYAG |
NI |
|
VR_PEREL |
NI |
|
EKZ |
NI |
|
DENGI |
NI |
|
KDS |
NI |
|
EXKYRS |
NI |
|
KOLDNEI |
NI |
|
YAZIK |
NI |
|
DETI |
NI |
|
ANIM |
NI |
|
VID_EXKYRS |
NI |
|
SHOP |
NI |
|
KAZ |
NI |
|
TEATR |
NI |
|
YAVLEN |
NI |
|
ISTOR |
NI |
|
TRANSP |
NI |
|
VID_OTD |
NI |
Первоначально предполагается, что переменным значения еще не присвоены и признак инициализации для всех переменных равен NI. По мере того как полученная от посетителя информация передается системе и переменным присваиваются значения, признак инициализации меняется на I.
Например, переменная VID_OTD находится в первой строке списка, но ей еще не присвоено значение (NI), и, значит, обратиться к условной части правила нельзя. Для того чтобы присвоить значение переменной VID_OTD, нужно узнать какой вид отдыха любит опрашиваемый. Ответ и будет значением переменной и признак NI заменится на признак I., а переменной VID_OTD присваивается конкретное значение.
В любом случае после присвоения переменной VID_OTD значения, для нее в соответствующей строке списка переменных признак инициализации NI заменяется на I. С этого момента, в каком бы правиле в условной части не встретилась переменная VID_OTD, она будет считаться проинициализированной, имеющей какое либо значение и ее можно использовать для работы с любыми правилами.
Таким образом, до того, как правило включается в работу, все переменные, входящие в его условную часть, должны быть проинициализированы. Определить, присвоено ли переменной условия значение, можно, просмотрев список переменных. Если переменная отмечена как NI, то прежде, чем начать работать с правилом, ей надо присвоить значение. Как только от посетителя получена информация и переменной присвоено значение, она помечается как I.
Список переменных условия – это перечень всех переменных для всех условных частей всех правил базы знаний.
Условная часть правила (ЕСЛИ) может содержать несколько переменных. Под каждое правило выделяется одинаковое число позиций в списке переменных условия. Минимальное число позиций равно числу переменных условия самого «длинного» правила.
1 VID_OTD 2 KLIMAT 3 RAZVLECH 4 PLYAG 5 |
6 VID_OTD 7 KLIMAT 8 RAZVLECH 9 PLYAG 10 |
11 VID_OTD 12 KLIMAT 13 RAZVLECH 14 PLYAG 15 |
16 VID_OTD 17 KLIMAT 18 RAZVLECH 19 VR_PEREL 20 |
21 VID_OTD 22 KLIMAT 23 RAZVLECH 24 VR_PEREL 25 |
26 VID_OTD 27 KLIMAT 28 RAZVLECH 29 VR_PEREL 30 |
31 VID_OTD 32 KLIMAT 33 EKZ 34 DENGI 35 |
36 VID_OTD 37 KLIMAT 38 EKZ 39 DENGI 40 |
41 VID_OTD 42 KLIMAT 43 EKZ 44 DENGI 45 |
46 VID_OTD 47 KLIMAT 48 EKZ 49 KDS 50 |
51 VID_OTD 52 KLIMAT 53 EKZ 54 KDS 55 |
56 VID_OTD 57 KLIMAT 58 EKZ 59 KDS 60 |
61 VID_OTD 62 EKSKYRS 63 KOLDNEI 64 YAZIK 65 |
66 VID_OTD 67 EKSKYRS 68 KOLDNEI 69 YAZIK 70 |
71VID_OTD 72 EKSKYRS 73 KOLDNEI 74 YAZIK 75 |
76 VID_OTD 77 EKSKYRS 78 KOLDNEI 79 DETI 80 |
81 VID_OTD 82 EKSKYRS 83 KOLDNEI 84 DETI 85 |
86 VID_OTD 87 EKSKYRS 88 ANIM 89 90 |
91 VID_OTD 92 EKSKYRS 93 ANIM 94 95 |
96 VID_OTD 97 VID_EKSKYRS 98 SHOP 99 KAZ 100 |
101VID_OTD 102 VID_EKSKYRS 103 SHOP 104 KAZ 105 |
106 VID_OTD 107 VID_EKSKYRS 108 SHOP 109 TEATR 110 |
111 VID_OTD 112 VID_EKSKYRS 113 SHOP 114 TEATR 115 |
116 VID_OTD 117 VID_EKSKYRS 118 YAVLEN 119 ISTOR 120 |
121 VID_OTD 122 VID_EKSKYRS 123 YAVLEN 124 ISTOR 125 |
126 VID_OTD 127 VID_EKSKYRS 128 YAVLEN 129TRANSP 130 |
131 VID_OTD 132 VID_EKSKYRS 133 YAVLEN 134TRANSP 135 |
Рисунок 3 - Список переменных условия
На рис. 3 показан список переменных условия для всех правил рассматриваемой базы знаний. Для простоты программирования предполагается, что каждое правило не может содержать больше пяти переменных условия (т.к. самое длинное правило, например, содержит четыре переменных условия). Пятая позиция добавлена «про запас».
Слева от имен переменных даны числа , указывающие индекс элемента массива (по семь на правило), в который помещается имя соответствующей переменной. Незанятые элементы массива, отведенные правилу, остаются пустыми. В принципе можно запрограммировать любое число переменных для каждого правила. Однако при отведении места под переменные условия лучше для каждого правила резервировать одинаковое число элементов массива. Это упростит вычисление индекса первого элемента, отведенного правилу в списке. Его можно вычислить с помощью простой формулы:
№ = 6* (номер правила/10 — 1)+1
Например, переменные правила 50 будут размещаться, начиная с 25-го элемента массива: 6* (50/10—1)+1=25. №=25.
Теперь посмотрим, каким образом три описанные структуры данных соотносятся с мыслительной деятельностью человека в процессе обратной цепочки рассуждений. Прежде всего человек просматривает все возможные пути, способные привести к решению задачи (список логических выводов). Затем он выделяет условия, составляющие эти пути (список переменных и список переменных условия). Такие структуры данных позволяют быстро обрабатывать информацию, не повторяя одни и те же шаги по нескольку раз, потому что значения переменных можно использовать в определенной ситуации для различных логических выводов.
2. 5 Интерфейс программы и программная реализация
Для программной реализации ЭС был выбран язык HTML.
HTML (HyperText Markup Language) - язык гипертекстовой разметки документов. Назначение HTML в том, чтобы сделать документы пригодными для чтения с экрана монитора.
Для создания HTML документов используют текстовые редакторы (например Блокнот), текстовые процессоры (Word), редакторы тегов HTML и визуальные HTML-редакторы. Вы можете создать HTML документ в простом Блокноте. Придерживаясь определённого стандарта и записав в текстовом файле HTML код, сохранив на жёстком диске и изменив расширение на .html или .htm я получила полноценную web страничку.
Теги - это инструменты разметки текста. Теги могут прописываться как строчными, так и прописными буквами, разницы никакой нет. Теги бывают парными и не парными. В качестве примера парного тега можно привести тег <html></html>, этот тег начинает и заканчивает любой HTML документ. Вторая часть парного тега отличается от первой только наличием символа "/", однако первая часть тега может содержать и дополнительные параметры. Например в теге <font size="4"></font>, параметр size="4" определяет размер текста. Примером непарного тега является <hr> - тег вставки в HTML документ горизонтальной линии, такой как в конце этого абзаца.
С помощью различных тегов, приемов и методов было оформлено нужное количество страничек на html.
Интерфейс приложения выглядит следующим образом (рисунок 4):
Программная реализация главной формы:
<html>
<head>
<title>Главная</title>
</head>
<frameset rows="100,*">
<frame src="ya.htm">
<frameset cols="180,*">
<frame src="картинки\пляж.jpg">
<frame src="видотдыха.htm">
</frameset>
</frameset>
</html>
Программная реализация формы о шоппинге:
<html>
<head>
<title>Нужен ли Вам шоппинг?</title>
</head>
<body bgcolor="lightblue">
<br><br><br><br>
<H1><i><b><p align="center"> <font color="blue">Нужен ли Вам шоппинг?</font> </p> </b> </i></H1>
<br>
<a href="shd.htm"><H1><i><b><p align="center"> <font color="black"> 1) Да, обязательно</font> </p> </b> </i></H1></a>
<a href="shn.htm"><H1><i><b><p align="center"> <font color="black">2) Нет, не обязательно</font> </p> </b> </i></H1></a>
</body>
</html>
Список литературы
1. Романов В.П. Интеллектуальные
информационные системы в
2. Гаскаров Д.В. Интеллектуальные информационные системы: Учебник для вузов/ Д.В. Гаскаров. -- М.: Высш. шк., 2003 – 431 с.
3. Круглов В.В. Интеллектуальные
информационные системы/ В.В. Круглов.
-- М.: Физико-математическая
4. Программирование на
языке Пролог для
Информация о работе Разработка экспертной системы «Выбор страны отдыха»