SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
ESCUELA DE INFORMATICA
MONOGRAFIA:
IMPLEMENTACION DEL PROBLEMA DE LAS 8 REINAS EN PROLOG
AUTORES:
SALVADOR ROJAS YENAN
MEDINA VEGA MANUEL
RODRÍGUEZ MANTILLA JOSÉ LUIS
TRUJILLO – PERU
2014
INDICE
1.- Caratula
2.- Índice
3.- Introducción
4.- Marco Teórico:
4.1.- Sistemas de producción y búsqueda de soluciones
4.2.- Búsqueda en Amplitud
4.3.- Búsqueda en Profundidad
4.4.- Búsqueda en Retroceso
4.5.- Problema de las 8 reinas
4.6.- Solución al problema e implementación en prolog
5.- Conclusiones
6.- Referencias
3. INTRODUCCION
La inteligencia artificial (IA) es un área multidisciplinaria que, a través de ciencias como
la informática, la lógica y la filosofía, estudia la creación y diseño de entidades capaces de
razonar por sí mismas utilizando como paradigma la inteligencia humana. La inteligencia
artificial reúne varios campos como la robótica o los sistemas expertos, los cuales tienen en
común la creación de máquinas que pueden pensar. En ciencias de la computación se
denomina inteligencia artificial a la capacidad de razonar de un agente no vivo.
John McCarthy introdujo la expresión “inteligencia artificial” en 1956, y la definió así: “Es la
ciencia e ingenio de hacer máquinas inteligentes, especialmente programas de cómputo
inteligentes”.
Un aspecto esencial de los problemas que se enfrentan en Inteligencia Artificial es el de
búsqueda de soluciones.
4. MARCO TEORICO
4.1.- Sistemas de producción y búsqueda de soluciones
4.1.1.- Resolución de problemas en Inteligencia Artificial
En general, podemos afirmar que un problema consiste en:
 Una descripción de la situación de la que se parte:
Entrada: una descripción del estado inicial.
 Una descripción de la situación a la que se quiere llegar:
Salida: una descripción (parcial) del estado final deseado.
 Una descripción de los medios de que disponemos para alcanzar nuestro
objetivo:
Medios: una descripción de acciones que puedan transformar un
estado en otro, acciones que son consideradas como operadores o
reglas.
En el contexto de la Informática, a partir de un problema, se intenta construir un
sistema que lo sistema que lo resuelva.
4.1.2.- Sistemas de producción
-Un sistema de producción consiste en:
 Una base de datos/hechos/conocimiento con información sobre el problema.
 Un conjunto de reglas (operadores).
 Una estrategia de control.
 Un aplicador de reglas: ciclo de reconocimiento-actuación.
4.1.3.- Espacios de representación
 Espacio de representación: entorno en el cual se desarrolla el proceso de
búsqueda. También se le llama espacio de problema.
 Espacio de estados: conjunto de estados que podrían obtenerse si se aplicaran
todos los operadores posibles a todos los estados que se fuesen generando.
Cada estado representa una situación que se debe considerar como candidata a
pertenecer a la solución del problema.
 Estado meta: es el estado solución, y debe existir al menos uno.
 La estrategia de control EC (también llamada, en el contexto de los sistemas
expertos, mecanismo o motor de inferencia). Es la parte más importante de los
sistemas de producción y la que establece el proceso de búsqueda de la
solución mediante la aplicación de operadores a los distintos estados. Con esta
perspectiva, la EC se encarga de decidir qué estados serán expandidos y
decidir qué operador aplicar en cada momento.
4.1.4.- Representación de problemas
La representación se da en tres niveles:
-Conceptual: en lenguaje natural, en un nivel conceptual el estado debe
describir todo lo que es necesario para resolver el problema.
-Lógico- Físico: descripción de estados y operadores, e implementación de las
estructuras de datos necesarias para representarlos en un lenguaje.
4.2.- Búsqueda en Amplitud: Es aquél procedimiento de control en el que se revisan todas las
trayectorias de una determinada longitud antes de crear una trayectoria más larga. Es decir, no
se genera ningún nodo de nivel N hasta que no se hayan obtenido todos los del nivel N-1.
4.2.1.- Algoritmo de búsqueda en amplitud:
1. Crear una lista de nodos llamada ABIERTA e “inicializarla” con un único
nodo raíz, al que se le asigna el estado inicial del problema.
2. Hasta que ABIERTA esté vacía o se encuentre una meta realizar las
siguientes acciones:
2.1 Extraer el primer nodo de ABIERTA y llamar a ese nodo m.
2.2 Expandir m (generar todos los sucesores). Para cada operador
aplicable y cada forma de aplicación:
• 1) Aplicar el operador a m, obtener un nuevo estado y crear
un puntero que permita saber que su predecesor es m.
• 2) Si el nuevo estado generado es meta, salir del proceso
iterativo iniciado en 2.2 y devolver dicho estado.
• 3) Incluir el nuevo estado al final de ABIERTA (una vez
completado este proceso para todos los sucesores de m -
cuando no se haya encontrado una meta- se continúa el
proceso iterativo en el paso 2).
4.2.2.- Ventajas y Desventajas:
 Ventajas: si el problema tiene una solución este procedimiento garantiza el
