Presentación Sin Título (1)
-
Upload
daniel-cam-urquizo -
Category
Documents
-
view
9 -
download
0
Transcript of Presentación Sin Título (1)
-
5/22/2018 Presentaci n Sin T tulo (1)
1/15
Problema de las
8 ReinasProgramacin lgica
Alumnos:Barreto Valderrama LizbethCam Urquizo DanielGutierrez Romero Fabio
Profesor:Diaz Pulido
-
5/22/2018 Presentaci n Sin T tulo (1)
2/15
Planteamiento del problema
El problema original de ocho reinas es intentar enconforma de colocar a ocho reinas en un tablero de ajedrez d
que no se vean amenazadas una a la otra. Es decir que un
de 8x8, ninguna de las reinas comparta un fila, col
diagonal debido a que cada reina puede amenazar a to
reinas que estn en la misma fila, columna o diagonal.
-
5/22/2018 Presentaci n Sin T tulo (1)
3/15
Posibles posiciones:
Restricciones:
Misma fila y columna
Misma columna
Dada dos reinas en
posicin (i,j) (k,l)
-
5/22/2018 Presentaci n Sin T tulo (1)
4/15
Importancia
Con este problema podemos implementdiferentes soluciones
-
5/22/2018 Presentaci n Sin T tulo (1)
5/15
SolucinEl problema de las ocho
reinas tiene 92 soluciones, delas cuales 12 son
esencialmente distintas, es
decir las 92 soluciones
existentes se pueden obtener
a partir de simetras,
rotaciones y traslaciones de
las 12 soluciones nicas.
Podemos considerar que el
resultado sea solo una
posicion o genere todas las
posibles
-
5/22/2018 Presentaci n Sin T tulo (1)
6/15
Soluciones en N reinas
-
5/22/2018 Presentaci n Sin T tulo (1)
7/15
Ingenieria del Proyecto
Busqueda en profundidadColocar la reina n en la primera casilla validad de si la reina no puede llegar a colocarse en ninguna
se vuelve atras y se cambia de posicion de la rein
intentar colocar las reinas restantes en las filas qu
Explora todos los casos hasta que llegue a las sol
-
5/22/2018 Presentaci n Sin T tulo (1)
8/15
-
5/22/2018 Presentaci n Sin T tulo (1)
9/15
Cdigo
Sabemos que el problema consiste en ubicar las reinas en e
ajedrez de manera que ningn par de ellas se amenace.Necerepresentacin para la solucin, usaremos una lista de la siguiente
donde el par [i,Yi] representan las coordenadas de la reina i e
claramente no puede haber ms de una reina por columna.
-
5/22/2018 Presentaci n Sin T tulo (1)
10/15
Codigo
El siguiente predicado genera/1 genera las distintas configurac
tablero.
-
5/22/2018 Presentaci n Sin T tulo (1)
11/15
Cdigo
Ahora necesitamos un predicado para determinar si una configu
que las reinas no se ataquen, lo hacemos verificando la lista poizquierda a derecha.
Esta regla establece que en la configuracin las reinas no se
primera reina no ataca a las restantes (no_ataca(X,L)) y las rest
atacan. El caso base es una configuracinvaca.
-
5/22/2018 Presentaci n Sin T tulo (1)
12/15
CodigoAhora generamos y comprobamos
Esto da solucin al problema, pero no es muy eficiente, d
comprobamos en PROLOG el tiempo de ejecucin.
-
5/22/2018 Presentaci n Sin T tulo (1)
13/15
Codigo
Entonces como hay muchas configuraciones que estamos
sabemos q las reinas siempre estn en distintas filas entoncedescartar a priori modificando el predicado genera/1.
-
5/22/2018 Presentaci n Sin T tulo (1)
14/15
Codigo
Calculamos la cantidad de soluciones que deberan ser 92 p
mencionado con el siguiente predicado cantidadSol/1.
-
5/22/2018 Presentaci n Sin T tulo (1)
15/15
Conclusiones
En cuanto a la optimizacion se puede implementa
algoritmos geneticos e incluso redes neuronales.Utilidad en la vida real
Una desventaja de esta implementacion es muy le
porque su complejidad es exponencial o factorial,
Ventajas es facil de implementar y entender a comde otros metodos