Ejemplo3Raya
-
Upload
david-sanchez-jimenez -
Category
Documents
-
view
212 -
download
0
description
Transcript of Ejemplo3Raya
-
Ejemplo Tres en Raya mediante Agente reactivo
(Estructura artificialmente complicada para ilustrar conceptos de teora)
Juan Luis Castro
-
Sensores y actuadores
Sensores: Read Jugador: i j (i=1,2,3, j=1,2,3)
El contrario marca la posicin ij
Actuadores: Write Agente: i j (i=1,2,3, j=1,2,3)
El agente marca la posicin ij
-
Memoria (Modelo Icnico)
M , matriz de 3x3 de enteros
M(i,j) = 0 si esta libre
M(i,j) = 1 si jugado por Agente
M(i,j) = 2 si jugado por contrario
Inicialmente M(i,j)=0 para cada i,j
-
Memoria (percepcin)
Tx : sitios donde hacer 3 en raya T1, Fila 1 T4 Columna 1 T2 Fila 2 T5 Columna 2 T3 Fila 3 T6 Columna 3 T7 Diagonal 1 T8 Diagonal 2 A(x)=fichas de agente en Tx C(x)=fichas del contrario en Tx T(x)=-2,-1,0, 1,2,3 T(x)= 0 Libre(x) T(x)= 1 PuedoGanar(x) T(x)= 2 SiguienteGano(x), T(x)= -1 PuedoPerder(x) T(x)=-2 SiguientePierdo(x), T(x)=3 Nulo(x) N= nmero fichas en tablero
-
Funcin Interseccin y Posicion
Interseccin(x,y) #posicin de la interseccin entre Tx y Ty, (0,0) si no intersecan
Si xy>3 interseccion(x,y)=(x,y)
Si x3 y 7>x>3 interseccin(x,y)=(0,0)
Si x x>3 interseccin(x,7)=(x-3,x-3)
Si x x>3 interseccin(x,8)=(7-x,x-3)
Interseccion(7,8)=(2,2)
Posicion(x,i): # posicion en tablero de la i-sima componente de Tx
If x
-
Estructura del Agente
Modelo de pizarra
Memoria: M,C,A,T, Turno
MC1: Procesar entrada y actualizar memoria y percepcin
MC2: Elegir donde jugar
MC3: Hacer jugada y actualizar memoria y percepcin
-
MC1:Procesamiento: Actualizar memoria y percepcin
If Jugador: i j then
M(i,j)=2
N++
i, j+3 en TernasAfectadas
If i=j then 7 en TernasAfectadas
If j=4-i then 8 en TernasAfectadas
For h in TernasAfectadas
C(h)=C(h)++
If A(h)>0, then T(h)=3
If A(h)=0 and C(h)=2, then T(h)=-2 else T(h)=-1
Turno= 1
-
MC2: Elegir donde Jugar Estrategia por sistema de produccin (subsuncin? Modelo de pizarra?)
Mdulo 1: Ganar: Si Gano(x), jugarterna(x) (x:1..8) ;
Mdulo 2: Evitar_Perder: Si Pierdo(x), jugarterna(x) (x:1..8) Mdulo 3: Ganar en 2: Si PuedoGanar(x) y PuedoGanar(y)=1 y M(Interseccin(x,y))=0, jugar(interseccion(x,y)) (x:1..8, y:1..8) Mdulo 4: Evitar Perder en 2: Si PuedoPerder(x) y PuedoPerder(y) y M(Interseccin(x,y))=0, jugar(interseccion(x,y)) (x:1..8, y:1..8) Mdulo 5: Dominar tablero Si N=0, jugar(1,1) : Si empiezo juego en la esquina Si M(2,2)=0, jugar(2,2); Si el centro esta libre juego en el centro T(x)=0 y T(y)=0, jugar(interseccion(x,y)) (x:1..6,y:1..6); Jugar en posicion que ocupe dos ternas libres SI T(x)=0, jugarterna(x) (x:1..8); Jugar en posicion que ocupe una terna libre Mdulo 6: Jugar donde pueda Si M(i,j)=0, jugar(i,j) ; Jugar en un sitio libre
-
MC2bis: Elegir donde Jugar: Estrategia por sistema de produccin + funcin heurstica. Subsuncin
Mdulo 1: Ganar:
Si T(x)=2, jugarterna(x) (x:1..8)
Mdulo 2: Evitar_Perder:
Si T(x)=-2, jugarterna(x) (x:1..8)
Mdulo 3: Ganar en 2
Si T(x)=1 y T(y)=1 y M(Interseccin(x,y))=0, jugar(interseccion(x,y)) (x:1..8, y:1..8)
Mdulo 4: Evitar Perder en 2
Si T(x)=-1 y T(y)=-1 y M(Interseccin(x,y))=0, jugar(interseccion(x,y)) (x:1..8, y:1..8)
Mdulo 5 bis: Jugar segn valor estimado de las jugadas (f. heurstica v(i,j) valor posicion (i,j))
For i=1..3, For j=1..3:
If M(i,j)0 then valor(i,j)=-1
else
For x=1..8, For h=1..3
If T(x)=0 and M(posicion(x,h))=0 then valor(posicion(x,h))=valor(posicion(x,h)+2
If |T(x)|=1 and M(posicion(x,h))=0 then valor(posicion(x,h)+2
-jugar(i,j) tq valor(i,j) es mximo
Qu mide v(i,j)? Describir la en trminos de percepcin (Libre; PuedoGanar; PuedoPerder)
-
Funcin jugarterna(x)
jugarterna(x) Si M(Posicion(x,1))=0,
jugar(posicion(x,1)) Si M(Posicion(x,3))=0,
jugar(posicion(x,3)) jugar(posicion(x,2))
-
MC3: Jugar y actualizar la memoria
Mdulo actuar y actualizar memoria jugar(i,j)
M(i,j)=1 i, j+3 en TernasAfectadas If i=j then 7 en TernasAfectadas If j=4-i then 8 en TernasAfectadas For h in TernasAfectadas A(h)=A(h)++ If C(h)>0, then T(h)=3 If C(h)=0 and A(h)=2, then T(h)=2 else T(h)=1 Write(Agente: i j) Turno=0 N++