Zaktualizuj 'route-planning.md'
This commit is contained in:
parent
ab046705c8
commit
ce9956ee17
@ -11,7 +11,7 @@
|
|||||||
___
|
___
|
||||||
|
|
||||||
Drugim zadaniem dotyczącym projektu jest zastosowanie strategii przeszukiwania przestrzeni stanów do problemu planowania ruchu agenta na kracie.
|
Drugim zadaniem dotyczącym projektu jest zastosowanie strategii przeszukiwania przestrzeni stanów do problemu planowania ruchu agenta na kracie.
|
||||||
___
|
|
||||||
## Heurystyka
|
## Heurystyka
|
||||||
- założenie — odległość pomiędzy sąsiadującymi polami wynosi 2, tyle samo co koszt wjazdu na puste pole
|
- założenie — odległość pomiędzy sąsiadującymi polami wynosi 2, tyle samo co koszt wjazdu na puste pole
|
||||||
- s — pole, na którym jesteśmy
|
- s — pole, na którym jesteśmy
|
||||||
@ -31,7 +31,7 @@ def hscore(self, s, f):
|
|||||||
```
|
```
|
||||||
Wpierw obliczamy wysokość trójkąta, jaki tworzą obecne i końcowe pole, w celu wyznaczenia przeciwprostokątnej — odległość między s i f.
|
Wpierw obliczamy wysokość trójkąta, jaki tworzą obecne i końcowe pole, w celu wyznaczenia przeciwprostokątnej — odległość między s i f.
|
||||||
|
|
||||||
___
|
|
||||||
## Funkcja następnika
|
## Funkcja następnika
|
||||||
Tworzymy listę, do której będziemy kolejno generować sąsiadów dla danego x.
|
Tworzymy listę, do której będziemy kolejno generować sąsiadów dla danego x.
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ def neighbours(self):
|
|||||||
for x in [6, 7, 8, 11, 12, 13, 16, 17, 18]:
|
for x in [6, 7, 8, 11, 12, 13, 16, 17, 18]:
|
||||||
self.neighbours[x] = [x - 5, x - 1, x + 1, x + 5]
|
self.neighbours[x] = [x - 5, x - 1, x + 1, x + 5]
|
||||||
```
|
```
|
||||||
___
|
|
||||||
## Główna pętla strategii przeszukiwania
|
## Główna pętla strategii przeszukiwania
|
||||||
Zaczynamy od znalezienia w open_set pola o najniższym f.
|
Zaczynamy od znalezienia w open_set pola o najniższym f.
|
||||||
```
|
```
|
||||||
@ -103,7 +103,7 @@ Wyliczamy g i f — przewidywany dystans od startu do celu, dla y.
|
|||||||
self.g_score[y] = tentative_g_score
|
self.g_score[y] = tentative_g_score
|
||||||
self.f_score[y] = self.g_score[y] + self.hscore(y, koniec)
|
self.f_score[y] = self.g_score[y] + self.hscore(y, koniec)
|
||||||
```
|
```
|
||||||
___
|
|
||||||
## Tworzenie ścieżki
|
## Tworzenie ścieżki
|
||||||
Przechodzimy po tablicy poprzedników, aż dojdziemy do początku — pola, które nie ma poprzednika.
|
Przechodzimy po tablicy poprzedników, aż dojdziemy do początku — pola, które nie ma poprzednika.
|
||||||
```
|
```
|
||||||
@ -115,7 +115,7 @@ def reconstruct_path(self, came_from, current):
|
|||||||
return total_path
|
return total_path
|
||||||
```
|
```
|
||||||
|
|
||||||
___
|
|
||||||
## Koszt podróży na pola uprawne
|
## Koszt podróży na pola uprawne
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user