O jogo Vida

2001-06-19 Por tôpico Paulo Santa Rita

Ola Pessoal,

Saudacoes !

A mensagem que apresentei aqui e na qual propus que desenvolvessemos o jogo 
vida teve muitas replicas, muitas em off. Recebi e-mail's de muitos colegas, 
alguns criticando construtivamente, outros apenas comentando e outros 
abordando temas correlatos pelos mais diversos angulos.

Isso demonstra o interesse que o tema desperta; mas, tambem, e um indicativo 
do grande espirito de cooperacao e solidariedade que parece existir aqui na 
lista. Isso e muito bom. Eu, de coracao, agradeco a todos voces !

Aproveito a oportunidade para dizer que tenho uma certeza e que talvez seja 
bom alguns ouvirem : aqui e uma lista de quem gosta de matematica. A pessoa 
que tem um pendor para esta ciencia e uma certa habilidade com ela, VAI 
ENCONTRAR MUITA FACILIDADE EM APRENDER QUALQUER LINGUAGEM DE PROGRAMACAO E 
AS COISAS LIGADAS A INFORMATICA. Essa e a minha certeza !
De forma que quem nao sabe programar pode ter certeza que em poucas semanas 
pode dominar a linguagem que quiser. O resto e pratica.

Quem quiser aprender C++, adquira livros do Kris Jamsa ou do Herber Sclitz. 
Este ultimo autor tem um livro : Inteligencia Articial com a linguagem C. 
Muito bom. Alem de lhe introduzir em tecnicas de IA, voce vai lidar com 
problemas de programacao que se aproximacao mais do jeito matematico de 
ver as coisas.

Finalmente, gostaria de esclarecer AS REGRAS GERAIS a que me referi.

Nas regras de Conway existem tres acoes : desocupar a casa, ocupar a casa e 
nada fazer. Estas tres acoes sao funcao do numero de casas vizinhas 
ocupadas. Os modulos que apresentei permitem aplicar QUAISQUER REGRAS em que 
AS TRES ACOES ACIMA SAO FUNCAO DO NUMERO DE CASAS VIZINHAS OCUPADAS ! E 
indubitavelmente impossivel implementar uma estrutura que implemente 
qualquer regra imaginavel simplesmente porque nao podemos mapear a 
imaginacao !

EM PRINCIPIO, um Cray e um PC 386 sao absolutamente iguais e equivalentes : 
ambos sao maquinas de turing universais ! Eles possuem diferencas meramente 
operacionais... Portanto, os modulos do jogo vida nao sao para exposicao ou 
competicao em concurso de beleza : sao apenas modulos simplicissimos, 
modestissimos, tao somente para investigar a matematica iterativa associada 
ao jogo de Conway.

Finalmente, gostaria de evidenciar um fato que me parece interessante :

Considere a configuracao inicial abaixo (1=casa ocupada, 0=casa desocupada ) 
:

1
00010
00100
01000
1

Apos aplicarmos as regras de Conway, qual sera o estado seguinte ?
Muito provavelmente, a resposta sera :

0
0
0
0
0

Isto porque : O EFEITO DA ACAO SOBRE UM CASA (OCUPAR,DESOCUPAR,NADA FAZER) E 
IMEDIATAMENTE INCORPORAD0 AO TABULEIRO, AINDA NA VIGENCIA DO ESTAGIO DE 
VARREDURA EM QUE A CASA FOI ANALISADA. Todavia, NAO HA NENHUM NECESSIDADE OU 
IMPOSICAO DE NATUREZA LOGICA (APODITICA) QUE NOS OBRIGUE A TAL 
PROCEDIMENTO... Podemos registrar o efeito da acao em uma casa em um segundo 
tabuleiro- tabuleiro auxiliar - ,a principio com todas as suas casas 
desocupadas, e so apos o atual estagio de varredura transformar o tabuleiro 
auxiliar em principal, efetuando entao o novo ciclo de varredura.

Portanto, o efeito de uma acao sobre uma casa pode ter, pelo menos, 
REPERCUSSAO IMEDIATA ou nao. Nao havendo REPERCUSSAO IMEDIATA, a resposta a 
questao que propomos seria :

0
00010
00100
01000
0

Tal como o exemplo sugere, realmente tudo indica que o universo vida gera 
formas e efeitos muito mais interessantes em um mundo onde a repercussao nao 
e imediata. Por outro lado, sera que ja conceituamos o suficiente par tornar 
univoco os efetos da regras ? Eu acho que nao ... a repercussao e apenas um 
detalhe ... eu ( que nao sou Hamlet ) acredito que entre esse ceu e essa 
terra existem muito mais coisas do que supoe nossa apressada filosofia ...

Bom, se nos ainda nao entendemos os fenomenos matematicos que se passam no 
universo vida de forma satisfatoria, como podemos pensar em implementar e 
divulgar um programa ? Os bons programas nascem de boas solucoes matematicas 
...

Alguem tem uma ideia de como conceituar com prefeicao esta problematica, de 
forma que dai possa derivar um tratamento matematico satisfatorio ?

Um grande abraco a todos
Paulo Santa Rita
3,1501,19062001





















_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.




Re: O Jogo Vida

2001-06-16 Por tôpico Paulo Santa Rita
 PROTECTED]
Subject: Re: O Jogo Vida
Date: Thu, 14 Jun 2001 23:08:08 -0300

