SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE CIENCIAS FISICAS Y
MATEMATICAS
ESCUELA ACADEMICO PROFESIONAL DE
INFORMATICA
Programación en Lógica
TEMA: Problema de las 8 Reinas
DOCENTE: Arturo Díaz Pulido
INTEGRANTES:
o REBAZA CASTAÑEDA, JHOSER ALBERTO
TRUJILLO – PERU
2014
2
ÍNDICE
Índice…………………………………………………………………………2
Dedicatoria…………………………………………………………………...3
Introducción………………………………………………………………….4
Marco Teorico……...……......………………………………………………5
Problema de las Ocho reinas ……………………………………………….6
Implementación …………………….………………………………………9
Conclusión…………………………………………………………………11
Referencias bibliográficas…………………………………………………12
3
DEDICATORIA
Dedicado a toda la comunidad estudiantil de Ciencia de la Computación, con
el fin de promover la investigación, poniendo al alcance de sus manos un formato que
sabemos será de mucho agrado para las futuras aplicaciones que le puedan dar.
4
INTRODUCCION
El problema de las ocho reinas se trata de un acertijo 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 de ajedrez la reina amenaza a aquellas piezas que se
encuentren en su misma fila, columna o diagonal. Las 8 reinas consisten en colocar
sobre un tablero de ajedrez ocho reinas sin que estas se den jaques entre ellas.
5
1.- MARCO TEORICO
Mucho se ha hablado sobre este tema, pero en verdad lo único que puede afirmarse
con propiedad es que el ajedrez es tan antiguo como la civilización, ya que en
excavaciones efectuadas en la Mesopotamia (región ubicada entre los ríos Tigres y
Eufrates) se han encontrado objetos que demostraban que el ajedrez o un juego
similar existía por lo menos 4000 años antes de Cristo.
Duncan Forbes en su libro "Historia del Ajedrez" (Londres 1860) señala que el
ajedrez tiene su origen en la India, más concretamente en el Valle del Indo, y data
del siglo VI D.C. y a SUSA BEN DAHIR el HINDI como su inventor.
El problema fue originalmente propuesto en 1848 por el ajedrecista Max Bezzel, y
durante los años, muchos matemáticos, incluyendo a Gauss y a Georg Cantor, han
trabajado en este problema y lo han generalizado a n-reinas. Las primeras soluciones
fueron ofrecidas por Franz Nauck en 1850. Nauck también se abocó a las n-reinas (en
un tablero de nxn de tamaño arbitrario). En 1874, S. Günther propuso un método para
hallar las soluciones usando determinantes, y J.W.L. Glaisher redefinió su
aproximación. Edsger Dijkstra usó este problema en 1972 para ilustrar el poder de la
llamada programación estructurada. Él publicó una descripción altamente detallada
del desarrollo del algoritmo de backtracking, "depth-first".
Este acertijo apareció en el popular juego de computadora de los '90 llamado "The
7th Guest".
6
PROBLEMA DE LAS OCHO REINAS
El problema de las ocho reinas y en general de las N reinas, se basa en
colocar 8 reinas en un tablero de 8 8 (o N en un tablero de N N, si el problema se
generaliza), de forma que en no puede haber dos piezas en la misma línea horizontal,
vertical o diagonal.
Este programa has sido muy estudiado por los matemáticos. Se trata de un
problema NP-Completo que no tiene solución para N=2 y N=3. Para N=4 tiene una
única solución. Para N=8 hay más de 80 soluciones dependiendo de las restricciones
que se impongan.
Una forma de abordar el problema se lleva a cabo mediante la construcción de un
predicado en Prolog del tipo siguiente: reinas(N, Solucion), donde N representa las
dimensiones del tablero y el número de reinas y Solucion es una lista que contiene la
permutación de la lista de números que resuelven el problema. Los índices de dicha
lista representan la columna en la que se encuentra una reina y el número que
almacena la posición o índice representa la fila donde la reina está colocada. Así, para
el ejemplo mostrado en la Figura 1, tenemos que R=[2,4,1,3].
Este problema es resuelto, de modo clásico, por el método de prueba y error, luego se
adapta perfectamente a un algoritmo de backtracking. Básicamente, el problema se
reduce a colocar una reina, e intentar repetir el proceso teniendo en cuenta la reina
colocada. Si logramos poner todas las reinas el problema se ha resuelto, en caso
contrario, deshacemos lo que llevamos hasta ahora y probamos con otra combinación.
Por tanto, hemos de generar un conjunto de permutaciones y seleccionar aquella que
cumpla los requisitos impuestos por el juego.
7
Número de soluciones
Soluciones al problema de las ocho reinas
El problema de las ocho reinas tiene 92 soluciones, de las cuales 12
son esencialmente distintas, es decir las 92 soluciones existentes se pueden obtener
a partir de simetrías, rotaciones y traslaciones de las 12 soluciones únicas, que se
muestran a continuación:
8
9
Implementación
A continuación se muestra una posible implementación del anterior algoritmo
en Prolog.
% Autor: REBAZA CASTAÑEDA JHOSER ALBERTO
% Fecha: 01/07/2014
numeros(1).
numeros(2).
numeros(3).
numeros(4).
numeros(5).
numeros(6).
numeros(7).
numeros(8).
reinas:-numeros(X1), numeros(X2),numeros(X3), numeros(X4), numeros(X5),
numeros(X6), numeros(X7),numeros(X8),
solucion([X1,X2,X3,X4,X5,X6,X7,X8],1),
imprimir([X1,X2,X3,X4,X5,X6,X7,X8]).
solucion([],_).
solucion([X|Cola],C):-not(pertenece(X,Cola)),C1 is C+1, calculo(X,C,C1,Cola),
solucion(Cola,C1).
pertenece(X,[X|_]).
pertenece(X,[_|Z]):-pertenece(X,Z).
10
calculo(_,_,_,[]).
calculo(X,Y,Y2,[X2|Cola]):-R1 is X-X2,Y3 is Y2+1,R2 is Y-Y2,Ab1 is abs(R1),Ab2
is abs(R2),Ab1=Ab2,calculo(X,Y,Y3,Cola).
imprimir([]).
imprimir([X|Cola]):-mostrarFila(1,X),writeln(''),imprimir(Cola).
mostrarFila(8,8):-write('R ').
mostrarFila(8,X):-8=X,write('0 ').
mostrarFila(X,X):-X<8,write('R '),X1 is X+1,mostrarFila(X1,X).
mostrarFila(C,X):-C<8,C=X,write('0 '),C1 is C+1,mostrarFila(C1,X).
11
CONCLUCIÓN
El problema de las 8 reinas es un juego de habilidades en el cual
desarrollamos nuestras capacidades de lograr una mejor manera de ver las diferentes
propuestas que podemos dar a una incógnita como esta.
12
REFERENCIAS BIBLIOGRÁFICAS.
 http://es.scribd.com/doc/49374147/Problema-de-Las-8-Reinasl
 http://www.uhu.es/nieves.pavon/pprogramacion/temario/tema4/tema4.html
 http://ende.cc/agujero/juegos/8reinas_R.html
 http://es.wikipedia.org/wiki/Problema_de_las_ocho_reinas
 http://www.taringa.net/posts/ciencia-educacion/7197136/Ajedrez-El-
