Está en la página 1de 65

OSCAR ROLANDO RODAS HERNANDEZ MARCOS EDUARDO ORTEGA MONTENEGRO

ALGORITMOS BASICOS DE LA TEO RIA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA



---- universidad ----

FRANCISCO MARROQUiN

&

FACULTAD DE INGENIERIA DE SISTEMAS, INFORMATICA Y CIENCIAS DE LA COMPUTACI6N

GUATEMALA, 2002

Esta tesis fue elaborada por los autores como requisito previo a obtener el titulo de Ingeniero en Electr6nica, Informatica y Ciencias de la Computaci6n.

Guatemala, febrero de 2002

Guatemala, Enero 28 del 2002

..

Doctor

Eduardo Suger Cofifio

UNIVERSIDAD FRANCISCO MARROQUIN Presente.-

Estimado Doctor Suger:

Deseo por este medio hacerle saber que tuve la oportunidad de asesorar, leer y corregir el trabajo de tesis titulado ALGORITMOS BASICOS DE LA TEORIA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA desarrollado conjuntamente por MARCOS ORTEGA y OSCAR RODAS, labor que desarrol1aron siguiendo los lineamientos basicos establecidos.

Para los usos que a los interesados convengan extiendo la presente constancia.

Atentamente,

y \._,' ( d,'I..I: <k' .z{((c1:0;J Maria Isabel Cifuentes Tel: 362 8553 - 4

