школа №11. Создание экспертной системы и проектирование баз знаний к ней Исследовательская работа Антона Авдеева. г. Ярославль, 1998.
Оглавление 1. Введение. 2. Элементы экспертной системы. 3. Проектирование базы знаний. 4. Физиогномика. 5. Выводы. 6. Список литературы. Введение Экспертные системы и базы знаний составляют часть систем искусственного интеллекта. Экспертные системы обычно определяют как программы ЭВМ, моделирующие действия эксперта-человека при решении задач в узкой предметной области на основе накопленных знаний, составляющих базу знаний. По функциональному значению базы знаний можно разделить на следующие типы: 1) мощные базы знаний, рассчитанные на узкий круг пользователей (базы знаний для управления технологическими процессами, базы знаний военного применения ); 2) мощные базы знаний, рассчитанные на широкий круг пользователей (базы знаний медицинской диагностики ); Подобные базы знаний стоят недешево, так как должны содержать уникальные знания, полученные у экспертов высокой квалификации. 3) существуют и более простые базы знаний, содержащие небольшое число правил. Такие базы рассчитаны на массового потребителя ( например, поиск неисправностей в различной аппаратуре); 4) и наконец есть довольно простые базы знаний для индивидуального использования (базы такого типа находят применение в юриспруденции и в сфере коммерческой деятельности ). Я попытался создать базу знаний третьего типа, рассчитанную на широкий круг пользователей. Элементы экспертных систем Все экспертные системы включают в себя по крайней мере три основных элемента: базу знаний, машину вывода и интерфейс пользователя. База знаний содержит информацию о том, что известно о данном объекте в настоящий момент. Машина вывода обеспечивает применение того, что известно, к тому, что еще не известно. Интерфейс пользователя способствует взаимодействию между системой и пользователем. Взятое как целое, экспертная система моделирует знания эксперта и умение их применять. Каждая база знаний содержит известные факты, выраженные в виде объектов, значений этих объектов и условий (правил). Помимо описательных представлений она включает выражения неопределенности - ограничения на достоверность факта (коэффициенты доверия). В этом отношении она отличается от традиционной базы данных, вследствие своего символьного, а не числового содержания. База знаний, в отличии от базы данных, пользуется определенными логическими правилами. Главным в экспертной системе является механизм, осуществляющий поиск в базе знаний по правилам рациональной логики для получения решений. Машина вывода приводится в действие запросом пользователя и выполняет следующие задачи: 1) сравнивает информацию, содержащуюся в запросе пользователя с информацией базы знаний; 2) ищет определенные цели и причинные связи; 3) оценивает относительную определенность фактов, основываясь на соответствующих коэффициентах доверия, связанных с каждым фактом. Для представления объектов в базе знаний используется структура данных, называемая сцепленным списком. Каждая единица этого списка называется узлом и содержит поля, в которые заносится информация об объекте. Одно из полей служит указателем, сообщающим системе, где искать следующий сцепленный узел списка. Последний узел указывает на NIL, это означает, что список узлов исчерпан. Кроме того, каждый узел в списке объектов имеет второй указатель, который определяет начало списка значений, связанных с именем объекта. Этот внутренний список называется списком значений объектов. Задача интерфейса пользователя состоит в организации обмена информацией между пользователем и машиной вывода. В моей экспертной системе интерфейс писался в рамках стандартного виртовского ПАСКАЛЯ, чтобы обеспечить работу программы на любой машине, имеющей стандартный компилятор языка ПАСКАЛЬ. Проектирование базы знаний Любой эксперимент начинается с анализа целей проекта. В своей базе знаний я поставил целью определения наличия у человека определенной черты характера с некоторой степенью достоверности при помощи правил, разработанных наукой физиогномикой. Если цели определены, то типы проблем, которые предстоит решать и способы подхода программы к их решению становиться более очевидным. Кроме того, в этой фазе велика потребность в ограничениях. Хотя база знаний должна быть детально исчерпывающей, тем не менее следует ее ограничивать по фактам и правилам, требующимся для достижения поставленных целей. Например, для своей базы более чем из 50-ти черт характера, рассматриваемых Френсисом Томасом, я выбрал только 15-ть, определяемых не менее чем тремя частями лица. Следующий этап проектирования базы знаний включает в себя сбор и структуризацию информации. При этом я перешел от структуризации данных, предложенной Ф. Томасом, по частям лица (волосы, цвет и форма глаз, брови, нос и другие ) к структуризации по чертам характера (ум, злобность, смелость, глупость и другие). Для ускорения процесса перевода накопленной информации в машинную базу знаний мне пришлось разделить факты на две категории: внутренний и внешние. Внешние факты устанавливают действительное содержимое базы знаний. Утверждение типа: “волосы=жесткие” является одним из признаков смелости. Внутренние факты ориентируются на взаимосвязи между внешними фактами и введены для уменьшения объема базы знаний. Так, существует факт “фактор1”, который принимает значение “да”, если значение части лица совпадает со значением, определяющим проверяемую черту характера; или значение “нет” при остальных допустимых значениях этой части лица. Этим самым при дальнейшем построении правил я ухожу от полного перебора всех допустимых комбинаций. Наиболее прямой метод реализации выполнения правил- непосредственное включение их в текст программы. Я использовал более гибкий подход, который состоит в том, чтобы создать пополняемую систему пар “объект=значение” и связи их с предложенными экспертом правилами. Проектирование базы знаний Любой эксперимент начинается с анализа целей проекта. В своей базе знаний я поставил целью определения наличия у человека определенной черты характера с некоторой степенью достоверности при помощи правил, разработанных наукой физиогномикой. Если цели определены, то типы проблем, которые предстоит решать и способы подхода программы к их решению становиться более очевидным. Кроме того, в этой фазе велика потребность в ограничениях. Хотя база знаний должна быть детально исчерпывающей, тем не менее следует ее ограничивать по фактам и правилам, требующимся для достижения поставленных целей. Например, для своей базы более чем из 50-ти черт характера, рассматриваемых Френсисом Томасом, я выбрал только 15-ть, определяемых не менее чем тремя частями лица. Следующий этап проектирования базы знаний включает в себя сбор и структуризацию информации. При этом я перешел от структуризации данных, предложенной Ф. Томасом, по частям лица (волосы, цвет и форма глаз, брови, нос и другие) к структуризации по чертам характера (ум, злобность, смелость, глупость и другие). Для ускорения процесса перевода накопленной информации в машинную базу знаний мне пришлось разделить факты на две категории: внутренний и внешние. Внешние факты устанавливают действительное содержимое базы знаний. Утверждение типа: “волосы=жесткие” является одним из признаков смелости. Внутренние факты ориентируются на взаимосвязи между внешними фактами и введены для уменьшения объема базы знаний. Так, существует факт “фактор1”, который принимает значение “да”, если значение части лица совпадает со значением, определяющим проверяемую черту характера; или значение “нет” при остальных допустимых значениях этой части лица. Этим самым при дальнейшем построении правил я ухожу от полного перебора всех допустимых комбинаций. Наиболее прямой метод реализации выполнения правил- непосредственное включение их в текст программы. Я использовал более гибкий подход, который состоит в том, чтобы создать пополняемую систему пар “объект=значение” и связи их с предложенными экспертом правилами. Выводы Работа по созданию базы знаний “Физиогномика” привела меня к следующим выводам: 1. Крайне трудно в настоящее время найти эксперта по знаниям, желающего переложить свои знания в логику экспертной системы. 2. При разработке инструментария базы знаний желательно предусмотреть его реальную необходимость, и стоят ли предполагаемые результаты, чтобы тратить на них время, средства и усилия. 3. Принципы построения базы знаний, использованные мною, приводят к быстрому росту количества правил и не дают возможности формировать большие базы. 4. Относительно результатов работы базы знаний “Физиогномика” можно сказать следующее: если жизненный опыт вступает в противоречие с прогнозами физиогномики, то следует помнить о свободе, что человек есть то, чем он себя сделал, а также, что дух тем велик, чем больше та противоположность, из которой он возвращается в себя. Список литературы: 1. Б. Сойер, Д. Л. Фостер. “Программирование экспертных систем на ПАСКАЛЕ”. 2. Ф. Томас. “Тайны лица”. 3. В. Шалашов. “Программирование под TurboPascal 7.0”.