Реферат по предмету "Информатика"


Экспертные системы и логическое программирование

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«Пермский государственный технический университет»

Факультет прикладной математики и механики
Специальность 230201.65 — «Информационные системы и технологии»
Реферат на тему:

«Экспертные системы и логическое программирование»
Выполнила

студентка гр. ИСТз-08 Смирнова В.С.
Проверил преподаватель Сабатулина Т.Л.


2010
Экспертные системы и логическое программирование
Компьютеризация общества — одно из основных направлений научно-технического прогресса — вызвала существенные изменения в технологии разработки и использования программных средств. Эти изменения были подготовлены всем развитием теории и практики искусственного интеллекта (ИИ), наиболее существенным результатом которого явился переход к так называемой новой информационной технологии и создание экспертных систем (ЭС).

Первые ЭС- медицинские mycin и dendral для приложений по химии появились в середине 70-х годов в рамках исследовательских программ по искусственному интеллекту. Уже первые ЭС оказались полезными. Медицинская система mycin успешно вписалась в клиническую практику, помогая в выборе лекарств больным с бактериемией, менингитом, циститом.

Идеологию ЭС можно выразить формулой: знание + вывод=система. ЭС предполагает взаимодействие блоков. Главные из них – база знаний и механизм вывода.

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

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

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

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

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

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

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

Традиционно процесс распознавания разделяется на два этапа: обучение и собственно распознавание. Первый этап индуктивный, второй — дедуктивный.

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

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

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

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

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

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

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

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

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

Таким образом, экспертная система — это компьютерная программа с некоторыми отличиями в структуре и характеристиках по сравнению с традиционными программами.

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

Для разработки ЭС используются те же языки и системы программирования, что и для обычных программ, но наличие таких специфических для ИИ структурных частей, как логический вывод, естественно-языковый интерфейс, делает предпочтительным использование для разработки ЭС таких языков ИИ, как Липс, Пролог и специальных средств поддержки разработки.

Особенно перспективной для экспертных систем оказалась реализация языка Пролог. Основная идея логического программирования состоит в отделении логики программы от управления ходом вычислений, что делает процесс создания программы более прозрачным.

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

Например, такие системы, как Turbo-Prolog, Interlisp-D, позволяют программисту запустить программу сразу после ввода ее в систему. В ответ на ошибку системой вызывается отладчик, чтобы дать возможность программисту изучить причину сбоя. Программист может затем отредактировать программу и продолжить ее выполнение. Этот подход сокращает время на исправление мелких ошибок в программе для экспериментального программирования (метод проб и ошибок), обычно применяемого специалистами по искусственному интеллекту.

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

Interlisp-D, Turbo Prolog поддерживают только этапы реализации и отладки. Исследования показывают, что наибольший вклад в стоимость жизненного цикла дает этап сопровождения. Не менее важное значение имеют средства этапа требований и спецификаций, потому что любую ошибку в спецификациях очень трудно и дорого исправлять на позднейших этапах жизненного цикла. Таким образом, анализ жизненного цикла важен для любой части программного обеспечения, которая предназначена для использования конечными пользователями на заметном интервале времени.

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

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

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

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

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

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

1.“Тройка” объект- атрибут- значение, например: дом- цвет- зелёный; пациент- температура- высокая. Эта форма представления знаний определяет “объект”, обладающий некоторыми атрибутами (свойствами), которые могут принимать значения из известного набора.

2.Правила продукций в виде: Если пациент болен гриппом И стадия заболевания начальная, ТО температура высокая с вероятностью = 0.95 И головная боль есть с вероятностью = 0.8.

Правило продукции состоит из двух частей: посылки (ЕСЛИ) и заключения (ТО), каждая из которых состоит из конъюнкции утверждений более низкого уровня детализации.

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

4.Семантическая сеть. Это ориентированный граф, вершины которого соответствуют объектам (событиям), а дуги описывают отношения между вершинами.

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

В заключение отметим некоторые особенности этапов жизненного цикла экспертных систем.

Тестирование экспертных систем отличается от тестирования обычных систем.

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

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

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

Макетирование является единственным эффективным способом тестирования экспертной системы.

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

Список используемых источников

5ballov.qip.ru/referats

erudition.ru/referat

twirpx.com

referat.tver.ru


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.