Super Mario e as redes neurais

Single 3094287 featured image

A fase de Super Mario World no vídeo a seguir foi jogada por um programa de computador que controlava um emulador:

Tendo isto em mente vou contar uma historinha: Quando eu era pequeno um dos meus sonhos era ter o R.O.B, o robozinho da Nintendo que jogava com você. Anos depois descobri que ele é uma traquitana barulhenta que só funciona com um punhado de jogos e não tem inteligência nenhuma. O console envia informações via ‘piscadas’ na tela e o mecanismo do ROB obedece… simplório e sem automação, para desilusão do Alisio criança…. mentira eu ainda quero um por puro saudosismo  por motivos acadêmicos.

136356_681848618

 

Voltando ao programa que controlou o emulador, ele foi feito em linguagem LUA (linguagem desenvolvida ali na PUC-RJ) utiliza redes neurais e algoritmos genéticos para ‘aprender’ como jogar Super Mario World, coisa beeeem diferente do R.O.B. (para a alegria do Alísio adulto). O programa teve 24 h para aprender, joga mal, ignora power ups e se concentra em ir para a direita, e rápido, mas consegue terminar a fase.

136360_2545907250

Olha só como ele é ruim e só consegue 19 na barra do final 😛

O funcionamento é mais simples do que pode parecer, mas vou tentar simplificar ainda mais porque se eu conseguir salvar alguma alma tirando ela do curso de direito para o mundo acadêmico, já fico feliz demais:

Reparem no quadradinho menor com quadrados brancos (obstáculos) e pretos (inimigos) menores ainda. Eles são uma representação dos eventos da tela para que o algoritmo consiga interagir com ela.

136337_2545907250

As linhas conectam um pedaço da tela aos controles do SNES. As linhas verdes são acionadas pelos bloquinhos brancos, e as vermelhas pelos blocos pretos.

O algoritmo não faz nada na primeira geração, para evitar que a experiência pare por aí o programa reinicia o emulador, esta interferência externa é análoga às intempéries naturais como raios, cometas e erupções intensas aos quais os primeiros seres vivos estavam sujeitos no nosso jovem planeta terra. Após cada reinicio da fase novas linhas (axônios) são adicionadas randomicamente, gerando novas iterações da rede (ou novas espécies de rede neural). O sucesso de cada espécie é representado pelo número ‘FITNESS’ (que pode ser entendido como ‘adaptação’ ou ‘aptidão’) no topo na tela que cresce quanto mais a tela vai para a direita e também quanto mais rápido isso acontece.

136357_2178393105

As espécies sem sucesso são descartadas e as que obtiveram sucesso são mantidas, misturadas com a anterior adicionada de alguns neurônios aleatórios, tal qual a teoria da evolução das descrita por Charles Darwin (calma aê criacionistas e lamarquistas) no livro “A origem das espécies”. O gráfico a seguir representa a pontuação máxima de cada uma das gerações e é possível ver que as vezes uma ou outra geração ‘travava’, mas eventualmente evoluía (melhorava o FITNESS).

136332_2545907250

O algoritmo relativamente simples necessitou de 32 gerações para terminar esta fácil fase, mas com um pouco mais de tempo seria perfeitamente possível que um algoritmo similar finalizasse o jogo ou derrubasse a estação espacial – IES (essa escalou rápido).

136391_1382410690

Esta declaração parece absurda, mas  é tema de debate sério entre gente como Bill Gates, Elon Musk e Stephen Hawkins (o ganhador do prêmio nobel cujo filme baseado em sua vida ganhou oscar de melhor ator em 2015) que já declararam em diversas oportunidades preocupação com o perigo potencial das máquinas se desenvolverem ao ponto de eventualmente subjugar os humanos.

Nós tivemos alguns milhões de anos, as máquinas não demorarão tudo isso…….. COFF *skynet*,

Referências:

https://en.wikipedia.org/?title=Charles_Darwin

Source Code: http://pastebin.com/ZZmSNaHX

“NEAT” Paper: http://nn.cs.utexas.edu/downloads/pap…

Some relevant Wikipedia links:
https://en.wikipedia.org/wiki/Neuroev…
https://en.wikipedia.org/wiki/Evoluti…
https://en.wikipedia.org/wiki/Artific…
BizHawk Emulator: http://tasvideos.org/BizHawk.html

SethBling Twitter: http://twitter.com/sethbling
SethBling Twitch: http://twitch.tv/sethbling
SethBling Facebook: http://facebook.com/sethbling
SethBling Website: http://sethbling.com
SethBling Shirts: http://sethbling.spreadshirt.com
Suggest Ideas: http://reddit.com/r/SethBlingSuggestions

Anúncios

Finalizando no level 7

Enduro, River Raid, Jungle Hunt, Pole Position, são alguns dos primeiros nomes que lembro quando penso na minha infância. O atari era uma diversão familiar. Meu pai, mãe, meus irmãos e eu jogávamos todos juntos na sala de estar.

