Чтение онлайн

на главную - закладки

Жанры

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

Братко Иван

Шрифт:

вывод( 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( [Верш], принадлежит( Верш, СтартМнож),

Пути),

 вширину( Пути, Решение).

Поделиться:
Популярные книги

Отморозки

Земляной Андрей Борисович
Фантастика:
научная фантастика
7.00
рейтинг книги
Отморозки

Цеховик. Книга 2. Движение к цели

Ромов Дмитрий
2. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Цеховик. Книга 2. Движение к цели

Гримуар темного лорда V

Грехов Тимофей
5. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда V

Комендант некромантской общаги 2

Леденцовская Анна
2. Мир
Фантастика:
юмористическая фантастика
7.77
рейтинг книги
Комендант некромантской общаги 2

Попаданка в деле, или Ваш любимый доктор

Марей Соня
1. Попаданка в деле, или Ваш любимый доктор
Фантастика:
фэнтези
5.50
рейтинг книги
Попаданка в деле, или Ваш любимый доктор

Ведьмак. Назад в СССР

Подус Игорь
1. Ведьмак. Назад в СССР
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Ведьмак. Назад в СССР

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Огромный. Злой. Зеленый

Новикова Татьяна О.
1. Большой. Зеленый... ОРК
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Огромный. Злой. Зеленый

Черный маг императора

Герда Александр
1. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора

Мое ускорение

Иванов Дмитрий
5. Девяностые
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Мое ускорение

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга IV

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX

Матабар IV

Клеванский Кирилл Сергеевич
4. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар IV

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы