Ex de IA em Java?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

victorwss wrote:
Andre Brito wrote:...

Não, a técnica baseada em 8! regras é força bruta.

Se bem que confesso que quotei você errado, não deveria ter incluído a parte do A* no quote.

No problems.
A do 8! também acho que é força bruta.

Abraço.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20570
Localização: Curitiba/PR
Online

E quem foi que disse que força bruta não é IA?

Aliás, alguém aqui tem uma definição precisa de IA??? Não!
Ela simplesmente não existe!!

Nós usamos força bruta para resolver problemas no dia-a-dia. Também usamos regras pré-criadas.
Agora, algumas pessoas associam IA a cognição, mas daí o que dizer das outras formas de inteligência?

Você pode usar o teste de turing para tentar definir IA, numa abordagem mais humanística: "Se uma pessoa interagir, e não perceber que é um computador, então é inteligente".

O último caso é uma das definições mais úteis para jogos.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3926
Offline

Experimenta usar força bruta em um jogo de xadrez, você vai levar anos para resolver o problema. Não se deve considerar isso como ia(IA Fraca)

This message was edited 1 time. Last update was at 10/02/2009 07:06:21


www.citrox.com.br
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3926
Offline

ViniGodoy wrote:E quem foi que disse que força bruta não é IA?

Aliás, alguém aqui tem uma definição precisa de IA??? Não!
Ela simplesmente não existe!!

Nós usamos força bruta para resolver problemas no dia-a-dia. Também usamos regras pré-criadas.
Agora, algumas pessoas associam IA a cognição, mas daí o que dizer das outras formas de inteligência?

Você pode usar o teste de turing para tentar definir IA, numa abordagem mais humanística: "Se uma pessoa interagir, e não perceber que é um computador, então é inteligente".

O último caso é uma das definições mais úteis para jogos.


O mais correto seria utilizar busca heurística.

www.citrox.com.br
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20570
Localização: Curitiba/PR
Online

juliocbq wrote:O mais correto seria utilizar busca heurística.


Claro, mas isso não invalida a força bruta como técnica válida de IA.
Aliás, já exclarecendo, A* é um algoritmo de busca heurística. E como todo algoritmo de busca heurística, tem uma limitação: A função heurística, no caso do A*, não deve retornar valores maiores do que o custo real. Um caso simples de onde isso se quebra. Você implementa seu jogo, lindo e maravilhoso, com A* para seus bonequinhos andarem no mapa. E lá pelo meio do projeto, você tem a idéia de adicionar no mapa um ponto de teleporte. Parabéns, seus bonequinhos NUNCA vão entrar no teleporte. Um algoritmo de mais força bruta, como Dijkstra resolveria melhor o problema.


Já o caso dos AGs, entra na categoria de busca estocástica. O que também é força bruta, embora existam um conjunto de regras para verificar de forma ótima o espaço da solução do problema. Mas vamos falar a verdade, testa-se um a um MILHARES de indivíduos em busca de solução, de maneira sequencial.


Mas estamos falando aqui de técnicas de IA, não exatamente da raiz do problema: o que é IA? Como vocês definiriam IA?
Sem uma definição precisa, vamos divergir sempre sobre o que é ou não técnica de IA.


Quer alguns exemplos? Máquina de estados é IA? Ela pode ser modelada como um conjunto de ifs.
E ter um conjunto de ifs fixos, é IA? E os steering behaviors?

Talvez por trabalhar muito com IA para jogos, eu tenha chegado a uma definição mais próxima da regra de turing. Ou seja, uma abordagem mais humanística de IA. Há quem estude IA para procurar o "pensador perfeito", ou um computador capaz de se adaptar e resolver de maneira eficiente qualquer problema.

Agora, uma das definições de IA que mais gosto é a seguinte:
"É a ciência que estuda como fazer um computador fazer de forma eficiente o que os seres humanos fazem muito melhor do o computador."

Essa definição aborda o processamento de imagens, steering behaviors, e não invalida técnicas como a força bruta.

Agora, já dizia o professor Roberto, lá da ET/UFPR: "Precisão demais é burra". A IA, para ser inteligente de verdade, deve saber lidar com a imperfeição. Essa é uma diferença fundamental entre o ser humano e o computador e é nisso que superamos ele de longe. Temos a capacidade de entender a imperfeição, de conhecer só parcialmente as regras, de fazer hipóteses, extrapolações, etc.

This message was edited 1 time. Last update was at 10/02/2009 07:50:16


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3926
Offline

Concordo. Mas somente quando a árvore de opções é pequena.

This message was edited 2 times. Last update was at 10/02/2009 08:53:12


www.citrox.com.br
wellington7
JavaEvangelist
[Avatar]

Membro desde: 16/03/2007 14:03:02
Mensagens: 333
Offline

Mas então, preciso de um exemplo de aplicação de aplicação real em um sistema implantado (ou em implantação), que resolva algum problema da empresa. Alguma dica?

"Faça por onde que eu te ajudarei"

Idéias que você deveria conhecer:
  • Lombok
  • SSCCE
  • wellington7
    JavaEvangelist
    [Avatar]

    Membro desde: 16/03/2007 14:03:02
    Mensagens: 333
    Offline

    Found!
    www.aaai.org

    "Faça por onde que eu te ajudarei"

    Idéias que você deveria conhecer:
  • Lombok
  • SSCCE
  • johnafmendes
    Smalltalk

    Membro desde: 08/12/2010 10:58:18
    Mensagens: 3
    Localização: Canoinhas
    Offline

    juliocbq wrote:
    Andre Brito wrote:Eu usei o Joone e não gostei. Nunca botei fé nos resultados que ele me retornava.

    Se você procurar por problemas clássicos de IA (como 8 Queens), você acha bastante coisa (algumas delas inclusive em Java). Outro problema, como aquele que você tem um quarado e tem que colocar os números na ordem correta e é resolvido com Java é esse.

    Abraço.


    Resolvi o problema das 8 rainhas com joone, quando fiz trabalho de IA a muito tempo. Você não deve estar normalizando os dados de entrada, ou está usando uma arquitetura de rede inapropriada para os dados.
    O problema das 8 rainhas não precisa ser resolvido com rna, pode ser resolvido com algoritmos genéticos tmb.


    Olá, você teria como me passar o algoritmo de IA usando Joone resolvendo o problema das 8 rainhas?

    valeu.
     
    Índice dos Fóruns » Assuntos gerais (Off-topic)
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team