Informe.pdf

Share Embed Donate


Short Description

Download Informe.pdf...

Description

Proyecto: Su-Domino-ku

PROYECTO (Julio DE 2016) Casanova S.1430032, gacheta S. 0938596

{[email protected] {[email protected],, sebastia sebastian.gua n.guacheta@c cheta@correou orreounivall nivallee}

RESUM ESUMEN EN::  En este documento se expone la implementación de un algo algori ritm tmo o para para la solu soluci ción del  juego Sudominoku. El diseño del algori algoritmo tmo sigui siguió la naturaleza del algoritmo probabilistico de las Vegas.

 Algoritmos de Monte Carlo, que siempre devuel devuelven ven una soluci solución aunq nqu ue esta a  veces no sea correcta. Son útiles cuando una aproximac aproximaciión no es sufi sufici cien ente te (por (por ejem ejempl plo, o, en un prob proble lema ma de deci decisi si ón). Cuentan con el inconveniente de no saber con exactitud si la respuesta es acertada, pues sólo existe una cierta probabilidad de éxito. Cuantas m ás veces se ejecute, m ás seguro seguro se estar estará   de la corre correcci cción de la solución.

Algori ritm tmo o de las las Vega Vegas, s, Éxito, PALABRAS CLAVE : Algo Falla.

1 SOBRE A LGORITMOS LGORITMOS PROBABILISTICOS  Y  SU  APLICACIÓN EN JUEGOS

1.1 A LGORITMOS LGORITMOS  PROBABILISTICOS

Los algoritmos probabilí sticos o prob probab abil ilis ista tass son son aque aquell llos os qu que e basa basan n el resultado devuelto en decisiones aleatorias, de tal forma que, en promedio se obtienen una buena solución al problema planteado, dada una distribución de datos de entrada.

 Algoritmos de Las Vegas, similares a los de Monte Monte Carlo Carlo pero pero que nun nunca ca devuel devuelven ven una solución errónea, con el inconveniente de qu que e pued pueden en no term termin inar ar o devo devolv lver er solución. Esto garantiza que la respuesta sea sea la buen buena, a, pero pero no gara garant ntiz iza a qu que e el algor algorit itmo mo fun funci cion one. e. Como Como en los los caso casoss ante anteri rior ores es,, cuan cuanto to mayo mayorr es el tiem tiempo po dedi dedica cado do al cálcul lculo, o, más fiable es la solución. No debe confundirse este tipo de algor algorit itmo moss con con aque aquell llos os dete determ rmin inis ista tas, s, como el simplex en programaci ón lineal, que son muy eficientes para la mayor í a de los posibles datos de entrada pero desastrosos para unos pocos. N ótese que dichos algoritmos siempre devuelven una solución correcta.

Se pueden pueden distin distingui guirr fundame fundamenta ntalme lmente nte cuatro grandes categor í as: as:  Algoritmos numéricos, que devuelvan una aproximación al resultado, frecuentemente en forma de intervalo. Son útiles cuando la solución exacta exacta es demasi demasiado ado costosa costosa (o directamente imposible de calcular, como por ejemplo, para n úmeros irracionales) y  una aproximac aproximaciión es lo sufi sufici cien ente teme ment nte e buena. Considérese que se desea calcular el result resultado ado de una compli complicad cada a integr integral al de  varias dimensiones. Tal vez s ólo se necesite una precisión de cuatro decimales, aunque la solución exacta conste de varias decenas de los los mism mismos os.. Este Este tipo tipo de algo algori ritm tmos os suel suelen en ofre ofrece cerr resu result ltad ados os m ás prec precis isos os cuant uanto o may mayor tie tiempo mpo se dedi dedica ca a su cálculo.

 Algoritmos de Sherwood, los cuales devuelven siempre una respuesta, la cual es forzosamente exacta. Aparecen cuando un algoritmo determinista conocido es m ás rápido en el caso medio que en el peor. El uso del del azar azar perm permit ite e reduc reducir ir,, e incl incluso uso elim elimin inar ar,, la dife difere renc ncia ia entr entre e buen buenos os y  malos ejemplares.

1

Proyecto: Su-Domino-ku

disponible a la siguiente celda disponible. Esto continuarí a hasta que se descubriera una duplicación, en cuyo caso, el siguiente  valor alternativo se colocar í a en el primer campo alterado. En el caso de que ning ún  valor cumpliera la restricci ón se retrocederí a hasta la casilla anterior y se probarí an los siguientes números.

1.1 SUDOKU Y  SUDOMINOK U

El Sudoku es un rompecabezas que se resuelve mediante l ógica. La idea b ásica para completar los rompecabezas es encontrar celdas para las en donde solo cabe 1 candidato( n úmeros del 1 al 9). La restriccion consiste en que s ólo se puede usar cada número una sola vez en cada fila, cada columna y cada uno de los recuadros de 3x3.  A continuación se exponen las t écnicas mas comunes de resoluci ón.

 Aunque lejos de la eficiencia computacional, este m étodo encontrará la solución si se permite el suficiente tiempo de computaci ón. Un programa más eficiente podr í a dejar una huella de valores potenciales para las celdas, eliminando  valores imposibles hasta que s ólo un valor quedase para una celda determinada. Entonces se rellenar í a esa celda y se usar í a esa información para más eliminaciones y  así , sucesivamente hasta el final. Esto emularí a más exactamente lo que un agente humano harí a sin el método de ensayo y error.

Estrategias de Resoluci ón T éc  nicas f áciles La mayor parte de Sudokus se pueden resolver con dos sencillas t écnicas: Técnica 1:Posición Única Técnica 2:Candidatos Únicos T éc  nicas Medias Otras técnicas que involucran mas que una obsrevación sencilla, son: Técnica 3:Lí neas de Candidatos Técnica 4:Parejas dobles Técnica 5:Lí neas múltiples T éc  nicas Avanzadas Siguiendo la progresión, se tiene: Técnica 6: Parejas o Tripletas Desnudas Técnica 7: Parejas o Tripletas Escondidas T éc  nicas de Maestro Una vez dominadas las anteriores t écnicas, se pueden aplicar técnicas más complicadas. Técnica 8: X-Wing Técnica 9: Swordfish Técnica 10: Forcing Chains  Resolución por ordenador Para los programadores es relativamente sencillo construir una búsqueda por el método de backtracking o "vuelta atrás". Ésta asignarí a, tí picamente, un valor a la primera celda disponible y entonces continuar asignando el siguiente valor •







Codificar la b úsqueda para imposibilidades basadas en contingencias e incluso múltiples contingencias (como ser í a requerido para los Sudoku más dif íc  iles) es bastante complejo de construir a mano. De cualquier modo, tales complicaciones son innecesarias si todo lo que el programador desea hacer es encontrar una soluci ón eficientemente.







SudominoKu

El juego tiene la forma de un Sudoku normal, es decir, una grilla de 99 que debe ser llenada usando solo los d í gitos del 1 al 9. En una solución exitosa: -Cada fila tiene que contener todos los del 1 al 9. -Cada columna tiene que contener todos los digitos del 1 al 9. -Cada región de 3 x 3 tiene que contener todos los dí gitos del 1 al 9.







2

Proyecto: Su-Domino-ku

Pero para un Su-Domino-ku, nueve celdas son inicializadas con los n úmeros del 1 al 9. Esto deja 72 celdas sin inicializar. Ellas son lenadas usando un conjunto de 36 piezas de dominó. El conjunto incluye un dominó  para cada posible par de n úmeros únicos desde el 1 hasta el 9 (Ejemplo: 1 + 2, 1 + 3, 1 + 4, 1 + 5, 1 + 6, 1 + 7, 1 + 8, 1 + 9, 2 + 3, 2 + 4, 2 + 5).

un llama"o al meto"o "e soluci/n "el tablero( siguien"o la naturale%a "el algoritmo &egas. El programa 'ue implementa"o en c44(  el  pseu"oc/"igo es el siguiente  7eto"o $ue veri'ica si la tabla a 'ue completa"a7  bool is&ali":int boar";9

C  int main:= > vector AintK numero

i' :boar";r canFse J? :1 AA boar";r cuenta44 CC 77 print':Hcuenta " MnH(cuenta=

'or:int ?0A144=> 'or :int i ? 0 i A 9 i44= 'or :int G ? 0 G A 9 G44=  boar";i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF