Ingenieria en Sistemas 2009 UNL

Solucionando el Sudoku y codificandolo en JAVA

  • Categorías

  • Archivos

Archive for the ‘Proyectos Decimo B CIS’ Category

Presentacion de cada proyecto sudoku desarrollado por estudiantes del decimo modulo B CIS de la UNL promoción 2009

SUDOKU CEOG

Posted by Publicador en May 26, 2009

SUDOKU CEOG

SUDOKU

El presente juego está enmarcado en el análisis matemático y representación del conocimiento humano en lo que respecta a la inteligencia artificial. Tiene como objeto la generación y resolución de sudokus de acuerdo a niveles especificados por el usuario; para ello se estableció un conjunto de reglas y estrategias, las cuales fueron implementadas en el presente proyecto bajo licencia GPL.

DESCARGAR

Descripción

Este juego está compuesto por una cuadrícula de 9×9 casillas, dividida en regiones de 3×3 casillas. Partiendo de algunos números ya dispuestos en algunas de las casillas (llamados pistas), hay que completar las casillas vacías con dígitos del 1 al 9.

REGLAS

Reglas

No se debe repetir ningún dígito del 1 al 9 en una misma fila, columna o región de 3×3 casillas. Un sudoku está bien planteado si la solución es única.

Resumiendo

Hay que rellenar la cuadrícula de modo que: cada fila, cada columna y cada región contengan los números del 1 al 9, sin repetirse.

DESARROLLADORES

José Claudio Ortega Ambuludi
Estudiante de la Universidad Nacional de Loja de la Carrera de Ingeniería en Sistemas
Conocimientos en Análisis, Diseño, y Programación
claudio_o_rufo@hotmail.com
Edin Francisco Alvarez Ordoñez
Estudiante de la Universidad Nacional de Loja de la Carrera de Ingeniería en Sistemas
Conocimientos en Análisis, Diseño, y Programación
edin_136@hotmail.com
Olger Ramiro Paucar Pizarro
Estudiante de la Universidad Nacional de Loja de la Carrera de Ingeniería en Sistemas
Conocimientos en Análisis, Diseño, y Programación
rpaucarp@gmail.com
Francisco Geovanny Riofrio Terrazas
Estudiante de la Universidad Nacional de Loja de la Carrera de Ingeniería en Sistemas
Conocimientos en Análisis, Diseño, y Programación
geova_riofrio@hotmail.com

Posted in Proyectos Decimo B CIS | Leave a Comment »

SuDoKu MLM

Posted by Publicador en May 26, 2009

SuDoKu es un juego matemático con un tablero de números dividido en 9 bloques, en 3 filas y 3 columnas. Dentro de cada bloque hay 9 números, también colocados en 3 filas y 3 columnas.

DIB3

En la imagen podemos observar el aspecto del tablero de juego, y sus 9 bloques, que se diferencian unos de otros por el color de fondo; estos bloques disponen de casillas en las que hay números y el objetivo de este es llenar las casillas vacías con un número en cada una de ellas, de tal forma que cada columna, fila y región contenga los números 1-9 sólo una vez.

Objetivos:

  • Verificar que no se repitan los números en las filas.
  • Verificar que no se repitan los números en las columnas.
  • Verificar que no se repitan los números en cada uno de los bloques.
  • Llenar los casilleros en blanco con números del 1 al 9 teniendo en cuenta que sólo podemos ingresar un solo número a la vez, utilizando el único espacio libre disponible dentro de la matriz.

La estrategia utilizada para la implementación de nuestro SuDoKu es la siguiente:

  • Verificar la fila que tenga mayor cantidad de casillas llenas.
  • Verificar la columna que tenga mayor cantidad de casillas llenas.
  • Verificar que el número ingresado sea diferente a los números llenos dentro de las casillas fila ya que no pueden existir números repetidos.
  • Verificar que el número ingresado sea diferente a los números llenos dentro de las casillas columna ya que no pueden existir números repetidos.
  • Verificar que el número ingresado no esté dentro del bloque ya que no pueden existir números repetidos.
  • Verificar que exista una sola posibilidad en la matriz para ubicar el número.
  • Completar las casillas vacías con un solo número del 1 al 9.

Para descargar el código dar clic aquí.

DESARROLLADORES:

Mónica Vivanco.

Estudiante del décimo módulo de la Carrera de Ingeniería en Sistemas de la Universidad Nacional de Loja; conocimientos en análisis de requerimientos para proyectos de software.

Para contactos escribir a:    monica_alex19@hotmail.com

Leidy Reyes.

Estudiante del décimo módulo de la Carrera de Ingeniería en Sistemas de la Universidad Nacional de Loja; conocimientos de diseño de sistemas con UML.

Para contactos escribir a:   mileidy_0205@hotmail.com

María del Carmen Ruiz.