encontrarla. Si hubiera varias soluciones se obtiene la de menor coste (la
óptima), es decir, la que requiere un menor número de pasos (si consideramos
un coste uniforme de aplicación de los operadores).
 Desventajas: si el nivel de profundidad asociado a la solución es
significativamente menor que el factor de ramificación se expandirían
demasiados nodos inútilmente. Por otro lado la principal desventaja de este
método es el espacio de almacenamiento requerido. Esto lo hace
prácticamente inviable para problemas complejos, como suelen ser los del
mundo real.
4.3.- Búsqueda en profundidad: Es aquél procedimiento de control en el que se centra en
expandir un único camino desde la raíz. En el caso de llegar a un callejón sin salida se
retrocede hasta el nodo más cercano desde donde se puede tomar una ruta alternativa para
poder seguir avanzando. Para llevar a cabo este tipo de búsqueda debe utilizarse una
estructura de tipo pila (LIFO) que vaya almacenando los nodos generados.
Suele establecerse el llamado límite de exploración, que marca la máxima longitud que puede
alcanzar cualquier camino desde la raíz durante el proceso de búsqueda.
4.3.1.- Algoritmo de búsqueda en profundidad:
1. Crear una lista de nodos llamada ABIERTA e “inicializarla” con un único
nodo raíz, al que se le asigna el estado inicial del problema.
2. Hasta que ABIERTA esté vacía o se encuentre una meta realizar las
siguientes acciones:
2.1 Extraer el primer nodo de ABIERTA y llamar a ese nodo m.
2.2 Si la profundidad de m es igual a lp regresar a 2.1. En caso
contrario continuar.
2.3 Expandir m (generar todos los sucesores). Para cada operador
aplicable y cada forma de aplicación:
• 1) Aplicar el operador a m, obtener un nuevo estado y crear
un puntero que permita saber que su predecesor es m.
• 2) Si el nuevo estado generado es meta, salir del proceso
iterativo iniciado en 2.1 y devolver dicho estado.
• 3) Incluir el nuevo estado al principio de ABIERTA en un
orden arbitrario.
• Si algún sucesor de m es meta, abandonar el proceso
iterativo señalado en 2.1 devolviendo el camino de la solución
que se obtiene recorriendo los punteros de sus antepasados.
• Si algún sucesor de m se encuentra en un callejón sin salida
eliminarlo de ABIERTA y continuar en 2.2
4.3.2.- Ventajas y Desventajas:
 Ventajas: la principal ventaja de este algoritmo radica en el reducido valor de
su complejidad espacial. Cuando existen múltiples soluciones posibles la
eficiencia del algoritmo aumenta.
 Desventajas: la dificultad estriba en el tiempo requerido. El algoritmo puede
dedicarse a recorrer un camino demasiado largo que no conduzca a ninguna
solución. Es más, si no se guarda constancia de los nodos que forman el
camino recorrido se podría caer en ciclos y el proceso no acabaría. El
problema por tanto es determinar cuál debe ser lp. Si éste es inferior a la
longitud real del camino de la solución, ésta nunca se encontraría, y si es
mucho mayor sería ineficiente. Esta es la razón por la que lp debería llamarse
límite de exploración.
4.4.- Búsqueda con retroceso (Backtracking): Es un método que a diferencia de los algoritmos
en amplitud y en profundidad (que consideran todos los sucesores) solamente expande un
sucesor en cada iteración, restringiendo por lo tanto el espacio de estados considerado.
Cuanto mejor sea el criterio para limitar el número de estados considerados más eficiente será
el proceso de búsqueda.
Es decir, es como el recorrido en profundidad pero nos ahorramos tener que expandir todos
los nodos para obtener sus sucesores. El camino sigue avanzando por ese sucesor, y si nos
encontramos con un callejón sin salida retrocedemos hasta el primer antepasado desde el que
todavía partan caminos inexplorados.
4.4.1.- Algoritmo de búsqueda con retroceso:
1. Crear una lista de nodos llamada ABIERTA e “inicializarla” con un único
nodo raíz, al que se le asigna el estado inicial del problema.
2. Hasta que ABIERTA esté vacía o se encuentre una meta o se devuelva fallo
realizar las siguientes acciones:
2.1 Si ABIERTA está vacía terminar con fallo: en caso contrario
continuar.
2.2 Extraer el primer nodo de ABIERTA y llamar a ese nodo m.
2.3 Si la profundidad de m es igual a lp o si m no tiene más sucesores
posibles (que no hayan sido examinados anteriormente) eliminarlo de
ABIERTA y regresar a 2. En caso contrario continuar.
2.4 Generar un “nuevo” sucesor m’ de m e introducirlo al principio de
ABIERTA, creando un puntero a m, y señalar que dicha rama ya ha
sido considerada.
• 2.4.1) Si m´ es meta, abandonar el proceso iterativo iniciado
en el paso 2 devolviendo el camino de la solución, que se
obtiene recorriendo los punteros de sus antepasados.
• 2.4.2) Si m´ se encuentra en un callejón sin salida eliminarlo
de ABIERTA. Se continúa el proceso iterativo en el paso 2.
4.4.2.- Ventajas y Desventajas:
 Ventajas: la principal ventaja de esta algoritmo respecto al de profundidad es
