SlideShare una empresa de Scribd logo
Problema del 8 Puzzle
Arámburo Cabada Joseph David
Chávez Sierra Juan Paúl
Hernández Castaños Gabriela
Leyva Bujons Iván Alberto
Planteamiento del problema.
• Se tiene un puzzle de 8 números los cuales están colocados
aleatoriamente en un espacio de 3 x 3 y se desean ordenar de la
siguiente manera:
1 4 7
2 5 8
3 6
Condiciones del problema
• Se debe generar un nodo inicial de forma aleatoria.
• Se debe utilizar el método de busca informado A*.
• Debe evaluarse todas las posibles heurísticas para seleccionar la
mejor.
• Al encontrar el nodo final se debe mostrar la ruta recorrida hacia la
solución.
Heurísticas evaluadas
• Número de fichas desacomodadas.
• Distancia Manhattan total.
Número de fichas desacomodadas
h=4
h=3
h=2 h=4
Tres fichas
desacomodadas
Cuatro fichas
desacomodadas
Dos fichas
desacomodadas
cuatro fichas
desacomodadas
Distancia Manhattan total
h=3
h=2h=4 h=4
0+0+0+1+1+0+0+1=3
0+0+0+1+1+0+1+1=4 0+0+0+0+1+0+0+1=2 1+0+0+1+1+0+0+1=4
Resultado de la evaluación de la heurística.
• Se usara el método de búsqueda informado A*.
• La heurística que se usara es Distancia Manhattan Total.
• Estructuras de datos que se usaran:
• Nodos cerrados: pila.
• Nodos abiertos: cola con prioridad.
Entorno de desarrollo seleccionado
• Lenguaje : Java
• Se escogió resolver el problema con este lenguaje con el que estamos mas
familiarizados a través de su interfaz de consola.
• IDE: Netbeans v8.0
Implementación
• Se desarrollo una estructura orientada a objetos con la finalidad de
una legible comprensión por parte de usuarios terceros. Cada clase
realiza una tarea especifica que es usada en la clase principal.
Las clases
• A continuación se muestran las clases desarroladas:
Class GeneradorDeNodoInicial
• Consiste en almacenar los números
del 1 al 9 en un arreglo para luego
extraerlos de forma aleatoria a través
de su numero de posición. La posición
seleccionada será eliminada.
Class BuscarCoordenadas
Consiste en visitar todas las casillas de
la matriz del nodo actual con el
objetivo de saber la localización del
espacio representado por el numero 9
y asi poder realizar los siguientes
movimientos.
Class CompararNodos
• Consiste en hacer una
comparación entre el nodo
actual y el nodo meta. Se toma
cada elemento de la matriz y se
compara con su contraparte en
la matriz objetivo. Si surge una
diferencia el método se detiene
y devuelve false, de lo contrario
devolvería true y finaliza la
búsqueda.
Class CalcularManhattan
• Consiste en la suma acumulada de
las distancias en X y Y de cada ficha
desde su estado actual hasta la
meta. El método devuelve el valor
acumulado el cual se guardara en el
campo h del nodo.
Class MoverFicha
• Consiste en realizar el intercambio
del elemento con el numero 9 que
representa el espacio vacío con
alguna de su ficha contiguas a la
derecha, abajo, izquierda o arriba
según sea permitido. El método
realiza el movimiento o en su
defecto un nulo si no se puede
mover porque esta contigua al
limite.
Class NodaCerrado
• Clase que nos sirve para generar
objetos tipo NodoCerrado para
agregarlos a la cola de cerrados.
Class NodoFrontera
• Clase que nos sirve para crear objetos
de tipo NodoFrontera que serian los
nodo abierto o frontera que están
pendientes por visitar.
Class BuscarCerrados
• Esta clase realiza una búsqueda en la
cola de nodos cerrados
comparándolos con el nodo actual. La
clase devuelve un false de no
encontrarse, de lo contrario devuelve
un true.
Class BusquedaFronteras
• Esta clase realiza una búsqueda en la
cola de nodos frontera comparándolos
con el actual que resulta del
ordenamiento por prioridad. El
método devuelve un true de
encontrarse el nodo o en su defecto
devuelve un false.
Class BusquedaPadre
• Esta clase realiza una búsqueda a
través de los identificadores de
los nodos para encontrar el padre
del nodo actual. El método
devuelve el identificados del
padre o de lo contrario devuelve
un nulo.
Class ImprimirNodo
• Este método imprime los nodos
que representan el camino
desde el nodo inicial al nodo
meta.
Demostración del Código
• A continuación se hace una demostración del código desarrollado en
la consola de NetBeans.
Gracias!
• Fin de la presentación.

