Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пролог поиск в ширину 
:(
    Опции темы
lolli
Дата 20.10.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.10.2011

Репутация: нет
Всего: нет



Есть Программма вот задание: найти путь между 2мя заданными вершинами в ненагруженном графе, используя поиск в ширину.
Непосредственно код: 

domains
slist=string*
sslist=slist*

predicates
r(string,string).
road(string,string).
find(string,string).
f(string,sslist).
member(string,slist).
append(sslist,sslist,sslist).
next(slist,slist).
show(slist).
clauses
r(a,b).
r(a,c).
r(a,d).
r(a,e).
r(b,c).
r(b,d).
r(b,e).
r(c,d).
r(c,e).
r(d,e).

road(A,B):-r(A,B);r(B,A).

member(H,[H|_]).
member(X,[_|T]):-member(X,T).

append([],B,B).
append([H|T],B,[H|Tail]):-append(T,B,Tail).

find(A,B):-f(B,[[A]]).

next([A|T],[C,A|T]):-road(A,C),not(member(C,T)).

show([]).
show([H|T]):-show(T),write(' ',H).

f(B,[[B|T]|Tail]):-!,show([B|T]),nl,f(B,Tail).
f(B,[[A|T]|Tail]):-findall(X,next([A|T],X),List),!,
append(Tail,List,New),f(B,New).

goal
find(a,e).

Объясните пожалуйста простым языком, где в коде реализован этот поиск в ширину и как он работает (самую суть в данной программе). Читал wiki ничего не понял. Заранее благодарю
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.