ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ЭКСПЕРТНОЙ СИСТЕМЫ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PROLOG - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ЭКСПЕРТНОЙ СИСТЕМЫ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PROLOG

Богданова Н.Ю. 1, Буслова Н.С. 1
1Тобольская государственная социально-педагогическая академия им. Д.И.Менделеева
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
ВВЕДЕНИЕ

Сегодня всем, кто работает в области информатики или интересуется этой областью науки, известен термин "экспертные системы". Экспертная система (ЭС) (expert system, knowledge based system) - это программная система, знания и умения которой сравнимы с умением и знаниями специалистов в какой-нибудь специальной области знаний. ЭС вместе с системами обработки естественных языков являются наиболее важными в коммерческом плане областями использования искусственного интеллекта.

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

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

В настоящее время проблема разработки ЭС отражены в работах Джозефа Джарратано и Гари Райли «Экспертные системы: принципы разработки и программирование», Таунсенда К., Фохта Д. «Проектирование и программная реализация экспертных систем на персональных ЭВМ».Изучением различных аспектов данной проблемы занимались Питер Джексон «Введение в экспертные системы», Уотермен Д. «Руководство по экспертным системам».

Цель исследования – спроектировать и реализовать экспертную систему «Определение неисправности при запуске компьютера».

Объект исследования –процесспроектирования иреализации экспертной системы.

Предмет исследования –структура и содержание экспертной системы на языке программирования PROLOG.

Задачи исследования:

  1. Изучить и проанализировать научную литературу по проблеме исследования;

  2. Изучить понятие ЭС и ее структуру;

  3. Изучить технологию проектирования ЭС;

  4. Спроектировать и реализовать ЭС на языке программирования PROLOG.

Методы исследования:

1. Анализ литературы по теме исследования;

2. Формализация полученных знаний для построения базы знаний ЭС.

Теоретической основой исследованиявыступили работы таких авторов как:Джозеф Джарратано и Гари Райли «Экспертные системы: принципы разработки и программирование», Таунсенд К., Фохт Д. «Проектирование и программная реализация экспертных систем на персональных ЭВМ», Питер Джексон «Введение в экспертные системы», Уотермен Д. «Руководство по экспертным системам».

Практическая значимость исследования заключается в том, что ЭС «Определение неисправности при запуске компьютера» будет полезна для начинающих пользователей ПК, а также студентам изучающим архитектуру ПК.

ГЛАВАI. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПРОЕКТИРОВАНИЯ И РЕАЛИЗАЦИИ ЭКСПЕРТНЫХ СИСТЕМ

1.1. Понятие и свойства экспертных систем

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

Знания являются явными и доступными, что отличает ЭС от традиционных программ, и определяет их основные свойства такие как:

1. Решения проблем высококачественного опыта, который представляет уровень мышления наиболее квалифицированных экспертов в данной области, что ведет к решениям творческим, точным и эффективным.

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

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

4. Возможность использования ЭС для обучения и тренировки руководящих работников, обеспечивая новых служащих.

Для формирования полноценной ЭС необходимо, как правило, реализовать в ней следующие функции.

  • функции решения задач, позволяющие использовать специальные знания в проблемной области (при этом может потребоваться обеспечить работу в условиях неопределенности).

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

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

1.2. Классификация, структура и задачи экспертных систем

Реальные ЭС в настоящий момент представляют собой один из наиболее сложных вариантов программных комплексов. Поэтому они имеют множество характеристик и их классификация достаточно сложна. К тому же ЭС – достаточно молодая отрасль науки, поэтому в ней нет общепринятых критериев классификации. Существуют классификации по областям применения и назначению, по используемым методам и глубине анализа предметной области, по классу систем и инструментальной реализации и т.д. [5]. Для создания ЭС определяющую роль играет такая характеристика как форма представления знаний в ЭС. Согласно этому фактору ЭС можно разделить на следующие типы:

- системы, базирующиеся на правилах;

- системы, базирующиеся на логике;

- системы, базирующиеся на фреймах;

- системы, базирующиеся на моделях.

Последние два типа ЭС имеют достаточно сложную организацию, анализ которой выходит за рамки работы. Системы на фреймах использует представление знаний, основанное на логических группах атрибутов объектов, которые описываются в виде фреймов. В системах, базирующихся на моделях, необходимо знать структуру и принципы функционирования объекта исследования. Такие системы нашли широкое применение в ЭС проектирования сложных технических объектов.

Системы, базирующиеся на правилах, наиболее популярны из-за своей простоты и наглядности. В этих системах вся информация хранится в виде правил Пролога. Второй тип ЭС – системы, базирующиеся на логике, - наиболее точно отражают структуру Пролога. В подобных системах основу базы знаний составляют факты (предложения-утверждения).

Для классификации ЭС можно использовать различные критерии.

1. По назначению ЭС можно условно разделить на консультационные (информационные), исследовательские и управляющие. Консультационные ЭС предназначены для получения квалифицированных ответов; исследовательские – для помощи пользователю квалифицированно решать научные задачи; управляющие – для автоматизации управления процессами в реальном масштабе времени.

2. По сложности и объему базы знаний –неглубокие и глубокие. Неглубокие (простые) ЭС имеют относительно малые БЗ. Доказательства их заключений обычно коротки, большинство выводов являются прямыми следствиями информации, хранимой в базе знаний. Такие ЭС в основном предназначены для решения относительно простых задач типа ответов на запросы по требуемой информации.

Глубокие ЭС делают свои выводы обязательно из моделей происходящих процессов, хранящихся в базах знаний. Сама модель процесса представляет собой набор правил, предназначенных для объяснения большого количества эмпирических данных. В глубоких ЭС доказательства выводов значительно длиннее, основываются на знаниях, выведенных из моделей.

3. По области применения ЭС делятся следующие классы.

1) Диагностика.Например, медицинская диагностика, когда системы используются для установления заболеваний; техническая диагностика, когда определяют неисправности в механических и электрических устройствах.

2) Прогнозирование. Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта (погода, урожайность, поток пассажиров).

3) Планирование и проектирование. Такие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных (консультации по приобретению товаров, проектирование космических станций, и так далее).

4) Интерпретация. Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения (например, местоположение и тип судов в океане по данным акустических систем слежения).

5) Контроль и управление (например, регулирование финансовой деятельности предприятия и оказание помощи при выработке решений в критических ситуациях, управление воздушным движением, атомными электростанциями).

6) Обучение. Экспертно-обучающие системы реализуют следующие педагогические функции: учение, обучение, контроль и диагностику знаний, тренировку.

4. По связям с реальным миром.

1) Статические ЭС разрабатываются в предметных областях, в которых БЗ и интерпретируемые данные не меняются во времени, они стабильны. Например, диагностика неисправностей в автомобиле.

2) Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Например, микробиологические ЭС, в которых снимаются лабораторные изменения с технологического процесса один раз в 4 -5 часов и анализируется динамика полученных показателей по отношению к предыдущему измерению.

3) Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступающих в систему данных. Например, управление гибкими производственными комплексами, мониторинг в реанимационных палатах.

Можно выделить четыре основных класса ЭС: классифицирующие, доопределяющие, трансформирующие и мультиагентные.

1) Классифицирующие ЭС решают задачи распознавания ситуа­ций. Основным методом формирования решений в таких систе­мах является дедуктивный логический вывод.

2) Доопределяющие ЭС используются для решения задач с не полностью определенными данными и знаниями. В таких ЭС возникают задачи интерпретации нечетких знаний и выбора аль­тернативных направлений поиска в пространстве возможных ре­шений. В качестве методов обработки неопределенных знаний могут использоваться байесовский вероятностный подход, коэффициенты уверенности, нечеткая логика.

3) Трансформирующие относятся к синтезирующим динами­ческим ЭС, в которых предполагается повто­ряющееся преобразование знаний в процессе решения задач. В ЭС данного класса используются различные способы обработки знаний:

  • генерация и проверка гипотез;

  • логика предположений и умолчаний (когда по неполным данным формируются представления об объектах определенного класса, которые впоследствии адаптируются к конкретным усло­виям изменяющихся ситуаций);

  • использование метазнаний (более общих закономерностей) для устранения неопределенностей в ситуациях.

