Смекни!
smekni.com

«Экспертные системы» (стр. 2 из 3)

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

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

В целом представление знаний является наиболее важной проблемой при построении экспертных систем и более подробно она будет рассмотрена ни­же.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Рис. 1.4. Этапы развития средств разработки ЭС

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

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

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