- •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, !.