1) Мулътиагентные системы – это динамические ЭС, основан­ные на интеграции нескольких разнородных источников знаний. Эти источники обмениваются между собой получаемыми резуль­татами в ходе решения задач. Системы данного класса имеют следующие возможности:

 реализация альтернативных рассуждений на основе исполь­зования различных источников знаний и механизма устранения противоречий;

 распределенное решение проблем, декомпозируемых на па­раллельно решаемые подзадачи с самостоятельными источника­ми знаний;

 применение различных стратегий вывода заключений в за­висимости от типа решаемой проблемы;

 обработка больших массивов информации из баз данных;

 использование математических моделей и внешних процедур для имитации развития ситуаций.

2) Синтезирующие. В системах решение синтезируется из отдельных фрагментов знаний.

5. По видам используемых данных и знаний различают ЭС с детерминированными и неопределенными знаниями. Под неопределенностью знаний и данных понимаются их неполнота, ненадежность, нечеткость.

Большинство ЭС включают знания, по содержанию которых их можно отнести одновременно к нескольким типам. Например, обучающая система может также обладать знаниями, позволяющими выполнять диагностику и планирование. Она определяет способности обучаемого по основным направлениям курса, а затем с учетом полученных данных составляет учебный план. Управляющая система может применяться для целей контроля, диагностики, прогнозирования и планирования. Система, обеспечивающая сохранность жилища, может следить за окружающей обстановкой, распознавать происходящие события (например, открылось окно), выдавать прогноз (вор-взломщик намеревается проникнуть в дом) и составлять план действий (вызвать полицию).

Структура экспертной системы

ЭС должна решать задачи логического вывода с достаточной гарантией получения верного результата. Программа ЭС должна взаимодействовать со значительными объемами информации, называемой базой знаний (БЗ). Во время проведения консультаций с БЗ система должна выводить логические заключения (принимать решения). Кроме того, ЭС должна иметь средства взаимодействия с пользователем-непрофессионалом. Эти средства, включающие оконный интерфейс, программы диалога и общения на одном из естественных языков, объединяются в систему пользовательского интерфейса.

База знаний является центральной частью ЭС. Она содержит факты и правила, описывающие взаимосвязи между фактами. БЗ располагается на диске и содержит статическую (не изменяющуюся во время решения текущей задачи) и динамическую (изменяющуюся при решении задачи) информацию.

Механизм логического вывода включает в себя средства, реализующие формальные методы доказательства (вывода заключений). Вывод осуществляется при помощи поиска и сопоставления по образцу (в Турбо Прологе для этого используется поиск по дереву решений с применением операций унификации, конкретизации и автоматического возврата на предшествующий уровень дерева). Следует помнить, что пользователь будет получать ответы на свои вопросы в соответствии с логикой, заложенной в системе. Для Турбо Пролога любая цель будет доказываться одним и тем же способом: система будет двигаться по логической цепочке в обратном направлении от цели к фактам, пытаясь установить истинность или ложность исходного положения. Механизм логического вывода, как правило, поддерживается стандартными средствами систем искусственного интеллекта. Например, в случае Турбо Пролога весь механизм вывода в процессе компиляции автоматически присоединяется к программе пользователя. В том случае, если механизм вывода Пролога не устраивает по каким-либо причинам пользователя, необходима разработка собственных программных средств механизма логического вывода.

Система пользовательского интерфейса (СПИ) обеспечивает взаимодействие, пользователя с ЭС. В современных ЭС это взаимодействие обычно включает:

 прием и отображение информации с использованием устройств ввода и вывода инструментальной ЭВМ;

 поддержка удобной для пользователя формы диалога (с использованием естественного языка);

 обработка исключительных ситуаций непонимания между пользователем и ЭС (включая элементы обучения системы).

Ситуации непонимания могут возникать по двум причинам: либо из-за ошибки (при вводе данных), либо на принципиальной основе (недостаток знаний в БЗ). Для подобных случаев должны быть предусмотрены методы разрешения конфликтов, начиная с простого изложения фактов, присутствующих в базе, до процессов обучения, модифицирующих факты и правила в БЗ.

Первый элемент ЭС – база знаний – зависит от конкретной области приложения. Механизм логического вывода и системы пользовательского интерфейса, в общем случае, не зависят от области приложения. Поэтому их принято объединять в понятие универсальной оболочки ЭС.

