Por que ensinar apenas algoritmos de pesquisa em um breve curso introdutório de IA?


11

Eu entendi que o conceito de pesquisa é importante na IA. Há uma pergunta neste site sobre esse tópico, mas também é possível entender intuitivamente o porquê. Eu tive um curso introdutório sobre IA, que durou metade de um semestre, então é claro que não houve tempo suficiente para cobrir todos os tópicos da IA, mas eu esperava aprender alguma teoria da IA ​​(eu ouvi sobre "agentes "), mas o que realmente aprendi foram basicamente alguns algoritmos de pesquisa, como:

  • BFS
  • Pesquisa de custo uniforme
  • DFS
  • Pesquisa de aprofundamento iterativo
  • Pesquisa bidirecional

esses algoritmos de pesquisa geralmente são classificados como "cegos" (ou "desinformados"), porque não consideram nenhuma informação sobre o caminho restante para a meta.

Ou algoritmos como:

  • Pesquisa heurística
  • Melhor primeira pesquisa
  • UMA
  • UMA*
  • IDA *

que geralmente se enquadram na categoria de algoritmos de pesquisa "informados", porque usam algumas informações (por exemplo, "heurísticas" ou "estimativas") sobre o caminho restante para a meta.

Em seguida, também aprendemos algoritmos de pesquisa "avançados" (aplicados especificamente ao problema do TSP). Esses algoritmos são algoritmos construtivos (por exemplo, vizinho mais próximo), pesquisa local (por exemplo, 2-opt) ou meta-heurísticos (por exemplo, sistema de colônia de formigas ou recozimento simulado).

Também estudamos brevemente um algoritmo min-max aplicado aos jogos e uma versão "aprimorada" do min-max, ou seja, a poda alfa-beta.

Após esse curso, tive a sensação de que a IA é apenas sobre pesquisa, "estupidamente" ou "de maneira mais inteligente".

Minhas perguntas são:

  • Por que um professor ensinaria apenas algoritmos de pesquisa no curso de IA? Quais são as vantagens / desvantagens? A próxima pergunta está muito relacionada a isso.

  • O que é mais do que "pesquisar" em IA que poderia ser ensinado em um curso introdutório? Essa pergunta pode levar a respostas subjetivas, mas na verdade estou perguntando no contexto de uma pessoa tentando entender o que realmente é a IA e quais tópicos ela realmente cobre. Aparentemente e infelizmente, depois de ler, parece que isso ainda seria subjetivo.

  • Existem teorias de IA que poderiam ser ensinadas nesse tipo de curso?


