Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5

Поиск пути на графе на JIPrologConsole

17.11.2011, 20:19. Показов 1384. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сеть дорог является графом, с весами ребер: map([(a-b,10),(a-d,10),(a-h,70),(a-g,25),(b-c,10),(c-h,10), (d-e,5),(e-f,15),(f-h,20),(g-h,30)]). Цифры - расстояния между городами. Написать программу определения лучшего маршрута между двумя задаными городами (a i h)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2011, 20:19
Ответы с готовыми решениями:

Поиск пути в графе
Помогите,кто может,пожалуйста,с написанием задачи(И как ее проверять)!Очень нужно до завтра сдать,а то мне будет хана!!В прологе разбераюсь...

Поиск пути в ориентированном графе
Вот как звучит сама задача. Дан список пар городов, между которыми есть авиарейсы. Найти два города, между которыми есть по крайней мере ...

Поиск самого короткого пути в графе
Всем привет! У меня есть маленькая проблема. Я студентка третьего курса, сделала и сдала уже все лабораторные работы по логическому...

9
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
17.11.2011, 21:08
Поиск в пространстве состояний (поиск по графам тоже сюда!)
1
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
18.11.2011, 13:29  [ТС]
Всю ночь пытался запустить, не заработало.
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
m(a,b,10).
m(b,c,7).
m(a,d,3).
m(b,d,5).
m(c,d,15).
m(c,e,7).
m(d,e,5).
move(A,B,C):-m(A,B,C);m(B,A,C).
placeone(Length:Way,[LengthH:WayH|Tail],[Length:Way,LengthH:WayH|Tail]):-Length=<LengthH,!.%в этой строчке ошибка!!!
placeone(LengthWay,[LengthHWayH|Tail],[LengthHWayH|NewTail]):-placeone(LengthWay,Tail,NewTail).
placeone(LengthWay,[],[LengthWay]).
place([],SortedWays,SortedWays).
place([Way|Tail],PrevWays,SortedWays):-
        placeone(Way,PrevWays,PrevWays1),
        place(Tail,PrevWays1,SortedWays).
bst([Length:[Finish|Tail]|_],Finish,Length:[Finish|Tail]).
bst([TempWay|OtherWays],Finish,Way):-
        findall(W,prolong(TempWay,W),Ways),
        place(Ways,OtherWays,NewWays),
        bst(NewWays,Finish,Way).
search_bst(Start,Finish):-
        bst([0:[Start]],Finish,Length:Way),
        show_answer(Way),nl,write('Length of way: '),write(Length).
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.11.2011, 13:40
Наверно в этом диалекте надо писать <=, а не =<.
0
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
18.11.2011, 13:42  [ТС]
пробовал по разному) непомогло
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.11.2011, 13:49
Тогда может в этом диалекте так нельзя Length:Way. Попробуйте такой запрос
?- Length:Way=1:[1,2,3].
Если будет ошибка, то замените все A:B на например w(A,B)
0
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
18.11.2011, 14:22  [ТС]
заменил, File consulted но ничего не выдает.
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
m(a,b,10).
m(b,c,7).
m(a,d,3).
m(b,d,5).
m(c,d,15).
m(c,e,7).
m(d,e,5).
move(A,B,C):-m(A,B,C);m(B,A,C).
q(X,Y).
placeone(q(Length,Way),[q(LengthH,WayH)|Tail],[q(Length,Way),q(LengthH,WayH)|Tail]):-Length=<LengthH,!.%в этой строчке ошибка!!!
placeone(LengthWay,[LengthHWayH|Tail],[LengthHWayH|NewTail]):-placeone(LengthWay,Tail,NewTail).
placeone(LengthWay,[],[LengthWay]).
place([],SortedWays,SortedWays).
place([Way|Tail],PrevWays,SortedWays):-
        placeone(Way,PrevWays,PrevWays1),
        place(Tail,PrevWays1,SortedWays).
bst(q([Length,[Finish|Tail]|_]),Finish,q(Length,[Finish|Tail])).
bst([TempWay|OtherWays],Finish,Way):-
        findall(W,prolong(TempWay,W),Ways),
        place(Ways,OtherWays,NewWays),
        bst(NewWays,Finish,Way).
search_bst(Start,Finish):-
        bst(q([0,[Start]]),Finish,q(Length,Way)),
        show_answer(Way),nl,write('Length of way: '),write(Length).
 
%search_bst(a,c).
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.11.2011, 14:24
Ну а запрос сам где? Что ему выдавать.
?- search_bst(a,c).
0
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
18.11.2011, 14:30  [ТС]
я приходится програмировать в JIPrologConsole, где запрос пишется в отдельном окне. Я его закоментил и вставил в код.
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
18.11.2011, 14:40
В коде так писать запрос нельзя
search_bst(a,c).
надо
?- search_bst(a,c).

И то это может и не работать. Пишите запрос в том самом отдельном окне.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2011, 14:40
Помогаю со студенческими работами здесь

Поиск кратчайшего пути в графе между вершинами
Добрый вечер подскажите, пожалуйста, я ищу кратчайший путь в графе: m(a, d). m(c, d). m(c, e). m(d, e). m(a, b). m(b, c). ...

Поиск кратчайшего пути в графе (нужны комментарии)
Доброго времени суток! Сделал программу, для поиска наикротчайшего пути в графе, основной метод нащёл в инете, но дописал свой предикат,...

Нахождение кратчайшего пути на взвешенном графе методом ветвей и границ
Доброго времени суток! Банальная задача, но реализацию на Prolog не нашла. Алгоритм поставленной задачи таков: 1. Создать одноимённую...

Поиск пути в графе
Написал программу для поиска кратчайшего пути от заданной точки ко всем отсальным в графе с помощью алгоритма Дейкстра. Программа...

Поиск пути в графе
На пути из города А в город В расположено насколько станций,соединенных между собой железной дорогой. Известно что эти станции не лежат на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru