Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нахождение кратчайшего пути в волновом алгоритме 
:(
    Опции темы
Royan
  Дата 26.12.2004, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

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



Описание "Волнового алгоритма" можно найти здесь:
http://www.codenet.ru/progr/alg/way.php
или здесь
http://algolist.manual.ru/games/wavealg.php
У меня есть реализация этого алгоритма на С++ (могу кому надо выслать для наглядности)

Способ определения кратчайшего (или одного из путей), в описанных выше алгоритмах сводился примерно к следующему:
Цитата
В окрестности позиции R(Х,Y) (конечная точка) ищем элемент с наименьшим значением (т.е.для этого просмaтривaем R(Х+1,Y), R(Х-1,Y), R(Х,Y+1), R(Х,Y-1). Координаты этого элемента заносим в переменные X1 и Y1.
Совершаем перемещение объекта по полю из позиции [X,Y] в позицию [X1,Y1] и повторяем операцию.
Но так, на мой взгляд, на начальном этапе (в принципе и позже тоже) можно уехать в любую сторону, если значения справа, слева, вверху или внизу одинаковы. В связи, с чем вопрос, надо ли использовать дополнительные алгоритмы (Дейкстры или Флойда) чтобы на основе имеющихся данных построить матрицу смежности и определить кратчайший путь, или я чего не понимаю?




--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
podval
Дата 26.12.2004, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

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



Оптимизационная задача может иметь:
- единственное решение;
- множество решений;
- ни одного решения.

Делай выводы smile
PM WWW ICQ   Вверх
maxim1000
Дата 26.12.2004, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

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



Цитата
В окрестности позиции R(Х,Y) (конечная точка) ищем элемент с наименьшим значением (т.е.для этого просмaтривaем R(Х+1,Y), R(Х-1,Y), R(Х,Y+1), R(Х,Y-1). Координаты этого элемента заносим в переменные X1 и Y1.
Совершаем перемещение объекта по полю из позиции [X,Y] в позицию [X1,Y1] и повторяем операцию.

на самом деле весь волновой алгоритм к моменту выполнения этого действия уже закончился, здесь описан уже сам процесс прохода по кратчайшему пути
Цитата
В связи, с чем вопрос, надо ли использовать дополнительные алгоритмы

ни в коем случае, алгоритм уже сделан, в каждой клеточке написано кратчайшее растояние до цели
Цитата
Но так, на мой взгляд, на начальном этапе (в принципе и позже тоже) можно уехать в любую сторону, если значения справа, слева, вверху или внизу одинаковы

если значения R снизу и сверху одинаковы, значит, можно двигаться и вверх, и вниз, неважно куда...



--------------------
qqq
PM WWW   Вверх
chaos
Дата 27.12.2004, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



у меня есть алгоритм обхода всех возможных путей на С & pascal'e
кому надо могу дать может чем поможет

Это сообщение отредактировал(а) chaos - 13.2.2006, 14:54
PM WWW   Вверх
Royan
Дата 27.12.2004, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

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



Ну вот посмотрите как это выглядит у меня. Скриншот Красненькое начальная точка синенькая конечная, или наоборот если угодно. Тут просто так выбирая первое наименьшее/наибольшее не добершься.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Sunbeam
Дата 22.1.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Royan @ 26.12.2004, 14:49)
Описание "Волнового алгоритма" можно найти здесь:
http://www.codenet.ru/progr/alg/way.php

У меня тут возник такой вопрос. А какое время работы данного алгоритма?
PM MAIL   Вверх
knut
Дата 11.2.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вышли мне если тебе не трудно реализацыю алгоритма на [email protected]


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
chaos
Дата 13.2.2006, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



всем кто собирается это реализовывать на С++, предлагаю глянуть на библиотеку boost::graph
boost
документация по графам


вот исходники на Си(однажды пришлось решить человеку задачу обход графа)
http://forum.vingrad.ru/index.php?showtopi...st&p=287082

Это сообщение отредактировал(а) chaos - 13.2.2006, 14:55
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


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

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


 




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


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

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