Desculpem a demora, mas com Testes de Seleção, listas, 1a Fase da OBM 
(Puxa,
vocês capricharam esse ano, hein?) e provas na escola fiquei sem tempo pra
LER as mensagens. Só há pouco tomei conhecimento desse jogo Vida e 
interessei-me
por fazer um programa (fácil, simples, mas ilustrativo) sobre a proposta
inicial de Conway.
O código-fonte em C vai abaixo. Ele funciona bem em MS-DOS. Para funcionar
em Linux precisa-se modificar um _getch() por
getchar() no loop, mas acho que não tem mais nenhuma 
incompatibilidade(espero).
Na verdade, fiz isso pois a saída fica mais apresentável. Tomei a 
liberdade
de criar o tabuleiro com uma margem que é sempre zero pra facilitar o
loop for.
--Início Código de Programação C-
#include stdio.h

int main()
{
int Tabuleiro[10][10];
int x, y, tot;

/* Inicializa o tabuleliro com zeros */

   for(x = 0; x  10; x++)
   for(y = 0; y  10; y++)
   Tabuleiro[x][y] = 0;

/* lê os dados do teclado até que seja dada a casa (0,0) */

   printf(Entre os dados:\n);
   scanf(%d %d, x, y);

   while (x != 0  y != 0)
   {
   Tabuleiro[x][y] = 1;
   scanf(%d %d, x, y);
   getchar();
   }

/* imprime-se o tabuleiro inicial */

printf(---\n);
for(x = 1; x  9; x++)
   {
   for(y = 1; y  9; y++)
   printf(%d , Tabuleiro[x][y]);
   printf(\n);
   }
   printf(---\n);

/* o programa espera por 'c' para fazer outra iteração e
   qualquer outro comando (qualquer MESMO) sai do programa */

   while(_getch() == 99)
   {
  for(x = 1; x  9; x++)
 for(y = 1; y  9; y++)
{
   tot = 0;
   if(Tabuleiro[x-1][y-1] == 1) tot += 1;
   if(Tabuleiro[x-1][y+0] == 1) tot += 1;
   if(Tabuleiro[x-1][y+1] == 1) tot += 1;
   if(Tabuleiro[x+0][y-1] == 1) tot += 1;
   if(Tabuleiro[x+0][y+1] == 1) tot += 1;
   if(Tabuleiro[x+1][y-1] == 1) tot += 1;
   if(Tabuleiro[x+1][y+0] == 1) tot += 1;
   if(Tabuleiro[x+1][y+1] == 1) tot += 1;

// Aplicação das Leis de Conway
   if( tot == 3) Tabuleiro[x][y] = 1;
   else if( tot == 2);
   else Tabuleiro[x][y] = 0;
   }

// Mostra o tabuleiro na tela
   for(x = 1; x  9; x++)
   {
   for(y = 1; y  9; y++)
   printf(%d , Tabuleiro[x][y]);
   printf(\n);
   }
   printf(---\n);
   }

   return 0;
}


--Fim do Código de Programação C-

A tempo: Quando põe-se uma peça em determinada posição (ou retira-se, tanto
faz)
[]'s, Bernardo

-- Mensagem original --

 Ola Hugo,
 
 Neste ultimo domingo eu fiz uma versao ( em C ) bem simples
 deste jogo, mas que permite aplicar QUAISQUER REGRAS ( de um
 certo tipo ) e nao so as de Conway. Falta compilar e tirar
 algum bug que possa existir. Vou divulgar os fontes aqui na
 lista. Pensando sobre o jogo, descobri tambem um fato
 interessante que vou falar.
 
 Um abraco
 Paulo Santa Rita
 2,1701,04062001



___

http://www.zipmail.com.br O e-mail que vai aonde você está.




_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.




Re: O Jogo Vida

2001-06-16 Por tôpico Bruno Woltzenlogel Paleo

Qual seria o jeito mais fácil de fazer um programa para jogar o vida num
plano infinito e não apenas num tabuleiro limitado?

Até mais...

Bruno Woltzenlogel Paleo




Re: O Jogo Vida

2001-06-16 Por tôpico Paulo Santa Rita

Ola Bruno e
demais colegas da lista,

Saudacoes Cordiais !

Num programa bonito, cheio de floreios e bordados, as casas do jogos 
seriam os pixeis graficos ou conjuntos convenientes deles ( pois um pixel 
pode ser muito pequeno, quase invisivel ! )

Sejam (x1,y1),(x2,y2),...,(xn,yn) as coordenadas dos pontos que definem o 
estado inicial, vale dizer, as casas que o usuario quer que estejam ocupadas 
num primeiro momento. Os numeros :

Xmim = MIN{x1,x2,...,xn}
Xmax = MAX{x1,x2,...,xn}
Ymin = MIN{y1,y2,...,yn}
Ymax = MAX{y1,y2,...,yn}

definem um retangulo de vertices 
(Xmin-1,Ymin-1),(Xmax+1,Ymin-1),(Xmin-1,Ymax+1),(Xmax+1,Ymin-1) no interior 
do qual as regras podem ser aplicadas. Como a maioria dos Monitores sao de 
memoria mapeada, fica tudo mais facil assim.

Um abraco
Paulo Santa Rita
7,1700,16062001


