Inteligência Artificial

Objetivos, Solução de Problemas, Raciocínio

Última ocorrência: 2024-03-11 em Universidade LaSalle Canoas

Posts Relacionados

O que é Inteligência Artificial?

Alguns autores já definiram inteligência, em relação a inteligência artificial, como comportamento com eficácia comparável à humana. Outros preferem definições mais abstratratas como realizar a ação correta, ao que chamamos de racionalidade.

Variam também o motivo pelo qual se define um ser inteligente, pelo processo de pensamento ou raciocínio, ou pelo comportamento inteligente, ou seja uma caracterização externa.

  1. Agindo humanamente: o Teste de Turing
    Baseado na pergunta Podem as máquinas pensar?, frase de um artigo de Alan Turing (1950) onde é proposto um teste onde, após interação com um sistema que responde ações de um interrogador humano, considera-se que o sistema é inteligente se o interrogador não consegue dicernir se o ator do sistema é humano ou não.
    Conceitos necessários para o sucesso no teste incluem:
    • Processamento de Linguagem Natural
    • Representação de Conhecimento
    • Raciocínio automatizado
    • Aprendizagem de Máquina
    Uma variação do teste proposta como Teste de Turing Total, incluiria visão computacional, reconhecimento de voz, robótica.
  2. Pensando humanamente, a abordagem de modelagem cognitiva
    Para tentar simular a forma de pensamento humano, precisamos conhecer como o ser humano pensa, através, por exemplo:
    • Introspecção: pensear sobre o nosso pensamento enquanto ele ocorre
    • experimentos psicológicos
    • imagens do cérebro
    O campo da ciência cognitiva é fascinante, e tenta juntar modelos computacionais e psicologia para entender e simular o funcionamento do cérebro humano.
  3. Pensando racionalmente: as regras do pensamento
    Aristóteles (325 A.C.) foi uma das primeiras pessoas a tentar codificar a forma como raciocinamos, e criou padrões para estruturas de argumentos (os silogismos) que semper trariam conclusões corretas dado premisas corretas. O exemplo clássico é “Sócrates é um homem, todos os homens são mortais, logo, Sócrates é mortal”. Estas “leis do pensamento” deram início ao estudo da lógica.
    O principal problema desta abordagem é que exigem uma certeza das afirmações que na prática não existem no mundo real. A teoria da probabilidade ajuda a mitigar essa limitação, permitindo raciocínio rigoroso a partr de informações incertas e imprecisas.
  4. Agindo racionalmente: a abordagem de agentes racionais
    Um agente é, simplesmente, algo que atua. Espera-se que um agente inteligente opere autonomamente, perceba o ambiente em que está inserido, persista por um longo período, adapte-se a mudanças e busque objetivos. Um agente racional é um agente que atua de forma a obter o melhor resultado possível, mesmo frente a incertezas.
    A inteligência artificial tem focado na construção de agentes que fazem a coisa certa

Máquinas Benéficas (Beneficial Machines)

Uma das dificuldades de se definir o que significa fazer a coisa certa é fazer com que uma máquina autonoma entenda que nem sempre a melhor de decisão é a decisão correta.

Por exemplo, para um carro autonomo, cujo objetivo é chegar a um destino com segurança, o sistema precisa entender que mesmo que o mais seguro seja não sair da garagem, é necessário correr algum risco ou não será possível chegar a nenhum destino.

Uma vez que o sistema foi convencido que precisa sair da garagem, como definir que as suas ações mais seguras sejam seguras não apenas para si, mas para outros veículos? Como fazer com que o sistema não importune outros veículos enquanto tenta atingir seus objetivos? Quanto o veículo deve frear ou acelerar, pensando no conforto dos passageiros?

Esse tipo de questão é particularmente importante e difícil de responder quando pensamos na interação homem-máquina.

Fundamentos da Inteligência Artificial

A inteligência artificial, hoje em dia, é uma multi-disciplinar, e sofreu influência de várias áreas como:

Estado da Arte

Riscos e Benefícios da IA

Exercícios

  1. Implemente uma árvore binária em Python, onde cada nó da árvore é uma tupla contendo (nó_esquerdo, nó_direito, valor), de forma que os seguintes algoritmos possam ser executados:
def pre_order(node, function):
    if node is not None:
        left, right, valor = node
        pre_order(left, function)
        pre_order(right, function)
        function(valor)

def in_order(node, function):
    if node is not None:
        left, right, valor = node
        in_order(left, function)
        function(valor)
        in_order(right, function)

def post_order(node, function):
    if node is not None:
        left, right, valor = node
        function(valor)
        post_order(left, function)
        post_order(right, function)

Por exemplo, a chamada in_order([((None, None, 1), (None, None, 2), 3), ((None, None, 5), (None, None, 7), 6), 4], print) produz a saída

1
2
3
4
5
6
7

Embora não seja necessário, e não seja recomendado, você pode implementar a árvore como uma árvore binária de pesquisa.

Preparação para a próxima aula

Recursos para essa aula

Bibliografia

Videos