Matematikal na Modelo sa Inhinyeriya
Matematika Mga Pundasyon ng Isang* at mga Dijkstrailer Mga Algorithm Para sa Optimisasyon ng Landas
Table of Contents
Ang mga algorithm na A* at Dijkstraific ay pundamental sa pag-aaklas at graph transcriptional. ito ay malawakang ginagamit sa mga sistema ng nabigasyon, robotika, at network stampling.Ang pag-unawa sa kanilang mga pundasyong matematikal ay tumutulong sa pag-iinam ng kanilang pagganap at pag-apruba.
Larawan sa Graph
Ang parehong mga algorithm ay umaandar sa mga grap, na binubuo ng mga node (vertices) at mga gilid. Ang mga groe ay maaaring may mga timbang na kumakatawan sa mga halaga, distansiya, o panahon. Ang grap ay maaaring idirekta o hindi nakadirekta, at ang mga pabigat ay karaniwang hindi-negative.
Magastos ang mga Katuwaan at mga Heuristiko
Ang pinaka-pusod ng mga algorithm na ito ay kinasasangkutan ng pagkalkula ng halaga upang maabot ang bawat node. Dijkstraimens algorithm ay gumagamit ng komputasyonal na halaga mula sa simula node, habang ang A* ay nagdaragdag ng isang heuristikong pagtatantiya ng natitirang halaga sa goal. Ang heuristiko ay dapat na admisable, na nangangahulugang hindi nito kailanman inaaksaya ang tunay na halaga.
Matematika na Pagbuo
Ang G = (V, E) ay isang grap na may bertices V at mga gilid E. Ang bawat gilid (u, v) ay may bigat na w(u, v). Ang tunguhin ay hanapin ang pinakamaikling landas mula sa simula node s hanggang sa goal node t.
Ang mga dijkstrailerya algorithm ay nagrereresulta sa distansiyang d(v) para sa bawat vertex v, na inisyal bilang d(s) = 0 at d(v) = ⁇ para sa v ⁇ s. Ito ay nagreresulta sa pagpili ng vertex sa pamamagitan ng pinakamaliit na d(v), pagkatapos ay hinango ang mga katabing gilid nito.
Ito ay pinapaiksi ng* modifies sa pamamagitan ng paglakip ng isang huristiko h(v) na nagreresulta sa halaga mula v hanggang t. Ang tungkuling priority ay nagiging f(v) = d(v) + h(v). Ang algorithm ay nagpalawak ng mga node batay sa pinakamababang f(v).
Episiyal na Algorithm
Ang kahusayan ay nakasalalay sa mga data structure na ginamit. ang Dijkstraifics algorithm ay may isang panahon na komplikado ng O(i ⁇ E ⁇ + ⁇ V ⁇ i ⁇ ⁇ ) na may isang prioridad na queue. Ang A* ay maaaring mas mabilis kung ang huristiko ay mahusay na-designed, binabawasan ang bilang ng mga node na pinalawak.
- Graph na may mga bigat na hindi-negative
- Madaling magkamaling heuristiko Para sa A*
- Kauna - unahang tanong para sa pagpili ng mga node
- Pagrerelaks ng mga gilid upang i-apdeyt ang mga halaga