Представление знаний в интеллектуальных системах

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

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

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

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

.

Эта формула логически эквивалентна формуле

.

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

Например, интересно выяснить, можно ли формулу хС(х) логически вывести из гипотез и аксиом. Если да, то хотелось бы знать конкретизацию для х в терминах вывода. Попытка доказать хС(х) из {Hj, Ai} должна быть конструктивной. Проиллюстрируем подобное доказательство следующим примером.

Рассуждения по поводу знаний

В большинстве встречающихся в ИИ систем относящихся к области экспертизы знания делятся на две категории: «факты» и «правила» . Факты - это данные (представленные предикатами), касающиеся области экспертизы. Например, данные о персонале некоторого университета составляют множество фактов.

· Факт(1)

По-русски: Жак - профессор факультета информатики.

Логически: Проф(Инфо, Жак_2).

· Факт(2).

По-русски: Мари - студентка математического факультета,

Логически: Студ (Мат, Мари-4).

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

· Правило(1)

По-русски: Если y - профессор факультета х и w студент(ка) факультета z при x?z, то y может служить внешним экзаменатором для w.

Логически: Проф (x,y)

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

· Предложение-цель (1).

По-русски: Может ли Жак служить внешним экзаменатором для Мари?

Логически: Экзам(Жак_2. Мари_4).

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

16. Язык Prolog. Термы и объекты. Факты и элементарные вопросы

Термы и объекты

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

· индивидные константы (атомы)

· переменные

· функции (функциональные термы), состоящие из имени функции и списка аргументов-термов

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

· Атом записывается тремя способами:

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

- как число 123 1.23

- как произвольную последовательность символов, расположенную между апострофами `Что Вы говорите' `Больше нечего сказать'

· Переменная - это идентификатор, начинающийся с прописной буквы Х Имя Король_Франции

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

автор(книга, 1987) f(X) `Что ты говоришь?'(штука)

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

издат(дюно, 1987) книга(жюль_верн, мишель_строгофф, издат(этцель, 1876))

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

Данные (константы) Пролога - это термы, не имеющие переменных. В логике они называются индивидными термами (а также константными термами). Числовые атомы - это константы для программирования численных расчётов.

Факты и элементарные вопросы

Простые предикаты (атомарные формулы и/или предикатные формы) формальной логики, такие, как Автор(Эрнани,Гюго)принимают значения И или Л. Почти то же самое имеет место для фактов и вопросов Пролога, не содержащих переменных. Простой предикат Пролога записывается в виде функционального терма, например:

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

/* библио*/

книга(грэм, `рассуждать, чтобы программировать' ,издат(дюно,1986)).

