![]() |
ВСЕ О РЫНКЕ ФОРЕКС | ||||
| НАВИГАЦИЯ | ПРИНЦИПЫ ПОСТОРОЕНИЯ ЭКСПЕРТНЫХ СИСТЕМ | ТРЕЙДЕРУ | |||
| Принципы постороения экспертных систем
При разработке экспертной системы принято делить ее на три основных модуля: база знаний, машина логического вывода, интерфейс с пользователем. База знаний содержит знания, относящиеся к конкретной прикладной области, в том числе отдельные факты, правила, описывающие отношения или явления, а также, возможно, методы, эвристики и различные идеи, относящиеся к решению задач в этой прикладной области. Машина логического вывода умеет активно использовать информацию, содержащуюся в базе знаний. Интерфейс с пользователем отвечает за бесперебойный обмен информацией между пользователем и системой; он также дает пользователю возможность наблюдать за процессом решения задач, протекающим в машине логического вывода. Принято рассматривать машину вывода и интерфейс как один крупный модуль, обычно называемый оболочкой экспертной системы, или, для краткости, просто оболочкой. В описанной выше структуре собственно знания отделены от алгоритмов, использующих эти знания. Такое разделение удобно по следующим соображениям. База знаний, очевидно, зависит от конкретного приложения. С другой стороны, оболочка, по крайней мере, в принципе, независима от приложений. Таким образом, разумный способ разработки экспертной системы для нескольких приложений сводится к созданию универсальной оболочки, после чего для каждого приложения достаточно подключить к системе новую базу знаний. Разумеется, все эти базы знаний должны удовлетворять одному и тому же формализму, который оболочка "понимает". Практический опыт показывает, что для сложных экспертных систем наш сценарий с одной оболочкой и многими базами знаний работает не так гладко, как бы этого хотелось, за исключением тех случаев, когда прикладные области очень близки. Тем не менее, даже если переход от одной прикладной области к другой требует модификации оболочки, то, по крайней мере, основные принципы ее построения обычно удается сохранить. Основная задача, которую нужно решить при построении экспертной системы – это выбор формализма представления знаний. В качестве кандидата на использование в экспертной системе можно рассматривать, в принципе, любой непротиворечивый формализм, в рамках которого можно описывать знания о некоторой проблемной области. Однако самым популярным формальным языком представления знаний является язык правил типа "если-то" (или кратко: "если-то" - правил), называемых также продукциями. Каждое такое правило есть, вообще говоря, некоторое условное утверждение, но возможны и различные другие интерпретации. Вот примеры: если предварительное условие Р то заключение (вывод) С если ситуация S то действие А если выполнены условия С1 и С2 то не выполнено условие С "Если-то" - правила обычно оказываются весьма естественным выразительным средством представления знаний. Кроме того, они обладают следующими привлекательными свойствами: Модульность: каждое правило описывает небольшой, относительно независимый фрагмент знаний. Возможность инкрементного наращивания: добавление новых правил в базу знаний происходит относительно независимо от других правил. Удобство модификации (как следствие модульности): старые правила можно изменять и заменять на новые относительно независимо от других правил. Применение правил способствует прозрачности системы. Последнее свойство - это важное, отличительное свойство экспертных систем. Под прозрачностью мы понимаем способность системы к объяснению принятых решений и полученных результатов. Применение "если-то" - правил облегчает получение ответов на следующие основные типы вопросов пользователя: Вопросы типа "как": Как вы пришли к этому выводу? Вопросы типа "почему": Почему вас интересует эта информация? Механизмы, основанные на "если-то" - правилах, для формирования ответов на подобные вопросы мы обсудим позже. если: тип инфекции - это первичная бактериемия и материал для посева был отобран стерильно, и предполагаемые ворота инфекции - желудочно-кишечный тракт то имеются веские аргументы (0.7) за то, что инфекционный агент является бактерией "Если-то"- правила часто применяют для определения логических отношений между понятиями предметной области. Про чисто логическим отношениям можно сказать, что они принадлежат к "категорическим знаниям", "категорическим" - потому, что соответствующие утверждения всегда, абсолютно верны. Однако в некоторых предметных областях, таких, как медицинская диагностика, преобладают "мягкие" или вероятностные знания. Эти знания являются "мягкими"; в том смысле, что говорить об их применимости к любым практическим ситуациям можно только до некоторой степени ("часто, но не всегда"). В таких случаях используют модифицированные "если-то" - правила, дополняя их логическую интерпретацию вероятностной оценкой. Например: если условие А то заключение В с уверенностью F Вообще говоря, если вы хотите разработать серьезную экспертную систему для некоторой выбранной вами предметной области, вы должны провести консультации с экспертами в этой области и многое узнать о ней сами. Достигнуть определенного понимания предметной области после общения с экспертами и чтения литературы, а затем облечь это понимание в форму представления знаний в рамках выбранного формального языка - это искусство, называемое инженерией знаний. Как правило, это сложная задача, требующая больших усилий. Из всего вышеизложенного следует, что лучше не использовать готовые оболочки, а написать оболочку самостоятельно, заложив в нее нужные вам возможности. Здесь встает вопрос о выборе языка программирования. Я думаю, что Пролог подходит для этих целей лучше всего, т.к. экспертным системам, как правило, не нужны богатые графические возможности, и он хорошо приспособлен для обработки символьной информации, да и программировать на нем проще, аналогичная программы на С++ будет писаться и отлаживаться дольше. В следующей статье будут описаны принципы сбора информации о рынке и нахождения правил анализа рынка. Упор будет сделан на тех. анализ. |
|||||