
- •1. Искусственный интеллект как направление знаний. Основные направления. Сильный и слабый ии. Критерий интеллектуальности. Тест Тьюринга. Критика теста Тьюринга.
- •2. Критерий интеллектуальности. Тест Тьюринга. Критика теста Тьюринга. Гипотеза Ньюэлла-Саймона и тезис Ады Лавлейс.
- •3. Философские аспекты ии. Теория симуляции реальности н. Бострома. Цифровая философия э.Фредкина. Эволюционная кибернетика в.Ф.Турчина
- •4. Понятие сингулярности. Трансгуманистическая философия: основные постулаты.
- •5. Модели памяти и мышления человека. Чанки. Структуры и процессы
- •6. Восходящий, нисходящий и эволюционный подходы к ии. Понятие о нейронных сетях.
- •7. Знания и информация. Понятие о представлении знаний. Статические и динамические знания. Явные и неявные представления знаний.
- •8. Процедурное представление знаний. Продукции. Деревья и-или. Деревья решений.
- •9. Сетевое представление знаний. Семантические сети. Концептуальные графы.
- •10. Фреймовое представление знаний. Основные операции логического вывода во фреймовом представлении.
- •11. Представление знаний на основе формальной логики. Пролог как возможный язык логического представления знаний.
- •12. Поиск в нагруженном графе. Алгоритм поиска с весовой функцией и его реализация на Прологе.
- •13. Понятие об эвристическом поиске. Допустимость, монотонность,
- •14. Алгоритм поиска a. Критерий допустимости a-алгоритма. Примеры.
- •15. Реализация алгоритма a* на Прологе.
- •16. Поиск с итерационным погружением (id).
- •17. Различные способы повышения эффективности алгоритмов поиска: поиск с использованием списка пар пройденных вершин, представление путей деревьями.
- •18. Экспертные системы. Структура экспертной системы. База знаний. Машина вывода.
- •19. Основные подходы к созданию экспертных систем. Оболочки экспертных систем. Роль инженера по знаниям.
- •20. Прямой логический вывод. Иллюстрация прямого вывода на деревьях и- или. Конфликтное множество. Связь с поиском в пространстве состояний. Применение различных алгоритмов поиска.
14. Алгоритм поиска a. Критерий допустимости a-алгоритма. Примеры.
Поиск A* (произносится «А звезда» или «А стар», от англ. A star) — в информатике и математике, алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью от одной вершины (начальной) к другой (целевой, конечной).
Порядок обхода вершин определяется эвристической функцией «расстояние + стоимость» (обычно обозначаемой как f(x)). Эта функция — сумма двух других: функции стоимости достижения рассматриваемой вершины (x) из начальной (обычно обозначается как g(x) и может быть как эвристической, так и нет) и эвристической оценкой расстояния от рассматриваемой вершины к конечной (обозначается как h(x)).
Функция h(x) должна быть допустимой эвристической оценкой, то есть не должна переоценивать расстояния к целевой вершине. Например, для задачи маршрутизации h(x) может представлять собой расстояние до цели по прямой линии, так как это физически наименьшее возможное расстояние между двумя точками.
15. Реализация алгоритма a* на Прологе.
Построение эвристической оценки f(n) стоимости самого дешевого пути из s в t, проходящего через n: f(n) = g(n) + h(n Тогда наиболее перспективной вершиной- кандидатом следует считать вершину, для которой f принимает минимальное значение. Мы будем использовать здесь функцию f специального вида, приводящую к хорошо известному А*-алгоритму. Здесь g( n) - оценка оптимального пути из s в n; h( n) - оценка оптимального пути из n в t.
Рис.
12.
4. Отношение
расширить: расширение
дерева Дер до тех
пор,
пока
f-оценка
не
превзойдет
Предел,
приводит
к
дереву
Дер1.Множество
путей-
кандидатов
представим
деревом.
Дерево
будет
изображаться
в
программе
в
виде
терма,
имеющего
одну
из
двух
форм:(1) л(
В,
F/G)
-
дерево,
состоящее
из
одной
вершины
(листа);
В
-
вершина
пространства
состояний,
G -
g(
B)
(стоимость
уже
найденного
пути
из
стартовой
вершины
в
В); F
-
f(
В)
=
G
+
h(
В).
(2) д(
В,
F/G,
Пд)
-
дерево
с
непустыми
поддеревьями;
В
-
корень
дерева,
Пд
-
список
поддеревьев;
G
-
g(
B);
F
-
уточненное
значение
f(
В),
т.е.
значение f для
наиболее
перспективного
преемника
вершины В; список Пд
упорядочен
в порядке возрастания f-оценок
поддеревьев.Уточнение
значения f необходимо
для
того,
чтобы
дать
программе
возможность
распознавать
наиболее
перспективное
поддерево
на
любом
уровне
дерева
поиска.
Эта
модификация
f-оценок
на
самом
деле
приводит
к
обобщению,
расширяющему
область
определения
функции
f.
Теперь
функция
f
определена
не
только
на
вершинах,
но
и
на
деревьях.
Для
одновершинных
деревьев
(листов)
n остается
первоначальное
определение
f(n)
=
g(n)
+
h(n).
Для
дерева
T
с
корнем
n,
имеющем
преемников
m1,
m2,
..., получаем f(T) = min f( mi ). расширить(Путь, Дер, Предел, Дер1, ЕстьРеш, Решение)-
Эта процедура расширяет текущее (под)дерево, пока f-оценка остается равной либо
меньшей, чем Предел.
% Поиск с предпочтением эврпоиск(Старт, Решение):-
макс_f(Fмакс). % Fмакс > любой f-оценки расширить( [ ], л( Старт, 0/0), Fмакс, _, да, Решение). расширить(П, л( В, _ ), _, _, да, [В | П] ) :-
цель( В).
расширить(П, л( В, F/G), Предел, Дер1, ЕстьРеш, Реш) :- F <= Предел,
(bagof(B1/C, (после(В, В1, С), not(принадлежит(В1, П))), Преемники),
!,
преемспис(G, Преемники, ДД),
опт_f(ДД, F1),
расширить(П, д( В, F1/G, ДД), Предел, Дер1, ЕстьРеш, Реш);
ЕстьРеш = никогда). % Нет преемников - тупик расширить(П, д( В, F/G, [Д | ДД]), Предел, Дер1, ЕстьРеш, Реш):-
F <= Предел,
опт_f(ДД, OF), мин( Предел, OF, Предел1),
расширить([В | П], Д, Предел1, Д1, ЕстьРеш1, Реш),
продолжить(П, д( В, F/G, [Д1, ДД]), Предел, Дер1, ЕстьРеш1, ЕстьРеш, Реш). расширить(_, д( _, _, [ ]), _, _, никогда, _ ) :- !. % Тупиковое дерево - нет решений расширить(_, Дер, Предел, Дер, нет, _ ) :-
f(Дер, F), F > Предел. % Рост остановлен продолжить( _, _, _, _, да, да, Реш).
продолжить( П, д( В, F/G, [Д1, ДД]), Предел, Дер1, ЕстьРеш1, ЕстьРеш, Реш) :- (ЕстьРеш1 = нет, встав( Д1, ДД, НДД);
ЕстьРеш1 = никогда, НДД = ДД),
опт_f(НДД, F1),
расширить(П, д( В, F1/G, НДД), Предел, Дер1, ЕстьРеш, Реш).
преемспис(_, [ ], [ ]).
преемспис(G0, [В/С | ВВ], ДД) :- G is G0 + С,
h(В, Н), % Эвристика h(B) F is G + Н,
преемспис(G0, ВВ, ДД1),
встав(л(В, F/G), ДД1, ДД).
% Вставление дерева Д в список деревьев ДД с сохранением
% упорядоченности по f-оценкам встав(Д, ДД, [Д | ДД] ) :-
f(Д, F), опт_f( ДД, F1), F =< F1, !.
встав(Д, [Д1 | ДД], [Д1 | ДД1] ) ) :-
встав( Д, ДД, ДД1).
% Получение f-оценки
f(л( _, F/_ ), F). % f-оценка листа
f(д(_, F/_, _ ) F). % f-оценка дерева
опт_f([Д| _], F) :- % Наилучшая f-оценка для списка деревьев
f( Д, F).
опт_f( [ ], Fмакс) :- % Нет деревьев: плохая f-оценка мaкс_f( Fмакс).
мин(X, Y, X) :-
Х =< Y, !.