Дизъюнкция Хорна в анализе структуры информационных систем

Оглавление:

 

          Введение……………………………………………………..…………...... 2

      Глава 1. Научный  подход к описанию  структурной  связи  информационных    систем и искусственного интеллекта………………... 4

    1. Эвристическое программирование в  экспертных системах..............7

 

      Глава 2. Формальное представление системы программирования Prolog,  как   языка предикатов математической логики. ………….............................10

 

       Глава 3. Оценка процедурной части  программы «TreeFound»……...…..14

 

          Заключение………………………………………….…………………......22

          Список использованных источников...…………….………………...…..25

         

 

 

 

 

 

 

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

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

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

Объектом исследования в данной курсовой работе являются логическая основа синтаксиса программных инструментов и его значение в принятии решений в управленческой деятельности посредством использования информационных интеллектуальных систем.  Задача -  рассмотреть в процессе представления работы  критерии   анализа структурного ядра ИС, и конструирующих его функционал математических формализмов. В частности, предметом исследования  является программная реализация ИС  «FoundTree», написанная на языке Prolog, в основу которого входит максима формализма предикатов первого порядка.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 1. Научный подход к описанию  структурной связи  информационных  систем и искусственного интеллекта.

 

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

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

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1. Эвристическое программирование в  экспертных системах

Экспе́ртная систе́ма — компьютерная программа, способная частично  заменить специалиста-эксперта в разрешении проблемной ситуации. Современные ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах,

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

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

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

Наиболее распространенный способ представления знаний - в виде конкретных фактов и правил, по которым из имеющихся фактов могут быть выведены новые. Факты представлены, например, в виде троек:

(АТРИБУТ ОБЪЕКТ ЗНАЧЕНИЕ).

Такой факт означает, что заданный объект имеет заданный атрибут (свойства) с заданным значением. Например, тройка (ТЕМПЕРАТУРА ПАЦИЕНТ1 37.5) представляет факт «температура больного, обозначаемого ПАЦИЕНТ1, равна 37.5». В более простых случаях факт выражается неконкретным значением атрибута, а каким либо простым утверждением, которое может быть истинным или ложным, например: «Небо покрыто тучами». В таких случаях факт можно обозначить каким-либо кратким именем (например, ТУЧИ) или использовать для представления факта сам текст соответствующей фразы.

Правила в базе знаний имеют вид:

ЕСЛИ А ТО S, где А- условие; S- действие. Действие S исполняется, если А истинно. Наиболее часто действие S, так же, как и условие, представляет собой утверждение, которое может быть выведено системой (то есть становится ей известной), если истинно условие правила А.

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

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

Экспертная система Dendral одной из первых использовала эвристические знания специалистов для достижения уровня эксперта в решении задач, однако методика современных экспертных систем связана с другой разработкой – Myсin. В ней использовались знания экспертов медицины для диагностики и лечения специального менингита и бактериальных инфекций крови. Экспертная система Mycin, разработанная в том же Стэнфорде в середине 1970-х г.г., одной из первых обратилась к проблеме принятия решений на основе ненадежной или недостаточной информации. Все рассуждения экспертной системы Mycin были основаны на принципах управляющей логики, соответствующих специфике предметной области. Многие методики разработки экспертных систем, использующиеся сегодня, были впервые разработаны в рамках проекта Mycin. На сегодняшний день создано уже большое количество экспертных систем. С помощью них решается широкий круг задач, но исключительно в узкоспециализированных предметных областях. Как правило, эти области хорошо изучены и располагают более менее четкими стратегиями принятия решений. Сейчас развитие экспертных систем несколько приостановилось, и этому есть ряд причин: Передача экспертным системам «глубоких» знаний о предметной области является большой проблемой. Как правило, это является следствием сложности формализации эвристических знаний экспертов. Экспертные системы неспособны предоставить осмысленные объяснения своих рассуждений, как это делает человек. Как правило, экспертные системы всего лишь описывают последовательность шагов, предпринятых в процессе поиска решения. Отладка и тестирование любой компьютерной программы является достаточно трудоемким делом, но проверять экспертные системы особенно тяжело. Это является серьезной проблемой, поскольку экспертные системы применяются в таких критичных областях, как управление воздушным и железнодорожным движением, системами оружия и в ядерной промышленности. Экспертные системы обладают еще одним большим недостатком: они неспособны к самообучению. Для того, чтобы поддерживать экспертные системы в актуальном состоянии необходимо постоянное вмешательство в базу знаний инженеров по знаниям. Экспертные системы, лишенные поддержки со стороны разработчиков, быстро теряют свою востребованность. В заключение стоит отметить, что несмотря на все эти ограничения и недостатки, экспертные системы уже доказали всю свою ценность и значимость во многих важных приложениях.

 