(Perdão pela formatação horrenda, mas escrevi isso no meu recém instalado Hakintosh computador sem acento, sem som e com resolução baixa 😛

Genesis (não o console)

O genesis (rá, sacou?) do meu laço com video games começa nos meus 5 anos. Me cativou um infante, me causou problemas na adolescência, me ajudou a definir a faculdade e até hoje me ajuda a matar os leões que a vida joga. Contarei um pouco da minha vida através dos jogos, espero que embarquem no meu saudosismo.

Em meados da década de 90, alegria era acordar cedo no sábado, mesmo sem ter aula, ligar meu Super Nintendo e ver o logo da Konami surgir com aquele o efeito sonoro.

Nunca tive um Genesis, mas meu pai ALUGAVA o console (!!!) de vez em quando. Lembro quando ouvi Zeus falar pela primeira vez em Altered Beast, da fantástica trilha sonora de Castle of Illusion, das músicas e relevos nauseantes de Top Gear, da intro da SEGA no Sonic The Hedgehog e de finalizar Street Fighter II no level 7 fazendo perfect em todas as lutas (KEN RULZ!). EXTASE!

Jogava sozinho, com meu irmão, com vizinhos. Fazíamos torneios de várias jogos como R.C. Grand Prix e Jogos de verão do Master System, até que comecei a perceber que jogava muito quando levava umas 5 revistas “VideoGame” e “Ação Games” para a escola. Uma garota olhou para minha mochila aberta e disse “Porque você só fala disso?”. A partir daí vi que estava virando um monstro……não me importei e saquei a última VideoGame. 😀

Alguém lembra deste rapaz? Desenho ele até hoje, principalmente em reuniões infrutíferas.

Alguns dos meus jogos preferidos.

Castle Of Illusion:

Não gostava muito de Altered Beast, mas o fetiche dos gráficos e som infinitamente superiores ao meu Master System II (com Alex Kidd na memória) e meu Bit System (Clone do NES) me fizeram pirar!! Isso fez minha cabeça explodir:

Música e Games

Foi graças aos games que conheci algumas bandas fantásticas que curto até hoje (e para sempre). Quando pluguei Rock´ n Roll Racing (da saudosa Interplay) no meu SNES e Bad to the bone começou a tocar, depois Black Sabbath, Deep Purple e tantos outros,  fui imediatamente abençoado pelos Deuses do Rock!

Sempre fui muito ligado ao áudio dos games, seja efeito ou trilha sonora. Não adiantavam gráficos espetaculares se meus ouvidos reclamassem, talvez por isso minha franquia preferida seja Mega Man. Sua trilha alucinante passeando entre Metal tradicional e Jazz maluco me faziam companhia nas monótonas férias no interior do Ceará… é, sou urbano demais para aproveitar paisagens naturais e o Sol (que está querendo me matar).  Cheguei a fazer gravações caseiras de músicas do Megaman 2, 3, 4 e X com um arranjo METAL, que é como o que elas sempre soaram na minha cabeça! Ficou até bom, tanto que de repente gente do Brasil inteiro me mandava gravações para avaliação (?) e pediam dicas sobre softwares de edição de áudio (sou músico, técnico de som e produtor de araque, mas aí é outra estória). Foda foram os problemas com pessoas tomando para si a autoria dos arranjos e gravações, detalhes. Hoje eu rio, mas fiquei TENSO na época. Procurarei os arquivos de áudio (se ainda os tiver) e posto aqui depois.

Uma das minha preferidas do Megaman era o tema do castelo do Dr.Willy no Megaman 2

Foram deliciosas  diárias dezenas de horas por dia (no fim de semana) e, se não fosse minha mãe desligando a TV por achar que videogame destruía o tubo, ou eu e meu irmão com medo do transformador explodir (!?!), estaria jogando Street Fighter 2 até agora!

Profissão GAMER!

Por falar em mãe, nem sei nem se a minha sabe, mas minha profissão atual foi escolhida na década em 90 quando tentava jogar quake, warcraft 2 e Age of Empires em rede. Pesquisei uns tutoriais sobre rede, baixei muitos PDF´s a 33kbps no meu  US Robotics e acabei com uma rede entre quarteirões utilizando cabos coaxiais e placas de rede com conectores BNC (pelo preço menor e maior distância possível com o cabo 10base2). a partir de então tive certeza que onde quer que eu trabalhasse, teria que ser com computadores, ou games, ou coisas eletrônicas.

Ainda tenho 2 dessas aqui.

Aprendi o básico de circuitos elétricos olhando para as placas do Atari, Nintendo e Master System, tudo para fazer meu próprio joystick. Fiz um para meu Master System, outro para meu Super Nintendo, ficou igual ao do Neo Geo………. NOT.

Parecia mais isso aqui:

PARA TUDO!!

Lembrei AGORA que tentei consertar meu bit system colocando nele o processador do meu atari!!!!!!!! Era do mesmo tamanho, mesma marca (Motorola) e só tinha uma letrinha diferente no modelo……. UAHAUHAUHAUAHUAHUAHAUHAUAHUAAHUAA

E DEU CERTO!!!!!!!!!……………….. mentira :/

Mas não só isso, graças aos jogos (e ao Iron Maiden) aprendi inglês, descobri novas culturas (Carmen San Diego, Tomb Raider), comecei a tocar guitarra (graças ao megaman e ao James Hetfield)  e fiquei de recuperação 😛    ….. Mas tudo deu certo. Na recuperação da oitava série que REALMENTE aprendi história, biologia e geografia.

Viu? tudo acabou bem e agora sou rico, lindo e famoso.

Quando (e se) tiver um filho, a primeira coisa que vou fazer é compra um Nintendo WiiUiiUUiU X2, um Playstation Zeta ou um XBOX 180 ao cubo para depois enxotá-lo do sofá e assumir o jogo 😛

Fui Mário, Sonic, Megaman, Ken, Ax Battler, um golfinho, ninja e até um palhaço….fora tantos outros que lembro com carinho. bons tempos que não voltam mais (já que  os jogos de hoje são feito para frouxos e fracotes) 😀

Obrigado Miyamoto, Yuzo Koshiro, Sonic Team e tantos e tantos outros, suas obras viverão longa e prosperamente ao inexorável efeito do tempo.

  • Agenda

    • setembro 2017
      S T Q Q S S D
      « jun    
       123
      45678910
      11121314151617
      18192021222324
      252627282930  
  • Pesquisar