problema-de-las-8-damas.html
 http://aitoreus.blogspot.com/2010/02/programita-de-las-8-reinas-con.html
 Watkins, John J. (2004). Across the Board: The Mathematics of Chess
Problems. Princeton: Princeton University Press. ISBN 0-691-11503-6.
 Brassard, Gilles; Bratley, Paul (1997). «Exploración de grafos». Fundamentos de
Algoritmia. Madrid: PRENTICE HALL. ISBN 84-89660-00-X.

Más contenido relacionado

La actualidad más candente

ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)
ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)
ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)JAVIER SOLIS NOYOLA
 
Construcción de sucesiones de números o de figura a partir de una regla dad...
Construcción de sucesiones de números o de figura a partir de una regla dad...Construcción de sucesiones de números o de figura a partir de una regla dad...
Construcción de sucesiones de números o de figura a partir de una regla dad...SEP
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaMartha Beatriz Coronado Rosales
 
Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614
Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614
Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614LAURAXIMENAMONTESEST
 
2esoquincena4 apuntes de proporcionalidad 6oct2014
2esoquincena4 apuntes de proporcionalidad 6oct20142esoquincena4 apuntes de proporcionalidad 6oct2014
2esoquincena4 apuntes de proporcionalidad 6oct2014Jorge Luis Maya Alemán
 
Programación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesProgramación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesJosé Antonio Sandoval Acosta
 
