Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документ Microsoft Office Word (3)111.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
104 Кб
Скачать
☆

30.Представление отношений формулами (предикатами), фреймами и семантическими таблицами.

Предикат - логическая функция, определенная на некотором множестве M, то есть такая n-местная функция p, которая каждому упорядоченному набору (x1, ..., x1) из множества M сопоставляет некоторое высказывание, обозначаемое p(x1, ..., x1). В этом случае p называется n-местным предикатом на множестве M.

3.4 Представление знаний семантическими сетями

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

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

структуры долговременной памяти в психологии, но впоследствии стала одним из

основных способов представления знаний в инженерии знаний.

Моррис дал точное определение семантическим и прагматическим отношениям в

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

Другими словами, семантика означает определенные (общие) отношения между

символами и объектами, представленными этими символами, а прагматика –

выразительные (охватывающие) отношения между символами и создателями (или

пользователями) этих символов.

Первоначально в психологии изучались объекты, именуемые семантическими с

точки зрения известных ассоциативных свойств, накапливаемых в системе

обучения и поведения человека. Однако с развитием психологии познания стали

изучаться семантические структуры, включающие некоторые объекты. Затем были

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

знаний), в частности предположительные (гипотетические) структурные модели

долговременной памяти, и созданы моделирующие программы, понимающие смысл

слов.

Фреймовая модель, или модель представления знаний, основанная на фреймовой

теории М. Минского, представляет собой систематизированную модель памяти

человека и его сознания.

Теория фреймов - это парадигма для представления знаний с целью

использования этих знаний компьютером. Впервые была представлена Минским в

1975 году, как попытка построить фреймовую сеть, или парадигму с целью

достижения большего эффекта понимания. С одной стороны он пытался

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

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

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

компьютеру вводить информацию в более гибкой форме, имея доступ к тому

разделу, который требуется в данный момент. Минский разработал такую схему, в

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

объединенными в сеть, называемую системой фреймов. Новый фрейм активизируется

с наступлением новой ситуации. Отличительной его чертой является то, что он

одновременно содержит большой объем знаний и в то же время является

достаточно гибким для того, чтобы быть использованным как отдельный элемент

базы данных. Термин «фрейм» был наиболее популярен в середине семидесятых

годов, когда существовало много его толкований, отличных от интерпретации

Минского.

Итак, как было сказано выше фреймы – это фрагменты знания, предназначенные

для представления стандартных ситуаций. Термин «фрейм» (Frame – рамка) был

предложен Минским. Фреймы имеют вид структурированных компонентов ситуаций,

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

образом, связь между двумя фреймами. Могут устанавливаться общие связи типа

связи по общению. С каждым фреймом ассоциируется разнообразная информация (в

том числе и процедуры), например ожидаемые процедуры ситуации, способы

получения информации о слотах, значение принимаемые по умолчанию, правила

вывода.

Формальная структура фрейма имеет вид:

f[<N1, V1>, <N2, V2>, ., <Nk,Vk>],

где f – имя фрейма; пара <Ni, Vi> - i-ый слот, Ni – имя слота и Vi – его значение.

Значение слота может быть представлено последовательностью

<K1><Li>;...; <Kn><Ln>; <R1>; .; <Rm>,

где Ki – имена атрибутов, характерных для данного слота; Li – значение этих

атрибутов, характерных для данного слота; Rj – различные ссылки на другие

слоты.

Каждый фрейм, как структура хранит знания о предметной области

(фрейм–прототип), а при заполнении слотов знаниями превращается в конкретный

фрейм события или явления.

Фреймы можно разделить на две группы: фреймы-описания; ролевые фреймы.

Рассмотрим пример.

Фрейм описание: [<программное обеспечение>, <программа 1С бухгалтерия,

версия 7.7>, <программа 1С торговля, версия 7.7>, <правовая

программа «Консультант +» проф.>].

Ролевой фрейм: [<заявка на продажу>, <что, установка и покупка

программы 1С торговля, версия 7.7>, <откуда, фирма ВМИ>, <куда,

фирма «Лукойл»>, <кто, курьер Иванова>, <когда, 27 октября

1998г.>].

Во фрейме-описании в качестве имен слотов задан вид программного обеспечения,

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

продукции. В ролевом фрейме в качестве имен слотов выступают вопросительные

слова, ответы на которые являются значениями слотов. Для данного примера

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

фреймами – примерами, либо фреймами – экземплярами. Если в приведенном

примере убрать значения слотов, оставив только имена, то получим так

называемый фрейм – прототип.

Достоинство фрейма – представления во многом основываются на включении в него

предположений и ожиданий. Это достигается за счет присвоения по умолчанию

слотам фрейма стандартных ситуаций. В процессе поиска решений эти значения

могут быть заменены более достоверными. Некоторые переменные выделены таким

образом, что об их значениях система должна спросить пользователя. Часть

переменных определяется посредством встроенных процедур, называемых

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

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

декларативные и процедурные знания.

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

Это достигается за счет свойств наследования и вложенности, которыми обладают

фреймы, т.е. в качестве слотов может выступать система имен слотов более

низкого уровня, а также слоты могут быть использованы как вызовы каких-либо

процедур для выполнения.

Для многих предметных областей фреймовые модели являются основным способом

формализации знаний.

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

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