Más contenido relacionado

La actualidad más candente

Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la Programación
Facultad de Ciencias y Sistemas
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
Cristian Miguel Galan Torres
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion EnteraCris Tenorio
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
Jose Guadalupe Couoh Dzul
 
algoritmos distribuidos
algoritmos distribuidosalgoritmos distribuidos
algoritmos distribuidos
Yesica Huallpa Laguna
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
erwin_alexander
 
Codificación de Huffman
Codificación de HuffmanCodificación de Huffman
Codificación de Huffman
Miguel Angel Macias
 
Recursividad
RecursividadRecursividad
Recursividad
TAtiizz Villalobos
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Stalin Eduardo Tusa Vitar
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
knowallrpa
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
Ram Vazquez
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
Alvaro Enrique Ruano
 
Cena de Filósofos
Cena de FilósofosCena de Filósofos
Cena de FilósofosMiguel Cruz
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministamvagila
 
TIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACIONTIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACION
crisricguepi
 

La actualidad más candente (20)

Introducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la ProgramaciónIntroducción a la P.O.O en Introducción a la Programación
Introducción a la P.O.O en Introducción a la Programación
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
algoritmos distribuidos
algoritmos distribuidosalgoritmos distribuidos
algoritmos distribuidos
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Java util
Java utilJava util
Java util
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Codificación de Huffman
Codificación de HuffmanCodificación de Huffman
Codificación de Huffman
 
Recursividad
RecursividadRecursividad
Recursividad
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Cena de Filósofos
Cena de FilósofosCena de Filósofos
Cena de Filósofos
 
Clase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito deterministaClase4: Transformación desde Expresión regular a Autómata finito determinista
Clase4: Transformación desde Expresión regular a Autómata finito determinista
 
TIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACIONTIPOS DE METODOS EN PROGRAMACION
TIPOS DE METODOS EN PROGRAMACION
 

Destacado

Busqueda informada y explorada
Busqueda informada y exploradaBusqueda informada y explorada
Busqueda informada y explorada
Tito Rengifo Sanclemente
 
Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Mayra Villanueva
 
El algoritmo a (asterisco)
El algoritmo a (asterisco)El algoritmo a (asterisco)
El algoritmo a (asterisco)Cristina Lopez
 
Aprendiendo SQL 2
Aprendiendo SQL 2 Aprendiendo SQL 2
Aprendiendo SQL 2
Daniel Cruz
 
Sq Lv1a
Sq Lv1aSq Lv1a
Sq Lv1a
Daniel Cruz
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
Daniel Cruz
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serieDaniel Cruz
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOG
Daniel Cruz
 
Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
Esteban Gonzalez
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Distribucion de planta
Distribucion de plantaDistribucion de planta
Distribucion de planta
1204693806
 
Clase II
Clase IIClase II

Destacado (12)

Busqueda informada y explorada
Busqueda informada y exploradaBusqueda informada y explorada
Busqueda informada y explorada
 
Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.
 
El algoritmo a (asterisco)
El algoritmo a (asterisco)El algoritmo a (asterisco)
El algoritmo a (asterisco)
 
Aprendiendo SQL 2
Aprendiendo SQL 2 Aprendiendo SQL 2
Aprendiendo SQL 2
 
Sq Lv1a
Sq Lv1aSq Lv1a
Sq Lv1a
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serie
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOG
 
Problema de las 8 reinas
Problema de las 8 reinasProblema de las 8 reinas
Problema de las 8 reinas
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Distribucion de planta
Distribucion de plantaDistribucion de planta
Distribucion de planta
 
