Sunteți pe pagina 1din 10

Tehnici de

Inteligență Artificială

Aplicații numerice
Laboratorul 2
Turnurile din Hanoi

• Se consideră trei tije (denumite A, B și C) și un număr n de discuri de


dimensiuni diferite așezate pe una dintre acestea. Problemă constă în
mutarea tuturor discurilor de pe tija pe care se afla pe o alta,
respectând următoarele două reguli:
1. Se poate muta un singur disc o dată
2. Nu se pot așeza discuri mai mari peste altele mai mici.
Aplicația 1: Să se mute n = 3 discuri de pe tija A pe tija C: H(3,A,C).

Se abordează o strategie de căutare


de tip înapoi: se descompune
problema în subprobleme (Sp) cu un
grad de dificultate redus cu o unitate A B C
de la H(3...) la H(2...).

H(2,A,B) Sp1
H(3,A,C) H(1,A,C) Pe

A B C H(2,B,C) Sp2 A B C

O problemă elementară (Pe)


presupune mutarea unui singur disc
H(1...) , adică o mutare ce poate fi
realizată. A B C
Aplicația 1: Să se mute n = 3 discuri de pe tija A pe tija C: H(3,A,C).

Subproblemele obținute se rezolvă


succesiv până când se obțin numai
probleme elementare (Pe).
A B C

H(1,A,C) Pe
Sp1: H(2,A,B) H(1,A,B) Pe
A B C H(1,C,B) Pe A B C

A B C
Aplicația 1: Să se mute n = 3 discuri de pe tija A pe tija C: H(3,A,C).

A B C

H(1,B,A) Pe
Sp2: H(2,B,C) H(1,B,C) Pe
A B C H(1,A,C) Pe A B C

A B C
Aplicația 1: Să se mute n = 3 discuri de pe tija A pe tija C: H(3,A,C).

H(1,A,C) Pe
1
H(1,A,B) Pe
2
H(1,C,B) Pe
H(2,A,B) Sp1 3
În final, rezultă o H(3,A,C) H(1,A,C) Pe
succesiune de 7 mutări: 4
H(2,B,C) Sp2
H(1,B,A) Pe
5
H(1,B,C) Pe
6
H(1,A,C) Pe
7
Aplicația 2: Să se mute n = 7 discuri de pe tija A pe tija B: H(7,A,B).

Gradul de dificultate se reduce cu o unitate de la H(7...) la H(6...)

H(6,A,C) Sp1 H(5,A,B) Sp3 H(5,C,A) Sp5


H(7,A,B) H(1,A,B) Pe Sp1: H(6,A,C) H(1,A,C) Pe Sp2: H(6,C,B) H(1,C,B) Pe
H(6,C,B) Sp2 H(5,B,C) Sp4 H(5,A,B) Sp3

Gradul de dificultate se reduce cu o


unitate de la H(6...) la H(5...)
Rezolvarea se continuă până la
H(4,A,C) Sp7 descompunerea tuturor
subproblemelor în probleme
Sp3: H(5,A,B) H(1,A,B) Pe elementare.
H(5,C,B) Sp8
Puzzle cu 8 piese
• Se consideră o grilă 3x3 în care sunt așezate 8 piese numerotate.
Scopul problemei constă în așezarea pieselor în ordine crescătoare.

1 2 3 1 2 3
1 X 5 2 1 1 2 3
2 1 8 3 2 4 5 6
3 4 7 8 3 7 8 X
Starea inițială Starea finală
Puzzle cu 8 piese piesa 1 piesa 2
1 2 3
1 2 3 1 2 3 1 1 5 2
ℎ𝑗𝑜𝑠 = 1 − 1 + 1 − 1 + 3 − 2 + 1 − 1
1 1 2 3 1 X 5 2 2 X 8 3 + 3−3 + 2−1 + 1−1 + 3−2 + 2−2 + 1−2 +
2 4 5 6 2 1 8 3 3 4 7 6 3−3 + 3−2 + 2−1 + 3−3 + 2−2 + 2−3 =7

3 7 8 X 3 4 7 6 Mutarea „jos”:
piesa 6 piesa 7 piesa 8
Starea finală Starea inițială

Sunt posibile două mutări: 1 2 3


- Mutarea piese lipsă (X) în jos 1 5 X 2
- Mutarea piese lipsă (X) în ℎ𝑗𝑜𝑠 = 1 − 1 + 2 − 1 + 3 − 2 + 1 − 1
dreapta 2 1 8 3 + 3−3 + 2−1 + 1−1 + 3−2 + 1−2 + 1−2 +
Pentru a decide mutarea următoare, 3−3 + 3−2 + 2−1 + 3−3 + 2−2 + 2−3 =9
se calculează distanțele Manhattan 3 4 7 6
h și se alege mutarea care se
Mutarea „dreapta”:
apropie cel mai mult de soluție.

ℎ = 𝑐𝑓 − 𝑐𝑖 + 𝑙𝑓 − 𝑙𝑖 Se observă că hdr > hjos resultă se mută în jos:


Puzzle cu 8 piese
1 2 3 1 2 3 1 2 3 1 2 3
1 1 5 2 1 1 5 2 1 1 5 2 1 1 5 2
2 X 8 3 2 4 8 3 2 4 8 3 2 4 X 3
3 4 7 6 3 X 7 6 3 7 X 6 3 7 8 6

Starea 1 Starea 2 Starea 3 Starea 4

1 2 3 1 2 3 1 2 3 1 2 3
1 1 X 2 1 1 2 X 1 1 2 3 1 1 2 3
2 4 5 3 2 4 5 3 2 4 5 X 2 4 5 6
3 7 8 6 3 7 8 6 3 7 8 6 3 7 8 X

Starea 5 Starea 6 Starea 7 Starea finală

S-ar putea să vă placă și