За последние 24 часа нас посетили 17304 программиста и 1597 роботов. Сейчас ищет 1741 программист ...

Поиск пути

Тема в разделе "Решения, алгоритмы", создана пользователем kas1e, 7 май 2009.

  1. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    Здравствуйте.

    Вот, думаю над алгоритмом пути =)

    Решил за основу взять "правило правой руки" + доделать, чтобы не вышло "брожение вокруг колонны" - дважды пройденные места являются своим родом стенами. Либо как-то так.

    Кто-нибудь может предложить что-нибудь по этому поводу, есть у кого мысли? Может все проще намного? =)
     
  2. если у тебя православный лабиринт, этого не надо.
    Если сложнее - то тут A* решает

    http://pmg.org.ru/ai/stout.htm - урл релейтед
     
  3. kas1e

    kas1e Активный пользователь

    С нами с:
    6 апр 2009
    Сообщения:
    280
    Симпатии:
    0
    Читал про А*, так понял - самое нормальное решение. Но =0

    Чуть перефразирую задачу, сморозил в первом посте )

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

    Но сделав сторонение дважды пройденных точек можно в особо узком лабиринте загнать себя в тупик =0


    P.S.
    Большое спасибо за ссылку, очень интересный материал! Почитаю с удовольствием.
     
  4. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    имхо даже тут Дейкстра рулит, "право-левая рука" тебя может кружить по всей карте
     
  5. ну, если утрировать, A* - это оптимизированный Дейкстра
     
  6. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    я про него и говорил, не такой уж он и сложный