2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Оптимизация в графах
Сообщение22.12.2013, 15:20 
Задача звучит так:
Представьте себя в большом городе. Вы хотите попасть из точки A в точку B. Для этого вы можете идти пешком или использовать метро. Перемещение с помощью метро быстрее, но входить в метро и выходить из него можно только на станциях. Чтобы сэкономить время, вы решили написать программу нахождения самого быстрого пути.
Дано:
Координаты точек A, B а также координаты станций метро, также заданы связи между ними (метро связаны прямыми путями).
Так же известно что скорость пешком равна $v_p$, а на метро $v_m$.
Требуется найти минимальное время за которое можно попасть из A в B.

Решение:
Я решил сделать так:
Построить неориентированный, сильно связный, взвшенный граф из точек A, B, и станций метро. Для всех ребер вычислить их вес(в контексте задачи это время за которое можно пройти это расстояние). Потом применить поиск в ширину и вычислить минимальное время.
Проблемы:
Не могу решить на какой базе построить граф, что лучше подойдет: матрица смежности, связные узлы или ...?
Нашел кое что по матрицам инцидентности, они вроде как раз подходят для представления графов со взвешенными ребрами.
Но не знаю как с ними работать.

А также, возможно, есть другое решение, более легкое.

 
 
 
 Re: Оптимизация в графах
Сообщение22.12.2013, 18:07 
Я бы взял матрицу смежности. $a[i,j]$ Время движения между $i$ и $j$ вершиной. И использовал алгоритм Дейкстры.

 
 
 
 Re: Оптимизация в графах
Сообщение23.12.2013, 09:00 
Я пользовался алгоритмом Дейкстры только на графах, представленных на основе связных списков.
Можете как-то в общем описать как будет работать поиск в ширину на матрицах смежности, или дать
соответствующие ссылки?

 
 
 
 Re: Оптимизация в графах
Сообщение23.12.2013, 12:32 
Поиск в ширину тут не при чем.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group