Thon Условные



бет18/38
Дата23.02.2020
өлшемі2,05 Mb.
#58878
1   ...   14   15   16   17   18   19   20   21   ...   38
Байланысты:
8-3 python


Экспертная система

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

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

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

Мы построим простейшую экспертную систему, которая за-даёт пользователю вопросы и по его ответам определяет класс животных.

Предположим, что в базу знаний внесены следующие пра-вила:

если у животного есть перья, то это птица;

если животное кормит детенышей молоком, то это млеко-питающее;

если животное млекопитающее и ест мясо, то это хищ-ник.

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

Это животное кормит детей молоком? нет Это животное имеет перья? да

Это птица.

Для того чтобы определить последовательность вопросов, эксперт строит дерево решений, например, такое:

44 http://kpolyakov.spb.ru


Информатика, 8 класс

нет
05.04.2019 К.Ю. Поляков, Е.А. Еремин


Кормит детей молоком?



Кормит детей молоком?



млекопитающее


Кормит детей молоком?

Кормит детей молоком?


Кормит детей молоком?

Кормит детей молоком?

да


хищник

Рис. 3.4.

В прямоугольниках записаны вопросы, которые задаёт сис-тема пользователю, у стрелок его возможные ответы («да» или «нет»). Фоном выделены выводы результат работы эксперт-ной системы.



Постройте трёхуровневое дерево решений для своей экспертной системы.

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



Человеку удобнее вводить ответ словами («да», «нет»), то есть в виде символьной строки. Именно в такой форме возвра-щает результат ввода функция input, с которой мы уже знако-мы.

Программа начинает диалог с вопроса «Кормит детей моло-ком?» и в зависимости от ответа выбирает одну из двух ветвей дерева решений (см. Рис. 3.4).

otvet = input( "Кормит детей молоком? " ) if otvet == "да":

... # вариант 1 else:

... # вариант 2

Конечно, вместо многоточий должны быть добавлены команды, которые нужно выполнить в каждом случае.
45 http://kpolyakov.spb.ru

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин



Обратите внимание, что символьные строки можно сравни-вать с помощью оператора «= так же, как и числа.

Разберём дальнейшие действия системы при первом ответе «да». Во-первых, нужно вывести первый результат: «Это млеко-питающее». Во-вторых, задаём второй вопрос и в зависимости от ответа на него сообщаем второй результат:

print( "Млекопитающее." ) otvet = input( "Ест мясо? " ) if otvet == "да":

print( "Хищник." ) else:


Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   ...   38




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет