Программирование на языке Пролог для искусственного интеллекта
Шрифт:
вывод( nil, _, _, _, _ ).
вывод( д( Лев, X, Прав), Уров, ГлубХ, Дальше) :-
Глуб1 is ГлубХ + 1,
вывод( Лев, Уров, Глуб1, Дальше),
% Вывод
левого поддерева
( Уров = ГлубХ, !,
% X на нашем уровне?
write( X), Дальше = да;
% Вывести вершину, продолжить
write(' ') ),
% Иначе - оставить место
вывод( Прав, Уров, Глуб1, Дальше).
% Вывод левого поддерева
Глава 10
10.1
внутри( Элем, л( Элем)). % Элемент найден в листе
внутри( Элем, в2( Д1, М, Д2) ):-
% Вершина имеет два поддерева
больше( М, Элем), !, % Вершина не во втором поддереве
внутри( Элем, Д1); % Поиск в первом поддереве
внутри( Элем, Д2). % Иначе - во втором поддереве
внутри( Элем, в3( Д1, M2, Д2, М3, Д3) ):-
% Вершина имеет три поддерева
больше( M2, Элем), !,
% Элемент не во втором и не в третьем поддереве
внутри( Элем, Д1); % Поиск в первом поддереве
больше( M3, Элем), !, % Элемент не в третьем поддереве
внутри( Элем, Д2); % Поиск во втором поддереве
внутри(
Элем, Д3). % Поиск в третьем поддереве
10.3
avl( Дер) :-
аvl( Дер, Глуб). % Дер является AVL-деревом глубины Глуб
avl( nil, 0). % Пустое дерево - AVL -дерево глубины 0
avl( д( Лев, Кор, Прав), Г) :-
avl( Лев, ГЛ),
avl( Прав, ГП),
( ГЛ is ГП; ГЛ is ГП + 1; ГЛ is ГП - 1),
% Глубины поддеревьев примерно совпадают
макс( ГЛ, ГП, Г).
макс1( U, V, М) :- % М = 1 + макс( U, V)
U > V, !, М is U + 1;
М is V + 1.
Глава 11
11.1
вглубину1( [Верш | Путь], [Верш | Путь]) :-
цель( Верш).
вглубину1( [Верш | Путь], Решение) :-
после( Верш, Верш1),
not принадлежит( Верш1, Путь),
вглубину1( [ Верш1, Верш | Путь], Решение).
11.6
решить( СтартМнож, Решение) :-
% СтартМнож - множество стартовых вершин
bagof( [Верш], принадлежит( Верш, СтартМнож),
Пути),
вширину( Пути, Решение).
Поделиться:
Популярные книги
Фиктивная жена
1. Братья Вертинские
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Прометей: каменный век
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Сердце Дракона. Предпоследний том. Часть 1
Сердце дракона
Фантастика:
фэнтези
5.00
рейтинг книги
Дайте поспать! Том III
3. Вечный Сон
Фантастика:
фэнтези
5.00
рейтинг книги
Охота на эмиссара
1. Федерация Объединённых Миров
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Целитель
1. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
"Фантастика 2023-123". Компиляция. Книги 1-25
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Мужчина моей судьбы
2. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.03
рейтинг книги
Измена. Возвращение любви!
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Нефилим
4. Мания крафта
Фантастика:
фэнтези
боевая фантастика
рпг
7.64
рейтинг книги
Ваше Сиятельство 6
6. Ваше Сиятельство
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Магия чистых душ 2
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Чиновникъ Особых поручений
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00