Wvideo.1l18ria ci fllentcs(ill ella. gbm.nG1

UNIVERSIDAD FRANCISCO MARROQUIN

FACULTAD DE INGENIERlA DE SISTEMAS, INFORMATICA Y CIENCIAS DE LA COMPUTACION

Guatemala, 14 de enero de 2002

Senores

Marcos Ortega y Oscar Rodas Presente

Estimados senores Ortega y Rodas:

Tengo mucho gusto en inforrnarles que ha sido aprobado su punto de Tesis, previo a optar al diploma de Ingeniero en Electronica, Informatica y Ciencias de la Computaci6n, cuyo titulo es "Algoritmos basicos de la Teoria de .Jucgos aplicados a la Informatica y Elcctronica".

Al mismo tiempo les informo que ha sido aprobada la dcsignaciou de la Ingcnicra Maria Isabel Cifuentes, como asesora de su trabajo de graduacion.

Atcntamcnte,

FACULT D DE INGENIERIA DE SISTEMAS, INFORMATIC Y C1ENCIAS DE LA COMPUTACION

Dr.Edu '10C

Dceano, FIs~tger c.

ESC/cdec.-

UNIVERSIDAD FRANCISCO MARROQUIN

FACULTAD DE INGENIERIA DE SISTEMAS, INFORMATICA Y CIENCIAS DE LA COMPUTACION

Guatemala, 14 de fcbrero de 2002

Senores

Oscar Rolando Rodas Hernandez y Marcos Eduardo Ortega Montenegro Prcscnte

Estirnados senores Rodas y Ortega:

Tengo mucho gusto en informarles que, despues de habcr revisado su trabajo de Tesis, euyo titulo cs "ALGORITMOS BASICOS DE LA TEO RIA DE ,TUEGOS APLICADOS A LA INFORMATICA Y ELECTUONICA", y de haber obtenido cl dictamen del asesor especifico. autorizo la publicacion del mismo,

Aprovecho la oportunidad para fclicitarlos por el magnifico trabajo realizado, el eual cs de indiscutible beneficio para el desarrollo de las Ciencias en Electronica en Guatemala.

Atentamentc,

FACUL AD DE INGENIERIA DE SISTEMAS,

INFORMA TI Y CIENCIAS DE LA COMPUT ACION

ESC/cdec.-

7a. avcnida final (Calle Dr. Eduardo Sugcr Cofifio), Zona 10, Edificio Dr. Manuel F. Ayau, Guatemala. C.A.

Planta FISICC: 331-4948' 362-2725' 331-.+807·360-1893' 332-2033 • Fax: 331-1645

iNDICE

pAOINA

CAPiTULOS

1. TEORiA DE LA PROBABILIDAD , .3

1.1 Probabilidad 3

1.2 Medida 4

1.3 Medida de probabilidad 5

1.4 Medidas equiprobables 7

1.5 Probabilidad condicionada 7

1.6 Procesos estocasticos finitos 9

2. TEORiA DE JUEGOS 12

2.1 Tipos de jugadas 13

2.2 Estrategias 14

2.3 Juego de dos personas suma cero 15

2.4 Ejemplo (minimax y maximin) 18

2.5 Juegos de informacion completa 21



3. APLICACION 22

3.1 Planteamiento del problema 22

3.2 Descripcion de la aplicacion 22

3.3 Algoritmo del programa 24

3.4 Fase de electronica .35

3.4.1 Descripcion generaI. 35

3.4.2 Tarjeta isa (integrado 8255) 37

3.4.3. Compuerta and 40

3.4.4 Compuerta not. 41

3.4.5 Schmitt trigger. : '" '" .43

3.4.6 Contador binario .44

3.4.7 Demultiplexor. 46

3.4.8 Flip flop '" 47

3.4.9 Memoria ram '" .48

3.4.10. Almacenamiento de informacion en rams 51

Conclusion '" '" '" 55

Recomendaci ones 56

Bibliografia 57

ALGORlTMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

INTRODUCCION

En la vida se enfrentan situaciones en las que constantemente se toman decisiones. En muchos casos, antes de tomar la determinacion correcta, se analizan las posibles estrategias y oportunidades. A continuaci6n se presenta una aplicaci6n particular que ilustra como la teoria matematica y la de toma de decisiones son herramientas utiles para desarrollar algoritmos que ayudan en el proceso de la toma de decisiones.

En la primera parte se explican los temas de Matematica y Toma de Decisiones, en particular Teoria de Juegos. Ademas se define que es una medida y como a partir de esta se construye una medida de probabilidad. Tambien se incluyen los temas de Probabilidad Condicionada y Procesos Estocasticos; los cuales se definen formalmente y se dan ejemplos para una mejor comprensi6n. Luego se desarrolla el tema de Teoria de Juegos ya que basandose en el se hace la aplicaci6n, que constituye la segunda parte del trabajo. La aplicaci6n es un ejemplo sencillo elaborado para ilustrar como la teoria combinada con la Informatica y la Electr6nica se convierten en una herramienta util que logra la automatizaci6n del proceso de Toma de Decisiones.

Entre las diversas opciones para la aplicaci6n, se eligio el juego Connect Four y se desarrolla un algoritmo para que una computadora pueda jugar eligiendola "mejor" decisi6n. Se explica en detalle como se construye el algoritmo y como se hace la interfase con un tablero electronico.

ALGORITMOS BAsICOS DE LA TEOm DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

AI desarrollar este tema se espera ampliar la visi6n de como el disefio y construcci6n de maquinas inteligentes que ayudan al hombre; p.articularmente en situaciones donde tiene poca 0 ninguna posibilidad de manipular el medio y en el que debe jugar con reglas ya establecidas. Se aprecia como con la ayuda de maquinas y programas especificos, los procesos se hacen mas rapidos y eficaces ahorrando tiempo y esfuerzo al ser hwnano.

ALGORITMOS SASICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

CAPITULO I:

1. TEORIA DE LA PROBABILIDAD

La Teoria de Probabilidad proporciona la maternatica necesaria para aquellas afirmaciones que se hacen de situaciones donde no se esta segura del resultado, pero sobre el que se expresa cierto grado de confianza, en que la predicci6n se verifique. A ese grado de confianza es 10 que se le denomina probabilidad. En este capitulo se define 10 que es una medida y c6mo se construye la medida de probabilidad. En L, secciones subsecuentes tambien se habla de las medidas equiprobables, probabilidades condicionadas y procesos estocasticos finitos.

1.1 Probabilidad

EI termino probabilidad expresa la forma en que se mide cuantitativamente la incertidumbre relacionada con una afirmaci6n. Anteriormente los metodos de probabilidad se aplicaban exc1usivamente a los juegos, pero fue Gerolamo Cardano (1501-1576) a quien se le atribuye el primer calculo sistematico de probabilidades. Cardano defini6 la probabilidad como una relaci6n entre el numero de resultados favorables contra el numero total de resultados posibles. A esto es a 10 que se le conoce como la visi6n clasica de la probabilidad. En general se dice que la probabilidad es la frecuencia relativa de ocurrencia de un evento en un numero determinado de ensayos repetitivos de un experimento.

ALGORITMOS BAslCOS DE LA TEORIA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMA TlCA

4

Al rnencionar las probabilidades hay que diferenciar entre su interpretacion y su calculo de ella. Por ejemplo, la probabilidad de que al lanzar una moneda al aire caiga uno de sus lados es "un medio" y su interpretacion es "el resultado del experimento tiende a que la mitad de los

casos sea cara".

1.2 Medida

Se considera como conjunto umverso, los departamentos de Guatemala, don de su conjunto potencia son los diferentes arreglos de combinaciones entre sus departamentos. Si se quiere calcular las distancias entre estos departamentos, la longitud como medida de la distancia seria la solucion, donde se Ie asigna un valor positivo a cada elemento del dominio (distancia). Otros ejemplos de medidas son el tiempo, el area y el volumen. Dicho de otra manera, una medida es una funcion que esta definida en un conjunto potencia sobre los numeros reales positivos y el cero.

Si B es un conjunto fin ito y PE es su conjunto potencia M: PR-fR+ u (OJ

A-f M(A) tal que

• M(¢) = 0

• M(A);?O

• M (A uC) = M(A) +M(C) ssi A II C = ¢

Nota: Si los conjuntos A y C no son ajenos, entonces M (A uC) = M(A) +M(C) - M(A II C)

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMA I1CA

5

1.3 Medida de probabilidad

A diario se escuchan frases como "Es probable que llueva hoy", "Existe la posibilidad que aumenten los indices de la Bolsa de Valores", etc. En estos casos existe una incertidumbre acerca de su validez, en donde para medir esa incertidumbre 0 el grado de confianza del que se habla, se usa la medida de probabilidad.

Para construir la medida de probabilidad, pnmero definiremos la siguiente medida:

Si B es un conjunto fin ito y PB es su conjunto potencia M: PB-;,R+ u (OJ

A -;, M(A)=Card(A)

El siguiente paso es construir la medida de probabilidad a partir de la funcion definida anteriormente.

• Descripcion matemdtica

Si E es un espacio muestral fin ito y PE es su conjunto potencia

A-;, P(A) = M(A)/M(E) tal que

• P(¢) = 0

• 0 ~P(A) ~ 1

• P (A uC) = P(A) +P(C) ssi A n C = ¢

Nota: Si los con juntos A y C no son ajenos, entonces P (A uC) = P(A) + P(C) - P(A n C)

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

6

• Demostracion:

Si E es un espacio muestral y A E E donde P es una medida de probabilidad tal que

P: PE~RI u (OJ

A ~ P(A) = M(A)IM(E) I. P(¢) =0

P(¢) = m(¢)lm(E) = Olm(E) = 0

II. 0 ~P(A) s 1

P(A) = m(A)lm(E) ~ 0 y prE) = m(E)lm(E) = 1

III. P (A uC) = P(A) +P(C) ssi A n C = ¢

P (A uC) = [m(A)+m(C)]lm(E) = [m (A)lm (E)] +[m (C)lm (E)] = P(A) +P(C)

• EjempJo:

G emil es la probabilidad que al tirar dos dados perfectos nos salga solamente un tres?

EI espacio muestral cuenta con 6*6 = 36 posibilidades logicas

en donde se define

A: Todas las combinaciones posibles don de salga un 3

A = {(l,3), (2,3), (4,3), (5,3), (6,3), (3,1), (3,2), (3,4), (3,5), (3,6) }

Donde el cardinal del evento A es igual a 10, por 10 tanto peA) = m(A)/m(E) = 10/36

ALGORITMOS BAsICOS DE LA TEORIA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

7

1.4 Medidas equiprobables

Cuando se tiene un espacio muestral y a todos los elementos de este se les asigna el mismo peso, se dice que todos los elementos tienen la misma posibilidad de ocurrencia. A este tipo de medida de probabilidad se Ie llama medidas equiprobables. Si el espacio muestral es de n elementos y cada elemento tiene la misma probabilidad (lIn) y ademas el conjunto (evento) X pertenece al espacio muestral, la probabilidad de X es r I n, esto

ALGORlTMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

8

Para contestar a esta pregunta pnmero se analiza el diagrama siguiente:

E

A

Figura No.1

E = Posibles lados de un dado {I ,2,3,4,5,6} A = Que caiga un 5

B = Que el numero que caiga sea impar {l,3,5}

Inicialmente, al lanzar el dado el espacio muestral estaba fonnado por todos sus lados posibles. Sin embargo, al agregar el requerimiento que el numero sea impar, el espacio muestral se limita al subconjunto B. Entonces, se puede ver que el resultado se encuentra dentro del subconjunto B y el subconjunto A, de tal manera que se analizan unicarnente las probabilidades dentro del subconjunto AnB. Como se sabe, la medida de probabilidad es igual a M(Evento)/ M(Espacio Muestral), por 10 tanto la probabilidad que caiga, cinco, dado que el resultado es impar es P(AnB)/P(B) = 1/3.

Este ejemplo permite visualizar el principio en que se basa la probabilidad condicionada, el cual se denota como Pt A I 8) Y se lee, la probabilidad de A dado B, siendo 8 una proposicion verdadera.

ALGORITMOS BASICOS DE LA IEORiA DE JUEGOS APLICADOS A LA ELECIRONICA E INFORMA I1CA

9

Definida fonnalmente:

Si E es un espacio muestral y A, E E E. Se define fa probabilidad condicional como:

P(A IE) = P(AnB) / P(B)

RECORDA TORIO

EVENTOS AJENOS:

Dos eventos son ajenos si la

interseccion es el conjunto vacio.

EVENTOS INDEPENDIENTES: Dos eventos son

independientes si y solo si

P(A IB) = P(A) 6 P(B IA) = P(B)

1.6 Procesos estocasticos finitos

Una sucesion de experimentos, tal que el resultado de cada experimento en particular depende de un elemento aleatorio, se le llama un proceso estocastico. Si el numero de experimentos es finito y adem as sus resultados son finitos, se les llama procesos estocasticos finitos. Se supone que si todos los resultados de los experimentos que preceden a uno en particular se conocieran, las posibilidades para este experimento y las probabilidades de

cualquier posibilidad en particular son conocidas.

Se busca hacer

predicciones del proceso como un todo. A continuacion se ilustra con el siguiente ejemplo:

ALGORITMOS BAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

10

EJEMPLO:

Se tienen dos cajas de madera, donde la primera caja contiene 2 pelotas rojas y 3 pelotas blancas. La segunda caja contiene 2 pelotas rojas y 1 pelota blanca. Si se elige una caja al azar y se extrae una pelota de ella, i,cmil es la probabilidad de que la pelota que se retire de la caja es de color rojo? Un rapido analisis llevaria a .pensar que la respuesta es Y2, ya que existe el mismo numero de pelotas rojas y blancas que tienen la misma probabilidad de ser elegidas y to do se hace de una manera aleatoria. Sin embargo, esta respuesta apresurada no es correcta, ya que se requiere un analisis mas cuidadoso.

Se estan considerando dos experimentos, el primero es elegir una caja y el segundo es elegir una pelota. Hay dos posibilidades para el primer experimento, PI = P2 = Y2. Despues hay que asignar probabilidades a cada una de las pelotas sobre la hipotesis que se ha elegido la primera caj a:

PIR=2/5 y PIB=3/5. De manera semejante se asignan las probabilidades de las pelotas de la segunda caja: P2R=2/3 y P2B=1/3. Para visualizarlo de mejor manera, se hace uso de una arbol de probabilidades:

........ P1R=2/5

<". PIll~3/5

.............. /' .. / ....•.........•............ P2~1/2

........ P2R=2/3

<::::.:::.. P28~ 1/3

Figura No.2

ALGORITMOS BAsICOS DE LA TEORIA DE JlJEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

11

Con este cuadro, se puede observar que la probabilidad de haber elegido una pelota blanca se calcula de la siguiente manera:

I P,*PIR+P2*P2R = (1/2*3/5) + (1/2*1/3) = 7/15 I

Dicho de otra manera, debe calcularse la probabilidad de que la pelota blanca ha salido de la caja 1 mas la probabilidad de que la pelota blanca ha salido de la caja 2.

P(CAJA1 nB) + P(CAJA2 nB)

= P(CAJA1)*P(B /CAJA1) + P(CAJA2)*(B /CAJA2)

Notese que cada nurnero asignado a las ram as es un numero positivo, y que la suma de los numeros asignados a las ramas que tocan un punto de ramificacion dado es igual a l , 0 sea que, por ejemplo PIR + P \B = l.

ALGORlTMOS BAsICOS DE LA TEORIA DE JUEGOS APLlCADOS A LA ELECTRONICA E INFORMATICA

CAPiTULO II:

2. TEORiA DE JUEGOS

La solucion a una gran cantidad de problemas de tipo competitivo y practico se obtiene mediante el analisis de las situaciones en las cuales existen dos 0 mas grupos opuestos. Cada grupo puede ser represent ado por una 0 mas personas y el resultado de cualquier accion de uno de los grupos depende en parte de las acciones del otro. A estas situaciones se les llama situaciones antagonicas, donde cada grupo toma las medidas posibles para evitar la victoria del grupo opuesto.

En la vida real las situaciones antagonicas son complejas y dificiles de analizar porque dependen de gran cantidad de factores aleatorios. Dichos factores aleatorios no se pueden controlar 0 manejar todos al mismo tiempo, por 10 que se han desarrollado tecnicas matematicas especiales que surgen de la teoria de juegos. La aplicacion de esta teoria permite elaborar cursos de accion racionales para los grupos opuestos. Este analisis matematico requiere que se pasen por alto factores secundarios y se construyan model os formales y simplificados. A tales modelos se les denominan juegos.

Un juego no es 10 mismo que una verdadera situacion antagonica, ya que este se maneja de acuerdo a reglas completamente definidas. Los modelos fonnales de las situaciones antagonicas estan presentes desde la antiguedad, pero se presentan en forma de juegos. Tales juegos son competencias que siguen ciertas reglas y finalizan la mayoria de los casos

1/.

ALGORITMOS BAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

13

con la victoria de uno de los grupos. Entre estos juegos se encuentran el ajedrez, las cartas, las damas, etc.

La teoria de juegos en su totalidad es un tema extenso, que requiere de un estudio detallado requeriria de un extenso analisis poder formalizarlo, por 10 que solo se discuten los temas que fueron utiles para esta aplicacion. En las secciones subsiguientes se da definiciones y conceptos de la teoria de juegos y se presentan ejemplos que ilustran dichos conceptos.

2.1 Tipos de jugadas

Se sabe que un juego es una sucesion de jugadas, donde cada jugada es una eleccion de una de las altemativas posibles que son especificadas por las reglas. Estajugada puede ser de tipo personal 0 aleatorio.

Una jugada personal es una elecci6n y ejecuci6n consciente de uno de los jugadores, de una de sus posibles jugadas de la situaci6n presente. Por ejemplo, una jugada en el ajedrez donde el jugador hace una eleccion consciente de un conjunto de jugadas posibles, en base al estado actual del tablero. Este conjunto de jugadas posibles se forma a partir de las reglas determinadas y de las jugadas previas realizadas por los jugadores.

Por el contrario, una jugada aleatoria es la elecci6n de una posibilidad de un conjunto formado por cierto numero de jugadas posibles, y la decision de la eleccion no es realizada de una manera racional por el jugador, sino por el resultado de un evento aleatorio. Al referirse a un resultado de un evento aleatorio se habla del lanzamiento de una moneda, dellanzamiento de dados, al baraje y reparto de cartas, etc.

ALGORITMOS BAsICOS DE LA TEORIA DE JUEGOS APLICADOS A LA ELECTRON1CA E INFORMATICA

14

Un ejemplo puede ser cuando en algun juego se requiere que se extraiga una carta al azar de una baraja completa. Esta es una jugada aleatoria con cincuenta y dos resultados posibles, cada uno con la misma probabilidad.

Los juegos que contienen unicamente jugadas aleatorias se Ies denomina juegos de azar. El ajedrez y las damas son juegos que solo contienen jugadas personales. La mayoria de juegos de cartas son de tipo mixto que contienen tanto jugadas personales como aleatorias.

2.2 Estrategias

Entre las definiciones de la teoria de juegos se encuentra eI concepto de estrategia. Se define estrategia como el conjunto compJeto de reglas que determinan las posibles altemativas para todas las situaciones que se presentan en el curso de un juego para un jugador.

Esta definicion se explica de una manera mas sencilla. En la mayoria de los casos el jugador elige sus jugadas una a la vez, teniendo en cuenta el estado del juego en cada etapa. Sin embargo, nada cambia realmente si de antemano hace todas sus elecciones. Para hacerlo debe determinar con anticipacion todas las situaciones posibles que pueden surgir y elegir una jugada para cada una de ellas. En principio, si el jugador construye tal sistema de elecciones, puede decirse que ha optado por una estrategia especifica.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLlCADOS A LA ELECTRONIC A E INFORMATICA

15

Una vez el jugador elige su estrategia, ya no necesita participar personalmente en el juego. En lugar de ello, puede entregar una lista de las reglas a seguir a una persona imparcial. Inc1uso las puede aplicar a una computadora cuando las estrategias se dan en forma de programa.

Los juegos de azar puros, tales como el lanzamiento de una moneda 0 de dados, no cuentan con estrategias. Un juego debe contener jugadas personales para que se aplique la definicion de estrategia.

Si se cuenta con un numero de estrategias finito, el juego entra en la clasificacion de juegos finitos, por ejemplo Connect Four (Cuatro en fila). Ahora, si el numero de estrategias es infinito se considera un juego infinito. Como ejemplo de esta ultima clasificacion encontramos el futbol

amencano.

2.3 Juego de dos personas suma cero

Como su nombre 10 indica, en este juego participan solo dos adversarios o jugadores. Los jugadores pueden ser representados por una 0 mas personas (empresas, ejercitos, equipos). Se llama juegos suma cero porque un jugador gana 10 que otro pierde, de manera que la suma de sus ganancias netas es cero.

La seleccion de un criterio para resolver un problema de decision depende mucho de la informacion disponible. Los juegos representan el ultimo caso de falta de informacion donde los jugadores, que se consideran racionales, trabajan en un medio circundante conflictivo, es decir, que ambos jugadores eligen su estrategia unicamente para promover su propio bienestar.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

16

Antes de iniciar e] juego, cada jugador conoce las estrategias a su alcance, las estrategias de su oponente y la matriz de pagos.

