Представление знаний. Операции над знаниями

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.02.2011
Размер файла 51,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

41

Размещено на http://www.allbest.ru/

Курсовая работа

по дисциплине: «Интеллектуальные информационные системы»

Тема: «Представление знаний. Операции над знаниями»

Березники

2010

Содержание

Введение

Знания

Классификация знаний

Особенности представления знаний внутри ИС

Представления знаний

Модели представления знаний

Продукционная модель

Логическая модель

Семантические сети или сетевые модели знаний

Фреймовая модель знаний

Ленемы

Извлечение знаний

Экспертная система

Операции над знаниями в логической модели представления знаний

Заключение

Список используемой литературы

Введение

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

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

Знания - это зафиксированная и проверенная практикой обработанная информация, которая использовалась и может многократно использоваться для принятия решений. Также знания - это вид информации, которая хранится в базе знаний и отображает знания специалиста в конкретной предметной области. Знания - это интеллектуальный капитал.

Цель курсовой работы является исследование различных моделей представления знаний.

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

1 Знания

искусственный интеллект знание логический модель

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

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

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

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

Данные - факты и идеи, представленные в некотором, четко формализованном виде, в котором их можно использовать для передачи в информационном процессе. Сведения, представленные в определенной знаковой системе и на определенном материальном носителе для обеспечения возможностей хранения, передачи, приема и обработки.

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

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

Таким образом, мы получаем следующие закономерности:

Имеют смысл Проверенная

То, что мы знаем - ограничено, а что не знаем - бесконечно. Апулей

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

Знамние - в теории искусственного интеллекта и экспертных систем - совокупность информации и правил вывода (у индивидуума, общества или системы ИИ) о мире, свойствах объектов, закономерностях процессов и явлений, а также правилах использования их для принятия решений. Главное отличие знаний от данных состоит в их структурности и активности, появление в базе новых фактов или установление новых связей может стать источником изменений в принятии решенийhttp://ru.wikipedia.org/wiki/%D0%97%D0%BD%D0%B0%D0%BD%D0%B8%D0%B5.

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

Выделяют: личностные (неявные, скрытые, пока не формализованные) знания и формализованные (явные) знания;

Неявные знания:

· знания людей, которые еще не формализованы и не могут быть переданы другим людям.

Формализованные на некотором языке (явные) знания:

· знания в документах,

· знания на компакт дисках,

· знания в персональных компьютерах,

· знания в Интернете,

· знания в базах знаний,

· знания в экспертных системах, извлеченные из неявных знаний людей-экспертов.

2 Классификация знаний

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

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

Классификамция (классифицирование) -- процесс группировки объектов исследования или наблюдения в соответствии с их общими признаками.

В программировании важен признак сорта используемого языка представления знаний. Здесь используется, например такая классификация:

· - языки профессиональной прозы,

· - языки спецификаций,

· - концептуальные языки,

· - формальные языки,

· - языки логических исчислений,

· - алгоритмические языки (их классификация важна в информатике),

· - системные языки для управления.

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

В деятельности человека по применению СВТ важна классификация знаний по спецификации разработки:

· - спецификация задания или проекта,

· - описания разработок и ее спецификация,

· - концепции разработки и руководства по применению,

· - спецификация меню работ пользователя,

· - спецификации логики разработки,

· - спецификация подпрограмм и программ,

· - спецификация комплекса разработки и применений.

Классификация по форме представления данных в широком смысле этого слова имеет такую структуру. Здесь под данными подразумеваем знания или средства для представления знаний (в примерах):

· - тексты из символов,

· - семантические сети или смысловые графы,

· - фреймы из слотов или записи с именованными полями,

· - отношения, таблицы или массивы,

· - алгебраические формулы или утверждения для передачи фактов (и аксиом),

· - правила вывода новых фактов, знания, представляемые продукциями,

· - языки систем управления баз данных или баз знаний.

Наконец, классификация по видам знаний является информатической, она главным образом и рассматривается:

· - лингвосемиотические знания,

· - семантические знания,

· - концептуальные знания,

· - фактографические знания,

· - теоретические знания,

· - алгоритмические знания,

· - кибернетические знания.

3 Особенности представления знаний внутри ИС

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

· внутренняя интерпретируемость;

· структурированность;

· связанность;

· сематическая метрика;

· активность;

· конвертируемость.

Обрабатываемой единицей для знаний является факт, а не запись данных. Факт - это некоторая запись, наделенная сематикой.

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

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