Существует ряд прикладных задач, которые решаются с помощью систем, основанных на знаниях, более успешно, чем любыми другими средствами. При определении целесообразности применения таких систем нужно руководствоваться следующими критериями.

1. Данные и знания надежны и не меняются со временем;

2. Пространство возможных решений относительно невелико;

3. В процессе решения задачи должны использоваться формальные рассуждения;

Существуют системы, основанные на знаниях, пока еще не пригодные для решения задач методами проведения аналогий или абстрагирования (человеческий мозг справляется с этим лучше). В свою очередь традиционные компьютерные программы оказываются эффективнее систем, основанных на знаниях, в тех случаях, когда решение задачи связано с применением процедурного анализа. Системы, основанные на знаниях, более подходят для решения задач, где требуются формальные рассуждения.

4. Должен быть по крайней мере один эксперт, который способен явно сформулировать свои знания и объяснить свои методы применения этих знаний для решения задач.

В целом ЭС не рекомендуется применять для решения следующих типов задач:

  • математических, решаемых обычным путем формальных преобразований и процедурного анализа;

  • задач распознавания, поскольку в общем случае они решаются численными методами;

  • задач, знания о методах решения которых отсутствуют (невозможно построить базу знаний).

Перечень типовых задач, для решения которых предназначены ЭС, включает:

  •  
    • формирование информации из первичных данных (например, из сигналов, поступающих от гидролокатора);

    • диагностика неисправностей (как в технических системах, так и в человеческом организме);

    • структурный анализ сложных объектов (например, химических соединений);

    • выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);

    • планирование последовательности выполнения операций, приводящих к заданной цели (в финансировании проектов различного уровня рискованности).

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

3.1. Этапы разработки экспертных систем

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

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

Процесс разработки ЭС можно разделить на следующие этапы:

1. Выбор проблемы.

2. Разработка прототипа ЭС.

3. Доработка до промышленной ЭС.

4. Оценка ЭС.

5. Стыковка ЭС.

6. Поддержка ЭС.

1) Выбор подходящей проблемы.

На этом этапе:

 определяется проблемная область;

 подбираются специалисты-эксперты;

 подбирается коллектив разработчиков;

 определяется предварительный подход к решению проблемы;

 готовится подробный план разработки.

2) Разработка прототипа ЭС.

Прототипная система является сокращенной версией ЭС, спроектированной для проверки правильности представления фактов, связей и стратегий рассуждения эксперта. Объем прототипа – несколько десятков правил, фреймов или примеров. Разработка прототипа ЭС делится на шесть стадий: идентификация проблемы, извлечение знаний, концептуализация (структурирование) знаний, формализация, реализацияпрототипа, тестирование.

a) Идентификация проблемы – знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы. На этом этапе уточняется задача, планируется ход разработки прототипа ЭС, определяются:

 ресурсы (время, люди и т.д.);

 источники знаний (книги, дополнительные эксперты);

 имеющиеся аналогичные ЭС;

 классы решаемых задач и т.д.

b) Извлечение знаний – получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней. Для извлечения знаний инженер использует различные методы: анализ текстов, диалоги, лекции, дискуссии, интервью, наблюдение и др.

c) Концептуализация (или структурирование) знаний – разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. На этом этапе определяются: терминология, список основных понятий и их атрибутов, отношения между понятиями, структура входной и выходной информации, стратегия принятия решений и т.д.

d) Формализация знаний – это разработка базы знаний на языке представления знаний. На этом этапе используются: логические методы, продукционные модели, семантические модели, фреймы, объектно-ориентированные языки.

e) Реализация прототипа –разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. На этом этапе создается прототип ЭС (включающий базу знаний, остальные программные модули) при помощи: языков программирования (традиционных, специализированных), инструментальных средств разработки ЭС, «пустых» оболочек ЭС.

f) Тестирование –процесс выявления ошибок в подходе и реализации прототипа. Прототип проверяется на: удобство и адекватность интерфейса ввода/вывода, качество проверочных примеров, полнота и непротиворечивость правил в базе знаний.

