Vyřešené úlohy

[ Hlavní stránka | Předchozí kapitola | Další kapitola]

Úloha 2.1

Mějte dánu situaci podle níže uvedeného obrázku:

Pomocí heuristického prohledávání a A* algoritmu s různými typy ryze heuristické funkce

určete přibližně optimální cestu z místa S do místa G.

  1. z hlediska spotřeby pohonných hmot, tj. nejkratší cestu,
  2. z hlediska potřeby času (nejrychlejší cestu),

když víte, že jednotlivé úseky cesty můžete projet průměrnými rychlostmi podle následující tabulky:

úsek cesty

typ komunikace

průměrná rychlost

potřebný čas (přibl.)

S -> A

I. třídy

110 km/h

20 minut

S -> B

III. třídy

33 km/h

20 minut

A -> C

I. třídy

80 km/h

10 minut

A -> G

dálnice

130 km/h

20 minut

B -> C

II. třídy

60 km/h

30 minut

C -> G

II. třídy

60 km/h

20 minut

Jako odhad členu

použijte skutečně projetou vzdálenost, resp. skutečně spotřebovaný čas, pro odhad ryze heuristické funkce

použijte následující možnosti:

  1. rovnou 0
  2. rovnou vzdálenosti nalezené v mapě, tj. podle výše uvedeného obrázku
  3. rovnou odhadu vzdálenosti vzdušnou čarou podle obrázku:

  4. rovnou přibližnému odhadu času potřebnému k dojetí do cíle G pro případ ad b)

Řešení:

ad i)

f0 = 0
f1 = 36
f2 = 11
f3 = 11 + 31 = 42
f4 = 43 + 13 = 55
f5 = 43 + 19 = 61
f6 = 55 + 43 = 98

ad ii)

f0 = 0
f1 = 36 + 36 = 72
f2 = 11 + 11 = 22
f3 = 11 + 31 + 31 = 73
f4 = 11 + 31 + 13 + 13 = 68
f5 = 11 + 31 + 19 + 19 = 80
f6 = 11 + 31 + 13 + 43 + 43 = 141

ad iii)

f0 = 0
f1 = 36 + 26 = 62
f2 = 11 + 47 = 58
f3 = 11 + 31 + 14 = 56
f4 = 11 + 31 + 13 + 26 = 81
f5 = 11 + 31 + 19 = 61

ad iv)

f0 = 0
f1 = 20 + 20 = 40
f2 = 20 + 50 = 70
f3 = 20 + 10 + 20 = 50
f4 = 20 + 20 + 0 = 40


Úloha 2.2

[ Hlavní stránka | Předchozí kapitola | Další kapitola]
Nakreslete, jak bude vypadat
  1. obecný graf
  2. stromový graf

pro nalezení správného řešení (včetně všech ostatních) následující úlohy:
Máte k dispozici dva kameninové neprůhledné džbány - jeden o objemu čtyři litry a druhý o objemu tři litry (při naplnění po okraj). Vaším úkolem je naplnit větší (tj. čtyřlitrový) džbán přesně dvěma litry vody.

Přípustná pravidla:

  1. _ -> 4   (naplnění 4-litrového džbánu)
  2. _ -> 3   (naplnění 3-litrového džbánu)
  3. 4 -> 3   (přelití vody z 4-litrového do 3-litrového džbánu)
  4. 3 -> 4   (přelití vody z 3-litrového do 4-litrového džbánu)
  5. 4 -> _   (vylití vody ze 4-litrového džbánu)
  6. 3 -> _   (vylití vody z 3-litrového džbánu)

Žádná jiná pravidla nejsou přípustná. Vodu z nádoby lze buď vylít anebo přelít (i částečně) z jedné nádoby do druhé. Obě činnosti nelze provést najednou. Pokud se přelévá z jedné do druhé nádoby, musí být buď jedna nádoba úplně vyprázdněna anebo druhá nádoba úplně vyprázdněna.

Řešení:


Úloha 2.3

[ Hlavní stránka | Předchozí kapitola | Další kapitola]

Mějte dány osmibitové řetězce reprezentující hodnoty spolehlivostní funkce podle uvedeného schématu:
01100101
7
6
5
4
3
2
1
0
V první generaci máte dány hodnotové řetězce (genotypy) o struktuře:
10011111
    
10101100
    
00010111
    
01011010

Určete hodnoty bitových řetězců (genotypů) pro čtvrtou generaci uzlů, když víte, že při aplikaci genetického algoritmu na první generaci dojde ke křížení nultého a prvního bitu v sousedních párech genotypů a mutaci čtvrtého bitu v druhém a čtvrtém řetězci (počítáno zleva), v druhé generaci dojde ke křížení čtveřic bitů 0-3 opět v sousedních párech genotypů a mutaci nultého bitu v prvním a třetím genotypu a konečně ve třetí generaci dojde ke křížení nultého a prvního bitu v levé dvojici genotypů, čtvrtého a pátého bitu v pravé dvojici genotypů a mutaci šestého bitu ve druhém genotypu a druhého bitu v třetím genotypu.

Řešení:


1. generace
10011111
    
10101100
    
00010111
    
01011010
Křížení nultého a prvního bitu v sousedních párech (tj. 1. s 2. a 3. se 4) genotypů:
10011100
    
10101111
    
00010110
    
01011011
Mutace 4. bitu v 2. a 4. řetězci (počítáno zleva):
10011100
    
10111111
    
00010110
    
01001011
Nahrazení nejslabšího jedince nejsilnějším (čtvrtina slabých jedinců v každé generaci je nahrazena silnými; síla (fitness) je dána dekadickým ekvivalentem řetězce):
10011100
    
10111111
    
10111111
    
01001011

2. generace
10011100
    
10111111
    
10111111
    
01001011
Křížení čtveřic bitů 0-3 v sousedních párech genotypů:
10011111
    
10111100
    
10111011
    
01001111
Mutace nultého bitu v 1. a 3. genotypu:
10011110
    
10111100
    
10111010
    
01001111
Nahrazení nejslabšího genotypu (4.) nejsilnějším (2.):
10011110
    
10111100
    
10111010
    
10111100

3. generace
10011110
    
10111100
    
10111010
    
10111100
Křížení nultého a 1. bitu v levé dvojici genotypů a 4. a 5. bitu v pravé dvojici genotypů:
10011100
    
10111101
    
10111010
    
10111100
Mutace 6. bitu ve 2. genotypu a mutace 2. bitu v 3. genotypu:
10011100
    
11111101
    
10111110
    
10111100
Nahrazení neslabšího genotypu (1.) nejsilnějším (2.)
11111101
    
11111101
    
10111110
    
10111100

4.generace - výsledek
11111101
    
11111101
    
10111110
    
10111100