la de necesitar un menor espacio de almacenamiento. Sólo hay que recordar
en cada instante un sucesor del nodo seleccionado. Otra ventaja es que no se
generan las ramas del árbol que se encuentran después (a la derecha) de la
solución.
 Desventajas: Vuelve a ser el problema determinar cuál debe ser lp. Para
conocer su valor deberíamos saber de antemano en qué nivel se encuentra la
solución.
4.5.- Problema de las 8 reinas
El problema de las ocho reinas es un pasatiempo en el que se colocan ocho reinas sin que se
amenacen. Fue propuesto por el ajedrecista alemán Max Bezzel en 1848. En el juego
del ajedrez la reina amenaza a aquellas piezas que se encuentren en su misma fila, columna o
diagonal. El juego de las 8 reinas consiste en colocar sobre un tablero de ajedrez ocho reinas
sin que estas se amenacen entre ellas. Para resolver este problema emplearemos un
esquema vuelta atrás (o Backtracking).
4.6.- Solución al problema e implementación en Prolog:
Para solucionar este problema se han implementado en Prolog los siguientes predicados:
a. reinas(S): Este es el predicado al cual llamaremos desde el intérprete de Prolog. S es una
variable que almacenará una lista la cual será la solución al problema.
b. permutar_tablero: Prueba todas las posibles disposiciones del tablero.
c. verificar_tablero: Comprueba que las reinas no se amenacen entre sí.
d. amenaza: Impone las condiciones para que una reina amenace a otra.
Y aquí está el código en Prolog:
amenaza(X,P,[C|_]):-X is C+P.
amenaza(X,P,[C|_]):-X is C-P.
amenaza(X,P,[C|_]):-X=C.
amenaza(X,P,[_|T]):-P1 is P+1,amenaza(X,P1,T).
amenaza(_,[]):-fail.
amenaza(X,Y):-amenaza(X,1,Y).
seleccionar([C|T],C,T).
seleccionar([C|T1],X,[C|T2]):-seleccionar(T1,X,T2).
permutar_tablero([],[]).
permutar_tablero(L,[C|T1]):-seleccionar(L,C,L2),permutar_tablero(L2,T1).
verificar_tablero([]).
verificar_tablero([C|T]):-not(amenaza(C,T)),verificar_tablero(T).
reinas(S):-permutar_tablero([8,7,6,5,4,3,2,1],S),verificar_tablero(S).
5. Conclusiones:
Los problemas comunes de la Inteligencia Artificial que implican la búsqueda de un estado
dentro de un conjunto de estados, son difíciles de resolver. Es por eso que es impracticable
buscar la mejor solución.
6. Referencias:
- http://es.scribd.com/doc/101779755/Misioneros-y-Canibales-Solucion
- https://www.youtube.com/watch?v=ZzIQIwgTAYA

Contenu connexe

Tendances

Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del clienteGabriel Mondragón
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksortPatricia Correa
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Micael Gallego
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónKarol
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño Ikaolong
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekkernerexi
 
Que es una red petri
Que es una red petriQue es una red petri
Que es una red petriLucero Mtz
 
M O D U L A R I D A D
M O D U L A R I D A DM O D U L A R I D A D
M O D U L A R I D A DJORGE ARMANDO
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemMirna L. Torres Garcia
 
Administración de procesos en ubuntu
Administración de procesos en ubuntuAdministración de procesos en ubuntu
Administración de procesos en ubuntuluis guti
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesJosé Enrique Alvarez Estrada
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 

Tendances (20)

Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Algoritmo metodo quicksort
Algoritmo metodo quicksortAlgoritmo metodo quicksort
Algoritmo metodo quicksort
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
 
Que es una red petri
Que es una red petriQue es una red petri
Que es una red petri
 
Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Xp
XpXp
Xp
 
Problema 8 puzzle
Problema 8 puzzleProblema 8 puzzle
Problema 8 puzzle
 
M O D U L A R I D A D
M O D U L A R I D A DM O D U L A R I D A D
M O D U L A R I D A D
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Administración de procesos en ubuntu
Administración de procesos en ubuntuAdministración de procesos en ubuntu
Administración de procesos en ubuntu
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 

Similaire à Problema de las 8 reinas

Tecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificialTecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificialDamelysCarrillo2
 
Luis Hernández-Cuadro Comparativo-I.pdf
Luis Hernández-Cuadro Comparativo-I.pdfLuis Hernández-Cuadro Comparativo-I.pdf
Luis Hernández-Cuadro Comparativo-I.pdfLuis12876
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialNoraVelasquez4
 
Tipos de busqueda redes semanticcas
Tipos de busqueda redes semanticcasTipos de busqueda redes semanticcas
Tipos de busqueda redes semanticcasJenyfer Utitiaja
 
TÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).pptTÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).pptalejandrina36
 
TÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).pptTÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).pptAntonioReal11
 
TIPOS DE BUSQUEDA
TIPOS DE BUSQUEDA TIPOS DE BUSQUEDA
TIPOS DE BUSQUEDA torvicanny
 
Uniandes tipos de busqueda mylena
Uniandes tipos de busqueda mylenaUniandes tipos de busqueda mylena
Uniandes tipos de busqueda mylenamyle22
 
Criterios de Búsquedas en Inteligencia artificial
Criterios de Búsquedas en Inteligencia artificialCriterios de Búsquedas en Inteligencia artificial
Criterios de Búsquedas en Inteligencia artificialFélix Alvarado
 
Tecnicas de Busqueda en IA
Tecnicas de Busqueda en IATecnicas de Busqueda en IA
Tecnicas de Busqueda en IAAlfredoAlejo1
 
Cuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en iaCuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en iayorlys oropeza
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busquedasacrilegetx
 
Busquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas CiegasBusquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas Ciegasluisilva18
 
Criterios de búsqueda en la Inteligencia Artificial
Criterios de búsqueda en la Inteligencia ArtificialCriterios de búsqueda en la Inteligencia Artificial
Criterios de búsqueda en la Inteligencia ArtificialSneider Salero
 

Similaire à Problema de las 8 reinas (20)

Tecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificialTecnicas de busqueda en inteligencia artificial
Tecnicas de busqueda en inteligencia artificial
 
Criterios de Busqueda en I.A
Criterios de Busqueda en I.ACriterios de Busqueda en I.A
Criterios de Busqueda en I.A
 
Luis Hernández-Cuadro Comparativo-I.pdf
Luis Hernández-Cuadro Comparativo-I.pdfLuis Hernández-Cuadro Comparativo-I.pdf
Luis Hernández-Cuadro Comparativo-I.pdf
 
U4_Busqueda.pdf
U4_Busqueda.pdfU4_Busqueda.pdf
U4_Busqueda.pdf
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
 
Tipos de busqueda redes semanticcas
Tipos de busqueda redes semanticcasTipos de busqueda redes semanticcas
Tipos de busqueda redes semanticcas
 
TÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).pptTÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).ppt
 
TÉCNICAS DE BÚSQUEDA.ppt
TÉCNICAS DE BÚSQUEDA.pptTÉCNICAS DE BÚSQUEDA.ppt
TÉCNICAS DE BÚSQUEDA.ppt
 
TÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).pptTÉCNICAS DE BÚSQUEDA(1).ppt
TÉCNICAS DE BÚSQUEDA(1).ppt
 
Victor1
Victor1Victor1
Victor1
 
TIPOS DE BUSQUEDA
TIPOS DE BUSQUEDA TIPOS DE BUSQUEDA
TIPOS DE BUSQUEDA
 
Metodo heuristico metodo ciego
Metodo heuristico   metodo ciegoMetodo heuristico   metodo ciego
Metodo heuristico metodo ciego
 
Uniandes tipos de busqueda mylena
Uniandes tipos de busqueda mylenaUniandes tipos de busqueda mylena
Uniandes tipos de busqueda mylena
 
Criterios de Búsquedas en Inteligencia artificial
Criterios de Búsquedas en Inteligencia artificialCriterios de Búsquedas en Inteligencia artificial
Criterios de Búsquedas en Inteligencia artificial
 
Tecnicas de Busqueda en IA
Tecnicas de Busqueda en IATecnicas de Busqueda en IA
Tecnicas de Busqueda en IA
 
estudiante
estudiante estudiante
estudiante
 
Cuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en iaCuadro comparativo de metodos de busqueda en ia
Cuadro comparativo de metodos de busqueda en ia
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busqueda
 
Busquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas CiegasBusquedas Heuristicas vs Busquedas Ciegas
Busquedas Heuristicas vs Busquedas Ciegas
 
Criterios de búsqueda en la Inteligencia Artificial
Criterios de búsqueda en la Inteligencia ArtificialCriterios de búsqueda en la Inteligencia Artificial
Criterios de búsqueda en la Inteligencia Artificial
 

Dernier

Ecuaciones Diferenciales de Primer Orden
Ecuaciones Diferenciales de Primer OrdenEcuaciones Diferenciales de Primer Orden
Ecuaciones Diferenciales de Primer OrdenAntonio Guasco
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando PythonErnesto Crespo
 
Homo Ergaster. Evolución y datos del hominido
Homo Ergaster. Evolución y datos del hominidoHomo Ergaster. Evolución y datos del hominido
Homo Ergaster. Evolución y datos del hominidoMIGUELSANTIAGODORADO
 
El Genoma Humano, Características, Definición, ETC
El Genoma Humano, Características, Definición, ETCEl Genoma Humano, Características, Definición, ETC
El Genoma Humano, Características, Definición, ETCJ0S3G4LV1S
 
Derivadas- sus aplicaciones en la vida cotidiana
Derivadas- sus aplicaciones en la vida cotidianaDerivadas- sus aplicaciones en la vida cotidiana
Derivadas- sus aplicaciones en la vida cotidianapabv24
 
desequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWART
desequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWARTdesequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWART
desequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWARTfjmn110693
 
Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...
Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...
Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...frank0071
 
El Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptx
El Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptxEl Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptx
El Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptxangelorihuela4
 
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdfAlthusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdffrank0071
 
IAAS- EPIDEMIOLOGIA. antisepcsia, desinfección, epp
IAAS-  EPIDEMIOLOGIA. antisepcsia, desinfección, eppIAAS-  EPIDEMIOLOGIA. antisepcsia, desinfección, epp
IAAS- EPIDEMIOLOGIA. antisepcsia, desinfección, eppCatalinaSezCrdenas
 
hipotalamo hipofisis clase de endocrinología
hipotalamo hipofisis clase de endocrinologíahipotalamo hipofisis clase de endocrinología
hipotalamo hipofisis clase de endocrinologíawaldyGamer
 
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docxPRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docxAlexandraNeryHuamanM2
 
REINO FUNGI: CONCEPTO, CARACTERISTICAS, ETC
REINO FUNGI: CONCEPTO, CARACTERISTICAS, ETCREINO FUNGI: CONCEPTO, CARACTERISTICAS, ETC
REINO FUNGI: CONCEPTO, CARACTERISTICAS, ETCbayolethBarboza
 
Estructura, propiedades, usos y reacciones del benceno.pptx
Estructura, propiedades, usos y reacciones del benceno.pptxEstructura, propiedades, usos y reacciones del benceno.pptx
Estructura, propiedades, usos y reacciones del benceno.pptxAlejandroPrez777060
 
Moda colonial de 1810 donde podemos ver las distintas prendas
Moda colonial de 1810 donde podemos ver las distintas prendasModa colonial de 1810 donde podemos ver las distintas prendas
Moda colonial de 1810 donde podemos ver las distintas prendasMorenaVictorero1
 
LIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALES
LIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALESLIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALES
LIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALESGuiseppyCuchilloMira
 
Antequera, L. - Historia desconocida del descubrimiento de América [2021].pdf
Antequera, L. - Historia desconocida del descubrimiento de América [2021].pdfAntequera, L. - Historia desconocida del descubrimiento de América [2021].pdf
Antequera, L. - Historia desconocida del descubrimiento de América [2021].pdffrank0071
 
DILATADORES ESOFAGICOS estenosis benignas (1).pptx
DILATADORES ESOFAGICOS estenosis benignas (1).pptxDILATADORES ESOFAGICOS estenosis benignas (1).pptx
DILATADORES ESOFAGICOS estenosis benignas (1).pptxGabyCrespo6
 
Hormonas y sus formulas quimicas - grupo 6.pdf
Hormonas y sus formulas quimicas - grupo 6.pdfHormonas y sus formulas quimicas - grupo 6.pdf
Hormonas y sus formulas quimicas - grupo 6.pdfPatrickArturoDiazboz
 
Origen y evolución del hombre, teorías..
Origen y evolución del hombre, teorías..Origen y evolución del hombre, teorías..
Origen y evolución del hombre, teorías..stephanniemoreno858
 

Dernier (20)

Ecuaciones Diferenciales de Primer Orden
Ecuaciones Diferenciales de Primer OrdenEcuaciones Diferenciales de Primer Orden
Ecuaciones Diferenciales de Primer Orden
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando Python
 
Homo Ergaster. Evolución y datos del hominido
Homo Ergaster. Evolución y datos del hominidoHomo Ergaster. Evolución y datos del hominido
Homo Ergaster. Evolución y datos del hominido
 
El Genoma Humano, Características, Definición, ETC
El Genoma Humano, Características, Definición, ETCEl Genoma Humano, Características, Definición, ETC
El Genoma Humano, Características, Definición, ETC
 
Derivadas- sus aplicaciones en la vida cotidiana
Derivadas- sus aplicaciones en la vida cotidianaDerivadas- sus aplicaciones en la vida cotidiana
Derivadas- sus aplicaciones en la vida cotidiana
 
desequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWART
desequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWARTdesequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWART
desequilibrio acido baseEE Y TEORIA ACIDO BASICO DE STEWART
 
Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...
Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...
Morgado & Rodríguez (eds.) - Los animales en la historia y en la cultura [201...
 
El Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptx
El Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptxEl Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptx
El Gran Atractor, la misteriosa fuerza que está halando a la Vía Láctea.pptx
 
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdfAlthusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
 
IAAS- EPIDEMIOLOGIA. antisepcsia, desinfección, epp
IAAS-  EPIDEMIOLOGIA. antisepcsia, desinfección, eppIAAS-  EPIDEMIOLOGIA. antisepcsia, desinfección, epp
IAAS- EPIDEMIOLOGIA. antisepcsia, desinfección, epp
 
hipotalamo hipofisis clase de endocrinología
hipotalamo hipofisis clase de endocrinologíahipotalamo hipofisis clase de endocrinología
hipotalamo hipofisis clase de endocrinología
 
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docxPRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
PRUEBA CALIFICADA 4º sec biomoleculas y bioelementos .docx
 
REINO FUNGI: CONCEPTO, CARACTERISTICAS, ETC
REINO FUNGI: CONCEPTO, CARACTERISTICAS, ETCREINO FUNGI: CONCEPTO, CARACTERISTICAS, ETC
REINO FUNGI: CONCEPTO, CARACTERISTICAS, ETC
 
Estructura, propiedades, usos y reacciones del benceno.pptx
Estructura, propiedades, usos y reacciones del benceno.pptxEstructura, propiedades, usos y reacciones del benceno.pptx
Estructura, propiedades, usos y reacciones del benceno.pptx
 
Moda colonial de 1810 donde podemos ver las distintas prendas
Moda colonial de 1810 donde podemos ver las distintas prendasModa colonial de 1810 donde podemos ver las distintas prendas
Moda colonial de 1810 donde podemos ver las distintas prendas
 
LIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALES
LIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALESLIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALES
LIPIDOS y ACIDOS NUCLEICOS Y TODOS SUS SILLARES ESTRUCTURALES
 
Antequera, L. - Historia desconocida del descubrimiento de América [2021].pdf
Antequera, L. - Historia desconocida del descubrimiento de América [2021].pdfAntequera, L. - Historia desconocida del descubrimiento de América [2021].pdf
Antequera, L. - Historia desconocida del descubrimiento de América [2021].pdf
 
DILATADORES ESOFAGICOS estenosis benignas (1).pptx
DILATADORES ESOFAGICOS estenosis benignas (1).pptxDILATADORES ESOFAGICOS estenosis benignas (1).pptx
DILATADORES ESOFAGICOS estenosis benignas (1).pptx
 
Hormonas y sus formulas quimicas - grupo 6.pdf
Hormonas y sus formulas quimicas - grupo 6.pdfHormonas y sus formulas quimicas - grupo 6.pdf
Hormonas y sus formulas quimicas - grupo 6.pdf
 
Origen y evolución del hombre, teorías..
Origen y evolución del hombre, teorías..Origen y evolución del hombre, teorías..
Origen y evolución del hombre, teorías..
 

Problema de las 8 reinas

  • 1. UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ESCUELA DE INFORMATICA MONOGRAFIA: IMPLEMENTACION DEL PROBLEMA DE LAS 8 REINAS EN PROLOG AUTORES: SALVADOR ROJAS YENAN MEDINA VEGA MANUEL RODRÍGUEZ MANTILLA JOSÉ LUIS TRUJILLO – PERU 2014 INDICE
  • 2. 1.- Caratula 2.- Índice 3.- Introducción 4.- Marco Teórico: 4.1.- Sistemas de producción y búsqueda de soluciones 4.2.- Búsqueda en Amplitud 4.3.- Búsqueda en Profundidad 4.4.- Búsqueda en Retroceso 4.5.- Problema de las 8 reinas 4.6.- Solución al problema e implementación en prolog 5.- Conclusiones 6.- Referencias 3. INTRODUCCION
  • 3. La inteligencia artificial (IA) es un área multidisciplinaria que, a través de ciencias como la informática, la lógica y la filosofía, estudia la creación y diseño de entidades capaces de razonar por sí mismas utilizando como paradigma la inteligencia humana. La inteligencia artificial reúne varios campos como la robótica o los sistemas expertos, los cuales tienen en común la creación de máquinas que pueden pensar. En ciencias de la computación se denomina inteligencia artificial a la capacidad de razonar de un agente no vivo. John McCarthy introdujo la expresión “inteligencia artificial” en 1956, y la definió así: “Es la ciencia e ingenio de hacer máquinas inteligentes, especialmente programas de cómputo inteligentes”. Un aspecto esencial de los problemas que se enfrentan en Inteligencia Artificial es el de búsqueda de soluciones. 4. MARCO TEORICO 4.1.- Sistemas de producción y búsqueda de soluciones 4.1.1.- Resolución de problemas en Inteligencia Artificial En general, podemos afirmar que un problema consiste en:
  • 4.  Una descripción de la situación de la que se parte: Entrada: una descripción del estado inicial.  Una descripción de la situación a la que se quiere llegar: Salida: una descripción (parcial) del estado final deseado.  Una descripción de los medios de que disponemos para alcanzar nuestro objetivo: Medios: una descripción de acciones que puedan transformar un estado en otro, acciones que son consideradas como operadores o reglas. En el contexto de la Informática, a partir de un problema, se intenta construir un sistema que lo sistema que lo resuelva. 4.1.2.- Sistemas de producción -Un sistema de producción consiste en:  Una base de datos/hechos/conocimiento con información sobre el problema.  Un conjunto de reglas (operadores).  Una estrategia de control.  Un aplicador de reglas: ciclo de reconocimiento-actuación. 4.1.3.- Espacios de representación  Espacio de representación: entorno en el cual se desarrolla el proceso de búsqueda. También se le llama espacio de problema.  Espacio de estados: conjunto de estados que podrían obtenerse si se aplicaran todos los operadores posibles a todos los estados que se fuesen generando. Cada estado representa una situación que se debe considerar como candidata a pertenecer a la solución del problema.  Estado meta: es el estado solución, y debe existir al menos uno.  La estrategia de control EC (también llamada, en el contexto de los sistemas expertos, mecanismo o motor de inferencia). Es la parte más importante de los sistemas de producción y la que establece el proceso de búsqueda de la
  • 5. solución mediante la aplicación de operadores a los distintos estados. Con esta perspectiva, la EC se encarga de decidir qué estados serán expandidos y decidir qué operador aplicar en cada momento. 4.1.4.- Representación de problemas La representación se da en tres niveles: -Conceptual: en lenguaje natural, en un nivel conceptual el estado debe describir todo lo que es necesario para resolver el problema. -Lógico- Físico: descripción de estados y operadores, e implementación de las estructuras de datos necesarias para representarlos en un lenguaje. 4.2.- Búsqueda en Amplitud: Es aquél procedimiento de control en el que se revisan todas las trayectorias de una determinada longitud antes de crear una trayectoria más larga. Es decir, no se genera ningún nodo de nivel N hasta que no se hayan obtenido todos los del nivel N-1. 4.2.1.- Algoritmo de búsqueda en amplitud: 1. Crear una lista de nodos llamada ABIERTA e “inicializarla” con un único nodo raíz, al que se le asigna el estado inicial del problema. 2. Hasta que ABIERTA esté vacía o se encuentre una meta realizar las siguientes acciones: 2.1 Extraer el primer nodo de ABIERTA y llamar a ese nodo m. 2.2 Expandir m (generar todos los sucesores). Para cada operador aplicable y cada forma de aplicación: • 1) Aplicar el operador a m, obtener un nuevo estado y crear un puntero que permita saber que su predecesor es m. • 2) Si el nuevo estado generado es meta, salir del proceso iterativo iniciado en 2.2 y devolver dicho estado.
  • 6. • 3) Incluir el nuevo estado al final de ABIERTA (una vez completado este proceso para todos los sucesores de m - cuando no se haya encontrado una meta- se continúa el proceso iterativo en el paso 2). 4.2.2.- Ventajas y Desventajas:  Ventajas: si el problema tiene una solución este procedimiento garantiza el encontrarla. Si hubiera varias soluciones se obtiene la de menor coste (la óptima), es decir, la que requiere un menor número de pasos (si consideramos un coste uniforme de aplicación de los operadores).  Desventajas: si el nivel de profundidad asociado a la solución es significativamente menor que el factor de ramificación se expandirían demasiados nodos inútilmente. Por otro lado la principal desventaja de este método es el espacio de almacenamiento requerido. Esto lo hace prácticamente inviable para problemas complejos, como suelen ser los del mundo real. 4.3.- Búsqueda en profundidad: Es aquél procedimiento de control en el que se centra en expandir un único camino desde la raíz. En el caso de llegar a un callejón sin salida se retrocede hasta el nodo más cercano desde donde se puede tomar una ruta alternativa para poder seguir avanzando. Para llevar a cabo este tipo de búsqueda debe utilizarse una estructura de tipo pila (LIFO) que vaya almacenando los nodos generados. Suele establecerse el llamado límite de exploración, que marca la máxima longitud que puede alcanzar cualquier camino desde la raíz durante el proceso de búsqueda. 4.3.1.- Algoritmo de búsqueda en profundidad: 1. Crear una lista de nodos llamada ABIERTA e “inicializarla” con un único nodo raíz, al que se le asigna el estado inicial del problema. 2. Hasta que ABIERTA esté vacía o se encuentre una meta realizar las siguientes acciones: 2.1 Extraer el primer nodo de ABIERTA y llamar a ese nodo m. 2.2 Si la profundidad de m es igual a lp regresar a 2.1. En caso contrario continuar. 2.3 Expandir m (generar todos los sucesores). Para cada operador aplicable y cada forma de aplicación:
  • 7. • 1) Aplicar el operador a m, obtener un nuevo estado y crear un puntero que permita saber que su predecesor es m. • 2) Si el nuevo estado generado es meta, salir del proceso iterativo iniciado en 2.1 y devolver dicho estado. • 3) Incluir el nuevo estado al principio de ABIERTA en un orden arbitrario. • Si algún sucesor de m es meta, abandonar el proceso iterativo señalado en 2.1 devolviendo el camino de la solución que se obtiene recorriendo los punteros de sus antepasados. • Si algún sucesor de m se encuentra en un callejón sin salida eliminarlo de ABIERTA y continuar en 2.2 4.3.2.- Ventajas y Desventajas:  Ventajas: la principal ventaja de este algoritmo radica en el reducido valor de su complejidad espacial. Cuando existen múltiples soluciones posibles la eficiencia del algoritmo aumenta.  Desventajas: la dificultad estriba en el tiempo requerido. El algoritmo puede dedicarse a recorrer un camino demasiado largo que no conduzca a ninguna solución. Es más, si no se guarda constancia de los nodos que forman el camino recorrido se podría caer en ciclos y el proceso no acabaría. El problema por tanto es determinar cuál debe ser lp. Si éste es inferior a la longitud real del camino de la solución, ésta nunca se encontraría, y si es mucho mayor sería ineficiente. Esta es la razón por la que lp debería llamarse límite de exploración. 4.4.- Búsqueda con retroceso (Backtracking): Es un método que a diferencia de los algoritmos en amplitud y en profundidad (que consideran todos los sucesores) solamente expande un sucesor en cada iteración, restringiendo por lo tanto el espacio de estados considerado. Cuanto mejor sea el criterio para limitar el número de estados considerados más eficiente será el proceso de búsqueda. Es decir, es como el recorrido en profundidad pero nos ahorramos tener que expandir todos los nodos para obtener sus sucesores. El camino sigue avanzando por ese sucesor, y si nos encontramos con un callejón sin salida retrocedemos hasta el primer antepasado desde el que todavía partan caminos inexplorados.
  • 8. 4.4.1.- Algoritmo de búsqueda con retroceso: 1. Crear una lista de nodos llamada ABIERTA e “inicializarla” con un único nodo raíz, al que se le asigna el estado inicial del problema. 2. Hasta que ABIERTA esté vacía o se encuentre una meta o se devuelva fallo realizar las siguientes acciones: 2.1 Si ABIERTA está vacía terminar con fallo: en caso contrario continuar. 2.2 Extraer el primer nodo de ABIERTA y llamar a ese nodo m. 2.3 Si la profundidad de m es igual a lp o si m no tiene más sucesores posibles (que no hayan sido examinados anteriormente) eliminarlo de ABIERTA y regresar a 2. En caso contrario continuar. 2.4 Generar un “nuevo” sucesor m’ de m e introducirlo al principio de ABIERTA, creando un puntero a m, y señalar que dicha rama ya ha sido considerada. • 2.4.1) Si m´ es meta, abandonar el proceso iterativo iniciado en el paso 2 devolviendo el camino de la solución, que se obtiene recorriendo los punteros de sus antepasados. • 2.4.2) Si m´ se encuentra en un callejón sin salida eliminarlo de ABIERTA. Se continúa el proceso iterativo en el paso 2. 4.4.2.- Ventajas y Desventajas:  Ventajas: la principal ventaja de esta algoritmo respecto al de profundidad es la de necesitar un menor espacio de almacenamiento. Sólo hay que recordar en cada instante un sucesor del nodo seleccionado. Otra ventaja es que no se generan las ramas del árbol que se encuentran después (a la derecha) de la solución.  Desventajas: Vuelve a ser el problema determinar cuál debe ser lp. Para conocer su valor deberíamos saber de antemano en qué nivel se encuentra la solución.
  • 9. 4.5.- Problema de las 8 reinas El problema de las ocho reinas es un pasatiempo en el que se colocan ocho reinas sin que se amenacen. Fue propuesto por el ajedrecista alemán Max Bezzel en 1848. En el juego del ajedrez la reina amenaza a aquellas piezas que se encuentren en su misma fila, columna o diagonal. El juego de las 8 reinas consiste en colocar sobre un tablero de ajedrez ocho reinas sin que estas se amenacen entre ellas. Para resolver este problema emplearemos un esquema vuelta atrás (o Backtracking). 4.6.- Solución al problema e implementación en Prolog: Para solucionar este problema se han implementado en Prolog los siguientes predicados: a. reinas(S): Este es el predicado al cual llamaremos desde el intérprete de Prolog. S es una variable que almacenará una lista la cual será la solución al problema. b. permutar_tablero: Prueba todas las posibles disposiciones del tablero. c. verificar_tablero: Comprueba que las reinas no se amenacen entre sí. d. amenaza: Impone las condiciones para que una reina amenace a otra. Y aquí está el código en Prolog: amenaza(X,P,[C|_]):-X is C+P. amenaza(X,P,[C|_]):-X is C-P. amenaza(X,P,[C|_]):-X=C. amenaza(X,P,[_|T]):-P1 is P+1,amenaza(X,P1,T). amenaza(_,[]):-fail. amenaza(X,Y):-amenaza(X,1,Y). seleccionar([C|T],C,T). seleccionar([C|T1],X,[C|T2]):-seleccionar(T1,X,T2).
  • 10. permutar_tablero([],[]). permutar_tablero(L,[C|T1]):-seleccionar(L,C,L2),permutar_tablero(L2,T1). verificar_tablero([]). verificar_tablero([C|T]):-not(amenaza(C,T)),verificar_tablero(T). reinas(S):-permutar_tablero([8,7,6,5,4,3,2,1],S),verificar_tablero(S). 5. Conclusiones: Los problemas comunes de la Inteligencia Artificial que implican la búsqueda de un estado dentro de un conjunto de estados, son difíciles de resolver. Es por eso que es impracticable buscar la mejor solución. 6. Referencias: - http://es.scribd.com/doc/101779755/Misioneros-y-Canibales-Solucion - https://www.youtube.com/watch?v=ZzIQIwgTAYA