Clase II
Clase IIClase II
Clase II
 

Similar a Problema 8 puzzle

Criterios de Búsqueda en Inteligencia Artificial
Criterios de Búsqueda en Inteligencia ArtificialCriterios de Búsqueda en Inteligencia Artificial
Criterios de Búsqueda en Inteligencia Artificial
Hilario Per'zz
 
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
Mariy Torrealba
 
Búsqueda inteligencia artificial
Búsqueda inteligencia artificialBúsqueda inteligencia artificial
Búsqueda inteligencia artificialAlexis Pilco
 
Tecnicas de Busqueda en IA
Tecnicas de Busqueda en IATecnicas de Busqueda en IA
Tecnicas de Busqueda en IA
RafaelVargas155
 
Estructura de datos s14
Estructura de datos s14Estructura de datos s14
Estructura de datos s14
Maestros Online
 
Estructura de datos s14
Estructura de datos s14Estructura de datos s14
Estructura de datos s14
Maestros en Linea
 
Tipos de búsquedas de inteligencia artificial
Tipos de búsquedas de inteligencia artificialTipos de búsquedas de inteligencia artificial
Tipos de búsquedas de inteligencia artificial
luismogollon22
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
NoraVelasquez4
 
Tablas hash
Tablas hashTablas hash
Tablas hashPrivada
 
Busquedas inteligencia artificail
Busquedas inteligencia artificailBusquedas inteligencia artificail
Busquedas inteligencia artificailLuis Cambal
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
MigdaliaSalazar1
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
Jose Andres
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccional
Laura Del Pino Díaz
 
Sistemas basados en casos
Sistemas basados en casosSistemas basados en casos
Sistemas basados en casosLuis Álamo
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedaGonzalo Retamal
 

Similar a Problema 8 puzzle (15)

Criterios de Búsqueda en Inteligencia Artificial
Criterios de Búsqueda en Inteligencia ArtificialCriterios de Búsqueda en Inteligencia Artificial
Criterios de Búsqueda en Inteligencia Artificial
 
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
 
Búsqueda inteligencia artificial
Búsqueda inteligencia artificialBúsqueda inteligencia artificial
Búsqueda inteligencia artificial
 
Tecnicas de Busqueda en IA
Tecnicas de Busqueda en IATecnicas de Busqueda en IA
Tecnicas de Busqueda en IA
 
Estructura de datos s14
Estructura de datos s14Estructura de datos s14
Estructura de datos s14
 
Estructura de datos s14
Estructura de datos s14Estructura de datos s14
Estructura de datos s14
 
Tipos de búsquedas de inteligencia artificial
Tipos de búsquedas de inteligencia artificialTipos de búsquedas de inteligencia artificial
Tipos de búsquedas de inteligencia artificial
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
 
Tablas hash
Tablas hashTablas hash
Tablas hash
 
Busquedas inteligencia artificail
Busquedas inteligencia artificailBusquedas inteligencia artificail
Busquedas inteligencia artificail
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccional
 
Sistemas basados en casos
Sistemas basados en casosSistemas basados en casos
Sistemas basados en casos
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 

Más de Juan Paúl Chávez Sierra

Sistemas de archivos ext y discos opticos
Sistemas de archivos ext y discos opticosSistemas de archivos ext y discos opticos
Sistemas de archivos ext y discos opticos
Juan Paúl Chávez Sierra
 
Presentacion fausto
Presentacion faustoPresentacion fausto
Presentacion fausto
Juan Paúl Chávez Sierra
 
Presentacion gestión de los riesgos del proyecto
Presentacion gestión de los riesgos del proyectoPresentacion gestión de los riesgos del proyecto
Presentacion gestión de los riesgos del proyecto
Juan Paúl Chávez Sierra
 
Vigilancia tecnológica, benchmarking e inteligencia competitiva
Vigilancia tecnológica, benchmarking e inteligencia competitivaVigilancia tecnológica, benchmarking e inteligencia competitiva
Vigilancia tecnológica, benchmarking e inteligencia competitiva
Juan Paúl Chávez Sierra
 