From: Bruno Woltzenlogel Paleo [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: O Jogo Vida
Date: Fri, 16 Jun 2000 16:24:20 -0300

Qual seria o jeito mais fácil de fazer um programa para jogar o vida num
plano infinito e não apenas num tabuleiro limitado?

Até mais...

Bruno Woltzenlogel Paleo


_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.




Re: O Jogo Vida

2001-06-04 Por tôpico Hugo Iver Vasconcelos Goncalves

Estou meio atrasado no papo mas aí vai uma dica: assistam ao filme O 13º
Andar, pelo q entendi da conversa acho q esse filme, apesar de superficial,
tem um pouco a ver com esse jogo...

-Mensagem Original-
De: Paulo Santa Rita [EMAIL PROTECTED]
Para: [EMAIL PROTECTED]
Enviada em: Quarta-feira, 30 de Maio de 2001 15:19
Assunto: O Jogo Vida


 Ola Pessoal,

 O Jogo Vida e tambem conhecido por Jogo de Conway, pois foi este
 Matematico que divulgou o jogo, descoberto originalmente por Stanislaw
Ulam
 e John Von Newman, em Los Alamos.

 Muito provavelmente o Jogo tem esse nome inusitado porque ele foi a
 motivacao original para os estudos em Vida Artificial.

 O jogo e assim :

 1) Voce coloca num tabuleiro de xadrex quantas pedras quiser nas posicoes
 que quiser.
 2) Estabelece um conjunto de regras de iteracoes
 3) Repete indefinidamente as regras e verifica o que acontece.

 Conway estabeleceu inicialmente as seguintes regras :

 1) Se das casas vizinhas de uma casa exatamente 3 estiverem ocupadas por
 pedras, a casa deve ser ocupada, isto e : se ele estiver desocupada, deve
 ser ocupada por uma pedra; se estiver ocupada, deixa-se ela como esta.

 2) Se das casas vizinhas de uma casa exatamente 2 estiverem ocupadas por
 pedras, deixa-se a casa como esta, isto e: se ela estiver desocupada, fica
 desocupada; se estiver ocupada, fica ocupada.

 3) Em qualquer outro caso, a casa deve ser desocupada.

 Apos escolhermos a configuracao inicial que desejarmos, isto e, apos
 colocarmos quantas pedras quisermos nas posicoes que quisermos, aplicamos
as
 regras : surgira dai uma nova configuracao. Aplicamos as regras pela
segunda
 vez : surgira uma nova configuracao. E assim sucessivamente.

 O interessante do jogo e que nao obstante a rigidez e simplicidade das
 regras, as figuras que surgem surpreendentes ... Existe uma estrutura

 disposicao de pedras no tabuleiro ) que permanece invariante em sua forma,
 independente de quantas iteracoes efetuarmos. Esta estrutura e chamada
Asa
 delta. Existem os Construtores, em cujas colisoes sao geradas asas
deltas
 invariantes etc, etc


 E interessante perceber que o tabuleiro tem casas de canto, com tres casas
 vizinhas; casas laterais, com 5 casas vizinhas e casas de centro, com 8
 casas vizinhas.

 O Jogo vida e interessante porque e uma palida simulacao de nosso
universo,
 pelo ponto de vista mecanico ... de fato : supondo fixas as leis naturais,
 podemos imaginar que elas forjariam um contexto no qual surgiria a Vida ?
O
 jogo de Conawy SUGERE que sim ... Conway e Von Newman (Hoje Conway e
titular
 da catedra Von Newman, em Princeton )mostraram que, atendidas algumas
 condicoes iniciais, o jogo vida pode CRIAR ESTRUTURAS ESTAVEIS COM PODER
DE
 REPRODUCAO !!!

 Assim, atendidas determinadas condicoes, leis naturais fixas ( as regras
de
 Conway ) nao sao obstaculos ao aparecimento da riqueza e plasticidade
 daquilo que chamamos Vida !

 Indiretamente estes resultados reforcaram a Tese de Oparin.

 Este jogo ja foi discutido aqui na Lista, pelo Prof Nicolau. Todavia,
desde
 a epoca de sua prelecao ate hoje, muitas outras pessoas se cadastraram,
 podendo portanto nao estarem a par deste empolgante tema : eis a razao de
eu
 estar falando isso agora !

 Eu faco uma proposta. Considerando que :

 1) Muitas pessoas aqui sabem programar computadores.
 2) Fazer um programa do jogo vida, na forma simples e original como Conway
o
 abordou, e facil.
 3) Podemos imaginar o tabuleiro de xadrex como uma matriz 8 por 8
 4) Uma casa desocupada pode ser representada por zero. A ocupada, por um.
 5) numeramos as linhas de cima para baixo, de zero ate sete. As colunas,
da
 esquerda para a direita, tambem de zero ate sete.
 6) Pascal todo mundo sabe, pois estuda-se em todas faculdades. A linguagem
C
 e um Pascal melhorado.

 Vamos fazer em C o jogo vida ?

 A estruturacao do Programa e Simples :

 1) Modulo de entrada de dados : recebe ate 64 pares ordenados. Cada par
 ordenado informado indica que a matriz 8 por 8 deve receber um 1 naquela
 posicao. Exemplo :

 0,0
 1,1
 3,4
 7,7
 8,8 (posicao que nao existe e que indica que queremos parar de entra com
 pares ordenados )

 a matriz TABULEIRO[7][7] SERA ZERADA EM TODAS AS SUAS POSICOES EXCETO EM
 TABULEIRO[1][1], TABULEIRO[3][4] E TABULEIRO[7][7]. Nestas posicoes