Связность. Между информационными единицами должна быть предусмотрена возможность установления связей различного типа. Сематика отношений может носить декларативный или процедурный характер. Например, две и более информационные единицы могут быть связаны отношением «одновременно», две информационные единицы - отношением «причина-следствие» или «быть рядом».

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

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

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

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

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

4 Представления знаний

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

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

Признано, что системы, основанные на знаниях, целесообразно разрабатывать с выделением ряда подсистем. Основными из них считаются:

· подсистема представления декларативных знаний;

· подсистема представления процедурных знаний;

· подсистема манипулирования знаниями (механизм логического вывода).

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

История развития методов инженерии знаний свидетельствует о том, что эта идея продолжительное время являлась основополагающим направлением исследований. Так, например, А. Ньюэлл и Г. Саймон из Университета Карнеги-Меллона (США) разработали программу GPS - универсальный решатель задач. В формальной логике был разработан метод резолюций. В 70-х гг. XX в., однако, большинство исследователей пришли к выводу, что не существует универсальной системы представления процедурных знаний, пригодной для всех областей деятельности. Подтверждением этому служит высокая ценность специалистов-экспертов в узких предметных областях. Была сформулирована проблема представления знаний.

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

Общая проблема представления знаний включает ряд частных проблем:

· представление декларативных знаний как данных, наделенных семантикой (фактов);

· представление процедурных знаний как отношений между элементами модели, в том числе в виде процедур и функций;

· представление метазнаний - правил обработки фактов, способов организации логического вывода, методов решения задач пользователем, порождения новых знаний и т. д.

5 Модели представления знаний

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

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

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

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

6 Продукционная модель

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

«ЕСЛИ условие, ТО действие»

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

В общем случае продукционную модель можно представить в следующем виде:

N - имя продукции;

A - сфера применения продукции;

U - условие применимости продукции;

C - ядро продукции;

I - постусловия продукции, актуализирующиеся при положительной реализации продукции;

R - комментарий, неформальное пояснение (обоснование) продукции, время введения в базу знаний и т. д.;

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

Примеры продукционных правил:

ЕСЛИ «двигатель не заводится» и «стартер двигателя не работает»ТО

«неполадки в системе электропитания стартера»

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

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

Основные достоинства систем, основанных на продукционных моделях, связаны с простотой представления знаний и организации логического вывода. К недостаткам таких систем можно отнести следующее:

отличие от структур знаний, свойственных человеку;

неясность взаимных отношений правил;

сложность оценки целостного образа знаний;

низкая эффективность обработки знаний.

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

7 Логическая модель

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

S=<A,F,Ax,R>

А - счетное множество базовых символов (алфавит);

F - множество, называемое формулами;

Ax - выделенное подмножество априори истинных формул (аксиом);

R - конечное множество отношений между формулами, называемое правилами вывода.

Основные достоинства логических моделей знаний:

· в качестве «фундамента» здесь используется классический аппарат математической логики, методы которой достаточно хорошо изучены и формально обоснованы;

· существуют достаточно эффективные процедуры вывода, в том числе реализованные в языке логического программирования «Пролог»;

· в базах знаний можно хранить лишь множество аксиом, а все остальные знания получать из них по правилам вывода.

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

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

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

Сложности возникают при описании «многосортных» миров, когда объекты не являются однородными. Так, высказывания: «2 + 2 = 4», «Москва - столица России» имеют одно и то же значение «истина», но разный смысл. С целью преодоления сложностей и расширения описательных возможностей логических моделей знаний разрабатываются псевдофизические логики, логики, оперирующие с нечеткостями, эмпирическими кванторами, обеспечивающие индуктивные (от частного к общему), дедуктивные (от общего к частному) и традуктивные (на одном уровне общности) выводы. Такие расширенные модели, объединяющие возможности логического и лингвистического подходов, принято называть логико-лингвистическими моделями предметной области.

8 Семантические сети или сетевые модели знаний

Однозначное определение семантической сети в настоящее время отсутствует. В инженерии знаний под ней подразумевается граф, отображающий смысл целостного образа. Узлы графа соответствуют понятиям и объектам, а дуги - отношениям между объектами. Формально сеть можно задать в следующем виде:

I - множество информационных единиц;

C - множество типов связей между информационными единицами;

G - отображение, задающее конкретные отношения из имеющихся типов C между элементами I.

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

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

В - определяет связь с чем-либо.

С и Д - терминальные узлы. Это конечные узлы.

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

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

