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

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

трелка, соответствующая 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. Эта конкретизация книги появляется в концептуальных графах, представл?/p>