Comandapp
ComandappComandapp
Estrategia empresarial y tecnologica
Estrategia empresarial y tecnologicaEstrategia empresarial y tecnologica
Estrategia empresarial y tecnologica
Juan Paúl Chávez Sierra
 
Quicksort
QuicksortQuicksort
Proyecto base de datos hospital angeles
Proyecto base de datos hospital angelesProyecto base de datos hospital angeles
Proyecto base de datos hospital angeles
Juan Paúl Chávez Sierra
 
Cable Coaxial
Cable CoaxialCable Coaxial
Muestreo aleatorio sistematico
Muestreo aleatorio sistematicoMuestreo aleatorio sistematico
Muestreo aleatorio sistematico
Juan Paúl Chávez Sierra
 
Montaje del rack del servidor
Montaje del rack del servidorMontaje del rack del servidor
Montaje del rack del servidor
Juan Paúl Chávez Sierra
 
3m health care products
3m health care products3m health care products
3m health care products
Juan Paúl Chávez Sierra
 
Problemas graficales y de test de CI
Problemas graficales y de test de CIProblemas graficales y de test de CI
Problemas graficales y de test de CI
Juan Paúl Chávez Sierra
 
Caso tricomv1
Caso tricomv1Caso tricomv1
Sección ii administración global de la TI
Sección ii administración global de la TISección ii administración global de la TI
Sección ii administración global de la TI
Juan Paúl Chávez Sierra
 

Más de Juan Paúl Chávez Sierra (16)

Sistemas de archivos ext y discos opticos
Sistemas de archivos ext y discos opticosSistemas de archivos ext y discos opticos
Sistemas de archivos ext y discos opticos
 
Presentacion fausto
Presentacion faustoPresentacion fausto
Presentacion fausto
 
Presentacion gestión de los riesgos del proyecto
Presentacion gestión de los riesgos del proyectoPresentacion gestión de los riesgos del proyecto
Presentacion gestión de los riesgos del proyecto
 
Vigilancia tecnológica, benchmarking e inteligencia competitiva
Vigilancia tecnológica, benchmarking e inteligencia competitivaVigilancia tecnológica, benchmarking e inteligencia competitiva
Vigilancia tecnológica, benchmarking e inteligencia competitiva
 
Comandapp
ComandappComandapp
Comandapp
 
Estrategia empresarial y tecnologica
Estrategia empresarial y tecnologicaEstrategia empresarial y tecnologica
Estrategia empresarial y tecnologica
 
Quicksort
QuicksortQuicksort
Quicksort
 
Proyecto base de datos hospital angeles
Proyecto base de datos hospital angelesProyecto base de datos hospital angeles
Proyecto base de datos hospital angeles
 
Cable Coaxial
Cable CoaxialCable Coaxial
Cable Coaxial
 
Muestreo aleatorio sistematico
Muestreo aleatorio sistematicoMuestreo aleatorio sistematico
Muestreo aleatorio sistematico
 
Montaje del rack del servidor
Montaje del rack del servidorMontaje del rack del servidor
Montaje del rack del servidor
 
3m health care products
3m health care products3m health care products
3m health care products
 
Problemas graficales y de test de CI
Problemas graficales y de test de CIProblemas graficales y de test de CI
Problemas graficales y de test de CI
 
Italy
ItalyItaly
Italy
 
Caso tricomv1
Caso tricomv1Caso tricomv1
Caso tricomv1
 
Sección ii administración global de la TI
Sección ii administración global de la TISección ii administración global de la TI
Sección ii administración global de la TI
 

Último

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 

Último (20)

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 