Приведенные примеры являются логическими моделями представления фактов с помощью предикатов и носят название атомарной формулы. ЛЮБОВЬ (Виктор, Ирина): Виктор любит Ирину. СТОЛИЦА (Москва): Москва – столица. Следующие примеры являются правильно построенными логическими формулами,

включающими кванторы существования (ᴲ) и общности ( ).

: некий дельфин наделен умственными способностями

: все слоны имеют серую окраску

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

11.Работа с базами данных в языке Пролог

В программах на Прологе имеется возможность хранить предикаты-факты, обрабатываемые программой, отдельно от самой программы. Файл, содержащий предикаты-факты, называется базой данных. Факты, хранящиеся в файле базы данных, объявляются в разделе global facts (или global database). Нестандартные типы данных, используемые в базе данных, должны быть объявлены в разделе global domains. В одной базе данных могут храниться факты, имеющие разные имена, разное количество аргументов и т.д. Все они должны быть объявлены в разделе global facts. Информация в базу данных может вводиться обычным текстовым редактором (например, редактором системы Visual Prolog). В каждой строке базы данных может содержаться только один факт. В базе данных не должно быть пустых строк, в том числе в конце базы данных (после последнего факта). Факты в базе данных должны быть набраны без пробелов. Точка в конце фактов не ставится.

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

global domains

oplata=rub (integer, string);

doll (integer)

spisok=string*

global facts

rabota (string, spisok)

proekt (string, string, oplata)

20.Семантические сети: основные определения.

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

9. Синтаксис языка Пролог

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

Язык программирования Пролог не допускает использование русских символов в качестве идентификаторов.

Программа на прологе состоит из предложений. Предложения бывают трех видов:•Факты, •Правила, •Вопросы

Как и в любом другом языке, ориентированном на символьные вычисления, предложения выстраиваются из термов, которые в свою очередь подразделяются на атомы, числа, переменные и структуры. Атом записывается со строчной буквы или заключается в кавычки, когда требуется запись с прописной буквы.( atom 'Atom') Переменные, записывающиеся с прописной буквы, отличаются от переменных в процедурных языках программирования, они не связаны с конкретной ячейкой памяти, а скорее ближе к математической переменной.( X is 2 + 2.) Структуры представляют собой совокупности термов, заключенные в круглые скобки, в том числе и другие структуры. Структура обозначается именем (функтором), которое располагается перед круглыми скобками.( book('Название', '2009', 'Спб', authors('Первый автор', 'Второй автор')). )

10.Связь программ на Прологе с другими языками

В Visual Prolog можно вызывать подпрограммы C, Pascal, assembler. Перед вызовом процедур и функций, написанных на др. языках, надо объявить их как внешние предикаты в Visual Prolog.

global predicates

add(integer,integer,integer) – (i,i,o), (i,i,i) language c

scanner(string, token) – (i,o) language pascal

triple(integer, real) – (I,o) language asm

В Visual Prolog явно указываете язык, с которым взаимодействуйте. Это упрощает проблемы, связанные с соглашениями о вызовах, такими как формат записи активизации, соглашения об именовани и возврате параметров.

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

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

Пример:

global predicates

char prolog_msg(string) – (i) language c

hello_c - language c

clauses

prolog_msg(S,C) :-

write (S, “ press any key”),

readchar(C).

goal

prolog_msg(“Hello from Prolog!”),

hello_c.

Глобальный предикат prolog_msg теперь доступен из C и может быть вызван как любая другая функция C.

char prolog_msg(char *);

void hello_c()

{while (prolog_msg(“Hello from C, press ‘C’ ”) != ‘C’);}

6. Самообучающиеся системы

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

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

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

Построенные в соответствии с этими принципами самообучающиеся системы имеют следующие недостатки:

• относительно низкую адекватность баз знаний возникающим реальным проблемам из-за неполноты и/или зашумленности обучающей выборки;

• низкую степень объяснимости полученных результатов;

• поверхностное описание проблемной области и узкую направленность применния

• из-за ограничений в размерности признакового пространства.

7. Способы представления знаний в автоматизированных системах

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

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

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

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

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

2. Системы с интеллектуальным интерфейсом

Информационные системы с интеллектуальным интерфейсом можно разделить на следующие группы

-Интеллектуальные базы данных

- Информационные системы с естественно-языковым интерфейсом

-Гипертекстовые системы

- Системы контекстной помощи

- Системы когнитивной графики

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

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

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

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

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

4. Этапы создания экспертной системы

Экспертная система (ЭС)- это ИИС, предназначенная для решения слабоформализуемых задач на основе накапливаемого в базе знаний опыта работы экспертов в проблемной области.

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

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

1 идентификация проблемной области

2 концептуализация проблемной области

3 формализация базы знаний

4 реализация базы знаний

5 тестирование базы знаний

6 опытная эксплуатация

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

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

5. Экспертные системы

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

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

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

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

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

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

Экспертная система является инструментом, усиливающим интеллектуальные способности эксперта, и может выполнять следующие роли:

  • консультанта для неопытных или непрофессиональных пользователей;

  • ассистента в связи с необходимостью анализа экспертом различных вариантов принятия решений;

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

19.Фреймы. Примеры систем, основанных на фреймах.

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

В качестве примера фрейм <выбор скорости>:

{<выбор скорости>

<состояние дороги>:0.6

<состояние машины>:0.8

<состояние водителя>:0.5 }

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