Ex de IA em Java?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
wellington7
JavaEvangelist
[Avatar]

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

Alguem pode me indicar um exemplo de aplicação java implantado (ou em implantação) usando técnicas de Inteligencia Artificial?

"Faça por onde que eu te ajudarei"

Idéias que você deveria conhecer:
  • Lombok
  • SSCCE
  • Andre Brito
    JWizard

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

    Qual técnica você quer?

    Eu tenho algumas implementações que fiz pra matéria de IA da faculdade.

    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]
    juliocbq
    GUJ Expert
    [Avatar]

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

    Aqui tem ótimos exemplos de várias arquiteturas de redes neurais artificiais. É uma ótima biblioteca, sendo tão boa quanto a FANN c++.

    http://www.jooneworld.com/

    Agora tem que ler algo sobre RNAs, topologia das redes, perceptron, etc... , senão vai ser complicado trabalhar com isso.

    www.citrox.com.br
    Andre Brito
    JWizard

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

    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.

    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]
    mauro_schneider
    JavaChild

    Membro desde: 31/03/2005 07:43:23
    Mensagens: 144
    Offline

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


    Estranho, fiz vários testes com o Joone, e não vi nada de anormal nele. Quais foram os testes que você fez com ele ?

    http://blog.mauros.org
    [Email] [WWW]
    juliocbq
    GUJ Expert
    [Avatar]

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

    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.

    www.citrox.com.br
    victorwss
    JWizard
    [Avatar]

    Membro desde: 18/12/2007 14:46:00
    Mensagens: 2409
    Localização: São Paulo - SP
    Offline

    Meio que pegando carona no tópico, quanto a IA de jogos de estratégia em java, alguém tem uns links interessantes por aí?

    Victor Williams Stafusa da Silva

    Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
    SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
    Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

    Computação: uma ciência holística e esotérica!
    E então veio Deus a terra e disse aos homens: Não dividireis por zero.
    XML is a giant step in no direction at all. (Erik Naggum)
    Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
    Diga não as drogas: Não use java.util.Vector.
    Cuidado: Este usuário pode ter temperamento agressivo.

    Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
    I am the maniac serial killer that knows where you live who will maintain your code.


    É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


    Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
    [MSN]
    juliocbq
    GUJ Expert
    [Avatar]

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

    victorwss wrote:Meio que pegando carona no tópico, quanto a IA de jogos de estratégia em java, alguém tem uns links interessantes por aí?


    Rapaz, sabe que nunca vi. Mas também não vejo tanta gente desenvolvendo jogos em java para desktop. Normalmente usam c/c++ e allegro.

    Aqui tem o link:

    http://www.allegro.cc/


    Nele você encontra artigos sobre ia. Pode portá-los para java.

    This message was edited 1 time. Last update was at 09/02/2009 12:14:46


    www.citrox.com.br
    victorwss
    JWizard
    [Avatar]

    Membro desde: 18/12/2007 14:46:00
    Mensagens: 2409
    Localização: São Paulo - SP
    Offline

    juliocbq wrote:
    victorwss wrote:Meio que pegando carona no tópico, quanto a IA de jogos de estratégia em java, alguém tem uns links interessantes por aí?


    Rapaz, sabe que nunca vi. Mas também não vejo tanta gente desenvolvendo jogos em java para desktop. Normalmente usam c/c++ e allegro.

    Aqui tem o link:

    http://www.allegro.cc/


    Nele você encontra artigos sobre ia. Pode portá-los para java.


    Sim, conheço o allegro e já desnvolvi alguns jogos com ele (inclusive fiquei em segundo lugar no speedhack de 2006). O que eu queria mesmo era ver como funciona a IA.
    No age of empires ele usa uns scripts em uma linguagem semelhante a LISP, mas entre aquilo e a mecãnica do jogo existe um abismo enorme.
    Talvez o jeito seja procurar em outras linguagens mesmo e depois tentar trazer para o java. De qualquer forma, valeu aí.

    Victor Williams Stafusa da Silva

    Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
    SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
    Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

    Computação: uma ciência holística e esotérica!
    E então veio Deus a terra e disse aos homens: Não dividireis por zero.
    XML is a giant step in no direction at all. (Erik Naggum)
    Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
    Diga não as drogas: Não use java.util.Vector.
    Cuidado: Este usuário pode ter temperamento agressivo.

    Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
    I am the maniac serial killer that knows where you live who will maintain your code.


    É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


    Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
    [MSN]
    ViniGodoy
    Moderador
    [Avatar]

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

    Dê uma olhada no Caça a Bandeira. Inclui calculos de campo de visão, steering behaviors e path-finding com a*:
    http://vinigodoy.wordpress.com/meus-jogos

    Dê uma olhada nesse projeto também, que inclui algoritmos genéticos e steering behaviors:
    http://sourceforge.net/projects/sofiaia/

    This message was edited 1 time. Last update was at 09/02/2009 12:49:33


    @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]
    Andre Brito
    JWizard

    Membro desde: 21/07/2007 17:44:31
    Mensagens: 2485
    Localização: Paraná
    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.

    Oi Julio.
    Na verdade, eu peguei um data set pronto do UCI Data Set, sobre câncer de mama, contendo (acho que) 6 exames e o resultado (se era câncer ou não, ou algo assim, não lembro muito bem). No total eram mais ou menos 250 casos.
    Era uma rede MLP e eu treinava ela usando 4 sets de 50 casos. O interessante é que quando eu entrava um conjunto de padrões que a rede não conhecia, ela acertava 99% dos casos (errava 2, 1 e nada, nessa ordem). Eu me impressionei porque até achei alguns artigos em que falava que era muito difícil acertar mais que 80% (usando a mesma base, com RNA implementada na unha e outras técnicas também (Genético Fuzzy sendo uma delas)). Vai que eu quebrei as barreiras... hehe. Nunca se sabe.

    Acho que o problema das 8 Rainhas pode ser resolvido usando A* também. Ou outra técnica (como uma baseada em regras - o problema é que a quantidade é 8! regras, se não me engano).

    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]
    victorwss
    JWizard
    [Avatar]

    Membro desde: 18/12/2007 14:46:00
    Mensagens: 2409
    Localização: São Paulo - SP
    Offline

    Andre Brito wrote:Acho que o problema das 8 Rainhas pode ser resolvido usando A* também. Ou outra técnica (como uma baseada em regras - o problema é que a quantidade é 8! regras, se não me engano).


    Ou seja, força-bruta. Daí não é inteligência artificial.

    ViniGodoy wrote:...

    Obrigado, hoje a noite vou olhar isso.

    Victor Williams Stafusa da Silva

    Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
    SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
    Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

    Computação: uma ciência holística e esotérica!
    E então veio Deus a terra e disse aos homens: Não dividireis por zero.
    XML is a giant step in no direction at all. (Erik Naggum)
    Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
    Diga não as drogas: Não use java.util.Vector.
    Cuidado: Este usuário pode ter temperamento agressivo.

    Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
    I am the maniac serial killer that knows where you live who will maintain your code.


    É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


    Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
    [MSN]
    juliocbq
    GUJ Expert
    [Avatar]

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

    Quando o problema é seleção otimizada, não existe algoritmo melhor que AG.

    www.citrox.com.br
    Andre Brito
    JWizard

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

    victorwss wrote:
    Andre Brito wrote:Acho que o problema das 8 Rainhas pode ser resolvido usando A* também. Ou outra técnica (como uma baseada em regras - o problema é que a quantidade é 8! regras, se não me engano).


    Ou seja, força-bruta. Daí não é inteligência artificial.

    ViniGodoy wrote:...

    Obrigado, hoje a noite vou olhar isso.

    Victor,

    A* é 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]
    victorwss
    JWizard
    [Avatar]

    Membro desde: 18/12/2007 14:46:00
    Mensagens: 2409
    Localização: São Paulo - SP
    Offline

    Andre Brito wrote:
    victorwss wrote:
    Andre Brito wrote:Acho que o problema das 8 Rainhas pode ser resolvido usando A* também. Ou outra técnica (como uma baseada em regras - o problema é que a quantidade é 8! regras, se não me engano).


    Ou seja, força-bruta. Daí não é inteligência artificial.

    ViniGodoy wrote:...

    Obrigado, hoje a noite vou olhar isso.

    Victor,

    A* é força bruta?!

    Abraço.


    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.

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


    Victor Williams Stafusa da Silva

    Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
    SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
    Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

    Computação: uma ciência holística e esotérica!
    E então veio Deus a terra e disse aos homens: Não dividireis por zero.
    XML is a giant step in no direction at all. (Erik Naggum)
    Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
    Diga não as drogas: Não use java.util.Vector.
    Cuidado: Este usuário pode ter temperamento agressivo.

    Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
    I am the maniac serial killer that knows where you live who will maintain your code.


    É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


    Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
    [MSN]
     
    Índice dos Fóruns » Assuntos gerais (Off-topic)
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team