La matriz de pagos, no es mas que una forma de resumir los pagos esperados de los jugadores en forma matricial, donde los elementos de la matriz pueden tener cualquier tipo de unidades siempre que representen con exactitud la utilidad del jugador 1 para el result ado correspondiente. Un ejemplo de la forma de una matriz con dos estrategias para el jugador I y tres estrategias para el jugador 2 se muestra a continuacion:

Jugador 2 (Jugador Columna)

Jugador 1 I Estra2t1egias I

(Jugador Fila)

--------~-------+--------~------~

~------~------~--------~------~

1

2

3

Tabla No.1

Hay que tener claro que la utili dad no necesariamente es proporcional a la cantidad de dinero 0 cualquier otro bien cuando se manejan cantidades grandes. Por ejemplo, Q.2 millones pueden tener un valor mucho menor que el "doble" del valor que representa Q.I millon para una persona pobre. En otras palabras, si a la persona pobre se le da a elegir entre recibir, con el 50% de posibilidades, dos millones 0 nada y recibir un millen con seguridad, esta persona prefiere elegir la ultima opcion, V isto en la matriz de pagos a un millon debe asignarsele un valor mayor 0 igual para que al jugador le sea indiferente elegir entre ambas opciones.

ALGORITMOS BAsIC OS DE LA TEORlA DE JUEGOS APLlCADOS A LA ELECTRONICA E INFORMATICA

17

Los pagos son el resultado de la totalidad de las jugadas realizadas por cada jugador. En otras palabras, estos se resumen como funciones de las diferentes estrategias para cada jugador, y no siempre se pueden representar en una forma cuantitativa, pero usualmente es posible establecer algun tipo de escala con la cual se puede mostrar el result ado como un numero defmido.

Por ejemplo, en el juego de Connect Four se puede establecer que el valor para una derrota es 0, para un triunfo es 1 y para una derrota es -I. A este resultado numerico se le llama ganancia. Como la matriz se analiza desde el punto de vista del jugador 1, es obvio que los valores positivos representan ganancias y los valores negativos representan perdidas para el j ugador fila.

De manera mversa se analiza para el jugador columna, donde los valores negativos representan ganancias y los valores positivos perdidas. Por convenio, de aqui en adelante la matriz de pagos se analiza para el jugador 1 (jugador fila). En el ejemplo siguiente se muestra una matriz de pagos donde se ve que, si el jugador 1 usa la estrategia 1 y el jugador 2 utiliza su estrategia 3, se dice que el jugador 1 pierde tres y el jugador 2 gana tres.

Jugador 2 (Jugador Columna)

Ejemplo de una Matriz de Pagos Tabla No.2

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMA IlCA

18

Hasta ahora se han dado algunos conceptos y se ha explicado como formular un juego de dos con suma cero, sin embargo falta aim defmir una tecnica para elegir una soluci6n optima al problema En la siguiente secci6n se ilustra el criterio Minimax y Maximin con un ejemplo sencillo.

2.4 Ejemplo (minimax y maximin)