Guía de Clase: Ecuación de primer grado
Guía de Clase: Ecuación de primer gradoGuía de Clase: Ecuación de primer grado
Guía de Clase: Ecuación de primer gradoivanvcslide
 
Demostracion del Teorema de Pascal en combinatoria, Algebra Superior
Demostracion del Teorema de Pascal en combinatoria, Algebra SuperiorDemostracion del Teorema de Pascal en combinatoria, Algebra Superior
Demostracion del Teorema de Pascal en combinatoria, Algebra SuperiorGuzano Morado
 
Diagrama de flujo
Diagrama de flujo Diagrama de flujo
Diagrama de flujo albaniprz
 
Clase completa sistemas de ecuaciones lineales
Clase completa sistemas de ecuaciones linealesClase completa sistemas de ecuaciones lineales
Clase completa sistemas de ecuaciones linealesElkin Guillen
 
51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate
51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate
51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ateAngie Cruz
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionalesJose Gonzalez
 
Matemáticas Discretas - Unidad III: Logica matemática
Matemáticas Discretas - Unidad III: Logica matemáticaMatemáticas Discretas - Unidad III: Logica matemática
Matemáticas Discretas - Unidad III: Logica matemáticaJosé Antonio Sandoval Acosta
 
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...JAVIER SOLIS NOYOLA
 
Ley de enfriamiento o Calentamiento/ Servidores
Ley de enfriamiento o Calentamiento/ ServidoresLey de enfriamiento o Calentamiento/ Servidores
Ley de enfriamiento o Calentamiento/ ServidoresRonald Sisalima
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacionJaime amambal
 

La actualidad más candente (20)

ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)
ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)
ACERTIJO MÁGICO DE LA CIUDAD DE LOS EDIFICIOS DEL NÚMERO pi (π)
 
Construcción de sucesiones de números o de figura a partir de una regla dad...
Construcción de sucesiones de números o de figura a partir de una regla dad...Construcción de sucesiones de números o de figura a partir de una regla dad...
Construcción de sucesiones de números o de figura a partir de una regla dad...
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614
Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614
Unidad 2 sistemas de ecuaciones lineales, rectas y planos 208046-a_614
 
2esoquincena4 apuntes de proporcionalidad 6oct2014
2esoquincena4 apuntes de proporcionalidad 6oct20142esoquincena4 apuntes de proporcionalidad 6oct2014
2esoquincena4 apuntes de proporcionalidad 6oct2014
 
Programación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesProgramación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 Excepciones
 
Guía de Clase: Ecuación de primer grado
Guía de Clase: Ecuación de primer gradoGuía de Clase: Ecuación de primer grado
Guía de Clase: Ecuación de primer grado
 
Espacios vectoriales
Espacios vectorialesEspacios vectoriales
Espacios vectoriales
 
Demostracion del Teorema de Pascal en combinatoria, Algebra Superior
Demostracion del Teorema de Pascal en combinatoria, Algebra SuperiorDemostracion del Teorema de Pascal en combinatoria, Algebra Superior
Demostracion del Teorema de Pascal en combinatoria, Algebra Superior
 
Graficando funciones cuadraticas en geogebra
Graficando funciones cuadraticas en geogebraGraficando funciones cuadraticas en geogebra
Graficando funciones cuadraticas en geogebra
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
Diagrama de flujo
Diagrama de flujo Diagrama de flujo
Diagrama de flujo
 
Clase completa sistemas de ecuaciones lineales
Clase completa sistemas de ecuaciones linealesClase completa sistemas de ecuaciones lineales
Clase completa sistemas de ecuaciones lineales
 
51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate
51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate
51275665 prueba-diagnostica-para-primer-ano-de-bachillerato m ate
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Matemáticas Discretas - Unidad III: Logica matemática
Matemáticas Discretas - Unidad III: Logica matemáticaMatemáticas Discretas - Unidad III: Logica matemática
Matemáticas Discretas - Unidad III: Logica matemática
 
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
 
Ley de enfriamiento o Calentamiento/ Servidores
Ley de enfriamiento o Calentamiento/ ServidoresLey de enfriamiento o Calentamiento/ Servidores
Ley de enfriamiento o Calentamiento/ Servidores
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Exámenes álgebra lineal segundo y tercera evaluación
Exámenes álgebra lineal segundo y tercera evaluaciónExámenes álgebra lineal segundo y tercera evaluación
Exámenes álgebra lineal segundo y tercera evaluación
 