книга(кондиляк, `пролог', издат(дюно,1986)).

книга(дьедонне, `математика', издат(эрман,1986)).

книга(гюго, `отверженные', издат(пош,1984)).

книга(гюго, `эрнани', издат(галлимар,1974)).

книга(хартман, `параллельный паскаль', издат(шпрингер,1977)).

библиотекарь(эмиль).

начальник(эмиль, анри).

начальник(жозев, анри).

идёт_дождь.

Точка, стоящая после предиката, указывает на то, что рассматриваемое выражение является фактом. Первая строка - это комментарий: любая последовательность символов, записанная между парой ограничителей /* и */, при выполнении игнорируется. Каждый факт, содержащийся в программе, имеет соответствующее значение истинности и порождает (определяет) отношение между термами. Например, двухместное отношение (предикат) начальник установлено между термами эмиль и анри, а трёхместное отношение книга - для 6 троек термов и т.д. Последний факт в приведённом примере - идёт дождь - является нульместным отношением (не имеющим аргументов).

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

Из простых предикатов строят также вопросы, например: ? - начальник(эмиль, анри).

Это выражение нового факта не устанавливает, но «система запрашивает о том, установлен или нет данный факт. Значение вопроса (т.е. ответ) зависит от БД. В нашем примере вопрос простой, переменные и правила отсутствуют. Значение есть И, если в БД содержится факт с предикатом вопроса. В противном случае значение есть Л. Всё это интуитивно ясно. На практике задаётся последовательность «вопрос - ответ»:

? - начальник(эмиль, анри).

- - > да

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

? - книга(грэм, `рассуждать, чтобы программировать' ,издат(дюно,1986)).

- - - > да

? - книга( `рассуждать, чтобы программировать' ,издат(дюно,1986)).

- - - > нет

? - начальник(эмиль, генри).

- - - > нет

? - идёт_дождь(сейчас)

- - - > нет

Так как в Прологе нет объявления и контроля типов, то нет и ошибок программирования. Неверно написанное пользователем имя для системы является новым атомом: анри и генри - два атома, которые не имеют ничего общего. Бинарное отношение не годится в качестве тернарного, зато тернарное отношение задаёт три бинарных отношения с одинаковыми именами - для трёх пар из трёх аргументов: отношения книга(_,_) и книга(_,_,_) для системы различны, чем и обусловлен ответ на второй приведённый выше вопрос.

17. Системы прямой дедукции. Системы обратной дедукции

Системы прямой дедукции

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

(Факт (1) Факт (2) Правило (1)) Цель (1).

· Этап(1):

Преобразуем Факт(1) и Правило (1)) в дизъюнкты, чтобы применить затем метод резолюций. С помощью резолюции выводим новое правило (2), используя обозначение

Факт(1) Правило (1)

Правило (2)

Факт(1): Правило (1):

Проф(Инфо, Жак_2)

Правило (2):

· Этап (2): из Факта (2) и Правила (2) резолюцией выводим новый

Факт(3):

Факт(2): Правило(2)

Студ(Мат, Мари_4)

Факт(3): Экзам(Жак_2, Мари_4)Равно(Инфо,Мат)=Л

(Отношение Равно(Инфо,Мат)=Л должно быть явно указано в БД)

· Этап (3):

Факт(3) соответствует Цели(1). Следовательно, она подтверждена. Аналогично выведем утверждение Л из Факта(3) и отрицания Цели(1):

Факт(3): Цель(1):

Экзам(Жак_2, Мари_4) Экзам(Жак_2, Мари_4)

Систему прямой дедукции можно трактовать как систему, в которой применяется теорема о прямой дедукции: Если F1, F2, … , Fn, G - логические выражения, то G является логическим следствием из F1, F2, … , Fn тогда и только тогда, когда логическое выражение(F1 … FnG) тождественно ложно, т.е. невыполнимо. Правила вывода и стратегии, используемые в системах прямой дедукции, графически представимы И/ИЛИ - деревьями.

Системы обратной дедукции

В системах обратной дедукции выводы применяют к цели и к правилам, чтобы построить новые частичные цели. Алгоритм завершает работу, когда все частичные цели соответствуют фактам. Такую систему можно толковать с логической точки зрения как систему, в которой применяется теорема об обратной дедукции, которая гласит: Если F1, F2, … , Fn, G - логические выражения, то G является логическим следствием из F1, F2, … , Fn тогда и только тогда, когда логическое выражение (тождественно истинно, т.е. общезначимо.

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

· Этап (1): из Цели (1) и отрицания Правила(1), используя правило согласия, выводим новую Цель (2):

Цель(1) Правило(1)

Экзам(Жак_2. Мари_4)

Цель(2):

· Этап (2): из Цели (2) и отрицания Факта(1), с помощью правила согласия, выводим Цель (3):

Цель(2): Факт(1):

Проф(Инфо, Жак_2)

Цель (3):

Студ(z, Мари_4)Равно(Инфо, z)

· Этап (3): из Цели (3) и отрицания Факта(2) выводим теорему:

Цель (3): Факт(2):

Студ(z, Мари_4)Равно(Инфо, z) Студ(Мат, Мари_4)

Равно(Инфо,Мат)=И

18. Язык Prolog. Конъюнкция. Переменные

Конъюнкция

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

? - начальник(эмиль, анри), начальник(жозев, анри).

Это выражение соответствует такой логической формуле

Начальник(Эмиль, Анри) Начальник(Жозев, Анри).

Конъюнкция в Прологе, как и в логике, истинна только при истинности всех компонент. Однако имеется важное отличие: в Прологе семантика учитывает порядок оценки компонент (слева направо)

Переменные

Использование переменных в Прологе аналогично, но не идентично использованию их в логике. Вопросы, включающие переменные носят перечислительный характер (в отличие от да-нет-вопросов): ответы в этом случае представляют собой списки термов. Например, вопрос «Кто в подчинении у Анри?» является вопросом «перечислительного» («списочного») типа. Ответ БД библио мог бы быть [эмиль, жозеф].

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

? - начальник(Х, анри).

Ответ здесь хотелось бы получить посредством замены Х на такую константу, для которой в БД найдётся подходящий факт. Взяв константу Эмиль получаем:

? - начальник(Х, анри).

- - - > Х=эмиль

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

Предикат вопроса представляет собой цель. Здесь это начальник(Х, анри).

Цель достигнута, если в БД удалось найти факт или правило, который (которое) удовлетворяет этому предикату. Чтобы удовлетворить приведённому только что простому предикату, нужно иметь факт вида начальник(_, анри), т.е. факт, содержащий:

· такое же имя предиката (начальник),

· столько же аргументов (два),

· те же константы на тех же местах (анри на втором месте)

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

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

Ещё один способ выразить семантику рассмотренного выше вопроса состоит в формулировании следующего запроса: «Можно ли сопоставить (присвоить, назначить) переменной Х такой терм, чтобы результатом была формула из БД?» Утвердительный ответ обеспечивает назначение Х=эмиль. Это лишь одно из возможных назначений-ответов. Си-Пролог в интерактивном режиме даёт все ответы, если после каждого ставить точку с запятой:

? - начальник(Х, анри).

- - - > Х=эмиль;

- - - > Х=жозеф;

- - - > нет

Нет означает исчерпание возможностей.

Если вопрос ? - начальник(Х, анри). считать обращением к процедуре, то константа анри будет входом, а переменная Х - результатом. Это взгляд пользователя, но не Пролога. В выражениях, содержащихся в БД, различие между аргументами не производится. Лишь в вопросах переменные «заказывают» значения для ответов, например:

? - начальник(жозеф, Y).

- - - > Y=анри;

- - - > нет

? - начальник(Х, Y).

- - - > Х=эмиль, Y=анри;

- - - > Х=жозеф, Y=анри;

- - - > нет

Переменные можно также использовать в фактах: начальник(Х, адемар). Это выражение является записью на Прологе фразы «Адемар - большой начальник» и логической формулы . Цель вида начальник(_, адемар) достигается в том случае, если в БД содержится факт начальник(Х, адемар).

При использовании переменной в конъюнкции переменная устанавливает связь между сомножителями конъюнкции. Разумеется, все вхождения переменной принимают одно и то же значение. Ответ на вопрос ? - начальник(Х, анри), библиотекарь(Х). («Над каким библиотекарем Анри начальник?») получается путём последовательного удовлетворения двух частей (достижения двух частичных целей, подцелей) конъюнкции. Первая часть начальник(Х, анри), удовлетворяется фактом начальник(эмиль, анри). реализующим присваивание (назначение) Х=эмиль. Если бы первая подцель не достигалась, то ответ на весь вопрос был бы - нет. Присваивание значения переменной Х преобразует вторую подцель библиотекарь(Х) в библиотекарь(эмиль) которая достигается. Полный ответ

- - - > Х=эмиль.

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

19. Концептуальные графы. Пример и терминология

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

Предикаты могут иметь несколько аргументов. Следовательно, круги могут иметь несколько входящих и/или выходящих стрелок. Большинство предикатов, используемых для представления знаний, обладает двумя аргументами (бинарные предикаты). Тогда круги соединены с прямоугольниками двумя стрелками: входящей и выходящей.

Снова обратимся к примеру. На рисунке изображен концептуальный граф предиката Посылка (Жак_2, Мари_4, Книга_22), формализующий фразу «Жак посылает книгу Мари».

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

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

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

Отправитель( Посылка_8, Жак_2)

Получатель(Посылка_8, Мари_4)

Объект(Посылка_8, Книга_22)

Элем(Посылка_8, посылки).

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

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

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

Предикатное_имя(знчение_1, знчение_2, …, значение_ m) в произведение m бинарных предикатов

Функция_j(предикатное_имя, значение_j).

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

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

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

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

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

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

20. Язык Prolog. Переменные. Анонимные переменные

Использование переменных в Прологе аналогично, но не идентично использованию их в логике. Вопросы, включающие переменные носят перечислительный характер (в отличие от да-нет-вопросов): ответы в этом случае представляют собой списки термов. Например, вопрос «Кто в подчинении у Анри?» является вопросом «перечислительного» («списочного») типа. Ответ БД библио мог бы быть [эмиль, жозеф].

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

? - начальник(Х, анри).

Ответ здесь хотелось бы получить посредством замены Х на такую константу, для которой в БД найдётся подходящий факт. Взяв константу Эмиль получаем:

? - начальник(Х, анри).

- - - > Х=эмиль

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

Предикат вопроса представляет собой цель. Здесь это начальник(Х, анри).

Цель достигнута, если в БД удалось найти факт или правило, который (которое) удовлетворяет этому предикату. Чтобы удовлетворить приведённому только что простому предикату, нужно иметь факт вида начальник(_, анри), т.е. факт, содержащий:

· такое же имя предиката (начальник),

· столько же аргументов (два),

· те же константы на тех же местах (анри на втором месте)

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

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

Анонимные переменные

Переменные, которые рассматривались выше, имели имена. Существуют и анонимные переменные. Допустим, что мы интересуемся наличием в БД библио хотя бы одной книги Виктора Гюго. Вопрос

? - книга(гюго, Х,Y). вызовет последовательность ответов

- - - > Х=отверженные, Y=издат(пош,1984);

- - - > Х=эрнани, Y=издат(галлимар,1974);

- - - > нет

Это не совсем то, что надо: - предполагалось получить «да» или «нет». Однако, заменяя Х и Y анонимными переменными (знак подчёркивания), получаем то, что хотели: на вопрос

? - книга(гюго, _,_). ответ будет

- - - > да

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

? - книга(А, _,_). Это даёт нам такой список

- - - > А=грэм;

- - - > А=кондиляк;

- - - > А=дьедоне;

- - - > А=гюго;

- - - > А=гюго;

- - - > А=хартман;

- - - > нет

Анонимные переменные не отличаются от обычных при поиске соответствий, но не принимают значений и не появляются в ответах. Отметим, что различные вхождения знака подчёркивания означают различные анонимные переменные.

21. Семантические сети. Правила конъюнкции и упрощения

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

Правила конъюнкции и упрощения

Рассмотрим набор из трех фраз:

Фраза 1: Жак пишет книгу.

Фраза 2: Жак посылает эту книгу Мари.

Фраза 3: Мари читает эту книгу (которую Жак ей послал).

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

Правило конъюнкции. Если узел-концепт с1 в g1 идентичен узлу-концепту с2 в g2, то g получается удалением с2 и соединением с с1 всех связывающих узлов, которые были связаны с с2 в g2.

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

Применим правило конъюнкции к приведенному примеру. "Книга, которую написал Жак, которую он послал Мари и которую Мари читала" представляется конкретизацией Книга_22. Эта конкретизация книги появляется в концептуальных графах, представляющих рассмотренные выше фразы 1), 2), 3). Группирование конкретизаций Книга_22, Жак_2 и Мари_4 порождает концептуальный граф, изображенный на следующем рисунке. На нем рамками выделены графы фраз 1, 2, 3 и граф группы фраз.

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

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

22. Язык Prolog. Правила. Рекурсивные правила

Последним и самым мощным видом выражений в Прологе являются правила обобщающие понятие факта. Например, для построения семейной БД можно перечислить родительские отношения при помощи списка фактов: мать(каролина,юлия). мать(каролина, альбертина). Выражать фактами отношения внуков с дедами необходимости нет, ибо они могут быть выведены из отношений предшествования «Х является дедом Y, если существует субъект Z, отец которого Х и который сам отец или мать Y». На Прологе это высказывание записывается в виде двух правил: дед(Х,Y):-отец(Х,Z), мать(Z,Y). дед(Х,Y):-отец(Х,Z), отец(Z,Y)., где символ «:-» читается «если» («при условии, что»).

Вообще правило выглядит так: Н:-Р1,Р2, … , Рn, где Н,Р1,Р2, … , Рn - простые предикаты. Это выражение читается следующим образом: «Н если (Р1 и Р2 …и Рn)». Предикат Н называется заголовком правила, а последовательность Р1,Р2, … , Рn - телом правила.

Приведённые только что правила являются аналогом предложения Н, если (Р1 Р2 … Рn), или выражения (Р1 Р2 … Рn)Н или формулы ¬Р1 Р2 … РnН, которые суть различные записи хорновских дизъюнктов. Приведённое правило похоже, кроме того, на объявление процедуры в языке программирования.

Заголовок правила дед(Х,Y) объявлен как и тело правила отец(Х,Z), мать(Z,Y). Это правило указывает на то, что вопрос, имеющий форму ? - дед(андре,каролина). преобразуется в вопрос ? - отец(андре,Z), мать(Z,каролина). Наличие правила (как и факта) в БД означает общезначимость соответствующей формулы. Считается, что все переменные в правиле связаны кванторами общности. Например, правило дед(Х,Y):-отец(Х,Z), мать(Z,Y). толкуется как .

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

Н истинно, если Р1 и Р2 …и Рn истинны (правило),

Н истинно (факт или правило без тела),

Р1 и Р2 …и Рn истинны? (вопрос или правило без заголовка).

Рассмотрим следующую БД:

мать(каролина,юлия).

мать(каролина, альбертина).

мать(мари,проспер).

мать(анна,каролина).

отец(проспер,юлия).

отец(проспер,альбертина).

отец(альфонс,проспер).

отец(андре,каролина).

дед(Х,Y):-отец(Х,Z), мать(Z,Y).

дед(Х,Y):-отец(Х,Z), отец(Z,Y).

бабка(Х,Y):-мать(Х,Z), мать(Z,Y).

бабка(Х,Y):-мать(Х,Z), отец(Z,Y).

Отношения мать и отец заданы фактами, а отношение дед и бабка определяются с помощью правил.

На вопрос ? - дед(альфонс,юлия). ответов среди фактов нет (ни один факт не соответствует предикату вопроса). Но заголовки некоторых правил соответствуют этому предикату.

Цель заголовка какого-либо правила считается достигнутой (как и для факта) при совпадении имени предиката, числа аргументов в нём и констант стоящих на соответствующих местах предиката. Так, например факт дед(альфонс,юлия) обеспечивает реализуемость (удовлетворение, достижение) цели дед(Х,Y). Переменным из заголовка правила присваиваются значения: Х=альфонс, Y=юлия. Новой целью будет далее тело с новыми значениями переменных отец(альфонс,Z),отец(Z,юлия). Эта последовательность предикатов обрабатывается как последовательность подцелей. Их достижение обеспечивается присваиванием Z=проспер.

В итоге получаем последовательность вопрос-ответ

? - дед(альфонс,юлия).

- - - > да

Значение внутренней (отсутствующей в вопросе) переменной не входит в ответ. Это вполне естественно, ибо вопрос «да-нет» и переменные X, Y, Z нужны только для вычисления (нахождения) ответа.

Рекурсивные правила

База данных семья должна отвечать на вопрос является ли Х предком Y. Определение предиката «быть предком» рекурсивно. Для предков по женской линии соответствующие правила на Прологе записываются так. предок(Х,Y):-мать(Х,Y). предок(Х,Y):-мать(Х,Z),предок(Z,Y). Такие рекурсии разрешается использовать, иначе язык был бы слишком примитивным. Рекурсивное определение предиката обязательно должно содержать базис, т.е. нерекурсивную часть, иначе оно будет логически некорректным и программа зациклится. Чтобы избежать зацикливания, надлежит, кроме того, позаботиться о порядке выполнения, а следовательно, и порядке написания соответствующих выражений. Поэтому практически полезно, а порой и необходимо придерживаться принципа: «сначала нерекурсивные выражения».

23. Представления контекста. Пример введения кванторов

Представление контекста

Сам по себе концептуальный граф несет немного информации, тогда как включение в семантическую сеть позволяет связать его концепты и функциональные связи с областью рассуждений (экспертизы). Например, Книга_22 - конкретизация слова "книга", которое представляет абстрактное понятие (или, иначе, тип). Отношение принадлежности типу представлено связывающим узлом (именем предиката) Конкр (от слова "конкретизация"). Кроме факта, что Книга_22 относится к типу "книга", мы хотим показать, что она принадлежит некоторому "множеству книг" (например, из библиотеки некоторого университета). Отношение принадлежности множеству представлено связывающим узлом (именем предиката) Элем (от слова "элемент"). На рисунке конкретизации Жак_2, Кни га_22 и Мари_4

связаны с различными типами и множествами, которым они принадлежат. Отметим, что "тип" употребляется в абстрактном смысле (абстрактный тип). Утверждения о типах аналитические, например: средний возраст студентов университета двадцать лет.

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

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

Наоборот, свойства множеств - синтетические: число студентов университета равно десяти тысячам.

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

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

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

Представление «совокупность - ссылка»

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

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

Используя метод Совы, эти три узла можно сгруппировать и представить одним «узлом-прямоугольником», состоящим из двух полей: из «поля-совокупности», содержащего некоторый тип, и следующего за этим полем «поля ссылки», например с конкретизацией типа из первого поля (следующий рисунок). Здесь поле ссылки (справа от двоеточия) представляет тип. Представление [книга: Книга_22] (или короче, [книга:22]) означает вполне определённый объект типа «книга». Представление [книга: х] означает просто какой-то объект типа «книга». Отметим, что наличие переменной в правом поле необязательно. Например, можно заменить представление [книга: х] эквивалентным ему представлением [книга] (рисунок).

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

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

Пример

Фразы

· Жак посылает (вполне определённую) книгу Мари,

· Жак посылает (какую-то) книгу Мари

представляются двумя графами, которые можно выделить на следующем рисунке: первая фраза - графом без элементов с (2), вторая фраза - графом без элементов с (1).

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

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

Пример введения кванторов

Введем графическое обозначение кванторов на примере трех фраз:

· (1): Жак посылает (какую-то) книгу каждой женщине,

· (2) :Жак посылает всякую книгу каждой женщине,

· (3): Жак посылает (одну и ту же) книгу каждой женщине.

Запишем эти фразы в логике предикатов

· (1):

Получатель (z,x)Объект(z,y)

Конкр(z, посылка)Конкр(y, книга)

Конкр( х, женщина)],

· (2):

Получатель (z,x)Объект(z,y)

Конкр(z, посылка)Конкр(y, книга)

Конкр( х, женщина)],

· (3):

Получатель (z,x)Объект(z,y)

Конкр(z, посылка)Конкр(y, книга)

Конкр( х, женщина)],

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

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

Читатель может проверить, что с учётом этих соглашений относительно записи предпоследний рисунок, о котором идёт речь, без элементов (2), изображает формулу (1), что он же, но вместе с элементами, помеченными знаком (2), изображает формулу (2) и что последний рисунок, о котором идёт речь, представляет формулу (3).

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

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

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

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

24. Язык Prolog. Дизъюнкция. Отрицание

Дизъюнкция

Чистый Пролог разрешает применять только конъюнкцию в вопросах и правилах. Язык, используемый на практике, богаче: в нём допускаются дизъюнкция и отрицание в телах правил и вопросах (т.е. целях, которые исследуются на достижимость). Рассмотрим снова БД библио и следующие выражения со связкой дизъюнкции, обозначаемой точкой с запятой: начальник(Х,анри);библиотекарь(Х)

Оно является аналогом логической формулы

.

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

? - начальник(Х,анри);библиотекарь(Х).

- - - > Х=эмиль;

- - - > Х=жозеф;

- - - > Х=эмиль;

- - - > нет.

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

Отрицание

В Прологе отрицание имеет имя not и для представления отрицания какого-либо выражения Р используется запись not(P). Цель not(P) достижима тогда и только тогда, когда не удовлетворяется предикат (цель) Р. При этом переменным значения не присваиваются. В самом деле, если достигается Р, то не достигается not(P); значит, надо стереть все присваивания, приводящие к этому результату, наоборот, если Р не достигается, то переменные не принимают никаких значений. Рассмотрим пример, связанный с БД библио:

? - not(начальник(эмиль,арсен)).

- - - > да

? - not(начальник(эмиль,Х)).

- - - > нет

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

25. Сетевое представление знаний. Временные и модальные операторы

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

Фразу «Жак посылает книгу Мари» изображают классическим концептуальным графом в отличие от фразы «Поль полагает, что Жак посылает книгу Мари», отражённый (с пометкой (с)) в центральной части графа на следующем рисунке. Из этого рисунка видно, что Мысль_8 принадлежит типу мысль. Объект Мысль_8 - концепт типа (точнее, с «меткой типа») высказывание. Ссылка Мысль_8 - граф фразы «Жак посылает книгу Мари». Полагающий это человек - Поль_6.

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

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

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

26. Язык Prolog. Области действия имен

предикат логика знание логический

В Прологе программист свободен в выборе имён констант, переменных, функций и предикатов. Исключение составляют резервированные имена и числовые константы. Переменные не объявляются, отличаясь от констант первой буквой (строчная или прописная). Разные обозначения представляют разные объекты. Есть довольно очевидные исключения. Например, 133.1 и 133.10 - одно и то же число.

Область действия имени представляет собой часть программы, где это имя имеет один и тот же смысл (как во всех языках программирования). В Прологе:

· для переменной областью действия является выражение (факт, правило или вопрос), её содержащее,

· для остальных имён (констант, функций или предикатов) - вся программа.

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

мать(каролина,юлия).

мать(каролина, альбертина).

дед(Х,Y):-отец(Х,Z), отец(Z,Y).

бабка(Х,Y):-мать(Х,Z), мать(Z,Y).

27. Канонические графы. Правила построения. Унаследованные свойства

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

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

Правила построения

Сова предложил четыре правила построения для конструирования нового канонического графа g из имеющихся графов g1 и g2 (которые могут совпадать):

Правило конъюнкции: Если узел-концепт с1 в g1 идентичен узлу-концепту с2 в g2, то g получается удалением с2 и соединением с с1 всех связывающих узлов, которые были связаны с с2 в g2.

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

Правило копирования: граф g есть копия графа g1.

Правило ограничения: Для любого концепта с концептуального графа g тип (с) можно заменить неким подтипом. Если с - концепт совокупности, то её ссылку можно заменить индивидуальным указателем (какой-то конкретизацией). Такие замены разрешены лишь тогда, когда ссылка для с соответствует типу (с).

Проиллюстрируем эти правила на концептуальных графах представленных на следующем рисунке. Граф без элементов с (2) - для фразы «Жак срочно посылает книгу кому-то» Граф без элементов с (1) - для фразы «Жак посылает почтой книгу Мари». Применение правила конъюнкции к этим двум графам даёт весь граф изображённый на рисунке. Можно было бы далее применить к последнему графу правило ограничения, заменяя обозначенную х совокупность «кому-то» меньше совокупностью «женщина». Однако прежде надо убедиться в свойстве «Мари - женщина». Предыдущие правила являются фактически правилами суждения: ограничение сужает концепты, а конъюнкция добавляет условия на графах. Аналогично можно определить правила расширения, которые представляют собой правила, обратные к правилам суждения.

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

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

Унаследованные свойства

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

Сначала проиллюстрируем иерархию типов на примере, а затем дадим формальное определение. Если известно, что Жак (представленный конкретизацией Жак_2) - профессор университета, то можно сделать заключение о наличии у него докторской степени и о том, что он работает в университете. Информация «Жак - профессор университета» предоставила нам целую цепочку сведений о Жаке. Унаследованными называют такие свойств, которые можно вывести подобным образом. Особых причин детально останавливаться на них нет. Ясно, что кое-какие характеристики профессоров университета можно описать исходя из принадлежности к профессуре; некоторые характеристики профессуры выносятся из того факта, что они содержатся в совокупности работников умственного труда, и, в конечном счёте, всех людей. Соображения эффективности побуждают нас не связывать с Жаком все общие профессоров университета, вообще профессоров и, наконец, всех людей. Весьма общее свойство, как например, «У Жака две руки и две ноги», сопоставляется узлу, характеризующему всех людей. Это даёт возможность не провозглашать наличие указанного свойства отдельно, для каждого индивида.

28. Язык Prolog. Сложные термы, или структуры

Структурные объекты (или просто структуры) - это объекты, которые состоят из нескольких компонент. Эти компоненты в свою очередь могут быть структурами. Например, дату можно рассматривать как структуру, состоящую из трех компонент: день, месяц, год. Хотя они и составлены из нескольких компонент, структуры в программе ведут себя как единые объекты. Для того, чтобы объединить компоненты в структуру, требуется выбрать функтор. Для нашего примера подойдет функтор date. Тогда дату 1-е мая 1983 г. можно записать так.

date (1, may, 1983).

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

date (Day, may, 1983).

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

Синтаксически все объекты данных в Прологе представляют собой термы. Например,

May

и

date(1, may, 1983)

суть термы.

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

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

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

Рис 7. Простые геометрические объекты.

Точка в двумерном пространстве определяется двумя координатами; отрезок двумя точками, а треугольник можно задать тремя точками. Введем следующие функторы:

tochka для точек

otrezok для отрезков и

treugolnik для треугольников

Тогда объекты представленные на Рис. 7. можно представить следующими прологовскими термами:

P1 = tochka (1, 1)

P2 = tochka (2, 3)

S = otrezok (P1, P2) =

otrezok (tochka (1, 1), tochka (2, 3))

T = treugolnik (tochka (1, 1), tochka (7, 1), tochka (6, 4))

Если представить эти объекты в виде деревьев (Рис. 8) (как впрочем и любые другие объекты), то функтор, служащий корнем дерева называется главным функтором терма.

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

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

Рис. 8. Представление объектов с рис. 7 в виде деревьев

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

Tochka3 (X, Y, Z)

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

tochka (X1, Y1) и tochka (X, Y, Z)

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

1) именем, синтаксис которого совпадает с синтаксисом атомов;

2) арностью - т.е. числом аргументов.

Все структурные объекты в Прологе - это деревья, представленные в программе термами. Рассмотрим еще два примера, чтобы понять насколько удобно сложные объекты данных представляются с помощью прологовских термов. На рис. 9 показано древовидная структура, соответствующая арифметическому выражению (а+в)*(с-5)

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

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

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

29. Решетки типов, иерархия типов. Определение типа посредством рода и различия

Пусть t1 и t2 - метки типов, если t1 t2, то t1 - подтип типа t2, а t2 - надтип типа t1. Типы «профессор» и «студент» имеют много общих надтипов: «работник умственного труда», «человек», «высшее млекопитающее». В графе «работник умственного труда» - наименьший общий надтип для «профессора» и «студента». Типы « профессор» и «сотрудник университета» имеют общий подтип «профессор университета». В графе «профессор» и «студент» не имеют общего подтипа.

Для преобразования иерархической формы в решётку надо ввести две особые метки соответственно в высшей и низшей точках иерархии - универсальный тип U (надтип всех типов) и абсурдный тип А (подтип всех типов). Иерархия типов даст решётку типов со всеми свойствами решётки:

· любая пара меток t1 и t2 имеет наименьший общий надтип,

· любая пара меток t1 и t2 имеет наибольший общий подтип,

· для любого типа t выполняется соотношение А t U.

Данное отношение порядка представляется функциональным отношением Это. Конкр означает принадлежность индивида типу.

Решётки множеств и решётки типов

Можно также ввести отношение порядка для множеств (подмножество множества) с помощью предиката Подмн или связывающего узла с тем же именем. При одноэлементном подмножестве Подмн заменяется на Элем. Иерархия типов позволила упорядоченно классифицировать свойства типов, а иерархия множеств - свойства множеств. Следующий рисунок иллюстрирует различие составных частей двух иерархий. Введём на концептуальных графах (в духе классики) несколько функций и операторов, действующих над множеством типов. Прежде всего - функция тип. Она отображает множество концептов на множество Т, элементы которого называются метками (ярлыками) типа. Концепты с1 и с2 имеют один общий тип, если тип(с1) = тип(с2). Денотатом типа t называется множество всех тех сущностей, которые являются конкретизациями некоторого концепта типа t. Оператор, сопоставляющий типу t его денотат, обозначается через Денот. Тип профессор_университета есть подтип типа профессор. Следовательно, денотат Денот(профессор_университета) является подмножеством Денот(профессор).

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

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

Каждой конкретизации (например, Жак_2) сопоставимо два вида узлов: узел описания типа конкретизации и узел описания множества, которому принадлежит эта конкретизация. Таким образом, имеем три вида узлов: узел, представляющий индивида (конкретизацию), который через промежуточные связывающие узлы соединён с узлами типа (Конкр) и множества (Элем). Естественно ввести четвёртый вид: {x| тип} - для произвольного индивида {х} определённого типа (тип).

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

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

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

Фраза «Жак посылает книгу Мари». Соответствующая запись её логической формулой такова:

Отправитель (посылка: 8, мужчина: Жак_2)

Получатель(посылка: 8, женщина: Мари_4) Объект(посылка: 8, книга: 22) (6)

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


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

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

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

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

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

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

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

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

    реферат [46,1 K], добавлен 01.12.2010

  • История возникновения и развития языка Prolog. Рассмотрение императивных и декларативных языков программирования. Элементы экспертной системы: база знаний, механизм вывода и система пользовательского интерфейса. Описание предикатов и предложений.

    дипломная работа [44,0 K], добавлен 11.05.2014

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

    курсовая работа [51,9 K], добавлен 18.02.2011

  • Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".

    курсовая работа [2,2 M], добавлен 05.11.2014

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

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

  • Анализ моделей и средств построения игровой компьютерной среды предметной области. Разработка алгоритмов построения игровой компьютерной среды. Отладка и экспериментальное тестирование компьютерной игры "Представление знаний в информационных системах".

    дипломная работа [2,9 M], добавлен 12.08.2017

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

    дипломная работа [1,4 M], добавлен 12.08.2017

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