Ir al contenido principal

Reporte 8 - Paralelos

Como volvimos hacer el cluster desde 0, no he podido experimentar agusto porque todos tenemos que tener la misma configuracion y los mismos paquetes instalados.

Propuesta


En la clase de contexto la maestra nos puso un ejercicio, de intentar acomodar los números dentro de una matriz en este caso 5*5, el objetivo era que dentro del cuadro de 5*5 acomodaras los números del 4 al 28, sin que se repitieran y que sumados en horizontal, vertical y diagonal sumaran 80.  Recordé que los chinos o japoneses habían descubierto la forma de hacerlos. Busque en internet y ¡BRAVO! se llamaban cuadros mágicos, leei como se resolvía (arriba y derecha) y resolví el que la maestra había puesto de ejercicio, ganandome puntos extras (jahjhajahja :D).

Entonces se me ocurrio, ¿se podra hacer para cluster? y llege a la conclucion de que si se podria.

Modo Normal:

Supongamos que tenemos una matriz de n*n, entonces la forma de resolverlo es:

1.- Empezar con el primer numero, en la casilla de enmedio de la columna superior
2.- Moverte arriba y derecha, y poner el siguiente numero.
2.1.- Cuando la casilla este ocupada, poner el numero abajo y regresa al paso 2.
3.- Seguimos colocando numeros, hasta que se llene la matriz.
4.- Y al final comprobamos si la suma en diagonal, vertical y diagonal es igual a la cifra "magica".



Modo cluster:

Para hacerlo mas entendible, pongamos unos puntos de partida.
El cuadro ejemplo sera de  9*9



1.- Dividimos el MEGAcuadro 9*9 en 9 cuadritos de 3*3


1.1.-Como dice la regla "no podemos repertir lo números" entonces el cuadrito 2, empezara del numero 10 al 18; el cuadro 3, del 19 al 27 y asi sucesivamente.

2.- El primer cuadrito que se envía a algún nodo se le coloca un BANDERA, para cuando lo regresen al cuadro con la respuesta el "servidor" nadamas acomode (según la bandera).


3.- Cuando el nodo termine su trabajo regresar el cuadro y colocarlo en la posicion que esta asigando.




4.- cuando todos los nodos hallan terminado, tendremos una matriz de 9*9 resuelta en poco tiempo y sin perder la "cifra magica".


Esta es mi propuesta, en vacaciones trabajare con codigo, para correrlo en cluster.

Referencias

http://www.math.hmc.edu/funfacts/ffiles/10001.4-8.shtml#
http://gaussianos.com/cuadrados-magicos/

Comentarios

Publicar un comentario

Entradas populares de este blog

Pequeño Juego con LEDS y Dip Switch

Siguiendo con los mini-proyectos, lo que quería hacer originalmente era un tipo "candado" con push-button y LEDs, el objetivo seria, meter la combinacion de botones correcta y los LEDS encendería por un motivo practico, en forma de serpiente. El objetivo no cambio, pero por falta de "material" lo hice con un dip switch de X entradas(depende de que tan grande quieras la combinación). CONOCIMIENTOS(max. 7 estrellas): Electronica:     ★ ★ Programación: ★ ★ Juego de Combinación + LEDs El programa es un poco mas complicado que el mini-proyecto pasado , pero aun asi es basico. Guardamos las salidas de los LEDs en un arreglo, despues con los valores recibidos y comparados de los dip switch jugamos con los LEDś. Hardware Requerido (1) Arduino Uno (6) LED (8) Resistencias 330 Ω (1) Dip Switch Circuito Usamos las salidas del ARduino 2-7 para los LEDS Usamos la salida A5, A4 para el dip switch Para hacer prender los LEDS tienes que encontrar la

Tarea #5 - Codigo Hamming - Python

Codigo hamming Liga al repo Teoria segun wikipedia Antes de los códigos Hamming se utilizaron ciertos códigos detectores de error, como lo fueron el código linteing, pero ninguno llegó a ser tan eficaz como los de Hamming. A continuación se describen algunos de estos códigos. Paridad   La   paridad   consiste en añadir un bit, denominado   bit de paridad , que indique si el número de los bits de valor 1 en los datos precedentes es par o impar. Si un solo bit cambiara por error en la transmisión, el mensaje cambiará de paridad y el error se puede detectar (nótese que el bit donde se produzca el error puede ser el mismo bit de paridad). La convención más común es que un valor de paridad   1   indica que hay un número impar de unos en los datos, y un valor de paridad de   0   indica que hay un número par de unos en los datos. info. completa y un vídeo que me ayudo mucho para esta tarea: (TIENEN QUE VERLO - OBLIGATORIO) http://www.youtube.com/watch?v=xiDPFm9PeLU Impleme

Potenciometro + pushboton + led

Bueno, estos días he estado practicando con los ejemplos de la pagina de Arduino , algunos que me llamaron la atención los voy a compartir, por supuesto con modificaciones. Nivel de conocimientos: Electronica:        ★   Programació n :    ★    Potenciometro + push-boton = LEDintensidad El mini-proyecto es controlar la intensidad de un LED mediante un potenciometro el cual combinado con push-botton para prenderlo o apagarlo. Hardware Requerido (1) Arduino UNO (1) Potenciometro (1) Push-boton (1) LED (1) Resistencia 330 Ω Circuito Conectamos el LED al PIN 9 del Arduino Conectamos el PUSH_BOTON al PIN ANOLOGICO 0 (A0) Conectamos el POTENCIOMETRO al PIN ANOLOGICO 1 (A1) El funcionamiento del circuito es basico, mientras tengas pulsado el Push-Boton el LED se mantendrá encendido y con el pontenciometro controlas la intensidad del LED. Código Video