recebera
 um.

 2) Modulo de processamento : recebe a matriz do modulo 1) e aplica as
regras
 de Conway.
 3) modulo de exposicao : expoe a matriz na tela de video, apos o modulo
 anterior e augarda uma resposta. Se a resposta for zero, o jogo para. Se
for
 N, aplica as regras de Conway N vezes e torna a exibir a matriz.

 Um exemplo de exposicao :

 
 
 
 
 00011100
 1000
 
 

 Bom. Fica a proposta. Quem faz ? Eu ajudo e faco em C qualquer rotina que
 esteja mais complicada.

 Um abraco
 Paulo Santa Rita
 4,1219,30052001



 _
 Get Your Private, Free

Re: O Jogo Vida

2001-06-04 Por tôpico Paulo Santa Rita

Ola Hugo,

Neste ultimo domingo eu fiz uma versao ( em C ) bem simples deste jogo, mas 
que permite aplicar QUAISQUER REGRAS ( de um certo tipo ) e nao so as de 
Conway. Falta compilar e tirar algum bug que possa existir. Vou divulgar os 
fontes aqui na lista. Pensando sobre o jogo, descobri tambem um fato 
interessante que vou falar.

Um abraco
Paulo Santa Rita
2,1701,04062001



From: [EMAIL PROTECTED] (Hugo Iver Vasconcelos Goncalves)
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: O Jogo Vida
Date: Mon, 4 Jun 2001 16:30:20 -0300

Estou meio atrasado no papo mas aí vai uma dica: assistam ao filme O 13º
Andar, pelo q entendi da conversa acho q esse filme, apesar de 
superficial,
tem um pouco a ver com esse jogo...

-Mensagem Original-
De: Paulo Santa Rita [EMAIL PROTECTED]
Para: [EMAIL PROTECTED]
Enviada em: Quarta-feira, 30 de Maio de 2001 15:19
Assunto: O Jogo Vida


  Ola Pessoal,
 
  O Jogo Vida e tambem conhecido por Jogo de Conway, pois foi este
  Matematico que divulgou o jogo, descoberto originalmente por Stanislaw
Ulam
  e John Von Newman, em Los Alamos.
 
  Muito provavelmente o Jogo tem esse nome inusitado porque ele foi a
  motivacao original para os estudos em Vida Artificial.
 
  O jogo e assim :
 
  1) Voce coloca num tabuleiro de xadrex quantas pedras quiser nas 
posicoes
  que quiser.
  2) Estabelece um conjunto de regras de iteracoes
  3) Repete indefinidamente as regras e verifica o que acontece.
 
  Conway estabeleceu inicialmente as seguintes regras :
 
  1) Se das casas vizinhas de uma casa exatamente 3 estiverem ocupadas por
  pedras, a casa deve ser ocupada, isto e : se ele estiver desocupada, 
deve
  ser ocupada por uma pedra; se estiver ocupada, deixa-se ela como esta.
 
  2) Se das casas vizinhas de uma casa exatamente 2 estiverem ocupadas por
  pedras, deixa-se a casa como esta, isto e: se ela estiver desocupada, 
fica
  desocupada; se estiver ocupada, fica ocupada.
 
  3) Em qualquer outro caso, a casa deve ser desocupada.
 
  Apos escolhermos a configuracao inicial que desejarmos, isto e, apos
  colocarmos quantas pedras quisermos nas posicoes que quisermos, 
aplicamos
as
  regras : surgira dai uma nova configuracao. Aplicamos as regras pela
segunda
  vez : surgira uma nova configuracao. E assim sucessivamente.
 
  O interessante do jogo e que nao obstante a rigidez e simplicidade das
  regras, as figuras que surgem surpreendentes ... Existe uma estrutura

  disposicao de pedras no tabuleiro ) que permanece invariante em sua 
forma,
  independente de quantas iteracoes efetuarmos. Esta estrutura e chamada
Asa
  delta. Existem os Construtores, em cujas colisoes sao geradas asas
deltas
  invariantes etc, etc
 
 
  E interessante perceber que o tabuleiro tem casas de canto, com tres 
casas
  vizinhas; casas laterais, com 5 casas vizinhas e casas de centro, com 8
  casas vizinhas.
 
  O Jogo vida e interessante porque e uma palida simulacao de nosso
universo,
  pelo ponto de vista mecanico ... de fato : supondo fixas as leis 
naturais,
  podemos imaginar que elas forjariam um contexto no qual surgiria a Vida 
?
O
  jogo de Conawy SUGERE que sim ... Conway e Von Newman (Hoje Conway e
titular
  da catedra Von Newman, em Princeton )mostraram que, atendidas algumas
  condicoes iniciais, o jogo vida pode CRIAR ESTRUTURAS ESTAVEIS COM PODER
DE
  REPRODUCAO !!!
 
  Assim, atendidas determinadas condicoes, leis naturais fixas ( as regras
de
  Conway ) nao sao obstaculos ao aparecimento da riqueza e plasticidade
  daquilo que chamamos Vida !
 
  Indiretamente estes resultados reforcaram a Tese de Oparin.
 
  Este jogo ja foi discutido aqui na Lista, pelo Prof Nicolau. Todavia,