Семантическая сеть как модель наиболее часто используется для представления декларативных знаний. С помощью этой модели реализуются такие свойства системы знаний, как интерпретируемость и связность, в том числе по отношениям IS-A и PART-OF. За счет этих свойств семантическая сеть позволяет снизить объем хранимых данных, обеспечивает вывод умозаключений по ассоциативным связям.

Одной из первых известных моделей, основанных на семантической сети, является TLC-модель (Teachaple Languge Compre-hender - доступный механизм понимания языка), разработанная Куиллианом в 1968 году. Модель использовалась для представления семантических отношений между концептами (словами) с целью описания структуры долговременной памяти человека в психологии.

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

9 Фреймовая модель знаний

Фреймовая модель основана на концепции Марвина Мински (Marvin Minsky) - профессора Массачусетского технологического института, основателя лаборатории искусственного интеллекта, автора ряда фундаментальных работ. Фреймовая модель представляет собой систематизированную психологическую модель памяти человека и его сознания.

Фрейм (англ. frame - рамка, каркас) - структура данных для представления некоторого концептуального объекта. Информация, относящаяся к фрейму, содержится в составляющих его слотах.

Слот (англ. slot - щель, прорезь) может быть терминальным (листом иерархии) или представлять собой фрейм нижнего уровня.

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

Имя

cлота#1

Имя фрейма

Указатель наследования

Указатель атрибута

Значение слота

Демон

Имя

слота #N

Указатель наследования

Указатель атрибута

Значение слота

Демон

Пояснение:

имя фрейма - это идентификатор, присваиваемый фрейму. Фрейм должен иметь имя, единственное в данной фреймовой модели (уникальное имя);

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

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

указатель атрибутов - указатель типа данных слота. К таким типам относятся: FRAME (указатель), INTEGER (целое), REAL (вещественное), BOOL (булево), LISP (присоединенная процедура), TEXT (текст), LIST (список), TABLE (таблица) и другие;

значение слота - значение, соответствующее типу данных слота и удовлетворяющее условиям наследования;

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

Имя фрейма «Задача»

Параметры

Алгоритм

Имя фрейма «Алгоритм»

Применимость по задаче

Применимость по

данным

Вычислительная схема

алгоритма

Имя фрейма «Применимость по задаче»

Имя фрейма «Вычислительная схема алгоритма»

Отношения

Данные

Функции

Процедуры

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

Формально фрейм - это тип данных вида:

F=<N,S1,S2,S3>

N - имя объекта;

S1 - множество слотов, содержащих факты, определяющие декларативную семантику фрейма;

S2 - множество слотов, обеспечивающих связи с другими фреймами (каузальные, семантические и т. д.);

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

Фреймы подразделяются на:

фрейм-экземпляр - конкретная реализация фрейма, описывающая текущее состояние в предметной области;

фрейм-образец - шаблон для описания объектов или допустимых ситуаций предметной области;

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

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

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

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

10 Ленемы

Ленемы представляют собой смешенный тип модели, являющийся как бы «развитием» других моделей.

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

1. логическую ;

2. структурную (сематические сети и фреймы);

3. процедурную.

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

11 Извлечение знаний

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

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

В настоящее время большинство разработчиков экспертных систем отмечает, что процесс извлечения знаний остается самым «узким» местом при построении промышленных экспертных систем. При этом приходится самостоятельно разрабатывать методы извлечения, сталкиваясь со следующими трудностями:

· Организационные неувязки;

· Неудачный метод извлечения, не совпадающий со структурой знаний в данной области;

· Неадекватная модель (язык) для представления знаний;

· Неумение наладить контакт с экспертом;

· Терминологический разнобой;

· Отсутствие целостной системы знаний в результате извлечения только «фрагментов»;

· Упрощение «картины мира» эксперта и др.

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

Формирование знаний - процесс анализа данных и выявление скрытых закономерностей с использованием специального математического аппарата и программных средств.

12 Экспертная система

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

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

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

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

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

13 Операции над знаниями в логической модели представления знаний

Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, процедур и программы на языке Пролог. Вопросы - это основное средство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.

Пример экспертной системы «Выбор профессии».

rule - определяющий связи объектов с древовидной структурой и набором профессий;

- cond - определяющий характеристики успеваемости ученика по предметам

Файл prof.dba:

rule(1,"prof","Хороший шанс преуспеть в администрировании",[1,2,3])

rule(2,"prof","Вам можно посвятить себя юриспруденции",[2,5,7])

rule(3,"prof","Вы прирожденный бухгалтер",[2,5,10])

rule(4,"prof","Хороший шанс преуспеть в архитектуре",[2,8])

