





Durante uma disciplina sobre Lógica para Sistemas Inteligentes, implementei o mundo Wumpus (Russell e Norvig, 2002) em Java, mas o mecanismo de inferência do caçador foi realizado em Prolog. A união das duas linguagens veio por meio da API JPL.
Download: Wumpus World.
O algoritmo backpropagation é utilizado para treinamento em redes neurais artificiais. Implementei o algoritmo em Java, no entanto, ainda não é levado em consideração algumas boas práticas em projetos de redes neurais, como seleção aleatória dos exemplos de treinamento. Download.
Primeiro artigo para ajudar quem está aprendendo programar em três dimensões: fundamentos matemáticos para computação gráfica.
Periodicamente estarei postando aqui material sobre computação gráfica 3D.
Estou preparando uma apostila que mostra tantos aspectos práticos como teóricos. Em breve!
Imagine o seguinte cenário: Office e Google Docs, Photoshop e, inclusive, a promessa de jogos. Tudo isso executando nas nuvens, de forma transparente ao usuário final. Parte desses aplicativos executarão (ou já executam) remotamente e outra parte é executada offline (pelos mecanismos tradicionais de JavaScript, Flash e outros). Bom nada disso seria tão ameaçador se as versões tradicionais de cada tipo de software continuassem a ser produzidas e mantidas. Mas imagine que os grandes consumidores de software e hardware (diga-se quem tem dinheiro e, portanto, condições de manter uma banda-larga de excelente qualidade) começassem a adotar software como serviço, computação nas nuvens e outros neologismos produzidos ultimamente. De fato, se isso chegar a acontecer, é provável que a demanda por software tradicional diminua ao ponto que o trabalho de manter os projetos correspondentes não seja mais lucrativo ou relevante. Assim, junto com os donos do cofre, todos seriam arrastados para as nuvens.
Há consequências ainda mais devastadoras. A demanda por hardware descente cairia substancialmente. A maioria das pessoas estaria interessada em um “terminal” capaz de receber os dados de servidores (nas nuvens) e dados processados pelos mesmos. O poder computacional estaria nas nuvens e não na máquina do usuário. Com a dimunuição da demanda de hardware, estes tenderiam a se tornar mais caros. Poucas pessoas poderiam obter hardware com alto poder de processamento. Mas uma vez, todo o resto do mundo seria arrastado para as nuvens. Não estou a dizer que as nuvens causariam um involução no desenvolvimento de hardware. Estes continuariam evoluindo, mas agora estariam concentrados em diversas máquinas espalhadas pelo globo, mantidas por poucas e grandes empresas (como Google e Microsoft). Tudo que as empresas de software mais queriam: concentrar, concentrar, concentrar…
Se todas as suposições colocadas nos parágrafos anteriores se mostrarem verdadeiras no futuro. O que aconteceria com o software livre? Simplesmente perderia o sentido ou continuaria existindo de forma restrita. Grandes empresas como Google e IBM guiariam o desenvolvimento dos sistemas livres, mas somente para uso restrito em suas respectivas infraestruturas. Todos ficariam dependentes do modelo software como serviço! A Microsoft tenderia a se adaptar a essa nova realidade, mas tendo contra si fortes competidores, como Google e Yahoo[?]. Dessa forma, poucas e grandes corporações seriam responsáveis por quase totalidade do poder de processamento e armazenamento de dados. Tudo estaria em servidores distantes do usuário final (nem tão distante, do ponto de vista do tempo de resposta). Os dados estariam distribuídos em várias máquinas mantidas por empresas dedicadas ao novo modelo computacional (e de negócio). Tudo isso tenderá a concentrar a computação nessas poucas e grandes empresas.
Países com uma infraestrutura ruim para Internet e pessoas sem acesso a banda larga, perderiam muito nesse novo cenário (pelos menos inicialmente), pois com o conceito de software como serviço, a necessidade de poder de processamento será substituida pela necessidade de largura de banda. No entanto, com o aumento da demanda por largura de banda, esta tenderia a ficar menos caro.
Finalmente, tudo que foi dito acima foram suposições de casos extremos. Talvez, na melhor das situações, os dois modelos continuarão existindo (aplicações tradicionais concorrendo com serviços nas nuvens) . O software livre pode ser uma alternativa para aqueles que escolherem se manter parcialmente afastados das nuvens (totalmente será quase impossível). Mas se a maioria correr para as nuvens, haverá uma pressão muito forte para os resistentes poderem continuar com o modelo tradicional. Contudo, numa democracia quem manda é a maoria (mesmo que a minoria tenha razão). Mas quem irá julgar a razão de quem?
Plug and pray!