desde
  a epoca de sua prelecao ate hoje, muitas outras pessoas se cadastraram,
  podendo portanto nao estarem a par deste empolgante tema : eis a razao 
de
eu
  estar falando isso agora !
 
  Eu faco uma proposta. Considerando que :
 
  1) Muitas pessoas aqui sabem programar computadores.
  2) Fazer um programa do jogo vida, na forma simples e original como 
Conway
o
  abordou, e facil.
  3) Podemos imaginar o tabuleiro de xadrex como uma matriz 8 por 8
  4) Uma casa desocupada pode ser representada por zero. A ocupada, por 
um.
  5) numeramos as linhas de cima para baixo, de zero ate sete. As colunas,
da
  esquerda para a direita, tambem de zero ate sete.
  6) Pascal todo mundo sabe, pois estuda-se em todas faculdades. A 
linguagem
C
  e um Pascal melhorado.
 
  Vamos fazer em C o jogo vida ?
 
  A estruturacao do Programa e Simples :
 
  1) Modulo de entrada de dados : recebe ate 64 pares ordenados. Cada par
  ordenado informado indica que a matriz 8 por 8 deve receber um 1 naquela
  posicao. Exemplo :
 
  0,0
  1,1
  3,4
  7,7
  8,8 (posicao que nao existe e que indica que queremos parar de entra com
  pares ordenados )
 
  a matriz TABULEIRO[7][7] SERA ZERADA EM TODAS AS SUAS POSICOES EXCETO EM
  TABULEIRO[1][1], TABULEIRO[3][4] E TABULEIRO[7][7]. Nestas posicoes
recebera
  um

O Jogo Vida

2001-05-30 Por tôpico Paulo Santa Rita

Ola Pessoal,

O Jogo Vida e tambem conhecido por Jogo de Conway, pois foi este 
Matematico que divulgou o jogo, descoberto originalmente por Stanislaw Ulam 
e John Von Newman, em Los Alamos.

Muito provavelmente o Jogo tem esse nome inusitado porque ele foi a 
motivacao original para os estudos em Vida Artificial.

O jogo e assim :

1) Voce coloca num tabuleiro de xadrex quantas pedras quiser nas posicoes 
que quiser.
2) Estabelece um conjunto de regras de iteracoes
3) Repete indefinidamente as regras e verifica o que acontece.

Conway estabeleceu inicialmente as seguintes regras :

1) Se das casas vizinhas de uma casa exatamente 3 estiverem ocupadas por 
pedras, a casa deve ser ocupada, isto e : se ele estiver desocupada, deve 
ser ocupada por uma pedra; se estiver ocupada, deixa-se ela como esta.

2) Se das casas vizinhas de uma casa exatamente 2 estiverem ocupadas por 
pedras, deixa-se a casa como esta, isto e: se ela estiver desocupada, fica 
desocupada; se estiver ocupada, fica ocupada.

3) Em qualquer outro caso, a casa deve ser desocupada.

Apos escolhermos a configuracao inicial que desejarmos, isto e, apos 
colocarmos quantas pedras quisermos nas posicoes que quisermos, aplicamos as 
regras : surgira dai uma nova configuracao. Aplicamos as regras pela segunda 
vez : surgira uma nova configuracao. E assim sucessivamente.

O interessante do jogo e que nao obstante a rigidez e simplicidade das 
regras, as figuras que surgem surpreendentes ... Existe uma estrutura ( 
disposicao de pedras no tabuleiro ) que permanece invariante em sua forma, 
independente de quantas iteracoes efetuarmos. Esta estrutura e chamada Asa 
delta. Existem os Construtores, em cujas colisoes sao geradas asas deltas 
invariantes etc, etc


E interessante perceber que o tabuleiro tem casas de canto, com tres casas 
vizinhas; casas laterais, com 5 casas vizinhas e casas de centro, com 8 
casas vizinhas.

O Jogo vida e interessante porque e uma palida simulacao de nosso universo, 
pelo ponto de vista mecanico ... de fato : supondo fixas as leis naturais, 
podemos imaginar que elas forjariam um contexto no qual surgiria a Vida ? O 
jogo de Conawy SUGERE que sim ... Conway e Von Newman (Hoje Conway e titular 
da catedra Von Newman, em Princeton )mostraram que, atendidas algumas 
condicoes iniciais, o jogo vida pode CRIAR ESTRUTURAS ESTAVEIS COM PODER DE 
REPRODUCAO !!!

Assim, atendidas determinadas condicoes, leis naturais fixas ( as regras de 
Conway ) nao sao obstaculos ao aparecimento da riqueza e plasticidade 
daquilo que chamamos Vida !

Indiretamente estes resultados reforcaram a Tese de Oparin.

Este jogo ja foi discutido aqui na Lista, pelo Prof Nicolau. Todavia, desde 
a epoca de sua prelecao ate hoje, muitas outras pessoas se cadastraram, 
podendo portanto nao estarem a par deste empolgante tema : eis a razao de eu 
estar falando isso agora !

Eu faco uma proposta. Considerando que :

