Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 ProblemasResueltos
4 ProblemasResueltos
Artificial (30223)
Problemas resueltos
Curso 2012-2013
Jos ngel Baares
17/10/2013. Dpto. Informtica e Ingeniera de Sistemas.
ndice
Problema del laberinto
Puzzle de dos dimensiones
Misioneros y canbales
A* en grafo
Minimax y poda alfa-beta
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
ini
fin
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
6,3,16
7,07 6,08 5,1 4,12
08 2,24 1,41
ini
1,
41
7 <= 1,41+6,08
fin
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
58
45
34
25
18
13
10
53
40
29
20
13
50
37
26
17
10
49
36
25
16
50
37
26
17
10
53
40
29
20
13
ini
fin
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
58
45
34
25
18
13
10
53
40
29
20
13
50
37
26
17
3107
49
36
25
16
50
37
26
17
10
53
40
29
20
13
ini
49 > 2 + 37!
fin
f (estado) h(estado)
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
y
4
15
16
11
14
17
12
ini
11
10
13
18
23
12
19
22
10
11
20
21
13
24
fin
y
6
10
15
16
11
14
17
12
13
18
13
12
11
10
12
19
22
13
12
11
10
11
20
21
ini
y
6
62
50
40
32
26
22
20
56
44
34
26
28
24
16
52
40
30
24
24
22
14
50
38
28
24
22
22
14
ini
12
12
16
20
14
fin
ini
62
48
36
26
22
24
24
66
52
40
30
24
28
26
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
ENCUENTRA EL PTIMO!
fin
h( x, y ) ( x xobj ) 2 ( y yobj ) 2
No encuentra el ptimo
fin
Estado
Objetivo
0
C
0: f =8 , g=0, h=8
A
B
1: f1:=8
g=1, h=7 1
f'=9, g=1,, h'=8
A
A
A
B
A
B
0
C
A
B
10 8
A
A
10
A
B
10
10
10
A
B
A
B
A
B
10
10
A
B
A
A
B
A
B
A
A
B
A
B
A
B
10 8
10
A
A
A
B
10
C
A
A
B
10
44
14: f'=8,
f'=8, g=4,
14:
g=4,h'=4
h'=4
10
13: f'=10,
13: f'=10,
g=4,g=4,
h'=6h'=6
10
C
A
10
15: f'=10,
g=4, h'=6
15: f'=10,
g=4, h'=6
A
B
C
A
10
8
C
C
C
A
A
A
B
10
10
C
A
A
B
A
8
C
A
A
B
C
C
B
25: f'=10, g=8, h'=2
A
B
C
B
A
B
8
19: f'=10, g=6, h'=4
0
C
A
B
10 8
10
A
A
C
A
A
B
C
C
A
10
A
B
10
13: f'=10,
13: f'=10,
g=4,g=4,
h'=6h'=6
44
C
10
15: f'=10,
g=4, h'=6
15: f'=10,
g=4, h'=6
A
A
10
14: f'=8,
f'=8, g=4,
14:
g=4,h'=4
h'=4
10
10
A
B
8
C
C
A
C
B
C
A
A
A
B
10
10
C
A
10
A
B
C
A
A
B
C
B
C
A
C
B
10
C
A
10
A
B
C
B
Problema misionero
y canbales
En la orilla de un ro hay 3 misioneros y 3 canbales y todos ellos
pretenden cruzar al otro lado. La barca que se utiliza para cruzarlo
solo tiene capacidad para dos personas, con lo que alguien ha de
estar volviendo siempre a la orilla inicial mientras quede gente sin
cruzar. Adems, si en alguna ocasin y en cualquiera de las orillas
se encuentran un nmero mayor de canbales que de misioneros,
los primeros se comern a los segundos.
1.
2.
3.
El
modelo
de
transiciones
debe
representar
precondiciones de cada accin y sus efectos.
las
Modelo transiciones
3 grupos de precondiciones
Misioneros y canbales
(heursticas)
Vamos a obtener las heursticas por relajacin del problema original.
Para dicha relajacin, partimos de las precondiciones expuestas.
h1 (n)
Ci Mi
2
Misioneros y canbales
(heursticas)
Vamos a obtener las heursticas por relajacin del problema original.
Para dicha relajacin, partimos de las precondiciones expuestas.
Al eliminar el tercer grupo de condiciones, obtenemos un problema
relajado en el que los canbales nunca se comen a los misioneros.
Entonces, en cada viaje de ida y vuelta, podemos transportar a una persona
(dado que la otra tendr que volver para llevar la barca). Por tanto, la
heurstica resultante es:
Misioneros y canbales
(heursticas)
Las dos heursticas son admisibles, puesto que son resultado
de relajar el problema original.
Para decidir qu heurstica elegir, h1 o h2, estudiamos cul
es la ms informada, puesto que ser la que, siendo
admisible, tendr un valor ms cercano a h. Se observa
fcilmente que la ms informada es h2, puesto que h1(n)
h2(n), sea cual sea el valor de Ci y de Mi para el estado n. Por
tanto, elegimos h2(n).
h1 (n)
Ci Mi
2
Misioneros y canbales
(exploracin)
Aplicar el algoritmo de bsqueda A* sobre la representacin
del problema de los misioneros y los canbales. Especifica
cundo un nodo del rbol de bsqueda es expandido y
cundo es slo generado. Utiliza la heurstica resultante de
relajar el tercer grupo de precondiciones.
80 A
A* en grafo
Aplicar el algoritmo de bsqueda
A* en grafo al siguiente grafo de
estados. El nodo inicial es A y
hay un solo nodo objetivo, que
en este caso es Z. A cada arco
se le ha asociado un coste y a
cada nodo la estimacin de la
menor distancia de ese nodo al
nodo objetivo (hay que asumir
que se trata de una heurstica
admisible). Se pide el orden en
que los nodos son expandidos y
el orden de la solucin. Justifica
tu solucin dibujando en la
siguiente pgina el rbol que se
genera
en
la
bsqueda
indicando: f, g y h, as como el
n de orden en que los nodos
son visitados
10
10
27 B
60 C
65 D
10
50 F
35
30
50 G
50 H
2
0 Z
15
3
30
70 E
0
A 80
1 80
80 A
4
27 B
10
10
60 C
65 D
10
50 F
35
15
70 E
4
B 27
2 31
10
C 60
4 70
10
D 65
5 75
15
E 70
6 85
30
30
50 G
50 H
9
F 50
3 59
15
F 50
65
44
G 50
94
39
H 50
7 89
20
F 50
70
18
F 50
68
0 Z
41
Z 0
8 41
MAL
Sera correcto si
aadiramos la
restriccin de que slo
Se pueden aplicar
acciones para ir hacia
abajo y no volver
Hacia arriba.
45
H 50
95
0
A 80
1 80
80 A
4
27 B
10
10
60 C
65 D
10
50 F
35
15
70 E
3
30
10
C 60
4 70
10
D 65
5 75
8
A* 80
10
A*80
88
98
30
50 G
4
B 27
2 31
50 H
9
F 50
3 59
15
F 50
65
15
E 70
85
20
A*80
100
20
F 50
70
0 Z
14
B* 27
41
14
60
12
E 70
6 82
44
G 50
94
39
H 50
7 89
84
74
19
60
30
A*80
100
69
F* 50
119
15
F* 50
65
42
H 50
92
41
Z 0
8 41
max
min
10
min
10 4
4
3
10 4
4
8
10 4
min
2
8
min
<=2
8
max
4
8
max
10 4
max
<=3
min
<=2
8
8
6
4 MIN
7 MAX
MAX
MAX
6
6
MIN
4 MIN
MAX
MAX
(a=-, )
MIN
MIN
(-, b= )
MAX
(a=-, )
MIN
MAX
(-,b= )
4
1 6
MAX
(a=-, )
MIN
MIN
(-, b= )
MAX
(a=-, )
MIN
MAX
(-,b= )(-,b= 4)
4
1 6
MAX
(a=-, )
MIN
MIN
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
MAX
(-,b= )(-,b= 4)
4
1 6
MAX
(a=-, )
MIN
MIN
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
MAX
(4, b=)
(-,b= )(-,b= 4)
4
1 6
MAX
(a=-, )
MIN
MIN
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
MAX
1 6
MAX
(a=-, )
MIN
MIN
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
MAX
1 6
MAX
(a=-, )
MIN
MAX
(a=-, )
MIN
MIN
(-, b= 6)
(-, b= )
6
(a=4, )
(a=-, 6)
MAX
9 5
1 6
MAX
(a=-, )
MIN
MAX
(a=-, )
MIN
MIN
(-, b= 6)
(-, b= )
6
(a=4, )
(a=-, 6)
MAX
9 5
1 6
MAX
(a=-, )
MIN
MAX
(a=-, )
MIN
MIN
(-, b= 6)
(-, b= )
6
(a=4, )
(a=-, 6)
MAX
9 5
1 6
MAX
(a=-, )
MIN
MAX
(a=-, )
MIN
MIN
(-, b= 6)
(-, b= )
6
(a=4, )
(a=-, 6)
MAX
9 5
1 6
MAX
(a=-, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
MAX
9 5
1 6
MAX
(a=-, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
MAX
9 5
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
MAX
(6, b=)
(a=6, )
9 5
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
MAX
(6, b=)
(a=6, )
9 5
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
MAX
(6, b=)
(a=6, )
(a=6, )
6 7
9 5
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
(6, b=)
(a=6, )
(a=6, )
MAX
6 7
9 5
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
(6, b=)
7
MAX
(a=6, 7)
(a=6, )
(a=6, )
6
8
(6, b=7)
6 7
9 5
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
(6, b=)
7
6 7
9 5
MAX
(a=6, 7)
(a=6,
)
(a=6, )
6
8
(6, b=7)
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
(6, b=)
7
9 5
MAX
6 7
Poda a:
a(=8)>
7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
(6, b=7)
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
MIN
Poda a:
a(=6)=
6
(6, b=)
7
9 5
MAX
6 7
Poda a:
a(=8)>
7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
(6, b=7)
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
MAX
6 7
Poda a:
a(=8)>
7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
MIN
1 6
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
(7,b= )
Poda a:
a(=8)>
7
MAX
(a=7, )
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
MIN
(a=7, )
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
(7,b= )
Poda a:
a(=8)>
7
MAX
(a=7, )
8
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
MIN
(a=7, )
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
(7,b= ) (7,b= 8)
Poda a:
a(=8)>
7
MAX
(a=7, )
(a=7, 8)
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
MIN
(a=7, )
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
(7,b= ) (7,b= 8)
Poda a:
a(=8)>
7
MAX
(a=7, )
8
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
MIN
(a=7, )
(a=7, 8)
4
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
(7,b= ) (7,b= 8)
Poda a:
a(=8)>
7
MAX
(a=7, )
8
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
MIN
(a=7, )
(a=7, 8)
4
MAX
(a=-, )
(a=6, )
MIN
(-, b= 6)
(-, b= )
MAX
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
MIN
(7,b= ) (7,b= 8)
Poda a:
a(=8)>
7
MAX
(a=7, )
8
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
(a=7, )
(a=7, 8)
4
MAX
(a=-, )
6
(-, b= 6)
(-, b= )
(a=-, )
MIN
(a=4, )
(a=-, 6)
Poda a:
a(=6)=
6
(6, b=)
7
(6, b=7)
7
9 5
1 6
MIN
(7,b= ) (7,b= 8)
Poda a:
a(=8)>
7
MAX
(a=7, )
8
6 7
(a=6, 7)
(a=6,
)
(a=6, )
6
8
(a=7, )
(a=6, )
MIN
MAX
Cuidado!
(a=7, 8)
4
7
MIN
MAX
MIN
7
8 x
Cuidado!
MAX
Poda a:
a(=6)=
6
9 5
1 6
8 x
4
Poda a:
a(=8)>
7
MIN
MAX
8 4
MIN
MAX
MAX
MIN
MAX
MIN
MIN
(-,b= )
MAX
(-, b= )
MAX
(a=-, 6)
(a=-, )(a=4,b= )
4
(a=-, 6)
(6,b= 9)
Poda a:
a(=6)=
6
(-, b=6)
(-, b=6)
(a=6,) (a=8,) (a=6,
9)
(a=6, 9)
(a=-,6)
6
9 5
x MAX
(a=6, )
(a=-, )
MIN
(-,b= 6)
Poda a:
a(=6)=
6
(-,b= 6)
MIN
(-,b= 6)
8
6
MAX
MIN
6
7 x
x MAX
Poda a:
a(=7)>
6
Poda a:
a(=6)=
6
Poda a:
a(=6)=
6
6 x
MAX
MIN
9 5
MIN
Inteligencia
Artificial
(30223) Grado en Ingeniera Informtica
.