rule(5,"prof","Ваше призвание - медицина",[2,9])

rule(6,"prof","Вам стоит попробовать себя в литературе",[4,7])

rule(7,"prof","Попробуйте себя в политике",[4,6,7])

cond(1,"Вы успешно занимаетесь точными науками")

cond(2,"Точными науки даются неплохо")

cond(3,"У вас есть успехи в гуманитарных науках")

cond(4,"Вы хоть немножко разбираетесь в гуманитарных науках ")

cond(5,"У вас математика -выше среднего")

cond(6,"Математика вам не дается")

cond(7,"Вы хорошо владеете родным языком")

cond(8,"Вы успешно занимаетесь искусствами")

cond(9,"Вас увлекает биология")

cond(10,"Вам хорошо дается экономика")

Файл PROG1005.pro

/* Программа: Выбор профессии экспертная система Файл: prog1003.pro */

/* Назначение. Демонстрация работы экспертной системы, */

/* Замечание: Это выбор профессии экспертная система. Система состоит из базы знаний (БЗ), механизма вывода (МВ) и системы пользовательского интерфейса (СПИ).

domains

CONDITIONS = BNO *

HISTORY = RNO *

RNO, BNO, FNO = INTEGER

CATEGORY = SYMBOL

database

/* Предикаты базы данных */

rule(RNO, symbol, CATEGORY, CONDITIONS)

cond(BNO, STRING)

yes(BNO)

no(BNO)

topic(string)

predicates

/* Предикаты системы пользовательского интерфейса */

do_expert_job

show_menu

do_consulting

process(integer)

listopt

evalans(char)

info(CATEGORY)

goes(CATEGORY)

/* Предикаты механизма вывода */

go(HISTORY, CATEGORY)

check(RNO, HISTORY, CONDITIONS)

notest(BNO)

inpo(HISTORY, RNO, BNO, STRING)

do_answer(HISTORY, RNO, STRING, BNO, INTEGER)

erase

clear

goal

do_expert_job.

clauses

/* Cистема пользовательского интерфейса (часть 1) */

do_expert_job :- makewindow(1,7,7,"prof EXPERT SYSTEM ",0,0,25,80),

show_menu,

nl,write(" Press space bar. "),

readchar(_),

exit.

show_menu :- write(" "),nl,

write(" * * * * * * * * * * * * * * * * * * "),nl,

write(" * MEDICAL EXPERT * "),nl,

write(" * * "),nl,

write(" * 1. Load KBS * "),nl,

write(" * 2. Consultation * "),nl,

write(" * 3. Save KBS * "),nl,

write(" * 4. Exit the system * "),nl,

write(" * * "),nl,

write(" * * * * * * * * * * * * * * * * * * "),nl,

write(" "),nl,

write("Please enter your choice: 1,2,3 or 4 : "),nl,

readint(Choice),

process (Choice).

process(0).

process(1) :- consult("prof.dba"),do_consulting.

process(2) :- do_consulting.

process(3) :- save("prof.DBA").

process(4) :- exit.

do_consulting :- goes(Mygoal),nl,nl,

go([],Mygoal),

!.

do_consulting :- nl, write(" Ничем не могу вам помочь"),

nl,write(" Пожалуйста посмотрите и выбирете базу. "),nl,

clear.

goes(Mygoal) :- clear,

clearwindow,

nl,nl,

write(" "),nl,

write(" WELCOME TO THE prof EXPERT SYSTEM "),nl,

write(" "),nl,

write("This is an illnes identification system."),nl,

write("To start the consultation process, "),nl,

write("please type in 'prof'. "),nl,

readln(Mygoal),

info(Mygoal),!.

go(_,Mygoal) :- not(rule(_,Mygoal,_,_)),!,nl,

write(" I think it is ",MYgoal,"."),nl,nl,

write(" Is my diagnosis right (y/n) ?"),nl,

readchar(Answer),

evalans(Answer).

/* МЕХАНИЗМ ВЫВОДА */

go(HISTORY,Mygoal) :- rule(RNO,Mygoal,NY,COND),

check(RNO,HISTORY,COND),

go([RNO|HISTORY],NY).

check(RNO,HISTORY,[BNO|REST]) :- yes(BNO),!,

check(RNO,HISTORY,REST).

check(_,_,[BNO|_]) :- no(BNO),!,fail.

check(RNO,HISTORY,[BNO|REST]) :- cond(BNO,NCOND),

fronttoken(NCOND,"not",_COND),