Dos companies comparten el grueso del mercado para cierto tipo de producto. Cada una esta haciendo nuevos planes de comercializaci6n para el pr6ximo afto con la intenci6n de arrebatar parte de las ventas a la otra compania. Se asume que las ventas totales del producto son mas 0 menos fijas, por 10 que una compafiia puede aumentar sus ventas s610 SI disminuyen las de la otra. Cada compania considera tres posibilidades:

• Un mejor empaque del producto.

• Un aumento en la publicidad.

• Una pequefta reducci6n en el precio.

Los costos de las tres opciones son comparables y suficientemente grandes como para que cada compaftia elija s610 una. EI efecto estimado de cada combinaci6n de altemativas sobre el aumento en el porcentaje de las ventas para la compania uno es:

Compaftia 2 (Jugador Columna)

Cornpafiia 1 (Jugador Fila)

Estrategias 1 2 3
1 -3 -2 6
2 2 0 2
3 5 -2 -4 Tabla No.3

ALGORITMOS BAslCOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

19

En este caso, cada compania debe hacer su eleccion antes de conocer la decision de la otra.

• Solucien

En este juego resulta obvio cual es la estrategia optima, ya que el numero de estrategias es optimo. Pero el ejemplo resulta sencillo para mostrar como funciona este criterio.

Se considera al jugador 1: si elige la estrategia 1 gana 6 0 pierde 3. Como el jugador 2 es racional, busca una estrategia que 10 proteja de pagos grandes al jugador I. Parece probable que si juega la estrategia I, el jugador 1 pierde. De manera analoga, al seleccionar la estrategia 3, el jugador 1 puede ganar 5, pero es mas probable que el oponente racional evite esta perdida y logre que el pierda, 10 que puede ascender a 4. Por otro lado, si el jugador 1 elige la estrategia 2, tiene garantia de no perder y tiene la oportunidad de ganar algo. Entonces, por proporcionar la mejor garantia (un pago de 0), la estrategia 2 es la eleccion racional del jugador 1 contra el oponente racional.

Ahora hay que considerar al jugador 2. Puede perder tanto como 5 0 6 al usar la estrategia 1 0 3 respectivamente, pero esta garantizado que sale a mano con la estrategia 2. Por 10 que, si se usa el mismo razonamiento para encontrar la mejor garantia contra el oponente racional, parece que la mejor elecci6n es la estrategia 2.

ALGORITMOS BAsIC OS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

20

Si los dos jugadores optan por la estrategia 2, el juego termina en empate. Asi, al obligar cada jugador al oponente a no escoger otra estrategia mas que su mejor garantia, logra con esto un empate.

Este razonamiento de jugar de tal manera que minimice su perdida maxima, siempre que el resultado de la eleccion no pueda aprovecharlo el oponente para mejorar de posicion se conoce como criterio minimax.

En otras palabras, el criterio minimax implica que la seleccion es la mejor estrategia, aun cuando la eleccion es del conocimiento del oponente, antes de que el elij a su estrategia. En terminos de la matriz de pagos, implica que el jugador uno, elige la estrategia cuyo pago minimo es el mayor, mientras que el jugador 2 debe elegir la estrategia cuyo pago maximo es el menor para el jugador 1. Este criterio se demuestra en la siguiente tabla:

Compania 2 (Jugador Columna)

Compafiia 1 (Jugador Fila)

Estrategias 1 2 3 Minimo
1 -3 -2 6 -3
2 2 0 2 0
3 5 -2 -4 -4 ~
Maximo 5 0 6 Valor Maximin

• Valor

Minimax

Tabla No.4

Notese que en esta matriz de pagos el valor minimax y el valor maximin son el mismo, 10 que indica que este valor es tanto el valor minimo como el valor maximo. En este caso, a la interseccion entre la

ALGORITMOS SASICOS DE LA TEORiA DE JUEGOS APLiCADOS A LA ELECTR6NICA E INFORMATICA

21

fila del maximin y la columna del minimax se Ie denomina punto de silla. En general, el pago para el jugador 1, cuando ambos jugadores juegan de manera 6ptima, recibe el nombre de valor del juego. Y el juego en particular es cero, por 10 se llama al juego juego Justo.

2.5 Juegos de informacion completa

Los juegos se pueden clasificar de acuerdo a la cantidad de informaci6n disponible, acerca de las jugadas y el tipo de ellas. Un juego en el cuallos participantes al hacer una jugada conocen todos los resultados de las jugadas hechas anteriormente (personales 0 aleatorias) es llamado juego de informacion perfecta. El ajedrez, las damas y Connect Four (Cuatro en fila) son ejemplo de este tipo de juegos, no asi donde los jugadores no conocen las cartas que reciben los oponentes.

En la vida realla mayoria de las situaciones antag6nicas no son juegos de informacion completa, dado que la ignorancia de las acciones del contrincante u oponente, generalmente son un elemento esencial de tales situaciones. Otro aspecto importante en los juegos de informaci6n completa, es que se caracterizan porque en la matriz de pagos siempre existe por 10 menos un punto de silla.

ALGORITMOS BAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

CAPITULO III:

3. APLICACION

3.1 Planteamiento del problema

La mayoria de los juegos recreativos como las damas, el ajedrez, el p6ker y otros juegos de cartas y tableros son juegos simples que ilustran la teoria de juegos y pueden llevarse tanto a la informatica como a la electr6nica.

EL objetivo es crear un documento con una explicaci6n basica y un ejemplo que ilustre c6mo la teoria de juegos se puede utilizar en los algoritmos de diseno y construcci6n de maquinas, De todas las formas que existen para ejemplificar 10 basico de la teoria de juegos utilizando la informatica y la electr6nica, se pens6 en una aplicaci6n sencilla de un juego recreativo, todo esto con el fm de que los lectores comprendan el concepto que se plante a en este trabajo.

3.2 Descrfpclon de la aplicacion

Segun se menciona con anterioridad, se trata de buscar una aplicaci6n sencilla, unicamente para ilustrar los conceptos basicos de la teoria de juegos y su aplicaci6n practica, y las caracteristicas del juego Connect Four se adaptan a este criterio.

Connect Four es un juego creado para dos personas. Cada jugador cuenta con un grupo de fichas de un color que diferencia a cada

?2

ALGORITMOS BAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

23

participante. El objetivo de los jugadores es ser el primero en lograr alinear cuatro fichas del color y que las identifica, ya sea en forma horizontal, vertical 0 diagonal.

EI juego termina cuando uno de los dos jugadores logra la alineaci6n de cuatro de sus fichas, 0 en el tablero ya no quedan mas espacios donde depositar fichas. Si el caso es el Ultimo, entonces hubo empate.

El tablero es en forma de matriz (ver Figura No.3), y el tamano es de seis filas por siete columnas.

Figura No.3.

El juego se desarrolla conforme cada jugador deja caer una de sus fichas en cualquiera de las siete columnas. Las fichas se introducen por la abertura disponible en la parte superior del tablero. Si la columna esta vacia, la ficha cae hasta el fondo, de 10 contrario cae sobre de la ficha 0 fichas depositadas previamente. Luego de que el jugador realiza su tiro cede el turno a su oponente.

ALGORITMOS BAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

24

Para la realizar el juego se cre6 un programa en Visual Basic 6.0 con interfase a un tablero electr6nico. En el programa se puede jugar en las siguientes modalidades:

1) Humano vrs. Humano

2) Computadora vrs. Humano

3) Computadora vrs. Computadora

3.3 Algoritmo del programa

Al explicar en que consiste el juego Connect Four y las reglas que contiene, se describe a continuaci6n el algoritmo del programa desarrollado, utilizando la teoria matematica que se presenta en las secciones anteriores.

Esta secci6n hace enfasis en la parte del programa donde la computadora toma la "mejor" decisi6n al participar como jugador. La primera parte explica c6mo se representa y almacena en memoria el estado del juego y en la Ultima parte se muestra c6mo la computadora toma la mejor decisi6n y bajo que criterios 10 hace.

• Definicion del tablero en la memoria

Para almacenar en memoria el tablero del juego es necesario dec1arar una matriz de siete filas por ocho columnas de tipo numerico. Cada cas ill a 0 posici6n del tablero (nombre especifico de la matriz) puede tomar tres valores diferentes.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLlCADOS A LA ELECTRONlCA E INFORMATICA

25

Al principio de cada juego se inicializa cada celda del tablero con el valor "-1". Este " -1" indica a la computadora que las celdas estan vacias, tal y como se indica en la Tabla No.5.

o = Jugador 1 1 = Jugador 2

-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1
1 2 3 4 5 16 7 \8 I Tabla No.5

En la Tabla No. 5 se observa un tablero que esta completamente vacio con excepci6n de la primera columna, la cual tiene dos tiros. Una celda no puede tener un tiro 0 estar ocupada si la inmediata de abajo esta vacia. Por ejemplo, en la Tabla No.5 la casilla (6,1) esta ocupada por el jugador 2 ya que la casilla (7,1) guarda el tiro de uno de los jugadores, es decir que no esta vacia. Si el jugador de turno quiere hacer un tiro en la columna cuatro, la primera casilla en ocuparse es la casilla (7,4).

