Поиск в ширину - Prolog
Формулировка задачи:
Пытаюсь запустить следующий код из Братко:
Выдает False. Не пойму в чем дело. Помогите пожалуйста разобраться. В глубину все работает. Вот если что ссылка на книгуhttp://coollib.com/b/183629/read
в глубину вот:
Это работает.
Решение задачи: «Поиск в ширину»
textual
Листинг программы
после(a,b). после(b,d). после(d,h). после(b,e). после(e,i). после(e,j). после(a,c). после(c,f). после(f,k). после(c,g). цель(j). решить( Старт, Решение) :- вширину( [ [Старт] ], Решение). вширину( [ [Верш | Путь] | _ ], [Верш | Путь] ) :- цель( Верш). вширину( [ [В | Путь] | Пути], Решение ) :- bagof( [В1, В | Путь ], ( после( В, В1), not(member( В1, [В | Путь]))), НовПути), % НовПути - ациклические продолжения пути [В | Путь] append( Пути, НовПути, Пути1), !, вширину( Пути1, Решение); вширину( Пути, Решение).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д