MANUAL
Máquinas Mágicas
Versión 2.6 red
AutoMind
© AutoMind 2004
|
Descripción |
|
Instalación |
|
Diseño de una fábrica o circuito |
|
Crear Juego (crear servidor) |
|
Conectarse a un Juego |
|
Ejemplos de circuitos |
|
Ejemplos de juegos en red |
|
Máquinas Mágicas |
|
Versión 2.6 red www.automind.cl |
Descripción:
Máquinas Mágicas es un ambiente para construir máquinas armando un circuito o con máquinas más elementales. Cada máquina elemental es una función matemática básica o, a su vez, es otro circuito. Según edad y conocimientos puede usarse como:
Estrategia de Cálculo: Dado un circuito con máquinas realizar el cálculo a mano, y luego de programarlo y ejecutarlo en Máquinas Mágicas comparar resultados. Esta estrategia didáctica puede implementarse de diferentes maneras:
- adivinar la salida del circuito conociendo las entradas,
- dado las salidas adivinar entradas posibles,
- una combinación de las dos anteriores en las que se conoce la salida y algunas entradas y hay que adivinar el resto.
- en el caso de recurrencias (circuitos con retroalimentación), adivinar cuál(es) secuencia(s) puede(n) haber sido producida(s) por un circuito dado.
- dadas ciertas secuencias de pares entrada-salida y ciertas máquinas básicas, adivinar cómo conectarlas para generar esas secuencias.
Estrategia de Traducción a Representación Gráfica: Dada una fórmula o un enunciado expresado en palabras, diseñar un circuito que lo represente.
Estrategia de Imaginación de Gráficos: Dado un circuito adivinar la forma del gráfico que producirá una máquina ploter ubicada en un cierto lugar especificado.
Estrategia de Generación de Histogramas: Dada la forma de un histograma construir a partir de una o más máquinas aleatorias (tómbolas) un circuito que luego de corrido cierto número de iteraciones genere un histograma similar.
Estrategia de Generación de Tableros: Dado un circuito con una máquina tablero adivinar la forma del tablero o secuencia de tableros que se generan.
Juegos en red: El servidor carga un circuito con un juego, y luego al conectarse cada jugador apuesta introduciendo datos o programando su propio autómata.
Objetivo didáctico:
El objetivo de Máquinas Mágicas es apoyar la enseñanza y aprendizaje de las operaciones matemáticas básicas, las nociones de funciones y operadores matemáticos, la composición de funciones u operadores, la noción de iteración y recurrencia, las nociones probabilísticas de variable aleatoria y de histogramas experimentales y teóricos, las nociones de matrices y operadores sobre matrices, y las habilidades de modelamiento matemático.
Componentes principales:
- Máquina: elemento básico del juego que representa a una función u operador matemático. Cada máquina tiene entradas y salidas. Gráficamente se representa por una caja o máquina en la que la dirección del flujo de entrada salida es de derecha a izquierda, para hacerla así coincidir con el uso estándar en matemáticas de funciones (como en la notación y = f(x) ) y composición de funciones ( z = gof (x) que es igual a z = g(f(x)) ). A la derecha se encuentran las entradas y a la izquierda las salidas. Una máquina puede ejecutar la operación asignada sólo cuando están disponibles todos los valores de entrada.
- Circuito o fábrica: conjunto de máquinas unidas entre sí. El circuito completo se graba en un archivo de extensión .maq .
- Uniones: tuberías o conexiones que unen las distintas máquinas estableciendo el flujo de datos.
- Medidores: máquinas con el único propósito de medir y monitorear las salidas y entradas de las máquinas. En el caso de repeticiones también pueden mostrar histogramas de los resultados acumulados en un cierto intervalo de tiempo.
- Embudos: dispositivos que permiten establecer condiciones iniciales o ingresar datos.
- Macromáquina: conjunto de máquinas que se representan como una sola máquina, lo que en computación correspondería a una subrutina.
Instalación:
Corra el programa de instalación. En algunas versiones (las entregadas en CD) se acompaña máquina virtual java que también debe instalarse si usted no lo tiene en su PC. Si no tiene versión CD y no tiene máquina virtual java, entonces debe bajarla de la página de Sun y escoger según el sistema operativo que usted posea. Es sólo necesario bajar la máquina virtual para ejecutar programas (cerca de 8 Megas) y no la de desarrollo que pesa mucho más. Para más detalles vea la página de juegos.
Diseño de una fábrica o circuito
Al hacer un doble clic sobre el ícono del juego, aparece la pantalla de presentación que indica la versión de Máquinas Mágicas.
Luego de presionar el botón continuar se presenta la pantalla para Diseñar un circuito, o bien Abrir uno almacenado, o Crear un Juego (convertirse en servidor) o Conectarse a un Juego ya creado:

En el caso que se desee diseñar un circuito, a la derecha se encuentra una lista de máquinas. Esta versión contiene las siguientes máquinas:
- ABS: entrega el valor absoluto.
- ALEATORIO: genera números escalares al azar.
- COMPARTE: accede a información de los otros jugadores en red
- CONCATENA: forma un nuevo dato a partir de la unión de dos datos.
- CONSTANTE: ingreso de datos que no cambian durante la ejecución de la fábrica.
- COPIADOR: entrega en las dos salidas copias del dato de entrada.
- CRONOMETRO RED: contador de cuenta regresiva que al llegar a cero fuerza al envío de información de aquellos jugadores en red cuyas fábricas no han completado sus tareas.
- DIMENSIÓN DATO: entrega en la salida superior el número de filas del dato de entrada, y en la salida inferior entrega el número de columnas del dato de entrada.
- DISPLAY: despliega o muestra el dato.
- DISPLAY RED: despliega o muestra los datos de cada jugador conectado al juego a través de la red. Sólo el dato del jugador local pasa directo a la salida y queda disponible para la siguiente máquina.
- DIVISIÓN: divide el dato de la entrada superior (dividendo) por el número de la entrada inferior (divisor).
- EMBUDO: permite el ingreso de datos.
- EMBUDO CÍCLICO: permite el ingreso manual de datos en el primer ciclo y en los ciclos siguientes ingresa el dato de la retroalimentación. En esta versión no pueden incluirse ciclos en macromáquinas.
- EXTRAE ELEMENTO: entrega el valor del componente que se encuentra en la fila y columna especificadas por los índices en las entradas.
- FUNCIÓN TABLA: entrega el valor que se asocia a la entrada según una tabla.
- GRABADOR: graba en un archivo el dato que llega a su entrada, el cual luego es colocado en la salida.
- HISTOGRAMA: genera histograma o gráfico de barra de los datos en la entrada.
- LOGARITMO: entrega el logaritmo del dato de entrada.
- MACROMÁQUINA: permite incorporar a la fábrica otras fábricas y representarlas como una sola máquina.
- MATRIZ IDENTIDAD: genera la matriz identidad de las dimensiones especificadas en la entrada.
- MATRIZ TRANSPUESTA: matriz transpuesta de la matriz en la entrada.
- MÁXIMO O MÍNIMO: entrega el primer valor máximo o mínimo que se encuentre en dato de entrada, y entrega la fila y columna donde se encuentra.
- MÁXIMO: entrega el mayor de los datos o vector o matriz donde cada componente será el mayor de los componentes respectivos de los vectores o matrices de entrada.
- MÍNIMO: entrega el menor de los datos o vector o matriz donde cada componente será el menor de los componentes respectivos de los vectores o matrices de entrada.
- MULTIPLICACIÓN: entrega a al salida la multiplicación (matricial) de los datos de entrada.
- PLOTTER: permite representar gráficamente los datos mediante líneas.
- POTENCIA: entrega el dato inferior elevado a la potencia especificada en dato superior.
- RAÍZ: entrega la raíz cuadrada del valor en la entrada.
- RESTA: entrega la resta de los dos valores de entrada.
- SELECCIÓN AUTOMÁTICA: entrega en la salida la entrada que llegue primero.
- SELECCIONA ENTRADA: selecciona una de dos entradas dependiendo del valor de una entrada de control.
- SELECCIONA SALIDA: selecciona en cuál de las salidas se coloca el dato de entrada, dependiendo de una entrada de control.
- SUMA: entrega la suma entre el dos valores.
- TABLERO: genera tablero a partir de matriz, donde cada elemento de la matriz corresponde a un casillero de un tablero con color asociado a valor del elemento.
- TEST: realiza comparación entre los dos datos de entrada.
- TRIGGER: hace o no pasar el dato de la entrada inferior dependiendo de una entrada de control (entrada superior).
- TRIGONOMETRÍA: entrega el valor de la función trigonométrica especificada en las propiedades.
- TRUNCAR: entrega el mayor entero que es menor al valor en la entrada.
- VECTOR BASE: genera un vector horizontal o vertical en el cual sólo uno de sus componentes es 1 y el resto es cero.
Colocando el mouse sobre ellas aparece un texto que indica el nombre de la máquina.
Abajo a la izquierda se encuentran los siguientes botones:
imprime circuito en pantalla
despliega texto que documenta el circuito de máquinas
borra de la pantalla el circuito y deja la página en blanco para comenzar un nuevo diseño.
abre un archivo con un circuito previamente hecho y grabado.
graba en archivo el circuito en pantalla con la extensión maq que indica es una máquina o con extensión jgo para ser usado luego como programa principal de un juego en red.
ajusta pantalla, útil después de borrar parte de circuito
activar desactivar sonidos
efectúa las operaciones de las máquinas según la información que se le ingrese.
detiene la ejecución en curso.
Barra de velocidades:
cambia velocidad en la que se despliega la animación del flujo de información procesadas en el circuito por las diferentes máquinas.
A la derecha están también los botones
cancela la máquina seleccionada del menú para ser copiada a la página de diseño.
elimina la máquina del circuito que está seleccionada.
A continuación se presenta un circuito con dos embudos de entrada, una máquina suma, y un display de salida. En este caso además se ingresó x en el embudo superior, 3 en el embudo inferior y luego de presionar el botón Ejecutar, se animó un flujo de información que pasó por la máquina suma y continuó hasta el display, el cual mostró x+3. Si se hubiera ingresado arriba 5 y abajo 3, el resultado mostrado en el display sería 8.

Crear Juego (crear servidor)
Al hacer un doble clic sobre el ícono del juego, aparece la pantalla de presentación que indica la versión de Máquinas Mágicas. Luego de presionar el botón continuar se presenta la pantalla para Diseñar un circuito, o bien Abrir uno almacenado, o Crear un Juego o Conectarse a un Juego ya creado. Para crear un juego debe presionarse el botón
que crea un servidor del juego, para lo cual abre ventana de conexión en red

Al presionar el botón Crear Juego, el servidor se crea y aparece la ventana:

Luego debe seleccionarse y abrirse un archivo de extensión jgo que contiene el circuito o fábrica que especifica el juego seleccionado.
Conectarse a un Juego
Al hacer un doble clic sobre el ícono del juego, aparece la pantalla de presentación que indica la versión de Máquinas Mágicas. Luego de presionar el botón continuar se presenta la pantalla para Diseñar un circuito, o bien Abrir uno almacenado, o Crear un Juego o Conectarse a un Juego ya creado. Para conectarse a un juego debe presionarse el botón
que conecta a un juego ya creado por otro. Al presionar aparece la ventana:

Ejemplos de circuitos
Los ejemplos que se ilustran se pueden leer y cargar utilizando el botón Abrir.
La pantalla siguiente muestra un ejemplo de circuito. En este caso particular se representa la suma de dos variables aleatorias discretas. Al presionar el botón ejecutar, comenzará a moverse la información. Esto se visualiza como una animación en la que van encendiéndose las luces hasta producir el resultado y mostrarlo en los displays. La imagen mostrada corresponde al momento del lanzamiento 100. En los display se ve los valores en curso, 1 arriba y 1 abajo, y por lo tanto la suma es 2. Los histogramas muestran los valores obtenidos en cada una de las dos máquinas aleatorias y en la suma de esos valores.

El circuito siguiente corresponde a otro ejemplo. En este caso es un programa para dibujar en un tablero ingresando coordenadas de puntos. En la ventana derecha se ingresan las coordenadas de un punto que se pinta en el tablero mostrado en la ventana izquierda. En este caso se ha ingresado en la ventana de ingreso las coordenadas (40,40) y en la ventana Monitor-Tablero se muestra el punto ingresado de color rojo.

Ejemplos de juegos en red
A continuación se presenta el juego GANA EL DEL MEDIO. Este es un juego en el que participan tres jugadores. En cada turno cada jugador mueve su posición sobre la recta numérica y gana un punto el que queda al medio de los otros dos. Sin embargo, si dos jugadores quedan exactamente en la misma posición entonces el otro jugador gana el punto. Para moverse los jugadores apuestan por la magnitud del salto a partir de donde están. Es decir, si un jugador está en la posición 5 y apuesta ingresando el número -2, entonces se moverá a la posición 3. Los puntos se acumulan por 10 turnos y aquel con mayor puntaje acumulado gana el partido.
El circuito mostrado en la figura siguiente implementa este juego. El embudo cíclico contiene la posición de cada jugador, que inicialmente es cero. Esta se envía al servidor que junta las tres posiciones de los tres jugadores y a su vez las distribuye. Así por la salida de abajo entrega la posición de los tres y por la salida de arriba va la del jugador.
El juego puede jugarse de dos formas. Una forma es ingresando en cada turno un valor numérico (el salto) en la máquina embudo SALTO MANUAL. En ese caso además una copia de la información va a un display para recordarle al jugador su posición. Una vez ingresada la apuesta la máquina SUMA adiciona el salto a la posición obteniendo así la nueva posición del jugador y luego vuelve al embudo cíclico, quedando listo para el siguiente ciclo. El ciclo se reinicia cuando todos los jugadores terminan sus propios ciclos. En ese momento la máquina que comparte la POSICION DE TODOS LOS JUGADORES junta la información y la envía a todos.

La apuesta se hace ingresando un número en el embudo SALTO MANUAL. Para acceder a una ventana de ingreso, una vez cargado el juego y antes de comenzar, se debe hacer click derecho y seleccionar la opción Ver. Así se abre una ventana para el ingreso de apuestas, tal como la mostrada en la figura siguiente.

La otra forma de jugar es con autómatas. En esta forma, cada jugador diseña y programa de antemano su propio autómata. Luego, al momento de jugar lo conecta tal como se indica en la figura siguiente. Nótese que ahora el embudo SALTO MANUAL está desconectado y no se usa. También podría eliminarse el DISPLAY con la información de la posición del jugador, pues el jugador ahora no la va a leer. Sin embargo, esa información ahora alimenta directamente al autómata, el cual la utilizará junto a la información de la posición de todos para calcular su apuesta. El autómata debe ser una macromáquina que el jugador carga como un archivo .maq. Esa macromáquina contiene un algoritmo que automáticamente calcula un número y lo ingresa como apuesta. Así durante el juego el autómata apostará automáticamente sin intervención del jugador.

Cada jugador puede ver en el ploter la trayectoria a través de los turnos de sus posición y de los otros dos jugadores. En este caso se grafican las posiciones en 10 turnos. Para esto, antes de comenzar el juego, debe presionar el botón VER de la máquina DISPLAY RED.

En un juego pueden haber algunos jugadores apostando manualmente y otros con autómatas.
En los circuitos mostrados no se ha incluido el cálculo de los puntajes. Esto se puede hacer en una macromáquina.