Глава 2. Формальное представление системы программирования Prolog,  как языка предикатов математической логики.

Смена поколений вычислительной техники приводится к очередной научно технической революции. С появлением нового поколения ЭВМ не только стал решаться принципиально новый класс задач во всех отраслях науки и техники, но и существенно расширяются возможности при решении прежних традиционных задач на новом, более качественном, уровне.  Более высокий качественный уровень в решении задач предполагает обеспечение необходимой и достаточной интеллектуальной поддержкой. Интеллектуализация информационно-вычислительных систем это использование не только нового поколения инструментальных средств, но и нового поколения математического, алгоритмического и программного обеспечения для решения сложных задач. Искусственный интеллект (ИИ) – это программная система, имитирующая на компьютере мышление человека. Для создания такой системы необходимо изучать процесс мышления человека, решающего определенные задачи или принимающего решения в конкретной области, выделить основные шаги этого процесса и разработать программные средства, воспроизводящие их на компьютере. Интеллектуальная система – это информационно-вычислительная система с интеллектуальной поддержкой при решении задач без участия оператора. Система искусственного интеллекта, созданная для решения задач в конкретной проблемной области, называется экспертной системой. Источником знаний для наполнения экспертных систем служат эксперты, работающие в соответствующей предметной области. В течение последних десятилетий в рамках исследований по искусственному интеллекту (ИИ) сформировалось новое самостоятельное направление – экспертные системы (ЭС), или инженерия знаний (ИЗ). Экспертная система (ЭС)- это система искусственного интеллекта (интеллектуальная система), предназначенная для решения плохо формализованных и слабо структурированных задач в определенных проблемных областях, на основе заложенных в ней знаний специалистов-экспертов. В задачу этого направления входят исследование и разработка программ, использующих знания и процедуры вывода для решения задач, являющихся трудными для людей-экспертов. В отличие от специализированных систем ИИ экспертные системы могут быть отнесены к системам ИИ общего назначения – системам, которые не только исполняют заданные процедуры, но на основе мета процедур поиска генерируют и используют процедуры решения новых конкретных задач. Логические основы работы системы Пролог-Д. В последнее время к разработке экспертных систем все чаще стал привлекаться специализированный языка искусственного интеллекта Пролог. Свое название Пролог получил от сокращения «Программирование логики». Математической основой языка программирования Пролог являются исчисления предикатов преимущественно первого порядка, метод резолюции, теория рекурсивных функций. В настоящее время создано большое число различных по эффективности и мощности Пролог-систем, каждая из которых предлагает свой синтаксис языка и свой набор встроенных предикатов. Математическая логика является теоретической основой логического программирования. Цель данного раздела определить начальные понятия математической логики, необходимые для изложения принципов работы с системой. Пролог-Д. Интерпретатор языка Пролог предназначен для проведения практикума на персональных компьютерах с базами знаний, экспертными системами и изучением принципов логического вывода в системах искусственного интеллекта. Для решения задачи с помощью Пролога-Д достаточно описать знания об этой задаче, а процесс построения решения при этом сводится к некоторой рутинной процедуре. Описание знаний возможно осуществить с помощью совокупности дискретных объектов и отношений между ними. Объекты, если их соотнести с решаемой задачей, образуют ее предметную область. Например, если задача состоит в описании родственных отношений, то предметная область-множество людей, а если задача вычислительная, то предметной областью будет множество целых чисел. Объекты, при описании их средствами математической логики, должны иметь имена. За определением имен следует описание соотношений между объектами и выражение свойств этих отношений. Построение решения задачи производится на основе логического вывода, манипуляцией предложениями, описывающими данную задачу.

Программа на Прологе включает в себя постановку задачи в виде множества формул логики предикатов первого порядка и описания цели – формулировку теоремы, которую нужно доказать, исходя из множества фактов и правил, содержащихся в этой постановке. 
Формализм исчисления предикатов первого порядка оказался удобным для описания постановки задачи на языке, близком к естественному. Таким образом, язык Пролог имеет четкую математическую основу. В основе языка лежит исчисление предикатов первого порядка, и в этом смысле язык является подмножеством формальной логики. Но Пролог включает не все формальное исчисление, а только некоторое его подмножество, представленное Хорновскими дизъюнктами. 
Дадим несколько определений. Пусть имеется некоторое множество объектов, называемое предметной областью. Выражение P(X1, X2, …, Xn), где  Xi, i=1,…,n – так называемые предметные переменные, а P принимает значения 0 или 1, называется логической функцией или предикатом. Предикат от n переменных называют n-местным. 
Предикат P(X1, X2, …, Xn) задает отношение между элементами X1,X2,…,Xn и обозначает высказывание, что «X1,X2,…,Xn  находятся между собой в отношении P». Например, если отношение родитель(X,Y) означает, что X является родителем для Y (но не наоборот!), то высказывание родитель(«царь Петр I», «царевич Алексей») является истинным, а отношение родитель

(«царь Петр I», «царевна  Софья») – ложным. Важно понимать, что имена отношений и их размерность («арность») произвольны и зависят только от целей их использования. 
Из подобного рода элементарных отношений с помощью логических связок образуют более сложные отношения, которые в свою очередь являются предикатами, то есть могут принимать те же значения – «истина» или «ложь». В качестве связок используются конъюнкция (логическое И), дизъюнкция (логическое ИЛИ), импликация (логическое следование), отрицание, эквивалентность. 
Рассмотрим классический пример рассуждений с использованием логических связок. Пусть имеются следующие рассуждения на естественном языке (в данном случае – аксиомы): 
Все люди смертны. 
Сократ – человек. 
Теорема, логически вытекающая из этих двух аксиом: 
Сократ смертен. 
Эти аксиомы можно переписать так (в терминах исчисления предикатов): 
Для всех X, если X – человек, то смертен X 
И человек(Сократ ) 
Соответственно наш пример можно перевести на Пролог (пока еще без учета синтаксиса версии PDC Prolog): 
смертен( Х) :- человек ( Х ). 
человек(сократ). 
Здесь собственное имя «Сократ», представляющее строковую константу, записано с маленькой буквы, поскольку во всех версиях Пролога с большой буквы записывается имя переменной. При работе этой небольшой программы можно задать системе вопрос: является ли Сократ смертным, и система ответит «Да»: 
? смертен(сократ). 
Да 
Это простой пример, но его достаточно, чтобы показать целесообразность использования Пролога для реализации различного рода рассуждений,

потому что можно задать большое количество фактов и правил, Система,

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

Язык Пролог в 1980-х годах был включен в ряд советских вузовских и школьных учебников информатики для изучения элементов математической логики, принципов логического программирования и проектирования баз знаний и моделей экспертных систем. С этой целью на IBM PC и ряде советских школьных компьютеров были реализованы учебные русскоязычные интерпретаторы Пролога.

В языке Пролог факты описываются в форме логических предикатов с конкретными значениями. Правила вывода описываются логическими предикатами с определением правил логического вывода в виде списка предикатов над базами знаний и процедурами обработки информации.

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

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

     

 

 

 

 

 

 

 

Глава 3.Оценка процедурной части  программы «TreeFound».

 

Во всех экспертных системах существует зависимость между входным 
потоком данных и данными в базе знаний. Во время консультации входные 
данные сопоставляются с данными в базе знаний. Результатом сопоставления 
является отрицательный или утвердительный ответ. В системе, 
базирующейся на правилах утвердительный результат является действием 
одного из продукционных правил. Эти продукционные правила определяются 
входными данными. 
 
Таким образом, экспертная система, базирующаяся на правилах (на 
Турбо-Прологе) содержит множество правил, которые вызываются посредством входных данных в момент сопоставления. Экспертная система также содержит интерпретатор в механизме вывода, который выбирает и активизирует различные модули системы. 
 
Работу этого интерпретатора можно описать последовательностью трех 
шагов: 
 
1. Интерпретатор сопоставляет образец правила с элементами данных в 
базе знаний. 
 
2. Если можно вызвать более одного правила,то интерпретатор использует 
механизм разрешения конфликта для выбора правила. 
 
3. Интерпретатор применяет выбранное правило , чтобы найти ответ на 
вопрос. 
 
Этот трех шаговый процесс интерпретации является циклическим и 
называется циклом "распознавание-действие". 
 
