Создание экспертной системы «Выбор породы собак»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РЕСПУБЛИКА КАЗАХСТАН
Рудненский индустриальный институт
Кафедра ИСиТ
КОНТРОЛЬНАЯ РАБОТА
По дисциплине: «Экспертные системы»
Тема: «Создание экспертной системы «Выбор породы собак»»
Руководитель: М. Н. Юдина
«_____» ____________2003г.
Группа: ЗИС-5 со
Шифр: 21201
Рудный 2004
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ПОСТАНОВКА ЗАДАЧИ 5
2. ОПИСАНИЕ БАЗЫ ЗНАНИЙ 6
3. МЕТОД РЕШЕНИЯ 8
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 9
ПРИЛОЖЕНИЕ Листинг программы 10
ВВЕДЕНИЕ
Экспертные системы (ЭС)- это программа для компьютера, которая оперирует со знаниями в определенной предметной области с целью выработки рекомендаций или решения проблем.
ЭС может полностью взять на себя функции, выполнение которых обычно требует привлечения опыта человека-специалиста или играть роль ассистента для человека, принимаемого решение. Другими словами система (техническая или социальная), требующая принятия решения, может получить его непосредственно от программы или через промежуточное звено – человека, который общается с программой. Тот кто принимает решение, может быть экспертом со своими правами, и в этом случае программа может «оправдать» свое существование, повышая эффективность его работы. Альтернативный вариант – человек, работающий в сотрудничестве с такой программой, может добиться с ее помощью результатов более высокого качества. Вообще говоря, правильное функционирование между человеком и машиной является одним из ключевых условий высокой эффективности внедрения ЭС.
Технология ЭС является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта (Artificial Intelligence – AI). Исследования этой области сконцентрированы на разработке и внедрении компьютерных программ, способных имитировать, воспроизводить те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и понимания человеческого языка.
Эта технология уже успешно применяется в некоторых областях техники и жизни общества – органической химии, поиске полезных ископаемых, медицинской диагностики.
ЭС отличаются от других видов программ из области искусственного интеллекта:
ЭС имеют дело с предметами реального мира, операции с которыми требуют наличия значительного опыта, накопленного человеком. ЭС имеют ярко выраженное практическое направление в научной или коммерческой области.
Одной из основных характеристик ЭС является ее производительность, т.е. скорость получения результата и его достоверность (надежность). ЭС должна за приемлемое время найти решение, которое было бы не хуже, чем то, которое может предложить специалист в этой предметной области.
ЭС должна обладать способностью объяснить почему предложено именно такое решение, и доказать его обоснованность. Пользователь должен получить всю информацию, необходимую ему для того, чтобы быть уверенным, что решение принято «не с потолка».
ЭС проектируется в расчете на взаимодействие с различным пользователем, для которого ее работа должна быть, по возможности, прозрачной, т.е. решение ЭС объяснено пользователю на качественном уровне.
Суммируя все выше сказанное, отметим, - ЭС содержит знания в определенной области, накопленной в результате практической деятельности человека (или человечества), и использует их для решения проблем, специфичных для этой области. Этим ЭС отличаются от прочих «традиционных» систем, в которых предпочтение отдается более общим и менее связанным с предметной областью теоретическим методам, чаще всего математическим.
Знания о предметной области, необходимые для работы ЭС, определенным образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.
В самом общем случае для того, чтобы построить экспертную систему, необходимо разработать механизмы выполнения следующих функций системы:
решение задач с использованием знаний о конкретной предметной области возможно, при этом возникнет необходимости иметь дело с неопределенностью;
взаимодействие с пользователем, включая объяснение намерений и решений системы во время и после окончания процесса решения задачи.
Каждая из этих функций может оказаться очень сложной и зависит от прикладной области, а также от различных практических требований.
ЭС выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз.
Главное достоинство ЭС - возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов. Накопление знаний позволяет повышать квалификацию специалистов, работающих на предприятии, используя наилучшие, проверенные решения.
1. ПОСТАНОВКА ЗАДАЧИ
Целью контрольной работы было написание консультирующей экспертной системы «Выбор породы собак», которая позволила бы из множества пород выбрать ту, которая удовлетворяла бы требованиям пользователя.
Использование экспертной системы в данной области в первую очередь предотвратит ошибку при выборе породы, ведь речь идет о живом существе, и во-вторых служит познавательным пособием для общего развития.
2. ОПИСАНИЕ БАЗЫ ЗНАНИЙ
В качестве источника знаний для БЗ была использована литература с описание пород собак: к какой группе относятся (служебные, охотничьи, декоративные), размеры собаки, характер, какими качествами обладают, где используются в человеческой жизни.
В результате этого была разработана формализованная БЗ:
1. Служебные собаки.
Характе- ристики
Порода собаки | Проводник | Спасатель на воде | Спасатель на снегу | Пастух | Поисково-спасательная | Патрульно-постовая | Розыскная | Спортивная | Домашняя | Охрана - улица | Охрана - дом | Неприхотливая к кл.усл. | Агрессивная | Крупная | Средняя | Короткая шерсть | Длинная шерсть |
Немецкая овчарка | + |
|
|
| + | + | + | + |
| + |
| + |
|
| + | + |
|
Кавказская овчарка |
|
|
| + |
|
|
|
|
| + |
| + | + | + |
|
| + |
Шотландская овчарка(колли) | + |
|
| + |
|
| + |
| + |
| + | + |
|
| + |
| + |
Среднеазиатская овчарка |
|
|
| + |
|
|
|
|
| + |
| + | + | + |
|
| + |
Южнорусская овчарка |
|
|
| + |
|
|
|
|
| + |
| + | + | + |
|
| + |
Эрдельтерьер | + |
|
|
|
|
| + | + | + |
| + |
|
|
| + | + |
|
Ротвейлер | + |
|
|
| + | + | + |
|
| + | + |
|
|
| + | + |
|
Черный терьер |
|
|
|
|
|
|
|
|
| + |
| + | + | + |
|
| + |
Сембернар |
|
| + |
|
|
|
|
| + |
| + | + |
| + |
|
| + |
Московская сторожевая |
|
|
|
|
|
|
|
|
| + |
| + | + | + |
|
| + |
Ризеншнауцер |
|
|
|
|
| + |
| + | + | + | + |
| + |
| + |
| + |
Доберман |
|
|
|
| + |
| + |
|
| + | + |
| + |
| + | + |
|
Боксер | + |
|
|
|
|
|
|
| + |
| + |
| + |
| + | + |
|
Дог |
|
|
|
|
|
|
|
| + |
| + |
|
| + |
| + |
|
Ньюфаундленд |
| + |
|
|
|
|
|
| + |
| + |
|
| + |
|
| + |
2. Охотничьи собаки.
Характе- ристики
Порода собаки | Охота на птицу | Скоростная охота | Универсальная охота | Норная охота | Спортивная | Для дома | Короткая шерсть | Длинная шерсть | Небольшой рост | Средний и высокий рост |
Лайка | + |
| + |
|
|
|
| + |
| + |
Борзые |
| + |
|
| + |
| + |
|
| + |
Гончие |
| + |
|
| + |
|
| + |
| + |
Легавые | + |
|
|
| + |
| + |
|
| + |
Спаниели | + |
|
|
|
| + |
| + | + |
|
Фокстерьер |
|
|
| + |
| + | + |
| + |
|
Такса |
|
|
| + |
| + | + |
| + |
|
Скотч-терьер |
|
|
| + |
| + |
| + | + |
|
3. Декоративные собаки.
Характе- ристики
Порода собаки | Для детей | Неприхотливая | Покладистая | Короткая шерсть | Длинная шерсть |
Болонка | + | + | + |
| + |
Пинчер |
|
|
| + |
|
Тойтерьер |
|
|
| + |
|
Карликовый терьер |
|
|
| + |
|
Японский хин | + | + | + |
| + |
Чау-чау |
|
|
|
| + |
Мопс | + |
| + | + |
|
Французский бульдог | + | + | + | + |
|
Карликовый пудель | + | + | + |
| + |
3. МЕТОД РЕШЕНИЯ
При решении контрольной работы использована продукционная модель, которая наиболее часто используется в экспертных системах способов представления знаний. Основная идея заключается в ассоциировании с соответствующими действиями набора условий в виде правил типа "если-то".
Например,
Выбираем группу «Служебные собаки».
Вопрос1. Вам нужна собака – проводник для слепых ?
Ответ: Да
Результат (в таблице +) : Немецкая овчарка, Колли, Эрдельтерьер, Ротвейлер, Боксер.
Ответ: Нет
Вопрос2. Вам нужна собака – спасатель на воде ?
Ответ: Да
Результат (в таблице +) : Ньюфаундленд.
Ответ: Нет
Вопрос3. Вам нужна собака – спасатель в снежных горах?
Ответ: Да
Результат (в таблице +) : Сембернар.
Ответ: Нет
Вопрос4. Вам нужна собака – пастух ?
Ответ: Да
Результат (в таблице +) : Кавказская овчарка, Колли, Среднеазиатская овчарка, Южнорусская овчарка.
Ответ: Нет
Вопрос5. Вам нужна собака для поисково-спасательной службы ?
Ответ: Да
Результат (в таблице +) : Немецкая овчарка, Ротвейлер, Доберман.
Ответ: Нет
Вопрос6. и т.д.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Собака- кто она? Происхождение и эволюция собак различных пород.
Библиотечка собаковода. М: Эра, 1992.
- П. Джексон, Введение в экспертные системы, Издательский дом «Вильямс», 2001.
ПРИЛОЖЕНИЕ (Листинг программы)
* Выбор группы пород
close table
sele a
use "&dr.dogs.dbf"
Thisform.Height=240
store 0 to n,n1,n2
sele b
do case
case Thisform.Combo1.Value='Служебн
g=1
use "&dr.vopros_1"
case Thisform.Combo1.Value='Охотнич
g=2
use "&dr.vopros_2"
case Thisform.Combo1.Value='Декорат
g=3
use "&dr.vopros_3"
endcase
Thisform.Text1.Value=b->soderj
Thisform.Text1.Refresh
* Ответ «ДА»
n=allt(str(b->npp))
n1=b->n_yes
sele a && dogs.dbf
copy to "&dr.m1"
use "&dr.m1"
select * from m1 where grup=g and priz&n=1 into tabl "&dr.m2"
*brow
IF _TALLY=0
i=0
Thisform.List1.columncount=1
Thisform.List1.RowSourceType=1
Thisform.List1.Rowsource='
Thisform.List1.ItemForeColor=
Thisform.List1.FontBold=.T.
Thisform.List1.FontSize=12
Thisform.Text1.Value=' '
Thisform.Combo1.Value=' '
Thisform.Height=385
Thisform.Refresh()
ELSE
use
sele a
use "&dr.m2"
sele b
locate for npp=n1
if found()
Thisform.Text1.Value=b->soderj
else
sele a
Thisform.List1.columncount=1
Thisform.List1.rowsourcetype=6
Thisform.List1.rowsource='m2.
Thisform.List1.ItemForeColor=
Thisform.List1.FontBold=.F.
Thisform.List1.FontSize=11
Thisform.Text1.Value=' '
Thisform.Combo1.Value=' '
Thisform.Height=385
Thisform.Refresh()
endif
ENDIF
* Ответ «НЕТ»
sele b
n=b->npp
n2=b->n_no
locate for npp=n2
if found()
Thisform.Text1.Value=b->soderj
else
susp
i=0
Thisform.List1.columncount=1
Thisform.List1.RowSourceType=1
Thisform.List1.Rowsource='Опре
Thisform.List1.FontBold=.T.
Thisform.List1.FontSize=12
Thisform.Text1.Value=' '
Thisform.Combo1.Value=' '
Thisform.Height=385
Thisform.Refresh()
endif
8