ALGORlTMOS BAslCOS DE LA TEORiA DE JUEGOS APLlCADOS A LA ELECTRONICA E INFoRMA. TICA

26

Al mencionar 10 anterior es necesario almacenar el estado de cada columna, para que la computadora identifique las celdas que tiene ocupadas. Los otros dos valores posibles para el tablero, "0" y "1" indican que jugador es dueno de una celda especifica.

EI valor "0" se utiliza para representar las celdas que estan ocupadas por el jugador 1 (primer jugador en hacer un tiro) y el valor " I" se utiliza para representar las celdas que estan ocupadas por el jugador 2 (segundo jugador en hacer un tiro).

Para llevar el control del estado en el que se encuentra cada columna, se utiliza un vector de ocho posiciones Ilamado "Puntero de Columna" (ptrColumna). EI vector PtrColumna es un vector de tipo entero el cual se inicializa en todas sus celdas con el numero "7". Los numeros en las celdas pueden variar de siete a cero. Estos Ilevan una cuenta descendente que indica el numero de la fila que toea Ilenar en la columna. Ver la Tabla No.6

NUMERO DE COLUMNA

Tabla No.6

Cuando el valor en una de las posiciones del vector es cero, indica a la computadora que la columna que es igual a la posicion del vector se encuentra llena y que no puede ser posible realizar un tiro en esa columna.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLlCADOS A LA ELECTRONIC A E INFORMATICA

27

La matriz donde se almacena el juego y el vector PtrColumna estan relacionados ya que para realizar un tiro y almacenarlo en la matriz Tablero, es necesaria la infonnaci6n del vector PtrColumna. La Tabla No. 7 muestra un ejemplo de c6mo se relacionan ambos.

Nl'lMF.R 0 nE rOT .T TMN A
1 1 12 13 14 15 16 17 Is
7 7 7 7 7 7 7 NUMERODE
FILA A LLENAR
O=JUGADOR 1
1 =JUGADOR 2 7

-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 Tabla No.7

En la ilustraci6n los jugadores ya realizaron dos tiros. Como se puede observar, ambos tiros se ejecutaron en la columna 1. El vector PtrColumna en la posici6n 1, tiene almacenado el numero 5, que indica la siguiente posici6n a llenar.

Todas las otras posiciones del vector contienen "7", ya que en 10 que va del juego ninguno de los jugadores ha ejecutado ningun tiro

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APUCADOS A LA ELECTRONICA E INFORMATICA

28

en esas columnas. Con la estructura de datos en mencion es posible que la computadora lleve un control del juego y pueda sacar de ella toda la informacion necesaria para computar 0 "decidir" en que columna tirar.

En Teoria de Juegos se defme que cada pago esta en funcion de las estrategias. Tambien se sabe que existen cuatro maneras distintas de ganar el juego y estas son las estrategias que se bus can. Las cuatro estrategias que estan disponibles para ambos jugadores se forman con cuatro fichas de su color en vertical, en diagonal en cualquiera de los dos sentidos y en horizontal. Es entonces evidente que al inicio del juego en la columna cuatro, el jugador I tiene todas las estrategias posibles disponibles (cuatro) como se observa en la Tabla No. 8.

-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1
-~ -1 -1 -n -1 -1 ./1 -1
-1 ~ -1 -~ -1 ~ -1 -1
-1 -1 ~ -~ / -1 -1 -1
- ... ... "'= V ... ... ... -1
I I I .. I Tabla No.8

Pero la probabilidad de fonnar una diagonal es menor que fonnar una vertical 0 una horizontal, pues el numero de tiros faltantes

ALGORlTMOS BAslCOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

29

en las diagonales es mayor que en cualquiera de las otras dos opciones. Por 10 tanto, se necesita asignar un peso a cada estrategia, y ese peso es el numero de tiros faltantes para lIe gar a formar cuatro en fila. En este sentido, para cada columna existe un numero de estrategias cada una de estas con un peso especifico. Entonces esta informacion se almacena y sirve para escoger la columna con la estrategia que mas conviene.

A continuaci6n se explica a detalle como funciona este procedimiento. Al analizar de nuevo el diagrama de la Tabla No.8 i,cual es el peso de cualquiera de las diagonales? Para responder esta pregunta, s610 hace falta contar el numero de tiros (del jugador 1 y del jugador 2) que hay que realizar para formar cuatro en fila. En el ejemplo hacen falta nueve tiros para formar cuatro en las diagonales, y solamente tres tiros para formar cuatro en vertical y/o horizontal.

Otro dato util que se puede obtener es, la cantidad de tiros con que puede formar el jugador de tumo una alineaci6n para ganar, partiendo del ultimo tiro que realiz6. En el ejemplo, el jugador I esta formando un tiro en la columna cuatro y ningun tiro en las otras columnas. Estos datos se calculan al simular el tiro en cada columna posible del tablero, y se almacenan en una estructura de datos como la de la Tabla No.9. De 10 que se procesa y analiza la informaci6n para buscar un tiro posible.

ALGORlTMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

30

VERTICAL HORIZONTAL DIAGONAL SLASH
Forma Faltan Forma Faltan Forma Faltan Forma Faltan
1
2
3
4
5
6
7
8 Tabla No.9

En la estructura de la Tabla No. 9 se encuentran las cuatro estrategias posibles para cada columna, es por eso que esta numerada del uno al ocho. Para diferenciar las diagonales segun la direcci6n en la que se construyen, se llama a una diagonal (" / ") y a la otra slash (" \ "). Cada estrategia cuenta con dos campos, en uno se almacena el numero de tiros que forma al simular el tiro en determinada columna y en el otro se guarda el numero de tiros Jaltantes para fonnar cuatro en linea y en consecuencia a ganar. Cada columna cuenta con cuatro posibilidades,de las cuales la computadora elige la mejor de cada columna y la almacena en otra estructura de datos. Esta estructura se utiliza para encontrar en que columna conviene tirar. La Tabla No. 10 muestra la forma que tiene la nueva estructura.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONlCA E INFORMATICA

31

FORMA FALTAN No. DE ESTRATEGIAS
1
2
3
4
5
6
7
8 Tabla No. to

La estructura de datos de la Tabla No. 10 cuenta con tres campos. Los dos primeros representan las fichas a formar y los tiros que faltan para ganar, de la "mejor" estrategia para determinada columna. Para elegir la mejor y almacenarla en la estructura de datos de la Figura No.7, la computadora utiliza el siguiente criterio:

Primero elige la estrategia con la cual forma mas tiros. Si dos 0 mas estrategias cuentan con el mismo numero de tiros a formar, la computadora rompe el empate, y opta por la estrategia con la cual hacen falta menos tiros para ganar. Si hay un empate entre dos 0 mas estrategias, la computadora elige cualquiera de todas, ya que cumplen con ser las mejores representantes de la columna.

En el campo etiquetado "No. de Estrategias" se almacena el numero de estrategias posibles que existen en la columna. Ese numero de estrategias posibles puede variar de cero a cuatro. Es cero cuando la columna esta llena, 0 cuando no es posible formar cuatro en fila, y es cuatro cuando en la columna se puede ganar fonnando cuatro en cualquiera de las opciones posibles.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

32

Con la informacion que da la estructura de datos de la Tabla No. lOla computadora evalua en cual de todas las columnas recibe el pago mas grande, es decir, donde maximiza su ganancia. Eso 10 hace de la siguiente manera:

Si la computadora encuentra una columna don de se forman cuatro fichas en fila, enseguida elige esa columna. En caso contrario opta por la columna donde el numero de estrategias para ganar es el mayor. Cuando hay empates en el campo "No. de Estrategias'', la computadora los rompe tomando la columna donde forma mas fichas en linea.

Si en este campo tambien surge un empate, la computadora hace referencia al Ultimo campo "F AL TAN" Y juega donde le faltan menos tiros. La columna elegida es la que la computadora prop one para efectuar el siguiente tiro. Ver el siguiente ejemplo en la Tabla No. 11

1
2
3
4
r-- ~5
6
7
R
TIROS
L...... I FORMA

I FALTAN

I #ESTRATEGIAS I

3 5 3
2 2 1
1 3 3
3 5 4
3 1 4
2 8 2
2 4 I
1 3 1 UGERIDO POR LA COMPUTADORA

TlIhlli Nn. 11

ALGORITMOS BAslCOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

33

En el ejemplo de la Tabla No. 11, en columna 5 seda el tiro optimo ya que es donde tiene mas estrategias posibles, forma mas tiros y faltan menos para ganar.

