Лабораторная работа 1 Тема Построение представления знаний в конкретной предметной области в среде Visual Basic или Delphi (3ч)
Скачать 24.86 Kb.
|
Лабораторная работа 1Тема: Построение представления знаний в конкретной предметной области в среде Visual Basic или Delphi (3ч). Задание: для выполнения лабораторной работы необходимо ознакомиться с возможностями представления знаний в конкретной предметной области. Цель: изучение представления знаний в конкретной предметной области. Рассмотрим пример описания объекта. Пусть выбрана предметная область «мебель». Объект – стул. Свойства объекта: деревянный, имеет 4 ножки, имеет сиденье, представляют собой факты. Построим правила вида «ЕСЛИ - ТО ». Правило1: ЕСЛИ предмет деревянный И имеет 4 ножки И имеет сиденье ТО это стул. Под такое описание объекта подходят также скамейка и кровать. Значит, необходимо изменить или правило, или дополнить свойства объекта. Введем еще одно свойство: имеет спинку. Правило2: ЕСЛИ предмет деревянный И имеет 4 ножки И имеет сиденье И имеет спинку ТО это стул. Под такое описание объекта подходят также диван и кресло. Продолжим процесс уточнения описания объекта. Введем еще одно свойство: предназначен для того, чтобы сидеть. Правило3: ЕСЛИ предмет деревянный И имеет 4 ножки И имеет сиденье И имеет спинку И предназначен для того, чтобы сидеть ТО это стул. Под такое описание объекта также подходят диван и кресло. Продолжим процесс уточнения описания объекта до тех пор, пока не сможем твердо сказать, что описанный объект есть стул. Рассмотрим пример для предметной области «мебель» с реализацией его в среде Visual Basic. Построим 3 правила: ЕСЛИ 4 ножки И сиденье ТО табурет ЕСЛИ 4 ножки И сиденье И спинка ТО это стул ЕСЛИ 4 ножки И сиденье И спинка И подлокотники ТО кресло Если условия не выполняются, то это не мебель (неизвестный объект). Создадим форму, представленную на рисунке 7, где флажки (Check) организованы в виде массива. Рисунок 7 – Пример для лабораторной работы 1 Отметив какие-то из свойств на форме и нажав на кнопку «Что выбрали?», мы получим ответ. Опишем созданные программы. В области объявлений (область General) надо объявить массив, содержащий свойства объектов: Dim a(3) As StringСоздадим процедуру на загрузку формы, позволяющую задать значения элементам массива и присвоить эти данные флажкам через свойство Caption: Private Sub Form_Load() a(0) = "4 ножки" a(1) = "спинка" a(2) = "сиденье" a(3) = "подлокотники" For i = 0 To 3 Check1(i).Caption = a(i) Next i End Sub Создадим процедуру на кнопку «Что выбрали?» (Command1), где производится проверка, какие из флажков отмечены, и выдается сообщение какой объект задан или же выдается сообщение, что объект не определен: Private Sub Command1_Click() Dim b As String b = "это не мебель" If Check1(0) Then If Check1(2) Then If Check1(1) Then If Check1(3) Then b = "кресло" Else b = "стул" End If Else b = "табурет" End If Else b = "это не мебель" End If End If MsgBox "ваш выбор " + b End Sub Создадим процедуру на щелчок на форме, позволяющую «очистить» флажки: Private Sub Form_Click() For i = 0 To 3 Check1(i).Value = False Next i End Sub Для выполнения лабораторной работы необходимо сделать следующее: определить предметную область, для которой будут описаны знания; примеры предметных областей: - предметная область «мебель», объекты: кровать, диван, софа, стул, кресло и т.д.; - предметная область «посуда», объекты: чайник, кастрюля, сковорода, самовар и т.д.; - предметная область «фрукты-овощи», объекты: яблоко, груша, арбуз, огурец и т.д.; - предметная область «одежда», объекты: юбка, пальто, платье, костюм, блузка и т.д. описать свойства для каждого из объектов в виде правил «ЕСЛИ - ТО»; создать форму в среде Visual Basic или Delphi, аналогичную форме на рисунке 7; создать процедуры, позволяющие распознавать объект на основе его свойств, аналогично описанным выше процедурам, и отладить их; для защиты лабораторной работы необходимо представить и описать все выполняемые действия в виде отчета. 2осн [29-54] 9доп [3-7] Контрольные вопросы: Как можно представить знания для конкретной предметной области? Какие правила можно составить для предметной области «мебель»? Как может выглядеть форма для работы со знаниями в среде Visual Basic? Какую процедуру можно создать на кнопку «Что выбрали?» в среде Visual Basic? Каков алгоритм распознавания объект из конкретной предметной области? |