Экспертные системы на базе VP-Expert
Московский государственный
институт электроники и математики
(технический
университет)
кафедра ИТАС
Пояснительная
записка к курсовому проекту по дисциплине «экспертные системы» на тему:
«Экспертная система на базе VP-expert»
Выполнили
студенты
группы АП-101
Петушко А.Г.
Матусов В.В.
Ицков О.М.
Сдано _________ 199 г
Оценка___________
Москва 1996 г.
1. ВВЕДЕНИЕ
Совершенствование
средств вычислительной техники по пути улучшения технических
характеристик позволяет значительно расширить сферу ее применения в народном
хозяйстве. Появление персональных компьютеров дает возможность облегчить
доступ к ЭВМ широкому кругу специалистов из различных областей производства,
науки и техники. В настоящее время при помощи ЭВМ различные типы задач решаются
с большой эффективностью:
·
Вычислительные задачи - в которых в соответствии с определенным
алгоритмом и множеством входных данных получают множество
результатов. Алгоритм в таких задачах выступает в качестве строгой
последовательности операций.
·
Информационные задачи - нахождение части базы данных, соответствующей
внешнему запросу. Алгоритм здесь - последовательность информационно
- поисковых процедур, а база данных - набор декларативных знаний.
·
Задачи АСУ принятия решений - когда на основании определенного
набора критериев из множества альтернатив выбирается наиболее подходящая
для достижения поставленных целей. Цели и критерии могут быть как постоянными,
так и изменяться в процессе решения задачи.
·
Логические задачи, в которых по описанию начальной и целевой
ситуаций из имеющегося набора действий синтезируется алгоритм достижения
цели. Для решения двух последних типов задач могут применяться методы
искусственного интеллекта, основанные на знаниях. Одной из разновидностей
систем, использующих эти методы, являются экспертные системы (ЭС). Они
представляют собой попытку создания человеко-машинных комплексов
для решения слабо формализуемых задач или задач вообще не имеющих
алгоритмического решения.
Можно дать
следующее определение экспертной системе:
Экспертная система -
это компьютерная программа, содержащая накопленные знания специалистов в
определенной предметной области, Эта программа способна вырабатывать
рекомендации, какие бы дал эксперт-человек, запрашивая при необходимости
дополнительную информацию. Экспертные системы могут работать на том же уровне
что и эксперты, а в некоторых случаях они лучше, потому что в нее вложен
коллективный опыт их создателей.
2. ВИДЫ И ФОРМЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Определим знания как
систему понятий и отношений между ними. Задача, подлежащая решению
с помощью экспертной системы, формулируется в терминах принятых в этой
системе. Будем различать в конкретной предметной области следующие типы знаний:
понятийные, конструктивные, процедурные, фактографические и метазнания.
·
Понятийные - набор понятий, которыми пользуются при решении
данной задачи. Этот тип знаний вырабатываются в фундаментальных науках и
теоретических разделах прикладных наук.
·
Конструктивные - это знания о наборах возможных структур
объектов и взаимодействии между их частями. Получение этого типа знаний
характерно для техники и большей части прикладных наук.
·
Процедурные знания - используемые в выбранной предметной
области методы, алгоритмы и программы, полезные для данного конкретного
приложения, которые можно использовать, передавать и объединять в библиотеки.
·
Фактографические - количественные и качественные характеристики
объектов и явлений.
·
Метазнания - знания о порядке и правилах применения знаний.
Можно определить
модель предметной области как
(модель предметной
области)=
(понятийные
знания)+
(конструктивные
знания),
а базу знаний:
(база знаний)=
(модель
предметной области)+
(процедурные
знания)+
(метазнания)+
(фактографические знания).
Существуют различные
формы представления знаний. При практической разработке экспертных
систем в настоящее время чаще всего используются эвристические модели -
набор средств, (в принципе, любых) передающих свойства и особенности
предметной области. Примером эвристической модели могут служить сетевые,
фреймовые и продукционные модели.
В большинстве
экспертных систем в базе знаний хранятся используемые в данный момент
правила и сведения о проблемной области.
Подход,
основанный на продукционных правилах, чрезвычайно распространен в
экспертных системах. Как правило, они имеют форму ЕСЛИ ... ТОГДА
....ИНАЧЕ.... .
Например,
ЕСЛИ тип_эвм =
микро И
класс_эвм =
средний
ТОГДА эвм = IBM_PC/XT
CNF 65
ИНАЧЕ эвм = ДВК-3
CNF 20 .
В приведенном правиле
заложено знание о том, что если выбираемый тип ЭВМ микро, а класс ее
средний, то с уверенностью 65% желательно приобретение компьютера IBM PC/XT
. В противном случае с уверенностью 20% допустим выбор ДВК-3.
Набор правил подобной структуры - наиболее распространенное представление знаний
в базе продукционного типа.
В основе
представления знаний с помощью семантических сетей лежит формализация в
виде графа с помеченными вершинами и дугами.
Вершины представляют собой
некоторые сущности (объекты, события, процессы, явления и др.), а дуги -
отношения между ними. Рассмотрим простейшую семантическую сеть, выражающую
знания: произведена классификация ЭВМ по типам - в зависимости от
производительности (микро, мини, мега) и по классам - по их стоимости (низкая,
средняя, высокая, большая). Дуги данной сети обозначают соответствие.
Различным моделям ЭВМ
соответствуют различные комбинации классов и типов, Рис. 1.
В некоторых типах
экспертных систем применяется представление знаний в виде фреймов. Это
специфические объекты, соответствующие понятиям предметной области, имеющие
внутреннюю структуру в виде слотов. Слотами могут быть данные, правила,
другие фреймы. Фреймы - более сложный способ представления знаний, используемый
в наиболее мощных экспертных системах.
3. СОСТАВ И ФУНКЦИОНИРОВАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ
Обычно
считается, что прагматические требования к экспертной системе сводятся к
тому, что она должна быть предназначена для удобной, квалифицированной
поддержки информационной деятельности человека в определенной предметной
области. Подразумевается наличие развитого диалога, обеспечивающего
понимание входных сообщений, выполнение нужных процедур и выдача разумных
сообщений в удобной форме. Считают, что сообщения разумны, если они заслуживают
доверия и "прозрачны".
Структура
типичной экспертной системы приведена на Рис.2. Как
правило, в ее
состав входят:
1. -
Интерфейс, обеспечивающий общение пользователя с экспертной системой
в удобной для него форме, он позволяет передавать ей информацию,
составляющую содержание базы данных, обратиться к системе с вопросом или за
объяснением.
2. -
Рабочая память, хранящая данные (база данных), соответствующие
объектам, связь между которыми задается правилами в базе знаний.
3. -
Диспетчер, определяющий порядок функционирования экспертной системы,
планирующий порядок постановки и достижения целей.
4. -
Машина вывода - формально-логическая система, реализованная в виде
программного модуля, позволяющая логически выводить необходимую для
пользователя информацию, исходя из сведений, размещенных в базе знаний.
5. -
База знаний - совокупность всех имеющихся сведений о проблемной области,
для которой предназначена данная экспертная система, записанных с помощью
определенных формальных структур представления знаний (набора правил,
фреймов, семантических сетей и пр.)
Важной
компонентой экспертной системы является блок объяснений, дающий
возможность пользователю убедиться в обоснованности информации,
получаемой им от экспертной системы, позволяющий задавать ей вопросы, и на
основании разумных ответов проникаться к ней доверием.
Два
подхода получили наибольшее распространение при создании машин логического
вывода экспертных систем.
- Системы
с прямым логическим выводом, в которых производится многократное применение
всех правил базы знаний к доступным данным, с возможностью запроса
недостающих. Процесс преобразования данных под воздействием машины логического
вывода происходит до тех пор пока возможно изменение их значений.
Упрощенный алгоритм функционирования такой экспертной системы имеет вид
(структура экспертной системы приведена на рис.2).
1. В
рабочую память 2 через интерфейс 1 вводятся пользователем значения исходных
переменных.
2. В
базе знаний 5 определяются те правила, в условиях которых присутствуют
переменные, имеющиеся в рабочей памяти.
3. Производится
попытка применения правил с помощью машины логического вывода 4 и занесение
результатов в рабочую память.
4. Если
применение хотя бы одного правила оказалось успешным, то переход к п.2.
5. Если
достигнутое состояние рабочей памяти (базы данных) не позволяет больше
применить ни одно из правил базы знаний, то процесс логического вывода
заканчивается и диспетчер 3 принимает решение о выдаче пользователю через интерфейсный
блок информации, полученной в результате применения правил.
Системы с
прямым логическим выводом более просты в построении, результатом работы у них
обычно является целый пакет данных, но их эффективность не всегда соответствует
требованиям практических задач.
В
системах обратного вывода намечается перечень конечных целей - переменных,
значения которых необходимо получить. Далее производится поиск правил,
определяющих эти цели. Вычисляются значения всех переменных, входящих в
условия правила. Если переменные определяются другими правилами,
происходит переход к выяснению истинности их условий, в противном
случае значения переменных запрашиваются у пользователя. Процесс
экспертизы заканчивается после того, как будут найдены все поставленные цели
консультации. Это означает, что должна быть выяснена истинность всех
переменных, входящих в задействованные правила. Упрощенный алгоритм
функционирования экспертных систем обратного вывода можно
представить в
следующем виде.
1. Задается
набор целей - переменных, значение которых требуется определить с помощью
экспертной системы. Список этих переменных через интерфейс вводится в
рабочую память.
2. В
базе знаний машина логического вывода выделяет список правил, из которых
можно найти неизвестные переменные в рабочей памяти.
3. Из
условий выделенных правил, определяются остальные переменные, необходимые
для применения правил.
4. Определяется,
какие из найденных в п.3 переменных можно получить из правил базы знаний.
5. Дополняется
список целей переменными найденными в п.4.
6. Значения
переменных из списка определенного в п.3, за исключением найденных в п.4,
запрашиваются у пользователя.
7. Производится
попытка применения правил базы знаний для достижения поставленных целей.
8. Если
не все цели достигнуты (не удалось применить все правила, определяющие
интересующие нас переменные), производится переход к п.2, исключив из списка
целей найденные переменные.
9. По
достижению всех первоначально поставленных целей диспетчер прекращает
работу машины логического вывода и через интерфейс выводит пользователю
значения этих переменных. Логический вывод прекращается также, если нельзя
достичь поставленных целей.
В
большинстве реально работающих экспертных систем, как правило, используются
различные модификации и комбинации рассмотренных выше алгоритмов.
4. ОСОБЕННОСТИ СОЗДАНИЯ ЭКСПЕРТНЫХ СИСТЕМ
Проектирование
экспертных систем имеет определенные отличия от создания традиционного
программного продукта. Суть этого отличия в том, что разработчики не пытаются
сразу построить конечный продукт, а создают прототип экспертной системы.
Прототип должен удовлетворять основным требованиям к системе при минимальной
трудоемкости при его создании. Для удовлетворения этим требованиям используются
разнообразные инструментальные средства (специализированные
языки искусственного интеллекта, оболочки экспертных систем и др.)
ускоряющие процесс разработки. Возможно, что может потребоваться создание не
одного , нескольких прототипов, базирующихся на различных способах
представления знаний, с
последующим выбором
наиболее удачного. B том случае когда достигнута удовлетворительная
работа прототипа по всему комплексу задач, возможно принятие
решения об окончательном перепрограммировании всей системы на языках
низкого уровня, с целью улучшения ее характеристик - увеличения
быстродействия, уменьшения занимаемой памяти, повышения эргономических
параметров интерфейса.
Опыт разработки
экспертных систем позволяет выделить следующие этапы при их создании:
· -
Идентификация - определение проблемы, ресурсов, целей, экспертов, производится
неформальное (вербальное) описание проблемы.
· -
Концептуализация - выделение ключевых понятий системы, отношений и
характеристик, достаточных для полного и детального описания рассматриваемой
проблемы.
· -
Формализация - выражение введенных понятий на некоторым формальным языке,
построение модели исследуемой области.
· -
Этап выполнения - создание одного или нескольких прототипов.
· -
Этап тестирования - оценка выбранного метода представления знаний и работоспособности
всей системы в целом на основе проверки прототипа.
· -
Этап опытной эксплуатации - проверка пригодности системы для конечного пользователя.
· -
Модификация системы - полное перепрограммирование или доведение прототипа
до состояния программного продукта.
Известны три основные
разновидности исполнения экспертных систем:
¨
- Экспертные системы, выполненные в виде отдельных программ, на
некотором алгоритмическом языке, база знаний которых является
непосредственно частью этой программы. Как правило, такие системы
предназначены для решения задач в одной фиксированной предметной области.
При построении таких систем применяются как традиционные процедурные языки
PASCAL, C и др., так и специализированные языки искусственного интеллекта
LISP, PROLOG.
¨
- Оболочки экспертных систем - программный продукт, обладающий
средствами представления знаний для определенных предметных областей.
Задача пользователя заключается не в непосредственном программировании, а
в формализации и вводе знаний с использованием предоставленных оболочкой
возможностей. Недостатком этих систем можно считать невозможность охвата
одной системой всех существующих предметных областей. Примером могут служить
ИНТЕРЭКСПЕРТ, РС+, VP-Expert.
¨
- Генераторы экспертных систем - мощные программные продукты,
предназначенные для получения оболочек, ориентированных на то или иное
представление знаний в зависимости от рассматриваемой предметной
области. Примеры этой разновидности - системы KEE, ART и др..
5. ОБЛАСТИ И КРИТЕРИИ ПРИМЕНИМОСТИ ЭКСПЕРТНЫХ СИСТЕМ
Не останавливаясь
на подробном перечне многочисленных областей применения, отметим лишь
некоторые отрасли народного хозяйства развитых стран, в которых методология
экспертных систем была успешно опробована: химия, сельское хозяйство,
электроника, образование, финансы, геология, медицина, военное дело, программное
обеспечение и многие другие.
Из перечня
основных типов решаемых ими задач можно выделить интерпретацию,
прогноз, диагностику, проектирование, планирование, управление, наблюдение,
отладка, ремонт, обучение.
В списке
наиболее распространенных в настоящее время за рубежом экспертных систем и
их оболочек можно выделить следующие наименования: INSIGT, LOGIAN,
NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM и др.
В качестве
критериев, по которым можно судить о возможности создания экспертной системы
следует отметить следующие:
1. - Необходимость
символьных рассуждений, очевидно, нет смысла разрабатывать экспертную систему
для численных расчетов, например, для преобразований Фурье,
интегрирования, решения систем алгебраических уравнений и др.
2. - Наличие
экспертов, компетентных в избранном круге вопросов, которые согласны
сотрудничать при создании ЭС.
3. - Поставленная
проблема должна быть достаточно важной и актуальной. Это могут быть
проблемы, требующие высокого уровня экспертизы, либо простые, но трудоемкие
многократно повторяющиеся проверки. Нет смысла тратить время на решение
проблем, которые возникают редко и могут быть разрешены человеком с
обычной квалификацией.
4. - Необходимо
четко ограничивать круг решаемых задач, т.е. предметная область
выбирается достаточно "узкой", чтобы избежать "комбинаторного
взрыва" объема информации необходимой для компетентного решения
поставленной задачи.
5. - Необходима
согласованность мнений экспертов о том, как следует решать
поставленные задачи, какие факты необходимо использовать и каковы общие
правила вынесения суждений. В противном случае невозможно расширить базу
знаний за пределы опыта одного человека и осуществить сплав экспертных
знаний из нескольких областей.
6. - Должно быть
достаточно исходных данных для проверки работоспособности экспертной
системы в выбранной предметной
7. области,
чтобы разработчики смогли убедиться в достижимости некоторого заданного
уровня ее функционирования.
8. - Должна
обеспечиваться возможность постепенного наращивания системы. База знаний
должна легко расширяться и корректироваться, так как правила часто меняются с
появлением новых фактов.
Ценность
использования ЭС проявляется в следующих аспектах:
a) - В
сборе, оперативном уточнении, кодировании и распространении экспертных
знаний.
b) - В эффективном
решении проблем, сложность которых превышает человеческие возможности и для
которых требуются экспертные знания нескольких областей.
c) - В сохранении
наиболее уязвимой ценности коллектива - коллективной памяти.
Создание баз
знаний открывает широкие возможности, которые обусловлены безошибочностью и
тщательностью, присущими ЭВМ и синтезом знаний экспертов. Если база
знаний объединяет информацию по нескольким дисциплинам, то такой
"сплав" знаний приобретает дополнительную ценность.
Экспертная система
позволяет решить проблему сохранения экспертных знаний, связанную
с утратой наиболее квалифицированных экспертов в результате их продвижения по
службе, смерти, перехода на другую работу или выхода на пенсию, а также
позволит сделать знания легко доступными для тех, кто займет места ушедших
экспертов.
Ограничившись
необходимым минимумом изложения теоретического материала, в дальнейшем
сосредоточим внимание на практических аспектах применения экспертных систем.
6. КРАТКОЕ ОПИСАНИЕ ЭКСПЕРТНОЙ СИСТЕМЫ VP-Expert
Рассматриваемая
система представляет собой "пустую" оболочку, хорошо зарекомендовавшую
и получившую достаточно широкое распространение. ее применение
возможно на IBM совместимых персональных компьютерах с операционной
системой MS DOS, имеющих не менее 256 К оперативной памяти и адаптеры графических
дисплеев подобные CGA, EGA или HERKULES. Важной особенностью оболочки,
существенно расширяющей ее возможности, является совместимость с файлами
созданными dBASE II, dBASE III и dBASE III+.
Для успешного
функционирования системы необходим набор из следующих файлов VPX.EXE, VPX.TXT,
VPXE.EXE, VPXH.EXE, VPXHELP.DBF, VPXHELP.HLP, VPXHELP.TXT, VPXI.EXE, VPXM.EXE,
VPXT.EXE.
Перечисленные файлы
желательно переписать с дискеты в специально созданную директорию.
Старт экспертной системы производится запуском файла VPX.EXE на
исполнение (возможно с указанием файла базы знаний с расширением .KBS).
7. Выполнение курсовой работы
Для выполнения курсовой
работы была выбрана область- поломки в двигателях и способы их устранения. В
ходе работы был написан модуль, выполняя который можно получить консультацию.
Исходный текст модуля :
RUNTIME;
EXECUTE;
BKCOLOR = 0;
ACTIONS
cls color = 9
display
"Вас приветствует система
поиска неисправностей!
выбирайте симптомы- получайте
способ устранения
(нажмите любую клавишу для
продолжения.) "
cls
FIND bug_method
display "метод
устранения неисправности {#bug_method}.";
ask prich1: "Неисправность
1-нет топлива в
карбюраторе
2-нет импульсов высокого
напряжения
3-нет импульсов тока на
катушке зажигания
4-нет высокого
напряжения на свечах
5-неправиьно
подсоединены высоковольтные провода
6-неправильный зазор в
свечах
7-трещина на изоляторе
свечей
8-неправильный момент
зажигания
9-неисправен эл.маг.
клапан
10-не открывается
воздушная заслонка "
;
!----------------------------------------------------------------
ask prich1_1: "Неисправность
1-засорены
топливопроводы
2-засорены фильтры
3-несправен топливный насос"
;
RULE 6
IF prich=1 and
prich1=1 and
prich1_1=1
THEN
bug_method=1
display "прочистить
топливопровод~"
;
RULE 7
IF prich=1 and
prich1=1 and
prich1_1=2
THEN
bug_method=2
display "прочистить или
заменить фмльтры~"
;
RULE 8
IF prich=1 and
prich1=1 and
prich1_1=3
THEN
bug_method=3
display "починить насос~"
;
!----------------------------------------------------------------
ask prich1_2: "Неисправность
1-обрыв проводов
коммутатора
2-несправен
бесконтактный датчик"
;
RULE 10
IF prich=1 and
prich1=2 and
prich1_2=1
THEN
bug_method=4
display "проверить провода
коммутатора~"
;
RULE 11
IF prich=1 and
prich1=2 and
prich1_2=2
THEN
bug_method=5
display "починить
датчик~"
;
!----------------------------------------------------------------
ask prich1_3: "Неисправность
1-обрыв проводов катушки
зажигания
2-неисправен коммутатор
3-не замыкаются контакты
выключателя зажигания"
;
RULE 13
IF prich=1 and
prich1=3 and
prich1_3=1
THEN
bug_method=6
display "проверить
провода~"
;
RULE 14
IF prich=1 and
prich1=3 and
prich1_3=2
THEN
bug_method=7
display "починить
коммутатор~"
;
RULE 15
IF prich=1 and
prich1=3 and
prich1_3=3
THEN
bug_method=8
display "починить
контакты~"
;
!----------------------------------------------------------------
ask prich1_4: "Неисправность
1-повреждение изоляции
проводов выс.напр.
2-износ контактного
уголька
3-повреждение крышки
распределителя
4-повреждение ротора
5-отказ резистора
6-повреждена катушка
зажигания "
;
RULE 17
IF prich=1 and
prich1=4 and
prich1_4=1
THEN
bug_method=8
display "проверить
провода~"
;
RULE 18
IF prich=1 and
prich1=4 and
prich1_4=2
THEN
bug_method=9
display "осмотреть крышку
распределителя, прочистить уголек~"
;
RULE 19
IF prich=1 and
prich1=4 and
prich1_3=3
THEN
bug_method=10
display "заменить крышку
распределителя~"
;
RULE 20
IF prich=1 and
prich1=4 and
prich1_3=4
THEN
bug_method=11
display "заменить ротор
распределителя~"
;
RULE 21
IF prich=1 and
prich1=4 and
prich1_3=5
THEN
bug_method=12
display "заменить
резистор~"
;
RULE 22
IF prich=1 and
prich1=4 and
prich1_3=6
THEN
bug_method=13
display "заменить катушку
зажигания~"
;
!----------------------------------------------------------------
RULE 23
IF prich=1 and
prich1=5
THEN
bug_method=14
display "проверьте
правильность присоеденения проводов~"
;
!----------------------------------------------------------------
RULE 24
IF prich=1 and
prich1=6
THEN
bug_method=15
display "очистите свечи и
отрегулируйте зазор между электродами~"
;
!----------------------------------------------------------------
RULE 25
IF prich=1 and
prich1=7
THEN
bug_method=16
display "заменить свечи~"
;
!----------------------------------------------------------------
RULE 26
IF prich=1 and
prich1=8
THEN
bug_method=17
display "отрегулируйте момент
зажигания~"
;
!----------------------------------------------------------------
ask prich1_9: "Неисправность
1-обрыв проводов блока
управления клапаном
2-неисправен блок
управления клапаном
3-неисправен
клапан"
;
RULE 28
IF prich=1 and
prich1=9 and
prich1_9=1
THEN
bug_method=18
display "восстановите
соединение~"
;
RULE 29
IF prich=1 and
prich1=9 and
prich1_9=2
THEN
bug_method=19
display "починить блок
управления клапаном~"
;
RULE 30
prich1=9 and
prich1_9=3
THEN
bug_method=20
display "заменить
клапан~"
;
!----------------------------------------------------------------
RULE 31
IF prich=1 and
prich1=10
THEN
bug_method=21
display "отрегулируйте
заслонку~"
;
ask prich2: "Неисправность
1-не отрегулирован
холостой ход
2-несправен карбюратор
3-ранее зажигание
4-поврежден шланг
вакумного усилителя тормозов
5-повреждена прокладка
во впускном коллекторе
6-повреждены трубки
отбора разряжения"
;
RULE 33
IF prich=2 and
prich2=1
THEN
bug_method=22
display "отрегулируйте
холостой ход~"
;
!----------------------------------------------------------------
ask prich2_2: "Неисправность
1-засорены жиклеры или
каналы карбюратора
2-вода в карбюраторе
3-нарушена герметичность
диафрагмы"
;
!----------------------------------------------------------------
RULE 35
IF prich=2 and
prich2=2 and
prich2_2=1
THEN
bug_method=23
display "продуть жиклеры и
каналы~"
;
RULE 36
IF prich=2 and
prich2=2 and
prich2_2=2
THEN
bug_method=24
display "удалить воду~"
;
RULE 37
IF prich=2 and
prich2=2 and
prich2_2=3
THEN
bug_method=25
display "заменить
диафрагму~"
;
!----------------------------------------------------------------
RULE 38
IF prich=2 and
prich2=3
THEN
bug_method=26
display "отрегулируйте момент
зажигания~"
;
!----------------------------------------------------------------
RULE 39
IF prich=2 and
prich2=4
THEN
bug_method=27
display "замените поврежденный
шланг~"
;
!----------------------------------------------------------------
RULE 40
IF prich=2 and
prich2=5
THEN
bug_method=28
display "восстановите
прокладку~"
;
!----------------------------------------------------------------
RULE 41
IF prich=2 and
prich2=6
THEN
bug_method=29
display "восстановите
трубки~"
;
RULE 42
IF prich=3
THEN
bug_method=30
display "заменить пружины в
распределителе~"
;
ask prich4: "Неисправность
1-повреждены провода в
системе зажигания
2-поврежен контактный
уголек
3-подгорел центральный
контакт
4-прогар ротора или
крышки
5-износ электродов или
замасливание свечей
6-неисправен коммутатор
7-повреждение
помехоподавительного наконечника "
;
!----------------------------------------------------------------
RULE 41
IF prich=4 and
prich4=1
THEN
bug_method=31
display "замените поврежденные
провода~"
;
!----------------------------------------------------------------
RULE 42
IF prich=4 and
prich4=2
THEN
bug_method=32
display "замените контактный
уголек~"
;
!----------------------------------------------------------------
RULE 43
IF prich=4 and
prich4=3
THEN
bug_method=33
display "зачистите центральный
контакт~"
;
!----------------------------------------------------------------
RULE 44
IF prich=4 and
prich4=4
THEN
bug_method=34
display "замените ротор или
крышку~"
;
!----------------------------------------------------------------
RULE 45
IF prich=4 and
prich4=5
THEN
bug_method=35
display "замените неисправные
свечи~"
;
!----------------------------------------------------------------
RULE 46
IF prich=4 and
prich4=6
THEN
bug_method=31
display "почините
коммутатор~"
;
!----------------------------------------------------------------
RULE 47
IF prich=4 and
prich4=7
THEN
bug_method=31
display "замените
наконечник~"
;
ASK prich:"Двигатель
1-не запускается
2-неустойчиво работает
на холостом ходу
3-неустойчиво работает
при больших оборотах
4-перебои во всех
режимах";
CHOICES prich:1,2,3,4;
CHOICES
prich1:1,2,3,4,5,6,7,8,9,10;
CHOICES prich2:1,2,3,4,5,6;
CHOICES prich3:1,2,3;
CHOICES prich4:1,2,3,4,5,6,7;
CHOICES prich1_1:1,2,3;
CHOICES prich1_2:1,2;
CHOICES prich1_3:1,2,3;
CHOICES prich1_4:1,2,3,4,5,6;
CHOICES prich1_9:1,2,3;
CHOICES prich2_2:1,2,3;
8. Последовательность работы.
После запуска системы
пользователь видит на экране приветствие:
Внимание!
Приведены копии экранов при запуске системы из-под Windows95.
При запуске под DOS программа работает в
полноэкранном режиме.
После нажатия на любую
клавишу экран очищается и пользователю предлагается выбрать внешний признак
неисправности двигателя:
Во время работы
пользователь отвечает на ряд вопросов с помощью выбора вариантов из
предложенных (Enter- выбор варианта, End-
продолжение работы), после чего ему предлагается способ устранения
неисправности. Следующие копии экранов без комментариев показывают
последовательность работы с системой.