3) Развитие прототипа до промышленной ЭС.

Основная работа на этом этапе заключается в расширении базы знаний (добавление правил, фреймов, узлов семантической сети или других элементов знаний). После установления основной структуры знаний ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Система должна предоставлять пользователю возможность уточнять непонятные моменты, приостанавливать работу и т.д.

4) Оценка системы.

Необходима для того, чтобы проверить точность работы программы и ее полезность. Оценка проводится по следующим критериям:

 критерии пользователя (понятность работы системы, удобство интерфейсов и т.д.);

 критерии приглашенных экспертов (оценка советов-решений, предлагаемые системой, оценка подсистемы объяснений и т.д.);

 критерии коллектива разработчиков (эффективность реализации, производительность, непротиворечивость базы знаний, количество тупиковых ситуаций и т.д.).

5) Этап стыковки системы.

Осуществляется соединение ЭС с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи и проследить, как она их выполняет. Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии.

6) Поддержка системы.

Готовые системы для повышения ее быстродействия и увеличения переносимости можно перекодировать на другой язык (например, С), но при этом уменьшится ее гибкость. Это можно производить с системами, которые разработаны для проблемных областей, где знания не изменяются. Если же проблемная область, для которой создана система, изменяется, то ее необходимо поддерживать в той инструментальной среде, где она создавалась.

ГЛАВАII. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ЭКСПЕРТНОЙ СИСТЕМЫ «ОПРЕДЕЛЕНИЕ НЕИСПРАВНОСТИ ПРИ ЗАПУСКЕ КОМПЬЮТЕРА»

2.1. Реализация этапов разработки экспертной системы

Разработка ЭС разбита на три этапа: выбор метода реализации ЭС, непосредственно кодирование программы и тестирование системы.

1. Выбор метода реализации экспертной системы

На сегодняшний день существует две основные возможности для реализации ЭС. Это связано с наличием двух весьма различных подходов к решению задачи.

1) основывается на использовании для построения ЭС некоторого процедурного языка, со всеми его недостатками и достоинствами для решения данной задачи;

2) использование языков программирования математической логики, языков в которых имеются имеющие огромное значение для построения ЭС возможности.

Для ЭС лучшим решением является использование некоторого логического языка. Если сравнить код, реализующий одну и ту же ЭС (механизм вывода), то у процедурного языка он будет гораздо более объемным и более сложным. А наличие таких механизмов в языке как сопоставление образцов (унификации), древовидное представление структур, автоматический возврат делают его просто незаменимым языком для программирования ЭС. Общепринятое представление ЭС в виде базы знаний и механизма вывода не полностью пригодно для ЭС, написанных на Прологе. Многие функции механизма вывода обеспечиваются самим Прологом. Базы знаний, образованные средствами Пролога, являются выполняемыми. Однако Пролог не обеспечивает некоторых важных свойств ЭС, обычно встроенных в механизм вывода. Примеры таких свойств порождение объяснений и рассуждения в условиях неопределенности. Исходя из этого, средой для реализации основной части ЭС был выбран язык Пролог, в качестве одного из лучших представителей языков логического программирования.

2. Построение экспертной системы: описание логической части программы

Программа представляет собой интерактивную оболочку, которая может задавать пользователю вопросы. Когда программа задает вопрос, пользователь может ответить «Да» или «Нет».

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

Кроме ответа на вопрос «Почему» программа имеет возможность отвечать на вопрос «Как», после вывода сделанного ЭС пользователь может проследить весь процесс вывода.

База знаний представлена в виде логических правил, поясняющих ход размышлений ЭС при ответах пользователя.

  • если отсутствует реакция на нажатие кнопки включения

  • если кабель питания подключен правильно

то проверить надежность соединения коннекторов на материнской плате и питающие ее провода

  • если отсутствует реакция на нажатие кнопки включения

  • если все кабели питания подключены правильно

  • если провода и коннекторы внутри корпуса ПК исправны

  • если при отсоединении кнопки перезагрузки от материнской платы компьютер начинает работать

то неисправна кнопка перезагрузки

  • если отсутствует реакция на нажатие кнопки включения

  • если все кабели питания подключены правильно

  • если провода и коннекторы внутри корпуса ПК исправны

  • если при замыкании двух контактов с надписью «Power Switch» происходит запуск компьютера