Estudiante del décimo módulo de la Carrera de Ingeniería en Sistemas de la Universidad Nacional de Loja; conocimientos en lenguaje de programación JAVA.

Para contactos escribir a:   maryrui18@hotmail.com

Posted in Proyectos Decimo B CIS | Leave a Comment »

M&J SUDOKU

Posted by Publicador en May 25, 2009

  S  U  D  O  K  UColorSudokuLogo

 

El presente proyecto se lo realizo con el fin de comprender el capítulo de Teoría de Juegos en la materia de Inteligencia Artificial, con el cual buscamos implementar en la maquina la estrategia que un ser humano utiliza para resolver un determinado problema.

El proyecto sudoku fue desarrollado bajo la plataforma java 1.6, se utilizo la programación orientada a objetos y una metodología de desarrollo XP (extreme programming).

El sudoku se presenta como una tabla de 9×9, compuesta por subtablas de 3×3 denominadas regiones (también se llaman “cajas” o “bloques”).

  • El objetivo es llenar las celdas vacías que, con un numero en cada uno de ellos, de tal forma que cada columna, fila y bloque o región contengan los números del uno al nueve solo una vez.
  • No se debe repetir ninguna cifra en una misma fila, columna o bloque

Estrategia de Solución:

Tomamos un numero del uno al nueve y verificamos si este se encuentra en el bloque, si no se encuentra procedemos a verificar si se encuentra en la filas y columnas adyacentes.

Una vez que verificamos procedemos a colocar el número en la única posibilidad que tenemos.

  • Esta operación se la realiza con el mismo número elegido, recorriendo cada una de las cajas.
  • Realizamos toda la operación descrita anteriormente, teniendo en cuenta que los números en los bloques a analizar no se repitan en las filas y columnas.
  • Si el número no está en el bloque se lo coloca y si ya esta se pasa a la siguiente caja, el número elegido debe estar solo una vez en la caja.
  • Esta operación se realiza con los números que faltan y en cada caja.
  • En caso que haya dos o más  posibilidades para colocar un número se prueba con todas las posibilidades y se coloca el número en la posición más prometedora o en la casilla que dé el resultado óptimo.

REGLAS

  • Verificar si el número generado se encuentra en el bloque.

si(!verificaBloque(bloque, numero)) entonces

verificarColumna()

fin si

  • Verificar si el número generado se encuentre en la columna.

si(!verificaColumna(bloques[][], numero, columna, caja)) entonces

verificaFila()

fin si

  • Verificar si el número generado se encuentre en la fila.

si(!verificaFila (bloques[][], numero, fila, caja)) entonces

posicion[] =posibilidadesDeMovimiento (bloques[][],  vacias,  cont)

fin si

  • Contar posibilidades.

posicion[] = posibilidadesDeMovimiento (bloques[][],  vacias,  cont)

  • Si el número no se encuentra en el bloque, ni la columna, ni la fila se lo asigna.

bloques[posicion[0]][ posicion[1]].caja[posicion[2]][ posicion[3]]=numero

  • Verificar  tabla llena.

tablaLlena(bloques[])

para i=0, i<bloques.tamaño,i++ hacer

para j=0, i<bloques.tamaño,i++ hacer

para k=0, i<bloques.tamaño,i++ hacer

para l=0, i<bloques.tamaño,i++ hacer

si(bloques[i][j].cajas[k][l])!=vacio entonces

lleno=verdadero

fin si

fin para

fin para

fin para

fin para

EQUIPO DE DESARROLLO

NOMBRE: Milton Dario Quizhpe Villavicencio.
TÍTULO: Estudiante de Ingeniería en Sistemas
e-mail: milton_qui25@hotmail.com
TELÉFONO:
072574313 – 089175441
CIUDAD: Loja – Ecuador

EXPERIENCIA:

•    Coordinador del proyecto de Análisis y Diseño de Sistemas I
•    Desarrollo del Sistema de Gestión  FarmaSystem de la empresa Farmalemana  C.A.
•    Coordinador del Proyecto de Administración de Centros de Cómputo de la Unidad Educativa “La Dolorosa”
•    Coordinador del proceso de Reingeniería del Sistema FarmaSystem.
•    Coordinador del proyecto Lenguaje Surikata 2009 y su compilador.

NOMBRE: Miguel Iguasnia
TÍTULO: Estudiante de Ingeniería en Sistemas
e-mail: cjmavison@hotmail.com
TELÉFONO: 091752387 – 097321597
CIUDAD:
Loja – Ecuador

EXPERIENCIA:

•    Desarrollo del Sistema de Gestión  Académica para el Colegio Técnico Gonzanamá
•    Desarrollo del Sistema de Gestión  FarmaSystem de la empresa Farmalemana  C.A.
•    Desarrollo de Reingeniería del Sistema FarmaSystem
•    Desarrollo del Lenguaje Surikata 2009 y su Compilador.

