HashCode

An organizer of symbols

Archive for July, 2008

Como frustrar ou criar vontade em uma máquina?

Wednesday, July 30th, 2008

A tão intrigante pergunta “Can a Machine Think?” do artigo Computing Machinery and Intelligence by A. M. Turing me fez criar este resumo de alguns pensamentos meus, resumi pois meu brainstorming foi de 6 páginas, começando com a resposta e depois finalizando com uma pergunta :)

A resposta

Partindo de um visão criacionista(e não teológica que limita o significado), penso que uma máquina foi criada para executar tarefas referente a vontade humana e que transferir a vontade de “pensar” para equipamentos eletrônicos é algo a ser estudado mas os resultados é e serão apenas aproximações em relação a mente humana.

Motivação especulativa

Em analogia aos animais, pergunto “Pode um animal pensar?”. Para responder este questionamento não posso comparar o pensamento do animal com o pensamento do ser humano, são espécies diferentes com limitações peculiares a cada anatomia. Podemos responder o questionamento analisando entre um grupo de cem cachorros(A), que o cachorro (B) demonstra a superioridade do ato de pensar em relação aos demais por ser hábil a execução de uma determinada tarefa (T1). Mesmo assim temos que levar em consideração a tarefa executada, pois B em outra tarefa(T2) pode não ter o desempenho superior ao A.

Em um rápido aspecto filosófico teriamos mais uma questão “O cachorro B nasceu com mais poder de pensar em relação aos outros ou ele foi treinado?”, a velha conhecida luta entre os empiristas e os inatistas.

Suponhamos então que o cachorro tem um treinamento behavorista para pegar o jornal todos os dias e latir quatro vezes alertando o dono, e que o código de quatro latidos a mensagem é a chagada do jornal. E se o cachorro executasse a mesma ação todos os dias sem que ninguém(homem ou animal) tivesse sequer servido de modelo para a interpretação da ação pelo canino? Temos que o cão “aprendeu sozinho”, o meio não interferiu para que o cão aprendesse. Algo fala mais forte dentro do canino que o motiva para a execução, a vontade.

Entre broncas, espancamentos, carinhos e comidas, o cão, no mundo dele, começa discernir entre o que é bom e o que é ruim, e de uma forma misteriosa ele sabe do processo de retribuição então o jornal faz com que ele ganhe um afago, uma comida ou algo que ele goste. Uma intensa troca assim como no mundo em que vivemos.

Máquinas sem frustrações

Voltando para a máquina agora e identificamos inicialmente que ela não tem uma pulsão, uma motivação, uma vontade em si própria para aprender e pensar. Podemos dizer que uma máquina em relação a outra máquina pensa mais mas considerando a mesma tarefa no universo delas.
Um equivoco seria a comparação de milhares de anos de conhecimento humano em relação a um equipamento de uns cinqüenta(computador digital) anos de idade.

Não havendo pulsão não há uma forma simbólica de expressar o pensamento[Lacan]. Sempre continuaremos fazendo do computador a representação do mundo real e não contrário. O pensamento da máquina é a submissão do desejo do programador, seria um pensamento falso pois a máquina não racionalizou o que sente mais o que colocaram-na para sentir, criando de uma certa forma desejo paradoxal de G. Bateson. Para pensar precisamos de pulsões, frustrações um objeto a ser alcançado, a negação dos desejos para uma máquina seria apenas o redirecionamento do controle para outro procedimento; já em nós, criamos resíduos psicológicos que no primeiro instante nos fazem sofrer mais depois conseguimos aprendemos.

A pergunta
Partindo da conjectura de “o produto das frustrações e dos desejos o que nos faz aprender” pergunto “Como frustrar ou criar vontade em uma máquina?

Pare um pouco e revise seus conhecimentos sobre Ruby

Saturday, July 26th, 2008

Referência rápida com exemplos claros sobre os objetos do Ruby Core, acesse aqui.
Algumas coisas como

require 'socket'
require 'timeout'
begin
    timeout(1) do #the server has one second to answer
        client = TCPSocket.new('www.host.com', 'www')
    end
rescue
    puts "error: #{$!}"
end

você conhecia o timeout?