Você provavelmente deve mudar sua proposição de que os algoritmos de pesquisa listados são chamados de "cegos" - porque estão errados. "cego" é geralmente usado como sinônimo de "desinformado". No entanto, A *, IDA * e pesquisa heurística são, por definição, algoritmos de pesquisa "informados" (porque baseiam-se em heurísticas ", portanto não são cegos. Além disso, você tem certeza de que o" algoritmo A "existe? Eu apenas conheço A * e não consegui encontrar nenhuma menção a este algortihm na Web. Se ele realmente existir, um link seria bom (talvez nos comentários).
Prof.Chaos

@ Prof.Chaos O algoritmo A é A * quando você não sabe que a heurística é ideal. De fato, o * em A * deve evocar algo em nossas cabeças. Com relação ao argumento "cego", provavelmente é injusto considerar A * tão cego quanto o BFS ou o DFS, por isso concordo com você.
nbro

Respostas:


8

Existem muitos conceitos errados sobre a IA, especificamente a idéia de que os computadores "pensam" como seres humanos, simulando o cérebro, os robôs de ficção científica dominando o mundo, todas as discussões filosóficas sobre o cérebro como máquina, etc. A prática / realidade O AI é sobre "usar a computação para resolver problemas", o que basicamente significa que você pega qualquer problema, representa-o como um problema de computação e depois cria o algoritmo para resolver o problema de computação que leva à solução do problema original. Esses algoritmos de busca são algoritmos de uso geral para problemas de computação de uso geral, ou seja, qualquer problema do mundo real pode ser representado por esse problema de computação de uso geral e, em seguida, esses algoritmos podem ser usados ​​para resolvê-los.

Lembre-se, é sobre solução de problemas e sobre problemas de computação de uso geral que podem representar qualquer problema do mundo real.


6

O que se resume é que a maioria dos problemas de IA pode ser caracterizada como problemas de pesquisa. Vamos apenas passar por alguns exemplos:

  • O reconhecimento de objetos e a construção de cenas (por exemplo, o processo de captar a entrada audiovisual de seu entorno e entendê-la em um sentido 3D e contextual) podem ser tratados como a busca de objetos conhecidos na entrada.
  • A solução matemática de problemas pode ser tratada como a busca de uma solução.
  • Jogar um videogame pode ser tratado como uma busca pela resposta correta para um determinado estado do gamestate.

Até chatbots rudimentares podem ser caracterizados como encontrar a resposta 'correta' a uma determinada frase de entrada para imitar a linguagem humana!

Devido a essa generalização da pesquisa, os algoritmos de pesquisa foram alguns dos primeiros algoritmos considerados 'IA' e, frequentemente, formam a base de muitos cursos de ensino de IA. Além disso, os algoritmos de busca são intuitivos e não matemáticos, o que torna acessível o campo um pouco aterrador da IA. Isso pode parecer exagero, mas garanto que, se o seu professor tivesse aberto com o Manifold Learning Techniques, metade da sua classe teria fugido para a porta no momento em que mencionaram 'autovalor da matriz de covariância'.

Agora, os algoritmos de pesquisa não são a única maneira de resolver esses problemas. Eu recomendo que todo profissional de IA esteja familiarizado com a noção de algoritmos de ciência de dados e aprendizado de máquina. O ML geralmente está relacionado a algoritmos de busca, mas as técnicas utilizadas podem variar muito da construção iterativa de um classificador / regressão (por exemplo, C4.5 constrói uma árvore de decisão), meta-heurísticas, como você observou, e classificadores / regressão gerados estaticamente a partir de análise de dados de treinamento (por exemplo, Naive Bayesian é literalmente um classificador construído com base na análise bayesiana dos dados fornecidos, assumindo que os campos de entrada são independentes - essa é a 'ingenuidade' da qual ele recebe seu nome). Geralmente, os algoritmos ML são desenvolvidos em grupos de pesquisa de IA e, às vezes, podem ser projetados para problemas específicos, em vez de serem algoritmos de forma geral.


4

Por que um professor ensinaria apenas algoritmos de busca no curso de IA? Quais são as vantagens / desvantagens?

Minha resposta a esta pergunta é que existem muitos problemas em que a solução pode ser encontrada usando a pesquisa. Veja um exemplo de Tic Tac Toe. Se você estiver projetando um reprodutor de computador inteligente para isso, o que você fará é formar um espaço de pesquisa e, em seguida, buscará o melhor movimento possível para concluir o jogo. Nesses cenários, você deve estar ciente das estratégias de pesquisa ideais. Vamos dar outro exemplo, suponha que você esteja dirigindo e queira chegar à casa de uma pessoa desconhecida. Está longe do seu lugar e você decide usar o GPS. Seu GPS usará algoritmos de busca para encontrar a melhor rota que você pode seguir para chegar ao destino (é claro que haverá muitos fatores a serem considerados, como tráfego, etc., mas essa é a idéia básica).

As desvantagens são apenas em termos de processamento e armazenamento. Para algoritmos lentos, você estará desperdiçando muito tempo e armazenamento da CPU, mas para algoritmos bons e eficientes, você pode preservar muito espaço e também executar sua tarefa muito rapidamente. Claro, apenas aprender sobre a pesquisa não é IA. Há muito mais nisso.

O que é mais do que "pesquisar" em IA que poderia ser ensinado em um curso introdutório?

Há muitas coisas na IA além da pesquisa. Por exemplo, técnicas de aprendizado (supervisionadas, não supervisionadas, reforçadas), planejando quando se deseja projetar um sistema que realize determinadas ações de forma independente e inteligente, representação do conhecimento (conhecido e desconhecido) e inferência em agentes, que inclui lógica proposicional e de primeira ordem. lógica etc.

Existem teorias por trás da IA ​​que poderiam ser ensinadas nesse tipo de curso?

Alguns tópicos podem ser ensinados, como sobre diferentes tipos de agentes (reflexo simples, baseado em modelo, baseado em objetivos, agente de utilidade e agente de aprendizagem), diferentes tipos de ambientes nos quais os agentes trabalham, avaliação de agentes. Pode haver alguns tópicos introdutórios adicionais, como processamento de linguagem natural, sistemas especializados, etc.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.