Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Завдання пошуку найкоротшого шляху

Реферат Завдання пошуку найкоротшого шляху





у клітку у відкритий список;

Повторюємо наступне:

Шукаємо у відкритому списку клітку з найменшою вартістю F. Робимо її поточної кліткою;

Розміщуємо її в закритий список видаляємо з відкритого;

Для кожної з сусідніх 8-ми клітин:

Якщо клітина непрохідна або вона знаходиться в закритому списку, ігноруємо її. В іншому випадку робимо наступне:

Якщо клітина ще не у відкритому списку, то додаємо її туди. Робимо поточну клітку батьківської для цієї клітини. Розраховуємо вартості F, G і H клітини (пояснення в прикладі);

Якщо клітина вже у відкритому списку, то перевіряємо, чи не дешевше буде шлях в неї через цю клітку. Для порівняння використовуємо вартість G. Більш низька вартість G вказує на те, що шлях буде дешевше. Якщо це так, то міняємо батька клітини на поточну клітку і перераховуємо для неї вартості G і F.

Зупиняємося якщо:

Додали цільову клітку у відкритий список, в цьому випадку шлях знайдений;

Відкритий список порожній і ми не дійшли до цільової клітини. У цьому випадку шлях відсутня;

Зберігаємо шлях. Рухаючись назад від цільової точки, проходячи від кожної точки до її батькові до тих пір, поки не дійдемо до стартової точки. Це і буде шуканий шлях.

ПРИКЛАД

Ініціалізація. Є дві точки, зелена - стартова, червона - кінцева, синя - стіна (непрохідні клітини). Сама область пошуку розділена на сітку з квадратними клітинами, спрощуючи таким чином її до квадратного масиву. Для знаходження шляху необхідно визначити, які клітини потрібно пройти для переміщення з стартовою клітини в кінцеву.



Крок №1. Починаючи зі стартовою клітини, поміщаємо її в «відкритий список» клітин, які необхідно опрацювати. Шукаємо доступні клітини, які межують з поточною, ігноруючи непрохідні клітини. Додаємо знайдені клітини у відкритий список, вказуючи як батька поточну клітку. Видаляємо стартову клітку з відкритого списку, і переносимо на «закритий список».


Темно-зелений квадрат в центрі - стартова точка, виділена блакитним кольором для відображення того, що вона знаходиться в закритому списку, інші клітини зараз знаходяться в білому списку, і мають вказівку на свого батька.

Крок №2. Необхідно вибрати одну з кліток відкритого списку для подальшої обробки, в якості такої вибирається клітина з найменшою вартістю. Вартість шляху Fрассчітивается як сума Gі H. F=G + H, де G-вартість пересування від стартової точки A до даній клітині, по знайденому шляху. H - приблизна вартість пересування від даної клітини до цільової (точці B). Вартість Hрассчітивается за допомогою евристичної (прогнозуючої) функції.

Як описано вище - Gето вартість пересування зі стартовою клітини, до поточної. У цьому прикладі вартість вертикальних і горизонтальних пересування дорівнює 10, а діагональних - 14. Отже, G розраховується як вартість шляху до тієї т?? ЧКЕ, в якій ми зараз знаходимося, плюс 10 у разі горизонтального розташування поточної клітини, щодо батьківської, або 14 у разі діагонального її розташування.

Вартість H можна обчислити безліччю різних способів, найпростішим є метод Манхеттена. Метод Манхеттена полягає в розрахунку шляху загальної кількості клітин до кінцевої по горизонталі і вертикалі, ігноруючи діагональні переміщення і перешкоди. Потім отримане кількість клітин множиться на вартість переміщення по одній клітці - в даному випадку 10.

На следующе малюнку - в кожній клітині відкритого списку записані значення F, Gі H. F- в лівому верхньому кутку, G - в лівому нижньому і H- в правому нижньому. У ортогональних клітин G дорівнює 10, у діагональних - 14.


Відстань H прораховано за допомогою методу Манхеттена, з малюнка видно, що клітина праворуч від стартової без урахування перешкод знаходиться за 3 клітини до кінцевої і має відстань 30. (3 * 10=30). Клітка зверху - 5клеток і відстань 50.



Крок № 3. Для продовження пошуку вибираємо клітку з найменшою вартістю F з усіх клітин, що знаходяться у відкритому списку. Видаляємо її з відкритого списку і додаємо в закритий.

Перевіряємо всі сусідні клітини, ті що знаходяться в закритому списку, а також непрохідні пропускаємо. Решта додаємо у відкритий список, якщо вони там ще не знаходяться, як батька у них буде поточна обрана клітка.

Перераховуємо шляху до сусіднім клітинам, що вже знаходяться у відкритому списку, якщо шлях через поточну клітку менше, то встановлюємо цій клітці батьком поточну, і перераховуємо путьF і G.




Назад | сторінка 4 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Клітина. Реакція Клітини на Зовнішні подразнення
  • Реферат на тему: Келихоподібних клітини
  • Реферат на тему: Стовбурові клітини
  • Реферат на тему: Біомедицина і стовбурові клітини
  • Реферат на тему: Стовбурові клітини ссавців