Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мехринса_ОИИ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
78.32 Кб
Скачать

Билет № 6

  1. Семантические сети

  2. Основные понятия Пролога – переменные свободные и связанные; анонимная переменная

  3. Описать базу знаний о родственных отношениях

  1. Семантические сети.

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

Пример семантической сети

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

  1. Основные понятия Пролога – переменные свободные и связанные; анонимная переменная

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

Предложения бывают двух видов: фактыправила.

Факт - это предложение, у которого тело пустое. Правило - это предложение, истинность которого зависит от истинности одного или нескольких предложений

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

Переменные могут быть свободными или связанными.

Свободная переменная - это переменная, которая еще не получила значения. Она не равняется ни нулю, ни пробелу; у нее вообще нет никакого значения. Такие переменные еще называют неконкретизированными.

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

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

  1. Описать базу знаний о родственных отношениях

DOMAINS /* раздел описания доменов */

s=string /* вводим синоним для строкового типа данных */

PREDICATES /* раздел описания предикатов */

mother(s,s) /* предикат мама будет иметь два аргумента

строкового типа */

grandmother(s,s) /* то же имеет место и для предиката бабушка */

CLAUSES /* раздел описания предложений */

mother("Даша","Маша"). /* "Даша" и "Маша" связаны отношением мама */

mother("Наташа","Даша"). /* "Наташа" является мамой "Даши" */

mother("Наташа","Глаша"). /* "Наташа" и "Глаша" связаны

отношением мама */

mother("Даша","Саша"). /* "Даша" является мамой "Саши" */

grandmother(X,Y):– /* X является бабушкой Y,

если найдется такой Z, что */

mother(X,Z), /* X является мамой Z, а */

mother(Z,Y). /* Z является мамой Y */