Hasta el momento unicamente ha sido resuelto la mitad del problema, "como la computadora elige la columna en la cual se propone tirar". A continuaci6n se ve la forma en que la computadora procesara la informaci6n y minimizara las perdidas, Si se sigue unicamente el algoritmo presentado, no se evalua si el contrincante gana 0 si resulta beneficiado cuando la computadora tira en la columna propuesta. El algoritmo completo tiene la forma de los procesos estocasticos fmitos, ya que trata de evaluar la toma de decision como un todo. A continuaci6n se presenta con mas detalle 10 dicho anteriormente.

Cuando es el turno de la computadora hace 10 siguiente: primero, copia el estado actual del Tablero a un Tablero Imagen, en el cual hace todo el desarrollo de su juego. Luego como se menciona, la computadora propone su columna de tiro 6ptimo, simulandolo en el Tablero Imagen. Si la computadora gana al tirar en ese tiro optimo, termina el algoritmo y ejecuta su tiro. De 10 contrario la computadora guarda en un historial el tiro simulado y encuentra la "mejor" opcion para el contrincante y la simula en el Tablero Imagen, suponiendo que la computadora lanza en su tiro optimo. Despues evalua si el oponente gana.

ALGORITMOS BAslCOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E lNFORMA TICA

34

Si gana el oponente, la computadora borra su jugada y la del oponente y repite el proceso. En la Figura No.4 se muestra un diagrama de c6mo funciona este proceso.

~o 0 Q

~~~?O~Q

.. \.V 0:"'---

• L • Q

o ·

G)~ · · :

~n~











Figura No.4.

La Figura No.4 es una representaci6n grafica del siguiente ejemplo. En este caso se asume que ya han pasado cinco jugadas. Tres jugadas de la computadora, y dos jugadas del oponente. Los nodos simbolizan cada columna; hay ocho nodos y la computadora elige la "mejor" jugada y simula el tiro en el Tablero Imagen. Luego escoge el mejor tiro para el oponente y 10 simula. La Figura No.4 presenta cinco jugadas donde la computadora no ha encontrado ganador hasta el Ultimo tiro, donde encuentra que el oponente gana. POT 10 tanto, si no ha probado las ocho opciones de tiro, sigue probando y simulando el juego hasta que ella gana 0 el juego queda en empate.

ALGORlTMOS BAsICOS DE LA moRiA DE ruEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

35

Cuando la computadora evalua las ocho opciones y aun asi el contrincante gana, borra los ultimos dos tiros de ella y del oponente para hacer una prueba con el siguiente dato de acuerdo al historial de tiros ejecutados. Este proceso se repite hasta que, como ya se dijo, la computadora gana 0 empata. Cuando encuentra la combinacion de todas las ramas donde gane 0 emp ate , tira en el nodo base. Si es inevitable que la computadora pierda ya que ha perdido con todas las combinaciones posibles, ejecuta el tiro de acuerdo ala combinaci6n donde mas prolonga el juego.

3.4 Fase de eledronica

En esta secci6n se explica como fue la electr6nica integrada a este proyecto. Se da una breve descripci6n del funcionamiento del circuito y de por que es integrada de esta manera. Tambien se presenta de manera detallada la informacion que respecta a cada CI (circuito integra do ) y el aporte dentro del sistema.

3.4.1 DescripciOn general

La electr6nica es incorporada a al proyecto creando un tablero electr6nico, el cual mantiene en una pantalla de fotodiodos (leds) el juego que se desarrolla en la aplicaci6n. Es conocido que esta aplicacion corre en una computadora, por 10 cual se tuvo que hacer una interfase entre la computadora y el tablero.

ALGORITMOS sAslcOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

36

La primera parte donde se involucra la electr6nica es en la creaci6n de una tarjeta ISA. Como se sabe, el puerto paralelo de una computadora s610 puede enviar 0 recibir informaci6n en 8 de sus 25 pines, a diferencia que con esta tarjeta se cuenta con 24 pines para entrada 0 salida de datos, dependiendo de la configuraci6n de los puertos.

La tarjeta ISA es utilizada para ampliar la cantidad de pines del puerto paralelo, 0 sea que, crea un nuevo puerto paralelo utilizando el integrado 8255, configurado para que sus puertos A, B y C sean de salida. La explicaci6n detallada del 8255 se presentara en las secciones siguientes.

La segunda parte donde utilizamos la electr6nica, es para crear el barrido de imagenes de la pantalla de leds en el tablero electr6nico. El barrido de imagenes busca crear una ilusi6n 6ptica, que Ie da la sensaci6n al ojo humano de que las columnas del tablero estan siempre encendidas. Este efecto se logra al hacer corridas en forma secuencial a altas velocidades.

Un ejemplo claro de este es la manera en la que se creaban muchas de las caricaturas antiguas. En elIas un dibujante era el encargado de crear cada una de las imagenes que representan el movimiento y una maquina al correr estos dibujos a gran velocidad, crean la ilusion de movimiento de la figura. En este caso, el barrido de imagenes es utilizado para que en vez de tener una salida por cada una de las posiciones de tablero, solo se tuviera la salida de datos de

ALGORITMOS SAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

37

una columna. Repitiendo el proceso de iluminar una columna a la vez a gran velocidad, crea la ilusi6n que todos los puntos en la pantalla siempre estan encendidos, logrando con esto que el numero de salidas se reduzca.

Este barrido de imagenes es posible por los registros de memoria que se encargan de almacenar el estado de cada columna, que representan el tiro de cada jugador. Esta estructura requiere a su vez de un contador que lleve la secuencia para direccionar los datos que se envian a ceda columna.

El barrido de imagenes cuenta con un oscilador que envia una seiial digital de alta frecuencia (medida en kilohertz). La seiial es introducida a la entrada de reloj de un contador binario que tiene dos funciones: la primera es encargase de ir direccionando la memoria RAM para indicarle que byte de informacion debe de escribir en la columna, y la segunda es indicarle al demultiplexor que columna debe encender para que reciba la informaci6n que la memoria RAM.

Ahora que se tiene una idea general de 10 que es un barrido de imagenes, se explica a continuaci6n con mayor detalle c6mo se crea esta ilusi6n y el aporte que da cada circuito integrado que se usa.

3.4.2 Tarjeta ISA (integrado 8255)

La interfase periferica programable 8255 (PPI) es un circuito impreso en una tarjeta que se instal a a un slot ISA de la computadora.

ALGORITMOS BAslCOS DE LA TEORiA DE JUEGOS APLiCADOS A LA ELECTRONICA E INFORMATICA

38

Esta tarjeta da la capacidad de contar con un dispositivo capaz de recibir y enviar datos de manera digital. El 8255 tiene 3 puertos, cada uno de 8 bits TTL, que se pueden configurar para entrada 0 salida de datos. Estos puertos se denominan A, Bye respectivamente.

E18255 permite usar las siguientes tres modalidades: • Modalidad 0:

El puerto A y B operan ya sea de entrada 0 salida y el puerto C se divide en dos grupos de 4 bits, que operan ya sea de salida 0 entrada.

• Modalidad 1:

La misma modalidad que la anterior para los puertos A y B, yel C se usa para control y configuraci6n.

• Modalidad 2:

El puerto A es bidireccional (entrada y salida) el puerto C es para control y configuraci6n, y el puerto B no se utiliza.

Estas diferentes modalidades se logran por medic de la escritura de valores especiales al puerto de control. La Tabla No.12 10 ejemplifica:

ALGORITMOS sAslCOS DE LA TEORIA DE JUEGOS APLICADUS A LA ELECTR6NICA E INFORMATICA

39

8255 (CONTROL) MODE CONFIGURATION

CONTROL WORD CONTROL WORD PORT PORT PORT
(HEX) (DECIMAL) A B C
80 128 OUT PUT PUT
82 130 OUT ~ PUT
~5 137 PUT PUT IN
87 139 PUT IN IN
88 144 ~ OUT OUT
88 146 IN IN PUT
8C 153 IN PUT ~
8F 155 IN ~ ~ Tabla No. 12

Para el direccionamiento se define un puerto base, donde el puerto A tiene ese numero de identificaci6n asignado. El puerto B usa un numero de identificaci6n puerto base + 1, el puerto C utiliza puerto base +2 Y el puerto de control es puerto base +3. Para mayor entendimiento ver la siguiente Tabla No. 13 siguiente:

NUMERO DE IDENTIFICACION PUERTO
280 (DIRECCION BASE) PUERTO A
281 PUERTOB
282 PUERTOB
283 PUERTO CONTROL Tabla No.13

Si se escribe 128 en el puerto de control se configuran los tres puertos de salida.

ALGORlTMOS BAsICOS DE LA TEORlA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMA TlCA

40

Diagrama de tarjeta isa

74LS138

8255 PPI

3.4.3 Compuerta and

Es un integrado con numero EeG 74LS08 que consta de 6 entradas y operan de acuerdo con la funcion logica Y. Esta funcion se represent a asi:

Y = AB ; donde A y B son entradas y Y es salida La tabla de verdad de la funcion es la siguiente:

ENTRADAS

SALIDA I

A 8 Y
L L L
L H L
H L L
H H H H =5 V L=OV Tabla No. 14

ALGORITMOS BAslCOS DE LA TEORIA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

41

Diagrama interno

·i; .

I.

"

.~

Aport~

.'II

RI

y.

Figura No. 5

.H

"

El aporte de la compuerta AND al circuito es habilitar 0 deshabilitar la entrada del reloj al contador que se encarga del barrido de imagenes. Cuando se detiene el reloj, se configura la direcci6n de los datos de la columna don de se realiza el lanzamiento para modificar lamemoria.

3.4.4 Compuerta not

Esta integrado con numero ECG 74LS04 Y consta de 6 entradas.

Da e1 mismo resultado que una funci6n 16gica de NEGACI6N. Esta funci6n se denota de la siguiente manera:

ALGORITMOS BAslCOS DE LA TEORlA DE mEGOS APLiCADOS A LA ELECTRONICA E INFORMATICA

42

y = 1 donde A es una entrada logica y Y es la salida Las salidas responden a la siguiente tabla de verdad.

ENTRADA SALIDA
A y
L H
H L H =5V L=QV Tabla No. IS

Diagrama interno

Aporte

..

..

II

'I

I,

.. /,

..

, .

Figura No.6

El integrado NOT es utilizado dentro de la aplicacion para negar las salidas provenientes del integrado DEMULTIPLEXOR. El problema es que al direccionar un demultiplexor, esta salida direccionada toma el valor de cero 16gico y todas las demas salidas de unos logicos, mientras la pantalla de leds necesita que Ia salida

ALGORITMOS BAsIC OS DE LA TEORlA DE JUEGOS APLiCADOS A LA ELECTR6NICA E INFORMATICA

43

direccionada tenga un valor de uno logico y las demas un valor de cero logico.

3.4.5 Schmitt trigger

Este integrado tiene numero EeG 74LS14 y tiene 6 entradas. Su principal funcion es realizar una negacion logica del valor de las entradas. Cada entrada cuenta con histeresis, 10 que hace que se incremente la inmunidad ante el ruido y transforma una senal poco cambiante en una senal mas estable. Las salidas responden a Ia siguiente tabla de verdad:

ENTRADA SALIDA
A Y
L H
H L H =5V L=QV Tabla No. 14

Diagrama interno

'.; AI t. Al VI If

AI -, Q '" '" "2 ....

Figura No. 7

ALGORlTMOS BAsICOS DE LA TEORiA DE JUEGOS APLlCADOS A LA ELECTRON1CA E INFORMATICA

44

Aporte

Este integrado ayuda a mejorar la salida de una senal cuadrada que proviene de un oscilador. La salida de un oscilador creado a partir del integrado LM555, por complicaciones de construcci6n y operaci6n, no es totalmente cuadrada (ver figura No.8.l). Entonces, al colocar el integrado schmitt trigger a la salida, la setlal es estable (ver figura No.8.2). Esta sefial se debe mejorar pues en frecuencias altas la senal de la Figura 1 hace un funcionamiento incorrecto de circuito del tablero.

Figura No. 8.1

3.4.6 Contador binario

Figura No. 8.2

Este integrado con numero EeG 74LS191, es un contador binario de 4 bits. Dentro de sus caracteristicas mas importantes se encuentran las siguientes:

• Capacidad de contar ascendente 0 descendente,

• La configuraci6n se hace en entradas distintas del integrado.

• Tiene entradas para la configuraci6n del numero del cual inicia Ia cuenta,

ALGORITMOS BAslCOS DE LA TEORiA DE lUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

45

• Tiene entrada para habilitar y deshabilitar las salidas.

• Capacidad de acarreo en conteo.

• Soporta frecuencias de hasta 25 Mhertz en su entrada de reloj.

DiagraDlainterno

.. fA .. ,. e

Vi. A CI,.Ot,:It CLOCK _ LOAD 0
I. .. U 12 11 to •

~ I-

1 a I • I • 7 T' Figura No.9

Aporte

Este integrado tiene dos funciones dentro de la aplicacion. La primera es direccionar a1 demultiplexor, que es el encargado de decidir que columna recibe la informaci6n, y la segunda es direccionar las memorias RAM para que escriban el byte de memoria que corresponde a cada columna.

ALGORITMOS BAslCOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

46

3.4.7 Demultiplexor

Este integrado ron numero EeG 74LS 138, funciona de la siguiente manera:

Tiene tres entradas, las cuales se manejan de forma binaria, que sirven paradireccionar cualquiera de las 8 salidas. La salida direccionada tiene un valor logico de cero y las restantes siete un valor l6gico de uno.

El funcionamiento se presenta en la Tabla No.16:

G1 G2 C B A YO Y1 Y2 Y3 Y4 Y5 Y6 Y7 X H XXXHHHHHHHH LX XXXHHHHHHHH H L LLllHHHHHHH H lllHHlHHHHHH H l lHLHHlHHHHH H llHHHHHlHHHH H L HLLHHHHLHHH H L HLHHHHHHLHH H L HHLHHHHHHLH IH L HHHHHHHHHHL

H = 5V, L = OV~ x = NO IMPORTA.

Tabla No. 16

Diagrama interno

I·· u t. Il ., " 10 It

,.... f>

t ~ I 4 It • , I' _ • C 0211 _ o. n OlD -_- OUTf'IIT

Figura No. 10

ALGORITMOS BAslCOS DE LA TEORIA DE JUEGOS APLlCADOS A LA ELECTRONICA E INFORMATICA

47

A porte

El aporte de este integrado al circuito es que se encarga de indicar que columna de leds se encendera Esto se logra de la siguiente manera: De un contador se direcciona cualquiera de sus ocho salidas, donde cada salida esta conectada a una columna de la pantaUa. Cuando se direcciona la salida 10 que se logra es enviar voltaje a la columna que esta conectada a ella; siendo esta la unica columna capaz de hacer visible sus datos. Recordando que la salida del demux es un cero logico en la salida direccionada, entonces antes de enviar la senal ala columna se pasa por un negador.

3.4.8 Flip flop

El integrado con nfunero EeG 74LS373 denominado Flip Flop Tipo D, cuenta con 8 entradas y 8 salidas. La caracteristica de Tipo D significa que es una especie de cerrojo donde al haber una transici6n positiva en su reloj, carga los datos logicos de las entradas a las salidas, Tambien tiene la caracteristica que tiene 3 diferentes estados que funcionan segun la siguiente tabla.

OUTPUT ENABLE D OUTPUT
CONTROL
L H H H
L H L L
L L X 00
H X X Z H= SV L = OV x = No importa

Z = Alta impedancia QD= Salida

Tabla No. 17

ALGORlTMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

48

Diagrama interno

OM14LS~73

Figura No. 11

Aporte

Los aportes de este integrado a la aplicacion son los siguientes: el primer aporte es que evita un corto circuito entre las salidas del puerto paralelo y las salidas de las memorias RAM, ya que estan conectadas a un mismo nodo; y el segundo aporte es que evita que al modificar datos en la memoria RAM se vean en pantalla.

3.4.9 Memoria ram

Para este integrado se utilizo la memoria RAM SONY de 64K, pero si se utiliza una de menos capacidad se optimiza recursos. Existe una memoria RAM para cada jugador, el cual utiliza 8 bytes de su memoria. Cada jugador en un byte de su respectiva RAM almacena los datos por columna, sobrando el Ultimo espacio debido a que cada columna cuenta con siete casillas. Para visualizarlo mejor

ALGORITMOS BAslCOS DE LA TEORiA DE JUEGOS APUCADOS A LA ELECTR6NICA E INFORMATICA

49

ver Tabla No.1 & donde se analiza el almacenamiento de informacion en un byte.

FILA 1 FILA 2 FILA 3 FILA 4 FILA 5 FILA 6 FILA 7 VACIA
061 061 061 061 061 061 061 X BYfE DE RAM Tabla No. 18

La informacion que se almacena en cada posicion puede tener un valor de 0 6 1 debido a que jugador realiz6 el tiro. El valor de la casilla es uno 16gico si la ficha del jugador no ocupa esa posici6n, y es cero logico si la ocupa. Debido a esto las memorias RAM se inicializan con unos logicos para que todos los leds de la pantalla esten apagados.

Cuando una casilla en cualquier columna es o cup ada por el tiro de algun jugador, automaticamente esa casilla no puede ser utilizada por el 000 jugador, por 10 que en la casilla del primer jugador aparecera un cero logico y en la del segundo jugador con un uno 16gico (ver figura 1). Esta configuraci6n se dio debido a que elled bicolor utilizado recibia voltaje en la terminal comun y cambiaba su color dependiendo de en que terminal se le de tierra.

FILA 1 FILA 2 FILA 3 FILA 4 FILA 5 FILA 6 FILA 7 VACIA
0 1 1 1 1 1 1 X RAMmOADOR 1

Tabla No. 19~1

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

50

FILA 1 FILA 2 FILA 3 FILA 4 FILA 5 FILA 6 FILA 7 VACIA
1 0 1 1 1 1 1 X RAM JUGADOR 2

Tabla No. 19.2

Las Tablas No. 19.1 y 19.2 representan como se almacena la informaci6n de los tiros efectuados por los jugadores en memoria. Estas tablas hacen referencia especificamente al ejemplo de la secci6n 3.2. En ese ejemplo se observa los jugadores efectuaron sus tiros en la columna uno, por 10 que en la direccion de las memorias RAM's que almacenan los datos de la columna uno, la memoria RAM del jugador uno tiene un cero l6gico en la fila uno y la memoria RAM del jugador dos tiene un cero l6gico en la fila dos.

Diagrama interno

Ao A1 A2 A3 A4 As As AT

DATNJIJr WE GND

D22~1

Vee

A15

A14

A1J

A12

A11

A10

Ag

AS DATAIN CS

2986 drw Q2

Figura No. 12

ALGORITMOS BAslCOS DE LA TEORiA DE ruEGOS APLiCADOS A LA ELECTR6NICA E INFORMATICA

51

A porte

En resumen, el aporte de la memoria RAM a la aplicacion es que sirve como un medio de almacenamiento para la informacion del juego. Esta informacion proviene de 8 bits del puerto paralelo enviados por la computadora. Recordemos que por el tipo de memoria que es, la informacion se mantiene mientras el circuito esta encendido.

3.4.10 Almacenamiento de informacion en rams

En esta seccion se tratan los pasos que se deben seguir aI querer modificar los datos en la memoria RAM, para ser utilizados posteriormente en el barrido. El algoritmo va de la siguiente manera:

Paso 1: DetenciOn del barrido de imagenes.

Se envia un cero l6gico en un bit del puerto que detiene al contador binario. Este proceso se lleva a cabo ya que este bit se encuentra en una compuerta "Y" (and) con el reloj del contador.

Paso 2: Configuracion de direcciOn.

La configuraci6n de la direcci6n donde se almacenara el nuevo dato se realiza por medio de 3 bits del puerto que configuran 1a direcci6n en el contador binario. La configuraci6n se realiza en este integrado ya que sus salidas son las que se encargan de direccionar a la memoria

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRON1CA E INFORMATICA

52

RAM y demultiplexor. Despues de haber configurado la direcci6n en las entradas del contador se envia, en un bit de la computadora, un uno logico para que cargue esta direcci6n a la salida del contador.

Paso 3: Habllitar ram dependiendo del jugador.

Existe una memoria RAM para cada jugador de la aplicaci6n.

Entonces dependiendo de que jugador haya realizado su tiro, asi escogemos la memoria RAM que debe estar lista para recoger su nueva informacion. En este proceso se utiliza 1 bit de la computadora para cambiar el estado de la memoria RAM, de escritura a lectura.

Paso 4: Habilitar flip flop y carga de datos.

En este proceso 10 que se busca es cargar los datos enviados de la computadora a la RAM que esta lista para recibirlos. Los FLIP FLOP's se utilizan como dispositivo de proteccion, para evitar un corto circuito entre las- entradas de la computadora y las- salidas de la memoria RAM. Se utilizan dos bits de la computadora de la siguiente

manera:

El primero es para habilitar al FLIP FLOP Y el segundo para cargar los datos del puerto a las salidas del FLIP FLOP. Los datos se envian por medio de 8 bits del puerto a las entradas de los FLIP FLOP's. En el instante que cargan los datos a la salida del FLIP FWP se carga Ia informacion a la memoria RAM, ya que esta preparada para recibirlos.

ALGORITMOS aASICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

53

Paso 5: Deshabilitar flip flop y memoria ram.

Despues de haber cargado los datos a la memoria RAM se deben de deshabilitar tanto la memoria RAM como el FLIP FLOP. Se hace de esta manera para que al desactivar la memoria RAM nos aseguremos que 10 almacenado era 10 que tenian las salidas del FLIP FLOP Y no datos aleatorios. Este proceso de deshabilitar los integrados se logra enviando un uno l6gico en cada uno los bits del puerto que configuran a estos integrados.

Paso 6: Continuaci6n del barrido de imagenes.

Este ultimo proceso requiere de dos pasos:

El primer paso es hacer que el bit de carga de direcci6n en el contador regrese a su estado normal. Esto se logra asignandole un valor de un uno l6gico a este bit.

El segundo paso es restaurar al contador para que continue con su cuenta binaria. Esto se hace enviando un uno l6gico en el bit que entra ala compuerta "Y" (and) con el reloj del contador.

En la siguiente figura se observa como estan conectados todos los integrados explicados anterionnente. Las entradas del puerto paralelo son simuladas con interruptores l6gicos (switches). La misma figura es un circuito disenado en el simulador Circuit Maker, el cual se utiliz6 para verificar el desempeno del diseno del circuito.

ALGORlTMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECm6NICA E INFORMATICA

54

Diagrama del disefto del tablero electr6nico

V22 .vsv

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONIC A E INFORMATICA

55

CONCLUSI6N

Dentro del desarrollo del tema anterior se realiz6 una aplicaci6n sencilla cuyo fin es ejemplificar el tema de teoria de juegos. La aplicaci6n cuenta con una fase informatica y electr6nica, desarrollada con los conocimientos aprendidos en la universidad.

Con esta aplicaci6n no se piensa descubrir algun tema nuevo 0 probar alguna hip6tesis establecida por algun gran matematico 0 cientifico, simplemente, se persigue demostrar como las herramientas matematicas permiten de forma estructurada encontrar la soluci6n a problemas l6gicos cuyos planteamientos estan bien defmidos. Y con la ayuda de la informatica y electronica la operatoria de esta solucion se facilita. Se hacer ver que se llega a la soluci6n de problemas de una manera rapida y eficiente mezclando herramientas antiguas, como la matematica, que nos aporta la estructura de la solucion, con herramientas innovadoras, como la electr6nica e informatica, que se encargan de la operatoria de la soluci6n.

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTRONICA E INFORMATICA

56

RECOMENDACIONES

• Cuando se enfrenta un problema de cualquier tipo el primer paso es entenderlo y plantearlo. Una vez planteado el problema la soluci6n es inmediata.

• Defmido el problema se hace un listado de todas las estrategias con las que cuentan cada oponente.

• Cada estrategia tiene un impacto sobre la decisi6n que se toma. El analisis de cada estrategia yen conjunto es importante para medir ese impacto.

• Representar las estrategias en forma matricial permite ordenar y facilitar el planteamiento del problema para una soluci6n rapida, Las filas de la matriz representan las estrategias del Jugador 1 y las columnas representan las estrategias del Jugador 2.

• Las combinaciones de estrategias al ser representadas en forma de matriz, permiten medir el imp acto que tiene la combinaci6n de estrategias sobre el Jugador 1, en otras palabras, hay que sacar los pagos de las combinaciones para formar la matriz de pagos.

• Para enfrentar un problema es recomendable elegir un metodo de soluci6n para encontrar la 0 las estrategias optimas,

ALGORITMOS BAsICOS DE LA TEORiA DE JUEGOS APLICADOS A LA ELECTR6NICA E INFORMATICA

57

BmLIOGRAFiA

• lNTRODUCCI6N A LA TEORIA DE JUEGOS. E. S Venttsel.

Mexico. Limusa. 1989.

• INTRODUCCI6N A LA INVESTIGACI6N DE OPERACIONES.

Hillier, Frederick S. Lieberman, Gerald 1. Mexico. McGraw-Hill. 1999.

• INTRODUCCI6N A LAS MATEMATICAS FINITAS. Kemeny,

John G. Snell, 1. Laurie. Thompson, Gerald L. Mexico.

C.E.C.S.A. 1980.

• TEORIA Y PROBLEMAS DE MATEMATICAS FINITAS.

Lispchutz, Seymour. Mexico. McGraw-Hill. 1986.

• INVESTIGACI6N DE OPERACIONES. Taha. Mexico. Alfaomega Grupo Editor S.A. 1996

IMPRENTA IIGORAII

25 AVENIDA 25-71, ZONA 5 TELEFAX: 335-5733

También podría gustarte