
quinta-feira, 4 de dezembro de 2008
Cérebro Tirano ?

quarta-feira, 3 de dezembro de 2008
Programação para Imprevisibilidade. Imprevisibilidade na Complexidade.
Tendo em vista o funcionamento de tais sistemas de software, com sua linguagem clara e de resultados precisos quando acionados pelos usuários, nota-se que ele é pouco dialético, e principalmente pouco dialógico. Há, no entanto, na Ciência da Computação, exemplos de software em que atinge-se dialógica, nos quais a léxica deixa de ser um conjunto de ferramentas de resultados precisos e o diálogo passa a ser entre as intenções formais, ou mesmo funcionais e sentimentais do usuário e a resposta adequada do software, que pode Desenvolvemos então um software que reage aos movimentos dos usuários, ainda que levados ao computador pelo movimento de um cursor do mouse. A cada movimento, um conjunto de linhas conexas é apresntado; o resultado são formas que se compõem gradativamente, de modo diferente a cada nova interação.
O funcionamento do software tem 7 comportamentos diferentes, que podem ser escolhidos pelos usuários ao digitarem as letras “a” a “f”, ou qualquer outro dígito que resultara no mesmo comportamento. Ainda que esse detalhe seja meramente operacional, iniciamos a seleção do comportamento que o programa adotará pedindo ao usuário que escolha a sua complexidade.
Os resultados obtidos podem ser os seguintes:
- Opção A: novas retas são adicionadas, limitando-se à forma de um quadrado. O que acontece nesse caso é o preenchimento gradativo do quadrado com retas conectadas. O ponto inicial de cada reta é o final da anteriormente inserida no sistema. Mais de uma reta é inserida a cada movimento do mouse (o que pode ser definido no código fonte do sistema). Como as retas tem seus pontos definidos aleatóriamente, o padrão de preenchimento do quadrado deve ser diferente a cada interação.
- Opção B: as retas resultantes da execução do software nesse modo não tem limitação vertical, ainda que sejam limitadas horizontalmente. Elas são adicionadas às pré-existentes seguindo a direção do movimento do mouse. Quanto mais veloz o movimento, mais espaçadas serão as retas, como acontece com um pincel real, que preenche mais a tela com a cor da tinta que carrega quanto mais lento for o movimento do pintor.
- Opção C: semelhante ao caso A. Nesse caso as retas limitam-se a um retângulo que se apresenta no topo da tela.
- Opção D: semelhante ao anterior. A limitação espacial é o quadrante superior esquerdo da tela
- Opção E: Nesse caso as retas ocupam todo o espaço da tela, exceto as bordas direita e esquerda.
- Opção F: A limitação espacial é semelhante à da opção E, com a diferença de que a função que gera os pontos aleatóriamente é alterada a cada movimento do mouse. Assim, mesmo que iniciassem a execução do software ao mesmo tempo e em dois computadores diferentes e executassem simultaneamente os mesmos movimentos, dois usuários veriam a imagem se formar diferentemente se um escolhesse a opção E e o outro a opção F.
- Qualquer outra opção: o traçado corresponderá ao movimento exato do mouse quando ele for movimentado lentamente e a retas compostas por pontos por onde ele passou quando movimentado rapidamente. A velocidade do movimento e sua captação na imagem pode ser controlada no código fonte desse software.
É comum a todas essas opções o comportamento de que todas as retas traçadas tenham uma nova cor a cada movimento do mouse. Quando quiser apagar totalmente o quadro, o usuário pode clicar.
Ainda que essa composição de retas seja um modelo simplificado de uma colagem, ela se caracteriza por um diálogo entre o designer (ou usuário) e o computador. Este define os elementos e sua posição, e aquele a velocidade de inserção de elementos. Ainda que o computador pareça "liderar" o processo criativo, na realidade ele só traz sugestões daquilo que o usuário poderia idealizar, e cabe a este decidir se elas fazem sentido. De fato, a autonomia é do usuário, que decide se a "sugestão" dada pelo computador será aceita, se precisa de mais elementos, ou se deve ser totalmente apagada.
Não se pretende caracterizar esse sistema como complexo, pois mesmo as funções aleatórias dos computadores são definidas matematicamente. Não hã neste sistema uma composição de ciências, e mesmo a interação com os usuários é limitada à captação de seu movimento por um mouse. No entanto, não se pode dizer que o usuário definiu exatamente qual é gráfico final. A imprevisibilidade é parte dos sistemas complexos, e esse sistema se propõe a apresentar o imprevisível ao seu usuário.
O vídeo a seguir é uma simulação do uso desse software:
segunda-feira, 1 de dezembro de 2008
Continuando...
Reflexões
sábado, 29 de novembro de 2008
A Complexidade de Edgar Morin
Ainda de acordo com Morin, a complexidade tem sua origem na dialética hegeliana, que introduziu a contradição e a transformação no âmago da identidade
Essa definição de Morin esclarece o conceito de complexidade e sua importância para a ciência abruptamente. Em face a qualquer fenômeno de massa, sejam grupos humanos, de formigas ou entidades virtuais, sejam células, átomos ou partículas sub-atômicas, não se pode considerar a manipulação de uma entidade única como verdadeiramente esclarecedora, uma vez que ela em si não é capaz de produzir os resultados que as coletividades em cada uma dessas instâncias gera, bem como não se pode modelar exatamente o comportamento dos grupos, pois todos eles são afetados por fatores aleatórios ou de difícil previsibilidade. As formigas podem ter seu formigueiro devastado por uma grande tormenta, os grupos virtuais podem ter sua comunidade invadida por um hacker, as células podem sofrer mutações por razões que até atualmente a ciência médica não conseguiu isolar. Em face a todas essas abordagens, a complexidade parece um meio de estudo científico desses temas.
Morin também menciona a falência do modelo científico clássico, apenas mascarada pela sua boa capacidade de manipulação
Morin, E. (2005). Introduction à la pensée complexe. Paris: Seuil.