В системе, базирующейся на правилах, количество продукционных правил 
определяет размер базы знаний. Некоторые наиболее сложные системы имеют 
базы знаний с более чем 5000 продукционных правил. 
 
1. Использовать минимально достаточное множество условий при 
определении продукционного правила. 
 
2. Избегать противоречащих продукционных правил. 
 
3. Конструировать правила, опираясь на структуру присущую предметной 
области.

 

Экспертные системы, базирующиеся на логике. В экспертных системах, базирующихся на логике, база знаний состоит из утверждений в виде предложений логики предикатов.  
Такие предложения могут группироваться, образуя базу данных 
Турбо-Пролога. Правила могут либо описывать данные либо управ лять 
процессом внутренней унификации Турбо-Пролога. 
 
Так же как и в системе на правилах экспертная система, базирующаяся на 
логике, имеет множество правил, которые могут вызываться с помощью 
данных из входного потока. Система имеет также интерпретатор, который 
может выбирать и активизировать модули, включаемые в работу системы. 
 
Интерпретатор выполняет различные функции внутри системы на основе 
следующей схемы: 
 
1. Система имеет предложения в базе знаний, которые управляют поиском и 
сопоставлением. Интерпретатор сопоставляет эти предложения с элементами 
данных в базе данных. 
 
2. Если может быть вызвано более одного правила , то система использует 
возможности Турбо-Пролога для разрешения конфликта. Следовательно 
пользователю/программисту не нужно рассматривать потенциально возможные 
конфликты. 

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

 

Все перечисленные ниже атрибуты являются необходимыми, так как ни один 
из них не характерен для всех пород одновременно. 
 
1) лиственная; 
 
2) хвойная; 
 
3) мягкая; 
 
4) твердая; 
 
5) очень твердая; 
 
6) серо-коричневая; 
 
7) светло-красная; 
 
8) светлая; 
 
9) темная; 
 
10) смолистая; 
 
11) очень смолистая; 
 
12) Крупная текстура; 
 
13) Мелкая текстура. 
 
 
 
Каждая характеристика для конкретной породы либо верна, либо не верна. 
Для каждой породы справедливы следующие характеристики: 
Порода Характеристики  
 
Дуб 1,4,6,13 
 
Бук 1,4,7,12 
 
Осина 1,3,8,13 
 
Тис 1,5,9 
 
Ель 2,3,8,10 
 
Сосна 2,3,8,11 
 
Способ использования этой информации зависит от реализации экспертной 
системы. В нашем случае при проектировании базы знаний древовидная структура, множество идентифицирующих характеристик и наборы номеров характеристик для каждой породы составляют рабочую модель базы знаний для выбора породы. 
 
Заметьте, что номера характеристик являются искусственными фактами, 
необходимыми проектировщику, и введены они для того, чтобы 
функциональным модулям экспертной системы было легче идентифицировать 
характеристики и манипулировать ими. Проектирование и реализация системы, базирующейся на правилах. 
 
Сначала необходимо сделать декларации базы данных. База данных будет 
хранить ответы пользователя на вопросы системы пользовательского 
интерфейса (СПИ). Эти данные являются утвердительными или отрицательными ответами.  
 
Далее нужно объявить предикаты для выполнения вывода (машина вывода) и 
для взаимодействия с пользователем (система пользовательского 
интерфейса). 
 
Все вместе это следующие декларации: 
 
database 
 
xpositive(symbol,symbol) 
 
xnegative(symbol,symbol) 
 
predicates 

do_expert_job 
 
do_consulting 
 
ask(symbol,symbol) 
 
dog_is(symbol) 
 
it_is(symbol) 
 
positive(symbol,symbol) 
 
negative(symbol,symbol) 
 
remember(symbol,symbol,symbol) 
 
clear_facts 
 
Предикаты базы данных xpositive и xnegative используются для хранения 
утвердительных и отрицательных ответов пользователя. Первые четыре 
предиката нужны для взаимодействия с пользователем, а остальные шесть - 
для механизма вывода. 
Должны быть составлены восемь продукционных правил : по одному для 
каждой породы. Каждое правило должно идентифицировать породу по признаку принадлежности к группе. Правило it_is производит эту идентификацию. Затем правило positive идентифицирует характеристики собаки в каждом случае.

Дизъюнкция Хорна в анализе структуры информационных систем