NOMBRE: Jorge Zaruma
TÍTULO: Estudiante de Ingeniería en Sistemas
e-mail: jorgfergeo@hotmail.com
TELÉFONO: 086734481
CIUDAD: Loja – Ecuador

EXPERIENCIA:

•    Analista del proyecto de Análisis y Diseño de Sistemas I
•    Analista del Sistema de Gestión  FarmaSystem de la empresa Farmalemana  C.A.
•    Analista del Proyecto de Administración de Centros de Cómputo de la Unidad Educativa “La Dolorosa”
•    Analista del proceso de Reingeniería del Sistema FarmaSystem.
•    Analista del Proyecto Lenguaje Surikata 2009 y su compilador.


NOMBRE:
Jorge Jiménez
TÍTULO: Estudiante de Ingeniería en Sistemas
e-mail: jpjimenez_757@yahoo.es
TELÉFONO: 072547910 – 097356395
CIUDAD: Loja – Ecuador

EXPERIENCIA:

•    Diseñador del proyecto de Análisis y Diseño de Sistemas I
•    Diseñador del Sistema de Gestión  FarmaSystem de la empresa Farmalemana  C.A.
•    Diseñador del Proyecto de Administración de Centros de Cómputo de la Unidad Educativa “La Dolorosa”
•    Diseñador del proceso de Reingeniería del Sistema FarmaSystem.
•    Diseñador del Proyecto lenguaje Surikata 2009 y su compilador.

INTERESES DEL GRUPO

  • Desarrollo Web.
  • Programacion PHP.
  • Redes Inalambricas.
  • Programacion Orientada a Aspectos.

Links para descargar el código:

En SourceForget:

DOWNLOAD (el link está pendiente)

En Mediafire:

M&J Sudoku

Instalador de M&J SUDOKU

Posted in Proyectos Decimo B CIS | Leave a Comment »

SUDOKU LED

Posted by Publicador en May 25, 2009

Con motivo de aplicar los conocimientos adquiridos durante el desarrollo de la materia de Inteligencia Artificial presentamos un juego matemático que se ha hecho muy popular en estos últimos tiempos: EL SUDOKU.

Consiste en un tablero formado con x casillas, y que está dividido en bloques (o regiones) de n x n; donde n es el orden del sudoku.

El sudoku realizado es el más común, donde n = 3, osea de 9 x 9 casillas.

El estado inicial del juego contiene algunas casillas rellenas con números que van desde 1 hasta n2, las casillas restantes se encuentran sin valores. El objetivo es completar las casillas que se encuentran vacías cumpliendo las siguientes condiciones:

  • Cada número (desde 1 hasta 9) debe aparecer una y solo una vez en cada fila.
  • Cada número (desde 1 hasta 9) debe aparecer una y solo una vez en cada columna.
  • Cada número (desde 1 hasta 9) debe aparecer una y solo una vez en cada bloque.

La cantidad de casillas rellenas inicialmente varía cada vez, y se puede decir que un sudoku está bien planteado cuando tiene una única solución. Aunque existen sudokus con más de una solución e incluso sudokus que, inicialmente, cumplen las reglas del juego, pero no tienen solución.

Para su implementación hemos utilizado el lenguaje JAVA con el entorno de desarrollo Netbeans 6.5 y el JDK 1.6; así mismo, se siguió la metodología XP (Xtreme Programming) ya que lo realizamos en un corto período de tiempo.

El algoritmo más adecuado para utilizarlo en este proyecto fue el de Profundidad debido a que en el mismo podemos aprovechar las bondades del backtracking para revisar los estados anteriores y realizar poda de los que ya no cumplen con las reglas establecidas.

La interfaz de nuestro software es la siguiente, una interfaz sencilla de utilizar:

SUDOKU

El software lo distribuimos bajo licencia GLP.

Links para descargar el código:

En SourceForget:

DOWNLOAD (el link está pendiente)

En Mediafire:

Sudoku Led

DATOS PERSONALES DE LOS DESARROLLADORES

Nombres: Lorena Jaramillo Ochoa

Experta en: Análisis

Contactos a: lorena20665@hotmail.com

Nombres: Edwing Ortiz Agila

Experto en: Implementación

Contactos a: edwing0607@gmail.com

Nombres: Diego García Sánchez

Experto en: Diseño

Contactos a: dihepi19@gmail.com

Posted in Proyectos Decimo B CIS | Etiquetado: | Leave a Comment »

PEQUEÑO-SUDOKU

Posted by Publicador en May 25, 2009

DESCRIPCION