Destacado

Destacado (20)

Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
 
Donacion t202 e10_mgj_frr.
Donacion t202 e10_mgj_frr.Donacion t202 e10_mgj_frr.
Donacion t202 e10_mgj_frr.
 
123
123123
123
 
Scoopit
ScoopitScoopit
Scoopit
 
Ensayo sistema anti error
Ensayo sistema anti errorEnsayo sistema anti error
Ensayo sistema anti error
 
Comercio electrónico (1)
Comercio electrónico (1)Comercio electrónico (1)
Comercio electrónico (1)
 
Crianza abandono negligencia y... +
Crianza abandono negligencia y... +Crianza abandono negligencia y... +
Crianza abandono negligencia y... +
 
"Oportunidades y retos del e-learning en Colombia"
"Oportunidades y retos del e-learning en Colombia""Oportunidades y retos del e-learning en Colombia"
"Oportunidades y retos del e-learning en Colombia"
 
Tarea 1
Tarea 1Tarea 1
Tarea 1
 
Cancer de colon seguimiento
Cancer de colon seguimientoCancer de colon seguimiento
Cancer de colon seguimiento
 
Plan anticorrupcion 2013.doc
Plan anticorrupcion 2013.docPlan anticorrupcion 2013.doc
Plan anticorrupcion 2013.doc
 
Aprendiendo a leer( las profesiones)
Aprendiendo a leer( las profesiones)Aprendiendo a leer( las profesiones)
Aprendiendo a leer( las profesiones)
 
Soladura al-arco
Soladura al-arcoSoladura al-arco
Soladura al-arco
 
Yutii
YutiiYutii
Yutii
 
Conferencia brasil, el caribe y los afrocolombianos
Conferencia brasil, el caribe y los afrocolombianos Conferencia brasil, el caribe y los afrocolombianos
Conferencia brasil, el caribe y los afrocolombianos
 
Presentacion blog
Presentacion blogPresentacion blog
Presentacion blog
 
Modelo cuantitativo yasuni_itt_espanol
Modelo cuantitativo yasuni_itt_espanolModelo cuantitativo yasuni_itt_espanol
Modelo cuantitativo yasuni_itt_espanol
 
ciclo celular
ciclo celularciclo celular
ciclo celular
 
Vivisg
VivisgVivisg
Vivisg
 
UPCnet: la implantación del Moodle como Campus Virtual en la universidad
UPCnet: la implantación del Moodle como Campus Virtual en la universidadUPCnet: la implantación del Moodle como Campus Virtual en la universidad
UPCnet: la implantación del Moodle como Campus Virtual en la universidad
 

Similar a Problema de las 8 reinas rebaza castañeda jhoser alberto

Similar a Problema de las 8 reinas rebaza castañeda jhoser alberto (20)

8 reinas
8 reinas8 reinas
8 reinas
 
Estrategia para resolver situacion problema de matematica
Estrategia para resolver situacion problema de matematicaEstrategia para resolver situacion problema de matematica
Estrategia para resolver situacion problema de matematica
 
3restos numero
3restos numero3restos numero
3restos numero
 
Ajedrez y matemáticas
Ajedrez y matemáticasAjedrez y matemáticas
Ajedrez y matemáticas
 
Enfoque
EnfoqueEnfoque
Enfoque
 
Combinatoria Primera Parte.pdf
Combinatoria Primera Parte.pdfCombinatoria Primera Parte.pdf
Combinatoria Primera Parte.pdf
 
Algoritmos+y+solucion+de+problemas
Algoritmos+y+solucion+de+problemasAlgoritmos+y+solucion+de+problemas
Algoritmos+y+solucion+de+problemas
 
Solucionar Problemas Por Medio de Algoritmos
Solucionar Problemas Por Medio de AlgoritmosSolucionar Problemas Por Medio de Algoritmos
Solucionar Problemas Por Medio de Algoritmos
 
Trabajo colaborativo tres (1)
Trabajo colaborativo tres (1)Trabajo colaborativo tres (1)
Trabajo colaborativo tres (1)
 
Problemas Olimpiadas
Problemas OlimpiadasProblemas Olimpiadas
Problemas Olimpiadas
 
EcuacionesSimultaneas.pdf
EcuacionesSimultaneas.pdfEcuacionesSimultaneas.pdf
EcuacionesSimultaneas.pdf
 
