Programar uma Inteligência Artificial? Por quê?

É engraçado quando uma determinada ciência passa a ser feita de maneira totalmente entrelaçada com questões filosóficas. No campo da Inteligência Artificial, os cientistas da computação vivem se perguntando: “É este sistema inteligente?”; “Mas é este algoritmo que faz este sistema inteligente?”; “Como tornar este processo mais racional?”; etc. Tais perguntas não são feitas, porém, de um ponto de vista puramente filosófico – geralmente elas tornam necessária a referência a técnicas e linguagens particulares, a conhecimentos que extrapolam a dedução a priori veiculada na filosofia.

Para programar um sistema de Inteligência Artificial é preciso antes saber o que é inteligência e racionalidade? Eu acho que não – você pode ter apenas uma noção mais solta sobre estes conceitos. Eu acho que, no processo de programação, você vai ganhando uma maior compreensão do uso destes conceitos na área em questão. É como se ganhássemos maiores condições para analisar um conceito ao criar as situações em que ele vai ser instanciado. “Compreenda enquanto faz” – algo assim. Além disso, creio que esta atividade, de enfrentar os meandros técnicos da programação de algoritmos supostamente inteligentes e racionais, nos ajuda a compreender a própria inteligência e racionalidade em um sentido mais amplo. Veja bem: suponha que você quer programar um sistema artificial que realize uma determinada tarefa prática, como se dirigir de um local para outro de forma bem sucedida, optimal. Você vai ter que escrever uma “receita” do tipo:

WHILE [estado atual não é estado final]
DO [mova-se em direção ao norte]
IF [estado atual é estado final]
THEN [pare]

Esta é uma versão altamente grosseira do resumo de um pseudo-code. Você tem que pensar na série de passos que o agente precisa seguir para realizar a tarefa a ele designada e, ao implementar esta série de passos (o algoritmo), você irá se deparar com surpresas, por vezes desagradáveis, por vezes agradáveis. Se o output do sistema, o seu comportamento, foi exatamente como você idealizou, então aquele algoritmo é optimal para aquele tipo de tarefa e, além disso, este algoritmo pode ser explicativo da maneira como nós funcionamos quando executamos aquele tipo de tarefa. Mas eu disse pode ser explicativo, não que necessariamente é explicativo. Por que? No mundo da programação há uma máxima que você aprende rapidamente: existem milhares de formas de fazer com que um mesmo input resulte num mesmo output. Modelar a cognição e racionalidade humana com estes algoritmos constitui apenas uma hipótese mas, pense bem: se somos nós que colocamos este algoritmo para funcionar em outro sistema, não é ao menos provável que “pensamos daquela forma”?

Olhando para o outro lado, onde o sucesso não ocorre: quando o sistema não exibe o output esperado, você sabe que deve haver um problema na programação. Este problema pode estar na ordem dos passos, na falta de uma variável, na determinação errônea do valor de uma função, etc. Aplicando isso para a possível auto-compreensão que ganhamos com a programação e a modelagem, podemos vir a ter a certeza de que algo é crucial para a racionalidade prática em questão. Assim, podemos vir a raciocinar da seguinte forma: “Usei o algoritmo A para realizar racionalmente o tipo de tarefa T. Porém, o programa não realizou a tarefa T, porque a variável x foi esquecida. Logo, é altamente provável que o tipo de variável x faz parte do processo de racionalidade de qualquer agente que realiza esta tarefa de maneira bem-sucedida”. Se não funfa, não funfa – you have to fix the problem!

Creio que a criação de modelos e programas podem nos ajudar de maneira substancial a compreender as propriedades que queremos emular. No mínimo, estas interfaces artificiais nos ajudam a entender o nosso próprio conceito de inteligência e de racionalidade, o que já é de grande valor (algo de que os filósofos já estão bastante cientes!). Isso quer dizer que programar agentes artificiais é importante não somente para otimizarmos nosso uso de tecnologias para fins práticos (não vejo a hora de ter um robozinho que limpe o meu quarto!), mas também para otimizarmos nosso uso de tecnologias para fins teóricos!

Vou nessa, voltar para o terminal de programação do CLISP, ver se aprendo um pouco mais sobre como eu penso! Filosofia CyberPunk! =]

3 comentários

  1. luis testando html · · Responder

  2. Interessante o artigo.

  3. Yuri Fernandes · · Responder

    Muito bom o artigo parabéns!

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: