Juego de la Vida Paralelo El Juego de la Vida fue desarrollado por J.H. Conway en 1970. Aunque parezca un juego, realmente es un modelo de una población de células que interactúan con su entorno. En el núcleo del modelo se encuentra una cuadrícula que representa el "mundo". Cada cuadrado puede estar ocupado por una célula viva o una muerta. La ejecución del juego produce una serie de generaciones donde cada una de ellas es un mundo derivado del anterior. Las células interactúan entre si usando las siguientes reglas: • Una célula muerta con exactamente 3 vecinos vivos se convierte en una célula viva (nacimiento) • Una célula viva con 2 ó 3 vecinos vivos permanece viva (supervivencia) • En todos los demás casos, una célula muere o permanece muerta (sobrepoblación o soledad) El patrón inicial constituye la “semilla” del sistema. La primera generación se obtiene aplicando las reglas antes descritas simultáneamente a cada célula en la semilla. Los nacimientos y las muertes suceden de forma simultánea. Las reglas se vuelven a aplicar nuevamente para obtener otra generación. En nuestro caso, vamos a considerar la cuadrícula que representa el mundo de forma toroidal. Estro significa que los bordes de la cuadrícula se conectan con sus respectivos extremos opuestos. En esta asignación deberá implementar el problema del Juego de la Vida usando un modelo de programación de Memoria Compartida (openMP) Consideren una cuadrícula de 512 x 512 puntos. La cuadrícula inicial que usará para probar su implementación viene dada por el siguiente código for (i=1; i<=N; i++) for (j=1; j<=N; j++) if ((i==N/2) || (j==N/2)) { board[i][j] = 1; num_alive = num_alive+1; } else board[i][j] = 0; printf("Numero de vivos %d\n",num_alive); Para cada generación que produzca imprima el número de seres vivos en la misma.