(pelo grupo de pesquisa, 10/2008)
quinta-feira, 27 de novembro de 2008
peleja digital contemporânea 2

"These new complexities have always existed, hidden within the pre-existing conventions. At the same time, the present potentialities furnished us by the computer simultaneously also repress and hide other operative possibilities. It becomes the job of we architect to construct the new tools and new algorithms able to produce the environmental complexes necessary for our present condition."
segunda-feira, 24 de novembro de 2008
peleja digital contemporânea

domingo, 23 de novembro de 2008
Alforria dos pixels
No entanto, trabalhar com esses monitores significa respeitar uma convenção que se baseou estudos de eficiência que podem não se aplicar a certas realidades. O grupo de estudo de William J. Mitchell, que se tornou conhecido por sua pesquisa sobre smart cities após publicar City of Bits, desenvolveu um sistema de "pixels" soltos e intercomunicáveis, que podem passar informações aos habitantes de uma cidade. Mitchell pensou em cada uma das luzes da cidade como um pixel, que em seu conjunto poderiam comunicar. Um exemplo seria o de informar direções através do acender/apagar sincronizado dessas lâmpadas/pixels. Nesse caso, o habitante dessa cidade deveria sempre seguir a lâmpada que acendesse depois em seu campo visual.
Esse também é um bom exemplo de aplicação da complexidade pois, no projeto, os pixels se comunicam entre si e, é de acordo com o seu posicionamento relativo, eles mudam de estado (acendem ou apagam).
O vídeo abaixo mostra como o projeto foi desenvolvido e quais os próximos passos:
sábado, 22 de novembro de 2008
NICO
Eles tem um grupo de estudos, o Northwestern Institute on Complex Systems onde estudam sistemas complexos variados como redes de informação e comportamento social. Dentre os modelos simulados existem cidades, redes de conhecimento entre universidades, simulações biológicas e orgânicas.
Eles trazem questões como
"What is complex and how does it differ from the merely complicated?"
"What are Complex Systems?"
"The most elaborate mechanical watches are called très compliqué. They are, as their French name implies, complicated. A Star Caliber Patek Phillipe has 103 pieces. A Boeing 747-400 has, excluding fasteners, 3x106 parts. In complicated systems parts have to work in unison to accomplish a function. One key defect (in one of the many critical parts) brings the entire system to a halt. This is why redundancy is built into designs when system failure is not an option (e.g. a nuclear submarine)".
Seguem algumas imagens:



Acho que isso abre o campo de pesquisa um pouco mais que o necessário...
quinta-feira, 20 de novembro de 2008
Logando
No livro de Steven Johnson ele cita tal programa criado pelo MIT como meio de experimentar e simular realidades complexas emergentes. [seriam todas as Emergências complexas?]
Mais informações sobre o livro, podem ser acessadas daqui. Sobre Steven Johnson, aqui.
Ok, vamos lá. Minha preocupação tem se resumido a estudar este programa, o STARLOGO para poder produzir alguma simulação emergente onde os seres, neste caso "turtles", interajam uns com os outros e produzam a emergência de uma nova ordem, de acordo com Johnson.
Para tanto eu estou estudando os tutoriais sobre o programa e até agora fiz uma simulação sobre predadores e presas.