1) Muitas pessoas aqui sabem programar computadores.
2) Fazer um programa do jogo vida, na forma simples e original como Conway o 
abordou, e facil.
3) Podemos imaginar o tabuleiro de xadrex como uma matriz 8 por 8
4) Uma casa desocupada pode ser representada por zero. A ocupada, por um.
5) numeramos as linhas de cima para baixo, de zero ate sete. As colunas, da 
esquerda para a direita, tambem de zero ate sete.
6) Pascal todo mundo sabe, pois estuda-se em todas faculdades. A linguagem C 
e um Pascal melhorado.

Vamos fazer em C o jogo vida ?

A estruturacao do Programa e Simples :

1) Modulo de entrada de dados : recebe ate 64 pares ordenados. Cada par 
ordenado informado indica que a matriz 8 por 8 deve receber um 1 naquela 
posicao. Exemplo :

0,0
1,1
3,4
7,7
8,8 (posicao que nao existe e que indica que queremos parar de entra com 
pares ordenados )

a matriz TABULEIRO[7][7] SERA ZERADA EM TODAS AS SUAS POSICOES EXCETO EM 
TABULEIRO[1][1], TABULEIRO[3][4] E TABULEIRO[7][7]. Nestas posicoes recebera 
um.

2) Modulo de processamento : recebe a matriz do modulo 1) e aplica as regras 
de Conway.
3) modulo de exposicao : expoe a matriz na tela de video, apos o modulo 
anterior e augarda uma resposta. Se a resposta for zero, o jogo para. Se for 
N, aplica as regras de Conway N vezes e torna a exibir a matriz.

Um exemplo de exposicao :





00011100
1000



Bom. Fica a proposta. Quem faz ? Eu ajudo e faco em C qualquer rotina que 
esteja mais complicada.

Um abraco
Paulo Santa Rita
4,1219,30052001



_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.




Re: O Jogo Vida - Adendo

2001-05-30 Por tôpico Alexandre Tessarollo


Só um detalhe: no arquivo que mandei anexo, TODAS as casas possuem oito
vizinhos.  A figura está num toro. Ou, para quem não conhece toro: as casas da
extrema direita, por exemplo, também possuem como vizinhas as casas da extrema
esquerda. Da mesma forma, as casa de cima e debaixo são vizinhas. Quanto às dos
cantos, basta observar que estão ao mesmo tempo numa lateral e na parte superior
ou inferior. Espero ter sido claro.

[]'s

Alexandre Tessarollo




Re: O Jogo Vida

2001-05-30 Por tôpico Nicolau C. Saldanha



On Wed, 30 May 2001, Paulo Santa Rita wrote:

 Ola Pessoal,
 
 O Jogo Vida e tambem conhecido por Jogo de Conway, pois foi este 
 Matematico que divulgou o jogo, descoberto originalmente por Stanislaw Ulam 
 e John Von Newman, em Los Alamos.

Acho que deve haver algum mal entendido aqui.
Pelo que eu sei o jogo vida (life) foi inventado
(criado, descoberto) por Conway. Estou verificando o capítulo
sobre life em Winning Ways de Berlekamp, Conway e Guy
e não encontrei nenhuma menção de Ulam ou Von Neuman.
 
...

 O jogo e assim :
 
 1) Voce coloca num tabuleiro de xadrex quantas pedras quiser nas posicoes 
 que quiser.
 2) Estabelece um conjunto de regras de iteracoes
 3) Repete indefinidamente as regras e verifica o que acontece.
 
 Conway estabeleceu inicialmente as seguintes regras :
 
 1) Se das casas vizinhas de uma casa exatamente 3 estiverem ocupadas por 
 pedras, a casa deve ser ocupada, isto e : se ele estiver desocupada, deve 
 ser ocupada por uma pedra; se estiver ocupada, deixa-se ela como esta.
 
 2) Se das casas vizinhas de uma casa exatamente 2 estiverem ocupadas por 
 pedras, deixa-se a casa como esta, isto e: se ela estiver desocupada, fica 
 desocupada; se estiver ocupada, fica ocupada.
 
 3) Em qualquer outro caso, a casa deve ser desocupada.
 
 Apos escolhermos a configuracao inicial que desejarmos, isto e, apos 
 colocarmos quantas pedras quisermos nas posicoes que quisermos, aplicamos as 
 regras : surgira dai uma nova configuracao. Aplicamos as regras pela segunda 
 vez : surgira uma nova configuracao. E assim sucessivamente.

Está tudo certo, exceto que o jogo é normalmente jogado
em um plano quadriculado infinito.
 
 O interessante do jogo e que nao obstante a rigidez e simplicidade das 
 regras, as figuras que surgem surpreendentes ... Existe uma estrutura ( 
 disposicao de pedras no tabuleiro ) que permanece invariante em sua forma, 
 independente de quantas iteracoes efetuarmos. Esta estrutura e chamada Asa 
 delta. Existem os Construtores, em cujas colisoes sao geradas asas deltas 
 invariantes etc, etc

No capítulo de que falava de Winning ways demonstra-se que este jogo
é 'universal', i.e., as regras permitem a construção de uma espécie de
'computador'. É portanto um problema indecidível, dada uma configuração
inicial, dizer se ela vai viver para sempre ou não.

Vale a pena dar uma olhada neste capítulo, aliás no livro todo.