то неисправна кнопка запуска

  • если отсутствует реакция на нажатие кнопки включения

  • если все кабели питания подключены правильно

  • если включенный в сеть блок питания не начинает работать при замыкании черного и зеленого контактов

то неисправен блок питания

  • если при нажатии кнопки запуска компьютер начинает работать

  • если компьютер сразу прекращает работу

то неисправно какое-либо устройство и срабатывает защита блока питания

  • если при нажатии кнопки запуска компьютер начинает работу

  • если в процессе загрузки компьютер подает характерный сигнал

то неисправно оборудование согласно соответствующему значению сигнала {для различных МП звуковой сигнал может иметь разные значения, расшифровка сигналов приведена в конце описания}

  • если при нажатии кнопки запуска компьютер начинает работу

  • если на экране монитора не отображаются никакие данные

  • если не звучит ни один из сигналов

то проблема в BIOS{можно попробовать решить ее сбросив параметры BIOS. Clear CMOS - три контакта, два из которых соединены. Запомнить исходное положение джемпера, затем вытащить его и соединить с его помощью другую пару контактов, подождать десять секунд. После этого установить его снова в исходное положение, или, если на системной плате есть кнопка перезагрузки, нажать ее} или неисправность в МП.

  • если при нажатии кнопки запуска компьютер начинает работу

  • если на экране монитора не отображаются никакие данные

  • если не звучит ни один из сигналов

  • если после перезагрузки BIOS и проверки батарейки не происходит загрузка

то неисправна материнская плата

  • если при нажатии кнопки запуска компьютер начинает работу

  • если не звучит ни один из сигналов

  • если на экране монитора появляется «Please enter Setup to recover BIOS setting | CMOS Date/Time Not Set »

то проблема в настройках BIOS.

  • если при нажатии кнопки запуска компьютер начинает работу

  • если не звучит ни один из предупреждающих сигналов

  • если при загрузке на мониторе появляется сообщение о том, что BIOS не может найти загрузочный носитель

  • если в BIOS не отображается HDD

то неисправен жесткий диск

  • если при нажатии кнопки запуска компьютер начинает работу

  • если не звучит ни один из сигналов

  • если при загрузке на мониторе появляется сообщение о том, что BIOS не может найти загрузочный носитель

  • если в BIOS отображается HDD

  • если жесткий диск работает при подключении к другому компьютеру {или к этому же при наличии master} как slave

то поврежден загрузочный сектор

  • если при нажатии кнопки запуска компьютер начинает работу

  • если не звучит ни один из предупреждающих сигналов

  • если при загрузке на мониторе появляется логотип ОС, но загрузка не происходит

то проблема в программном обеспечении.

2.2. Проектирование интерфейса пользователя для экспертной системы

Экспертная система «Определение неисправности при запуске компьютера»

database

xpositive(symbol,symbol)

xnegative(symbol, symbol)

predicates

do_expert

do consulting

ask( symbol, symbol)

pk_is(symbol)

рositive (symbol,symbol)

negative(symbol,symbol)

remember(symbol,symbol,symbol)

clear_facts

goal

do_expert.

clauses

do_expert:-

makewindow(l,7,7, "Экспертная система", 1,3,22,71),

nl,write (" ——————————————————"),

nl,write ("Определение неисправности при запуске компьютера"),

nl,write (" "), nl,write("Пожалуйста, отвечайте на вопросы 'yes' или 'no'."),

nl,nl, do_consulting,

write (" Для продолжения нажмите любую клавишу"),nl,

readchar (_),removewindow, exit.

do_consulting:- pk_is(X),!, nl, write(X,“.”),nl,

clear_facts.

do_consulting:- nl, write(" Извините мы не можем определить неисправность Вашего ПК!"),

clear_facts.

ask(X,Y):- write(" expert ",X," ",Y," ?"),

readln (Reply), remember(X,Y,Reply).

positive (X,Y):- xpositive(X,Y),!.

positive (X,Y):- not(negative(X,Y)),!, ask(X,Y).

negative(X,Y):- xnegative(X,Y),!.