Nesta simulação os pontos pretos são os predadores e os brancos as presas.
O fundo vermelho/laranja é apenas o background pra a simulação.
Programei as "turtles",objetos, seres (ou qualquer outro nome que queira dar aos quadradinhos pretos e brancos) com a seguintes ordens:
>Criar elementos
>Rotacionar um angulo aleatorio (entre 0 e 360) e movimentar 300 (pixels).
Assim os 600 elementos, se espalhariam no ecrã, ou área da simulação.
Depois disso eu ativo o sistema que vai se comportar da seguinte forma:
Cada elemento:
>Rotaciona um ângulo entre 0 e 360 aleatório
>Move 5 pixels para a frente.
A cada instante, após o movimento, que uma presa estiver ocupando o mesmo espaço que um predador, o comando DIE é ativado.
Que, escrito no STARLOGO fica assim:
if breed = presas [if count-predadores-here > 0 [die]]
Ou seja, se a presa estiver no espaço do predador, ela morre.
Assim, após alguns segundos todo o campo é tomado pela ausência de presas. Todas morreram.
E assim o sistema conclui a simulação.
Bom...
"Em uma das respostas, Johnson disse que 'um garoto de 12 anos jogando Civilization IV está repassando a história, e a interface do jogo atrai a criança, que se diverte, muito mais do que uma aula tradicional'. " fonte
Disso eu tiro que uma provável resposta para a questão sobre como estes conceitos trariam contribuição para o pensamento seria em promover a interação do usuãrio no sistema. O exemplo do garoto em Civilization IV expõe como a mobilidade do sistema permite contato com o usário. Um método comum, tradicional de ensino de história é em expor os fatos para o aluno que, por sua vez, deve decorá-los e apresentar tal "conhecimento" em uma prova de avaliação. Outra seria a permissão de experimentação da história. Um César ficaria muito mais próximo do aluno em Age of Empires do que no livro de História Antiga. A interatividade seduz.
É nesse sentido que o MIT criou o STARLOGO. Seduzindo as crianças (!) a usar a linguagem LOGO como representação e experimentação da realidade em que vivem.
Bom... minhas pesquisas levaram a buscar um novo programa, o NETLOGO.
Pelo que li, este programa é mais avançado e permitiria coisas que nenhum STARLOGO jamais viu. (estilo Jornadas nas Estrelas... rs)
Ainda estou estudando o STARLOGO 1.0 e o STARLOGO TNG (3d) antes de procurar sobre o NETLOGO.
Mas como a vida, o universo e tudo mais são uma rede, meus estudos também o são e logo logo estarei observando o NET para ver como se mostra diferente. Pode ser que eu pare de estudar o Star e entre no Net.
Afinal, o mundo é dos Nets.
John von Neumann
A máquina viva, ou auto-reprodutiva, de von Neumann exemplifica a abordagem complexa da ciência. Análoga ao teste de Turing da inteligência artificial em sua concepção, e utilizando-se de autômatos celulares para uma rigorosa demonstração matemática de sua teoria, a máquina viva de von Neuman, capaz de parafrasear a reprodução biológica em um âmbito algoritmico, é a base da maioria dos computadores modernos.
Von Neuman e a sua máquina viva não só exemplificam a complexidade pela maneira como o cientista desenvolveu sua pesquisa e pelo caráter não disciplinar que levou à criação da máquina, mas também pelas possibilidades que se abriram na ciência desde então. Uma máquina capaz de se auto-reproduzir é à primeira vista uma simples abstração de um cientista da computação desvinculado da realidade cotidiana, mas o que aconteceu com von Neumann foi exatamente o oposto. Tamanha era a sua ligação com essa realidade que ele fez com que a máquina se assemelhasse às células em sua reprodução, e da observação do crescimento biológico de homem, da sua capacidade de mutação em diversos níveis, desde o celular até o social, e do potencial que a reprodução biológica tem de permitir que o desenvolvimento não seja nunca estagnado, ele criou as bases de uma máquina que não parou de se desenvolver.
Sugestão bibliográfica:
John von Neumann: The Scientific Genius Who Pioneered the Modern Computer, Game Theory, Nuclear Deterrence, and Much More - MACRAE, Norman - 1999