- •Билет № 3
- •Методы представления знаний
- •Основные понятия Пролога – предложения: факты и правила
- •Создать предикат, вычисляющий по натуральному числу его факториал
- •Билет № 6
- •Семантические сети
- •Описать базу знаний о родственных отношениях
- •Билет № 9
- •Обобщенная структура экспертных систем
- •Хвостовая рекурсия
- •Создать предикат, позволяющий проверить принадлежность элемента списку
- •Билет № 12
- •Многослойный персептрон
- •Домены: стандартные, списковые, составные
- •Билет № 15
- •Проектирование и обучение персептронов
- •Отсечение и откат в Прологе
- •Написать предикат, вычисляющий среднее арифметическое элементов списка
Билет № 3
Методы представления знаний
Продукционные правила
Продукционная система состоит из трех основных компонентов, схематично изображенных на рис. Первый из них — это база правил типа ЕСЛИ (условие), ТО (действие): ЕСЛИ холодно, ТО надеть шубу; ЕСЛИ идет дождь, ТО взять зонтик, и т. п.
Вторым компонентом является рабочая память, в которой хранятся исходные данные к задаче и выводы, полученные в ходе работы системы.
Третий компонент — механизм логического вывода, использующий правила в соответствии с содержимым рабочей памяти.
Фреймы
Фрейм — это модель абстрактного образа, минимально возможное описание сущности какого-либо объекта, явления, события, ситуации, процесса. Фрейм состоит из имени и отдельных единиц, называемых слотами. Он имеет однородную структуру:
Семантические сети
В основе этого способа представления знаний лежит идея о том, что любые знания можно представить в виде совокупности понятий (объектов) и отношений (связей). Семантическая сеть представляет собой ориентированный граф, вершинами которого являются понятия, а дугами — отношения между ними. Сам термин «семантическая» означает смысловая.
Основные понятия Пролога – предложения: факты и правила
Факт констатирует, что между объектами выполнено некоторое отношение. Он состоит только из заголовка. Можно считать, что факт - это предложение, у которого тело пустое.
Например, известный нам факт, что Наташа является мамой Даши, может быть записан в виде:
мама(Наташа, Даша).
Факт представляет собой безусловно истинное утверждение.
В математической логике отношения принято называть предикатами.
Если воспользоваться нормальной формой Бэкуса-Науэра, то предикат можно определить следующим образом:
<Предикат>::=<Имя> | <Имя>(<аргумент>[,<аргумент>]*),
Правило - это предложение, истинность которого зависит от истинности одного или нескольких предложений. Обычно правило содержит несколько хвостовых целей, которые должны быть истинными для того, чтобы правило было истинным.
В нотации БНФ правило будет иметь вид:
<Правило>::=<предикат>:-<предикат>[,<предикат>]*.
Создать предикат, вычисляющий по натуральному числу его факториал
1!=1 /* факториал единицы равен единице */
N!=(N-1)!*N /* для того, чтобы вычислить факториал
некоторого числа, нужно вычислить
факториал числа на единицу меньшего
и умножить его на исходное число */
fact(1,1). /* факториал единицы равен единице */
fact(N,F):-
N1=N-1,
fact(N1,F1), /* F1 равен факториалу числа
на единицу меньшего исходного
числа */
F=F1*N. /* факториал исходного числа равен
произведению F1 на само число */
F=F1*N. /* факториал исходного числа равен
произведению F1 на само число */
fact(1,1). fact(N,F):-N1=N-1,fact(N1,F1),F=F1*N. F=F1*N.
Билет № 6
Семантические сети
В основе этого способа представления знаний лежит идея о том, что любые знания можно представить в виде совокупности понятий (объектов) и отношений (связей). Семантическая сеть представляет собой ориентированный граф, вершинами которого являются понятия, а дугами — отношения между ними. Сам термин «семантическая» означает смысловая.
Основные понятия Пролога – переменные свободные и связанные; анонимная переменная
Имя переменной в Турбо Прологе может состоять из букв латинского алфавита, цифр, знаков подчеркивания и должно начинаться с прописной буквы или знака подчеркивания. При этом переменные в теле правила неявно связаны квантором всеобщности. Переменная в Прологе, в отличие от алгоритмических языков программирования, обозначает объект, а не некоторую область памяти. Пролог не поддерживает механизм деструктивного присваивания, позволяющий изменять значение инициализированной переменной, как императивные языки.
Переменные могут быть свободными или связанными.
Свободная переменная - это переменная, которая еще не получила значения. Она не равняется ни нулю, ни пробелу; у нее вообще нет никакого значения. Такие переменные еще называют неконкретизированными.
Переменная, которая получила какое-то значение и оказалась связанной с определенным объектом, называется связанной. Если переменнаябыла конкретизирована каким-то значением и ей сопоставлен некоторый объект, то эта переменная уже не может быть изменена.
Областью действия переменной в Прологе является одно предложение. В разных предложениях может использоваться одно имя переменнойдля обозначения разных объектов. Исключением из правила определения области действия является анонимная переменная, которая обозначается символом подчеркивания " _ ". Анонимная переменная применяется в случае, когда значение переменной не важно. Каждая анонимная переменная - это отдельный объект.