remember(X,Y,yes):- asserta(xpositive(X,Y)).

remember(X,Y,no):- asserta(xnegative(X,Y)), fail.

clear_facts:- retract(xpositive(_,_)), fail.

clear_facts:- retract(xnegative (_,_)), fail.

pk_is("Неисправна кнопка перезагрузки "):-

рositive (" если отсутствует реакция на нажатие кнопки включения "),

рositive (" если все кабели питания подключены правильно"),

рositive (" если провода и коннекторы внутри корпуса ПК исправны"),

рositive (" если при отсоединении кнопки перезагрузки от материнской платы компьютер начинает работать"),!.

pk _is("Неисправен жесткий диск "):-

рositive (" если при нажатии кнопки запуска компьютер начинает работу "),

рositive ("если не звучит ни один из предупреждающих сигналов "),

рositive ("если при загрузке на мониторе появляется сообщение о том, что BIOS не может найти загрузочный носитель "),

рositive ("если в BIOS не отображается HDD "),!.

И т.д.

ЗАКЛЮЧЕНИЕ

В ходе выполнения данного исследования были достигнуты поставленные цель и задачи.

Результатом выполнения данной работы стало создание экспертной системы «Определение неисправности при запуске компьютера», позволяющей по наличию ряда признаков определять неисправность прсонального компьютера.

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

В процессе выполнения данной работы были изучены среда разработки ЭС – Prolog, а так же общие принципы построения баз знаний.

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

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

