ВСЕ О РЫНКЕ ФОРЕКС
НАВИГАЦИЯ ПРИНЦИПЫ ПОСТОРОЕНИЯ ЭКСПЕРТНЫХ СИСТЕМ ТРЕЙДЕРУ
Принципы постороения экспертных систем

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

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

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

Основная задача, которую нужно решить при построении экспертной системы – это выбор формализма представления знаний. В качестве кандидата на использование в экспертной системе можно рассматривать, в принципе, любой непротиворечивый формализм, в рамках которого можно описывать знания о некоторой проблемной области. Однако самым популярным формальным языком представления знаний является язык правил типа "если-то" (или кратко: "если-то" - правил), называемых также продукциями. Каждое такое правило есть, вообще говоря, некоторое условное утверждение, но возможны и различные другие интерпретации. Вот примеры:
если предварительное условие Р то заключение (вывод) С
если ситуация S то действие А
если выполнены условия С1 и С2 то не выполнено условие С

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

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

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

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

если условие А то заключение В с уверенностью F

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

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

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