Tarea de word
Tarea de wordTarea de word
Tarea de word
 
Solucionar problemas por medio de algoritmos
Solucionar problemas por medio de algoritmosSolucionar problemas por medio de algoritmos
Solucionar problemas por medio de algoritmos
 
Matematicas estas ahi
Matematicas estas ahiMatematicas estas ahi
Matematicas estas ahi
 
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptxGuía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
Guía n° 13 Sistema de Ecuaciones lineales Metodo Iguación y cramer.pptx
 
Back Tracking
Back TrackingBack Tracking
Back Tracking
 
Ecuaciones diofánticas
Ecuaciones diofánticasEcuaciones diofánticas
Ecuaciones diofánticas
 
Mdulo 3 niv mt 2010
Mdulo 3 niv mt 2010Mdulo 3 niv mt 2010
Mdulo 3 niv mt 2010
 
Inecuaciones
InecuacionesInecuaciones
Inecuaciones
 
Inecuaciones
InecuacionesInecuaciones
Inecuaciones
 

Problema de las 8 reinas rebaza castañeda jhoser alberto

  • 1. UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ESCUELA ACADEMICO PROFESIONAL DE INFORMATICA Programación en Lógica TEMA: Problema de las 8 Reinas DOCENTE: Arturo Díaz Pulido INTEGRANTES: o REBAZA CASTAÑEDA, JHOSER ALBERTO TRUJILLO – PERU 2014
  • 2. 2 ÍNDICE Índice…………………………………………………………………………2 Dedicatoria…………………………………………………………………...3 Introducción………………………………………………………………….4 Marco Teorico……...……......………………………………………………5 Problema de las Ocho reinas ……………………………………………….6 Implementación …………………….………………………………………9 Conclusión…………………………………………………………………11 Referencias bibliográficas…………………………………………………12
  • 3. 3 DEDICATORIA Dedicado a toda la comunidad estudiantil de Ciencia de la Computación, con el fin de promover la investigación, poniendo al alcance de sus manos un formato que sabemos será de mucho agrado para las futuras aplicaciones que le puedan dar.
  • 4. 4 INTRODUCCION El problema de las ocho reinas se trata de un acertijo 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 de ajedrez la reina amenaza a aquellas piezas que se encuentren en su misma fila, columna o diagonal. Las 8 reinas consisten en colocar sobre un tablero de ajedrez ocho reinas sin que estas se den jaques entre ellas.
  • 5. 5 1.- MARCO TEORICO Mucho se ha hablado sobre este tema, pero en verdad lo único que puede afirmarse con propiedad es que el ajedrez es tan antiguo como la civilización, ya que en excavaciones efectuadas en la Mesopotamia (región ubicada entre los ríos Tigres y Eufrates) se han encontrado objetos que demostraban que el ajedrez o un juego similar existía por lo menos 4000 años antes de Cristo. Duncan Forbes en su libro "Historia del Ajedrez" (Londres 1860) señala que el ajedrez tiene su origen en la India, más concretamente en el Valle del Indo, y data del siglo VI D.C. y a SUSA BEN DAHIR el HINDI como su inventor. El problema fue originalmente propuesto en 1848 por el ajedrecista Max Bezzel, y durante los años, muchos matemáticos, incluyendo a Gauss y a Georg Cantor, han trabajado en este problema y lo han generalizado a n-reinas. Las primeras soluciones fueron ofrecidas por Franz Nauck en 1850. Nauck también se abocó a las n-reinas (en un tablero de nxn de tamaño arbitrario). En 1874, S. Günther propuso un método para hallar las soluciones usando determinantes, y J.W.L. Glaisher redefinió su aproximación. Edsger Dijkstra usó este problema en 1972 para ilustrar el poder de la llamada programación estructurada. Él publicó una descripción altamente detallada del desarrollo del algoritmo de backtracking, "depth-first". Este acertijo apareció en el popular juego de computadora de los '90 llamado "The 7th Guest".
  • 6. 6 PROBLEMA DE LAS OCHO REINAS El problema de las ocho reinas y en general de las N reinas, se basa en colocar 8 reinas en un tablero de 8 8 (o N en un tablero de N N, si el problema se generaliza), de forma que en no puede haber dos piezas en la misma línea horizontal, vertical o diagonal. Este programa has sido muy estudiado por los matemáticos. Se trata de un problema NP-Completo que no tiene solución para N=2 y N=3. Para N=4 tiene una única solución. Para N=8 hay más de 80 soluciones dependiendo de las restricciones que se impongan. Una forma de abordar el problema se lleva a cabo mediante la construcción de un predicado en Prolog del tipo siguiente: reinas(N, Solucion), donde N representa las dimensiones del tablero y el número de reinas y Solucion es una lista que contiene la permutación de la lista de números que resuelven el problema. Los índices de dicha lista representan la columna en la que se encuentra una reina y el número que almacena la posición o índice representa la fila donde la reina está colocada. Así, para el ejemplo mostrado en la Figura 1, tenemos que R=[2,4,1,3]. Este problema es resuelto, de modo clásico, por el método de prueba y error, luego se adapta perfectamente a un algoritmo de backtracking. Básicamente, el problema se reduce a colocar una reina, e intentar repetir el proceso teniendo en cuenta la reina colocada. Si logramos poner todas las reinas el problema se ha resuelto, en caso contrario, deshacemos lo que llevamos hasta ahora y probamos con otra combinación. Por tanto, hemos de generar un conjunto de permutaciones y seleccionar aquella que cumpla los requisitos impuestos por el juego.
  • 7. 7 Número de soluciones Soluciones al problema de las ocho reinas El problema de las ocho reinas tiene 92 soluciones, de las cuales 12 son esencialmente distintas, es decir las 92 soluciones existentes se pueden obtener a partir de simetrías, rotaciones y traslaciones de las 12 soluciones únicas, que se muestran a continuación:
  • 8. 8
  • 9. 9 Implementación A continuación se muestra una posible implementación del anterior algoritmo en Prolog. % Autor: REBAZA CASTAÑEDA JHOSER ALBERTO % Fecha: 01/07/2014 numeros(1). numeros(2). numeros(3). numeros(4). numeros(5). numeros(6). numeros(7). numeros(8). reinas:-numeros(X1), numeros(X2),numeros(X3), numeros(X4), numeros(X5), numeros(X6), numeros(X7),numeros(X8), solucion([X1,X2,X3,X4,X5,X6,X7,X8],1), imprimir([X1,X2,X3,X4,X5,X6,X7,X8]). solucion([],_). solucion([X|Cola],C):-not(pertenece(X,Cola)),C1 is C+1, calculo(X,C,C1,Cola), solucion(Cola,C1). pertenece(X,[X|_]). pertenece(X,[_|Z]):-pertenece(X,Z).
  • 10. 10 calculo(_,_,_,[]). calculo(X,Y,Y2,[X2|Cola]):-R1 is X-X2,Y3 is Y2+1,R2 is Y-Y2,Ab1 is abs(R1),Ab2 is abs(R2),Ab1=Ab2,calculo(X,Y,Y3,Cola). imprimir([]). imprimir([X|Cola]):-mostrarFila(1,X),writeln(''),imprimir(Cola). mostrarFila(8,8):-write('R '). mostrarFila(8,X):-8=X,write('0 '). mostrarFila(X,X):-X<8,write('R '),X1 is X+1,mostrarFila(X1,X). mostrarFila(C,X):-C<8,C=X,write('0 '),C1 is C+1,mostrarFila(C1,X).
  • 11. 11 CONCLUCIÓN El problema de las 8 reinas es un juego de habilidades en el cual desarrollamos nuestras capacidades de lograr una mejor manera de ver las diferentes propuestas que podemos dar a una incógnita como esta.
  • 12. 12 REFERENCIAS BIBLIOGRÁFICAS.  http://es.scribd.com/doc/49374147/Problema-de-Las-8-Reinasl  http://www.uhu.es/nieves.pavon/pprogramacion/temario/tema4/tema4.html  http://ende.cc/agujero/juegos/8reinas_R.html  http://es.wikipedia.org/wiki/Problema_de_las_ocho_reinas  http://www.taringa.net/posts/ciencia-educacion/7197136/Ajedrez-El- problema-de-las-8-damas.html  http://aitoreus.blogspot.com/2010/02/programita-de-las-8-reinas-con.html  Watkins, John J. (2004). Across the Board: The Mathematics of Chess Problems. Princeton: Princeton University Press. ISBN 0-691-11503-6.  Brassard, Gilles; Bratley, Paul (1997). «Exploración de grafos». Fundamentos de Algoritmia. Madrid: PRENTICE HALL. ISBN 84-89660-00-X.