...

 Eu faco uma proposta. Considerando que :
 
 1) Muitas pessoas aqui sabem programar computadores.
 2) Fazer um programa do jogo vida, na forma simples e original como Conway o 
 abordou, e facil.
 3) Podemos imaginar o tabuleiro de xadrex como uma matriz 8 por 8
 4) Uma casa desocupada pode ser representada por zero. A ocupada, por um.
 5) numeramos as linhas de cima para baixo, de zero ate sete. As colunas, da 
 esquerda para a direita, tambem de zero ate sete.
 6) Pascal todo mundo sabe, pois estuda-se em todas faculdades. A linguagem C 
 e um Pascal melhorado.
 
 Vamos fazer em C o jogo vida ?

Pode ser um projeto interessante escrever um tal programa do zero,
mas eu faço notar que já existem vários programas assim.
Um deles eu acabei de baixar da rede, ou mais explicitamente, de
http://packages.debian.org/testing/games/xlife.html
Compilei, rodei e testei brevemente. O nome dele é xlife e as fontes
e minha compilação do programa estão em
http://www.mat.puc-rio.br/~nicolau/bobo/xlife-5.0.tar.gz

O programa é escrito em C e parece ser feito para Linux
(pelo menos eu compilei em um Linux-Intel). Funciona.

Aliás, a título de curiosidade: não me parece que Pascal
seja obrigatoriamente estudado aqui na PUC.
No primeiro curso de ICC os alunos estudam Scheme (um tipo de Lisp).
Depois disso varia muito, mas acho que C é mais popular do que Pascal.

[]s, N.





Re: O Jogo Vida - Adendo

2001-05-30 Por tôpico Nicolau C. Saldanha


A primeira mensagem do Alexandre o majordomo barrou, era esta:

=

Bom dia a todos, programadores ou não.

Estou enviando em anexo um applet em Java, que peguei numa página do próprio
Conway. O enereço eu não lembro, mas pode-se achá-lo num Yahoo ou Altavista da
vida. NÃO sou programador, só aprendi o básico de Pascal e HTML eu sei
pouquíssimo.

Àqueles que quiserem brincar, basta descompactar o arquivo zip num único
diretório (de preferência exclusivo para o jogo) e abrir o HTML (ou dando duplo
clique, ou abrindo manualmente no Netscape ou Internet Explorer)

[]'s

Alexandre Tessarollo

=

O majordomo barrou por causa do attach, claro.
Mas o zip que o Alexandre mandou está em
http://www.mat.puc-rio.br/~nicolau/bobo/Life.zip

[]s, N.

On Wed, 30 May 2001, Alexandre Tessarollo wrote:

 
 Só um detalhe: no arquivo que mandei anexo, TODAS as casas possuem oito
 vizinhos.  A figura está num toro. Ou, para quem não conhece toro: as casas da
 extrema direita, por exemplo, também possuem como vizinhas as casas da extrema
 esquerda. Da mesma forma, as casa de cima e debaixo são vizinhas. Quanto às dos
 cantos, basta observar que estão ao mesmo tempo numa lateral e na parte superior
 ou inferior. Espero ter sido claro.
 
 []'s
 
 Alexandre Tessarollo
 




Re: O Jogo Vida

2001-05-30 Por tôpico Nicolau C. Saldanha



On Wed, 30 May 2001, Paulo Santa Rita wrote:

 Ola Prof Nicolau e
 demais colegas da Lista :
 
 Saudacoes !
 
 
 Eu tenho anotado, em casa, o lugar onde li sobre este jogo. Alem dos 
 aspectos estritamente matematicos o livro fala sobre a historia do jogo e 
 cita Ulam e Von Newman. Se nao me falha a memoria :
 
 Eu vou verificar se foi realmente assim ou se fiz alguma confusao com Ulam e 
 Von Newman. Todavia, se eu estiver certo :
 
 Ulam e Von Newman trabalhavam juntos em Los Alamos, no projeto de construcao 
 da Bomba ( Que uso Mediocre da Matematica ! ). Ulam gostava de jogos de 
 computador, que na epoca dele eram uma grande novidade.
 
 1) Ulam descobriu o jogo ( em um tabuleiro ) e mostrou a Von Newman
 2) Ulam convenceu a Von Newman a aproveitar a estrutura do Jogo para 
 realizar o seu objetivo ( objetivo de Von Newman ) de criar uma maquina que 
 gerasse filhos, isto e, uma maquina que gerasse copias de si propria.
 3) Conway ficou sabendo e descobriu as asas deltas e os construtores
 4) Von Newman descobriu as demais estruturas (mais duas) com as quais o seu 
 projeto de uma maquina que se auto-reproduzisse seria factivel.
 5) Conway divulgou o jogo.
 6) Conway aperfeicoou o jogo, dando a sua configuracao atual

Você poderia verificar estas informações e dar uma fonte, svp?
 
 O pouco que sei sobre esse jogo aprendi depois que o Prof Nicolau falou 
 sobre ele aqui e eu me interessei e pesquisei sobre o tema. O tabuleiro com 
 numero infinito de casas e uma contribuicao posterior de Conway, pois so num 
 ambiente infinito assim o projeto de von newman e factivel. Originalmente 
 era um tabuleiro de xadrex.
 
 Eu tambem acho interessante o projeto que propus ( e por isso propus), nao 
 obstante existirem programas-fontes prontos disponiveis na internet, pois 
 isso e equivalente as solucoes de questoes matematicas que apresentamos 
 aqui, pois as solucoes ja existem, muitos conhecem e nem por isso nos 
 privamos do prazer de nelas pensar e apresentar nossas proprias versoes, por 
 ser isso instrutivo.