frontchar(_COND,_,COND),

cond(BNO1,COND),

notest(BNO1),!,

check(RNO,HISTORY,REST).

check(_,_,[BNO|_]) :- cond(BNO,NCOND),

fronttoken(NCOND,"not",_COND),

frontchar(_COND,_,COND),

cond(BNO1,COND),

yes(BNO1),

!,fail.

check(RNO,HISTORY,[BNO|REST]) :- cond(BNO,TEXT),

inpo(HISTORY,RNO,BNO,TEXT),

check(RNO,HISTORY,REST).

check(_,_,[]).

notest(BNO) :- no(BNO),!.

notest(BNO) :- not(yes(BNO)),!.

do_answer(_,_,_,_,0) :- exit.

do_answer(_,_,_,BNO,1) :- assert(yes(BNO)),

shiftwindow(1),

write(yes),nl.

do_answer(_,_,_,BNO,2) :- assert(no(BNO)),

write(no),nl,

fail.

erase :- retract(_),fail.

erase.

clear :- retract(yes(_)),retract(no(_)),fail,!.

clear.

/* СИСТЕМА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА (часть 2) */

inpo(HISTORY,RNO,BNO,TEXT) :- write("Question :-",TEXT," ? "),

makewindow(2,7,7,"Response",10,54,7,20),

write("Type 1 for 'yes' ,"),nl,

write("Type 2 for 'no' : "),nl,

readint(RESPONSE),

clearwindow,

shiftwindow(1),

do_answer(HISTORY,RNO,TEXT,BNO,RESPONSE).

info("?") :- clearwindow,

write("Reply from the KBS."),nl,

listopt,

nl,write("Please any key. "),

readchar(_),

clearwindow,

show_menu.

info(X) :- X >< "?".

listopt :- write("The avtoes are : "),nl,nl,

topic(Ins),

write(" ",Ins," "),nl,

fail.

listopt.

evalans('y') :- write(" I am glad I can help you !"),nl,nl,

write(" Press the space bar."),

readchar(_),

clearwindow,

show_menu.

evalans('n') :- write(" I am sorry I can't help you !"),nl,nl,

write(" Please press space bar ."),

readchar(_),

clearwindow,

show_menu.

/* Конец программы */

Предикат rule указывает название профессии. В предикате cond определяются успеваемость ученика по предметам. Предикат nl,write(" Пожалуйста посмотрите и выбирете базу. "),nl. После выбора базы пользователь или начать процесс анкетирования. Последовательность ответов пользователя фиксируется в предикатах базы данных yes и no. Правила erase и clear выполняют очистку БД. Поиск данных по образцу, заданному пользователем, осуществляется при помощи правила check. Организация диалога при помощи меню исключает возможные ошибки пользователя. Результатом диалога - консультации будет либо сообщение о рекомендуемом выборе профессии.

Заключение

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

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

Список используемой литературы

1. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем -Учебник Санкт-Петербург, 2000

2. Марселлус Д. Программирование экспертных систем на Турбо Прологе: Пер.с англ./Предисл. С.В. Трубицина. - М.: Финансы и статистика, 1994.-256с.

3. http://ru.wikipedia.org/wiki/%D0%97%D0%BD%D0%B0%D0%BD%D0%B8%D0%B5

4. http://www.gks.ru/free_doc/new_site/population/urov/urov_12kv.htm

Размещено на http://www.allbest.ru/


Подобные документы

  • Классы и группы моделей представления знаний. Состав продукционной системы. Классификация моделей представления знаний. Программные средства для реализации семантических сетей. Участок сети причинно-следственных связей. Достоинства продукционной модели.

    презентация [380,4 K], добавлен 14.08.2013

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

    дипломная работа [960,9 K], добавлен 12.12.2008

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

    курсовая работа [33,1 K], добавлен 21.07.2012

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

    реферат [203,3 K], добавлен 19.06.2010

  • Потребность отражения человеческих знаний в памяти компьютера. Модели представления знаний. Продукционные и формально-логические модели. Исчисление предикатов первого порядка. Основные свойства теории фреймов. Аналитическая платформа Deductor.

    курсовая работа [538,2 K], добавлен 09.04.2015

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

    контрольная работа [29,9 K], добавлен 18.05.2009

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

    реферат [2,6 M], добавлен 22.12.2014

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

    курс лекций [1,1 M], добавлен 14.01.2011

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

    курс лекций [538,1 K], добавлен 16.06.2012

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

    лабораторная работа [524,2 K], добавлен 02.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.