Un Sudoku es un juego que consiste en una matriz cuadrada de 81 casillas dividida en 9 cuadrados menores de 9  casillas (3 filas x 3 columnas cada uno) a los que llamaremos recuadros. La partida empieza con una plantilla inicial donde algunas de las casillas llevan ya inscrita una cifra del 1 al 9.

REGLAS

Regla 1: hay que completar las casillas vacías con un solo número del 1 al 9

Regla 2: en una misma fila no puede haber números repetidos

Regla 3: en una misma columna no puede haber números repetidos

Regla 4: en una misma región no puede haber números repetidos

HERRAMIENTAS DE DASARROLLO

–       Plataforma JAVA jdk1.6.0_06

–       Herramienta de programación Netbeans 6.1.

–       Herramienta de diseño enterprise

DATOS DESARROLLADORES

Estudiantes: Decimo modulo de la carrera de Ingeniería en Sistemas

Johanna Duque T.                 johanna_duque@yahoo.es

Conocimientos: Programación estructurada C++, analisis y diseño de software orientados a objetos.

Geovanna Jumbo O.             geovanna_02@hotmail.com

Intereses: Diseño web

Maritza Tandazo B.                marytb.12@hotmail.com

Conocimientos: Análisis y diseño de software, Diseño web

Diego Aguirre O.                    disagor@hotmail.com

Conocimientos: Programación en java, base de datos, redes y diseño web

Posted in Proyectos Decimo B CIS | Etiquetado: | Leave a Comment »

Sudoku Daemon

Posted by Publicador en May 25, 2009

sudokuEl proyecto sudoku daemon fue desarrollado como una forma de aplicar los conocimientos de inteligencia artificial, haciendo uso del método de búsqueda en profundidad, el cual puede servir para una introducción a los diferentes métodos de búsqueda existentes.
Así mismo se trata de representar el cálculo de matemática probabilística y la representación del conocimiento humano.
El juego radica en dar solución a una plantilla que consiste de una matriz de 9×9 y a su vez subdividida en 9 matrices de 3×3 para lo cual se utiliza el enfoque de inteligencia artificial, para lo cual se determino los estados iníciales , el conjunto de estados validos, las reglas y estrategias a aplicar y el estado objetivo.
El desarrollo se llevo a cabo en lenguaje java ya que este es un lenguaje orientado a objetos que nos permite modelar y codificar de una manera rápida y sencilla. El entorno de desarrollo que se utilizo fue netbeans.
Los desarrolladores que participaron en este proyecto son:
Alfredo Macas
Estudiante de Ingenieria en Sistemas en la Universidad Nacional de Loja.
Conocimientos en programación avanzada, diseño, análisis y software de desarrollo.
Henry Paz
Estudiante de Ingenieria en Sistemas en la Universidad Nacional de Loja.
Conocimientos en Análisis, desarrollo, base de datos y herramientas de desarrollo.
Klever Macas
Estudiante de Ingenieria en Sistemas en la Universidad Nacional de Loja.
Conocimientos en análisis, diseño y herramientas multimedia

link de descarga

Posted in Proyectos Decimo B CIS | Etiquetado: | Leave a Comment »

SUDOKU «ELIMARYU»

Posted by Publicador en May 25, 2009

SUDOKU “ELIMARYU”

interfaz

Elimaryu ha sido desarrollado con la aplicación de Teoría de Juegos combinando situaciones reales para tomar una decisión mediante un conjunto de estrategias, este juego matemático basado en probabilidades consiste en llenar una cuadricula de 9 x 9 celdas dividida en regiones de 3 x3 con números del 1 al 9 partiendo de una plantilla inicial, con valores fijos y cada número a ingresar no se repita dentro de una misma fila, columna y región.

Herramientas utilizadas:

  • Lenguaje de programación: JAVA
  • Entorno de desarrollo: Netbeans 6.5

El código de esta aplicación es Open Source, y está disponible en el siguiente link:
Descargar  ELYMARYU

Desarrolladores:

  • Angélica Cabrera

Estudiante de la Universidad Nacional de Loja, carrera de Ingeniería en Sistemas.

anggiekbrera_2809@hotmail.com

  • Lorena Peláez

Estudiante de la Universidad Nacional de Loja, carrera de Ingeniería en Sistemas.

lore31286@hotmail.com

  • Julia Santin

Estudiante de la Universidad Nacional de Loja, carrera de Ingeniería en Sistemas.

july_santin@hotmail.com

  • Luis Samaniego

Estudiante de la Universidad Nacional de Loja, carrera de Ingeniería en Sistemas.

saguit_82@hotmail.com

Intereses:

  • Manejo de herramientas orientadas a objetos, Enterprise Architecture, Poseidon, Power Designer.
  • Java
  • Entornos de desarrollo: Eclipse, Netbeans.
  • Metodologías de desarrollo: Iconix, Xp.

Posted in Proyectos Decimo B CIS | Etiquetado: | Leave a Comment »