Ok, também acho interessante em muitas ocasiões refazer as coisas.

 Um abraco Prof Nicolau,
 um abraco a Todos !
 
 Paulo Santa Rita
 4,1533,30052001

[]s, N.
PS: O que significa '4,1533,30052001'?




Re: O Jogo Vida

2001-05-30 Por tôpico mane

Boa tarde:

Chute:
4,155,30052001
4=quarta-feira
1533=15hs33min.
30052001=30/05/2001




Re: O Jogo Vida

2001-05-30 Por tôpico Paulo Santa Rita

Ola Mane,
Tudo Legal ?

Voce esta absolutamente certo. Nao e pedantismo. E uma chave primaria de um 
banco de dados proprio. E que recebo muitos e-mail´s e as pessoas que me 
contactam muitas vezes eu nao as conheco e elas, nao raro, se referem a 
mensagens minhas que nem sempre lembro. Ai eu criei a chave que voce 
descobriu. Com isso rapidamente posso recuperar alguma solucao ou 
informacao, pois os e-mail vao para um Banco de Dados relacional.

Um abraco
Paulo Santa Rita
4,1627,30052001


From: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: O Jogo Vida
Date: 30 May 2001 18:55:54 -

Boa tarde:

Chute:
4,155,30052001
4=quarta-feira
1533=15hs33min.
30052001=30/05/2001


_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.




Re: O Jogo Vida

2001-05-30 Por tôpico Paulo Santa Rita

Ola Prof Nicolau e
Colegas da Lista,

Saudacoes !


Com o maior prazer vou verificar isto, nao por se tratar de um pedido de 
nosso moderador, mas por ser o pedido de um VERDADEIRO MATEMATICO que todos 
nos ( ou a maioria ) admiramos e que, alem de tudo e sobretudo, E UM CARA 
MUITO LEGAL.

Prof Nicolau, aquilo la embaixo - 4,1533,30052001 - e uma chave primaria 
de um BD relacional. O primeiro numero e: 1-domingo,2- segunda, 
3-terca...7-sabado

os 4 digitos seguintes sao a hora

os 8 seguintes sao a data.

Um abraco Prof Nicolau,
Um abraco a Todos.

Paulo Santa Rita
4,1642,30052001


From: Nicolau C. Saldanha [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: O Jogo Vida
Date: Wed, 30 May 2001 15:46:22 -0300 (BRT)



On Wed, 30 May 2001, Paulo Santa Rita wrote:

  Ola Prof Nicolau e
  demais colegas da Lista :
 
  Saudacoes !
 
 
  Eu tenho anotado, em casa, o lugar onde li sobre este jogo. Alem dos
  aspectos estritamente matematicos o livro fala sobre a historia do jogo 
e
  cita Ulam e Von Newman. Se nao me falha a memoria :
 
  Eu vou verificar se foi realmente assim ou se fiz alguma confusao com 
Ulam e
  Von Newman. Todavia, se eu estiver certo :
 
  Ulam e Von Newman trabalhavam juntos em Los Alamos, no projeto de 
construcao
  da Bomba ( Que uso Mediocre da Matematica ! ). Ulam gostava de jogos de
  computador, que na epoca dele eram uma grande novidade.
 
  1) Ulam descobriu o jogo ( em um tabuleiro ) e mostrou a Von Newman
  2) Ulam convenceu a Von Newman a aproveitar a estrutura do Jogo para
  realizar o seu objetivo ( objetivo de Von Newman ) de criar uma maquina 
que
  gerasse filhos, isto e, uma maquina que gerasse copias de si propria.
  3) Conway ficou sabendo e descobriu as asas deltas e os construtores
  4) Von Newman descobriu as demais estruturas (mais duas) com as quais o 
seu
  projeto de uma maquina que se auto-reproduzisse seria factivel.
  5) Conway divulgou o jogo.
  6) Conway aperfeicoou o jogo, dando a sua configuracao atual

Você poderia verificar estas informações e dar uma fonte, svp?

  O pouco que sei sobre esse jogo aprendi depois que o Prof Nicolau falou
  sobre ele aqui e eu me interessei e pesquisei sobre o tema. O tabuleiro 
com
  numero infinito de casas e uma contribuicao posterior de Conway, pois so 
num
  ambiente infinito assim o projeto de von newman e factivel. 
Originalmente
  era um tabuleiro de xadrex.
 
  Eu tambem acho interessante o projeto que propus ( e por isso propus), 
nao
  obstante existirem programas-fontes prontos disponiveis na internet, 
pois
  isso e equivalente as solucoes de questoes matematicas que apresentamos
  aqui, pois as solucoes ja existem, muitos conhecem e nem por isso nos
  privamos do prazer de nelas pensar e apresentar nossas proprias versoes, 
por
  ser isso instrutivo.

Ok, também acho interessante em muitas ocasiões refazer as coisas.

  Um abraco Prof Nicolau,
  um abraco a Todos !
 
  Paulo Santa Rita
  4,1533,30052001

[]s, N.
PS: O que significa '4,1533,30052001'?


_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.