Problema 8 puzzle

  • 1. Problema del 8 Puzzle Arámburo Cabada Joseph David Chávez Sierra Juan Paúl Hernández Castaños Gabriela Leyva Bujons Iván Alberto
  • 2. Planteamiento del problema. • Se tiene un puzzle de 8 números los cuales están colocados aleatoriamente en un espacio de 3 x 3 y se desean ordenar de la siguiente manera: 1 4 7 2 5 8 3 6
  • 3. Condiciones del problema • Se debe generar un nodo inicial de forma aleatoria. • Se debe utilizar el método de busca informado A*. • Debe evaluarse todas las posibles heurísticas para seleccionar la mejor. • Al encontrar el nodo final se debe mostrar la ruta recorrida hacia la solución.
  • 4. Heurísticas evaluadas • Número de fichas desacomodadas. • Distancia Manhattan total.
  • 5. Número de fichas desacomodadas h=4 h=3 h=2 h=4 Tres fichas desacomodadas Cuatro fichas desacomodadas Dos fichas desacomodadas cuatro fichas desacomodadas
  • 6. Distancia Manhattan total h=3 h=2h=4 h=4 0+0+0+1+1+0+0+1=3 0+0+0+1+1+0+1+1=4 0+0+0+0+1+0+0+1=2 1+0+0+1+1+0+0+1=4
  • 7. Resultado de la evaluación de la heurística. • Se usara el método de búsqueda informado A*. • La heurística que se usara es Distancia Manhattan Total. • Estructuras de datos que se usaran: • Nodos cerrados: pila. • Nodos abiertos: cola con prioridad.
  • 8. Entorno de desarrollo seleccionado • Lenguaje : Java • Se escogió resolver el problema con este lenguaje con el que estamos mas familiarizados a través de su interfaz de consola. • IDE: Netbeans v8.0
  • 9. Implementación • Se desarrollo una estructura orientada a objetos con la finalidad de una legible comprensión por parte de usuarios terceros. Cada clase realiza una tarea especifica que es usada en la clase principal.
  • 10. Las clases • A continuación se muestran las clases desarroladas:
  • 11. Class GeneradorDeNodoInicial • Consiste en almacenar los números del 1 al 9 en un arreglo para luego extraerlos de forma aleatoria a través de su numero de posición. La posición seleccionada será eliminada.
  • 12. Class BuscarCoordenadas Consiste en visitar todas las casillas de la matriz del nodo actual con el objetivo de saber la localización del espacio representado por el numero 9 y asi poder realizar los siguientes movimientos.
  • 13. Class CompararNodos • Consiste en hacer una comparación entre el nodo actual y el nodo meta. Se toma cada elemento de la matriz y se compara con su contraparte en la matriz objetivo. Si surge una diferencia el método se detiene y devuelve false, de lo contrario devolvería true y finaliza la búsqueda.
  • 14. Class CalcularManhattan • Consiste en la suma acumulada de las distancias en X y Y de cada ficha desde su estado actual hasta la meta. El método devuelve el valor acumulado el cual se guardara en el campo h del nodo.
  • 15. Class MoverFicha • Consiste en realizar el intercambio del elemento con el numero 9 que representa el espacio vacío con alguna de su ficha contiguas a la derecha, abajo, izquierda o arriba según sea permitido. El método realiza el movimiento o en su defecto un nulo si no se puede mover porque esta contigua al limite.
  • 16. Class NodaCerrado • Clase que nos sirve para generar objetos tipo NodoCerrado para agregarlos a la cola de cerrados.
  • 17. Class NodoFrontera • Clase que nos sirve para crear objetos de tipo NodoFrontera que serian los nodo abierto o frontera que están pendientes por visitar.
  • 18. Class BuscarCerrados • Esta clase realiza una búsqueda en la cola de nodos cerrados comparándolos con el nodo actual. La clase devuelve un false de no encontrarse, de lo contrario devuelve un true.
  • 19. Class BusquedaFronteras • Esta clase realiza una búsqueda en la cola de nodos frontera comparándolos con el actual que resulta del ordenamiento por prioridad. El método devuelve un true de encontrarse el nodo o en su defecto devuelve un false.
  • 20. Class BusquedaPadre • Esta clase realiza una búsqueda a través de los identificadores de los nodos para encontrar el padre del nodo actual. El método devuelve el identificados del padre o de lo contrario devuelve un nulo.
  • 21. Class ImprimirNodo • Este método imprime los nodos que representan el camino desde el nodo inicial al nodo meta.
  • 22. Demostración del Código • A continuación se hace una demostración del código desarrollado en la consola de NetBeans.
  • 23. Gracias! • Fin de la presentación.