Разработка ЭС является наиболее плодотворной быстро развивающейся областью применения Пролога. Очень важно понимать, как работают ЭС, так как они могут использоваться, фактически, в любой области знаний.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. Андрейчиков А.В., Андрейчикова О.Н. «Интеллектуальные информационные системы»: М. Наука, 2004 г.

  2. Артамонов Б. Н., Брикалов Г. И., Гофман В. Э., Кадигроб Я. Е., Компаниец Р. И., Липецких А. Г., Мальцев М. Г., Рыжков Ю. И., Хоменко А. Д., Цыганов В. М. «Основы современных компьютерных технологий»: Учеб. пособие /; Под ред. проф. Хомоненко А.Д. – СПб.: КОРОНА принт, 1998. – 448 с.

  3. Братко И. «Программирование на языке Пролог для искусственного интеллекта». / Пер. с англ. – М.: Мир, 1990. – с. 560

  4. Братко И. «Алгоритмы искусственного интеллекта на языке PROLOG». - М.: Издательство «Вильямс», 2004.

  5. Гаврилова Т.А., Хорошевский В.Ф. «Базы знаний интеллектуальных систем». СПб: Питер, 2003г.

  6. Долин Г. «Что такое ЭС?». – Компьютер Пресс, 2002 г

  7. Егоров Н. В., Карпов А. Г. «Диагностические информационно-экспертные системы». – М.: Вильямс, 2002 .

  8. Зубов В. В., Макушкин В. А. «Экспертная система диагностирования цифровых устройств ДИЭКС на персональной ЭВМ. Экспертные системы на персональных компьютерах». М.: МДНТП, 2005, с. 115-120.

  9. Зубов В. В., Макушкин В. А., Оглоблин А. Г. «Экспертная система диагностирования цифровых устройств и БИС». Средства связи. - №3. – 2000. - С. 32-36.

  10. Круглов В. В. «Интеллектуальные информационные системы». – СПб: Питер. - 2002. – 234 с.

  11. Макушкин В. А., Щербицкий К. А. Экспертная система для контроля и диагностирования цифроаналоговых устройств. Новые информационные технологии в планировании, управлении и в производстве. М.: МДНТП. – 2001. - С. 121-125.

  12. Могилев А. В. и др. «Информатика»: Учеб. пособие для студ. пед. вузов/ Могилев А. В., Пак Н. И., Хеннер Е. К.; Под. ред. Хеннера Е. К. – 2-е изд., стер. – М.: Изд. центр «Академия», 2001. – С. 816

  13. Моисеев В.Б. Представление знаний в интеллектуальных системах. Информатика и образование,. №8, 2009. - С. 123

  14. Муромцев Д.И. «Введение в технологию экспертных систем». СПб: СПб ГУ ИТМО, 2005.

  15. Павлов И.О., Кулакова С.В. Основы программирования на языке Турбо-пролог: Методические указания к практическим занятиям по курсу «Представление знаний в информационных системах» / Воронеж. гос. технол. акад.; – Воронеж, 2001. – с. 450, с.32

  16. Попов Э.В. «Экспертные системы: Решение неформализованных задач в диалоге с ЭВМ». - М.: Наука. Гл. ред. физ.-мат. Лит., 1987 г.

  17. Попов Э. В., Фоминых И. Б., Кисель Е. Б., Шапт М. Д. «Статические и динамические экспертные системы». М.: Финансы и статистика, 2003 г.

  18. Рыбина Г. В., Пышагин С. В., Смирнов В. В., Левин Д. Е., Душкин Р. В. «Инструментальный комплекс АТ-ТЕХНОЛОГИЯ для поддержки разработки интегрированных экспертных систем». Учебное пособие, М.: МИФИ, 2001, с. 100

  19. Рыжиков Ю. И. «Информатика. Лекции и практикум». – СПб.: КОРОНА принт, 2000. – с. 256, с. 126-129

  20. Сафонов В.О. «Экспертные системы – интеллектуальные помощники специалистов». – СПб.: Санкт-Петербургская организация общества «Знания Росси», 2007.

  21. Соломин Д. «Использование Турбо-Пролога». / Ц. Ин.; Пер. с англ. – М.: Мир, 1993. – с. 608

  22. Стефанюк В.Л. «Экспертные системы и их применение»: Курс лекций.

  23. Уткин В. Г. «Информационные системы в экономике»: учеб. Для студ. высш. учеб. заведений. / Уткин В. Г., Балдин К. В.- 5-е изд. Стер. – М.: Изд. Центр «Академия», 2010. – с. 288, с. 255

  24. Убейко Н. «Экспертные системы». – М.: МАИ, 2002.

  25. Частиков А. П., Гаврилова Т. А., Белов Д. Л. «Разработка экспертных систем. Среда CLIPS BHV». - СПб, 2003 г., с. 606

  26. Джарратано Джозеф, Райли Гари «Экспертные системы: принципы разработки и программирование»: Пер. с англ. – М. : Издательский дом «Вильямс», 2006. – с. 1152

  27. Люгер Д. «Искусственный интеллект». – М.: Мир, 2006. с. 690

  28. Марселлус Д. «Программирование экспертных систем на Турбо Прологе». Пер. с англ. - М.: Финансы и статистика, 1994 г.

  29. Малпасс Д. Р. «Реляционный язык Пролог и его применение».

  30. Нейлор К. «Как построить свою экспертную систему».- М.: Энегроатомиздат, 2007.

  31. Питер Джексон «Введение в экспертные системы» = Introduction to Expert Systems. – 3-е изд. – М.: Вильямс, 2001. - с. 624.

  32. Стерлинг Л., Шапиро Э. «Искусство программирования на языке Пролог». / Пер. с англ. – М.: Мир, 1990. – с. 225

  33. Таунсенд К., Фохт Д. «Проектирование и программная реализация экспертных систем на персональных ЭВМ»: Пер. с англ. В. А. Кондратенко, С. В. Трубицына. – М.: Финансы и статистика, 1990. - с. 320

  34. Уотермен Д. «Руководство по экспертным системам»: Пер. с англ. под ред. В. Л. Стефанюка. — М.: «Мир», 1989: - с. 388

  35. Элти Д., Кумбс М. «Экспертные системы: концепции и примеры».- М.: Финансы и статистика, 1987.

  36. http://ru.wikipedia.org – Экспертная система

  37. http://www.swi-prolog.org/ - официальный сайт SWI-Prolog.

  38. http://www.expertsys.ru - материалы сайта «Все об экспертных системах»

  39. http://www.intuit.ru

  40. http://www.ai.tsi.lv

  41. http://knpi-iip.mipk.kharkiv.edu

  42. http://www.libray.narod.ru

  43. http://expro.kzn.ru

  44. http://256bit.ru/expert/glava

  45. http://tver.mesi.ru

  46. http://www.ssti.ru

Просмотров работы: 12802