Quem sou eu?
Profissional com experiências na área de informática, atuando nos últimos anos com análise de sistemas, modelagem de dados, programação, testes e implementação de sistemas utilizando: Ruby, Ruby on Rails, ActionScript, LUA, C, C++, Java, Python, PHP, framework PHP Symfony, Drupal, WordPress, OpenCart, PostgreSQL, MySQL, MongoDB, HAML, SASS, Cucumber, TDD, BDD, RSpec, Machinist, Blue Ridge, XML, API’s, Javascript, AJAX, jQuery, CSS, Tableless, Web Standard, Adobe Flash, XHTML, User Interface, Inteligência Artificial, GIT, Subversion, Trac, Bugzilla, Windows, Linux, Eclipse, NetBeans and Sublime.
Conhecimento dos sistemas: sistemas de telecomunicações, gerenciador de projetos, gerenciador de tarefas, CRM, sistemas de microcrédito, sistemas customizados, sistemas especialistas, jogos, CMS, reserva de hotéis, prescrição eletrônica, prontuário eletrônico, notificações de saúde, plano de saúde, comércio eletrônico, intranet, newsletter, gerenciamento de banners publicitários, campeonato de futebol, portais institucionais para empresas, sistemas colaborativos e redes sociais.
Olá Patrick, tudo bom?
Muito legal seu site!
Estive vendo a parte sobre rede neural, você foi aluno da PUCPR? (eu fui)
Eu queria entender umas coisas de AI, este seu algoritmo pode trabalhar de forma receber N entradas binárias nos dendritos, processar e devolver um único valor binário?
Abraço,
Daniel.
Daniel,
Tudo legal e com você?
Eu me formei em Sistemas de Informações na PUCPR, e tive também um bolsa de pesquisa em inteligência artificial no TECPAR.
No algoritmo cada item abaixo é responsável por:
A classe Point.java descreve os pontos ou ponto de entrada, ela recebe a informação se existem obstáculos na posição 1 e na posição 2 e a saída que deve existir.
A classe Dendrite.java descreve um dendrito e o seu valor de entrada.
A classe Axon.java descreve o axônio do neurônio, o sinal de saída, que também é transformado em um valor booleano.
A classe Neuron.java por sua vez que realiza todo o trabalho, cálculo dos melhores pesos e o emprego da inteligência artificial. Poder conter vários dendritos (várias entradas), uma única saída, os pesos para cada entrada e a constante de aprendizado. Inicialmente os pesos são valores randômicos, ao entrar no treinamento, os melhores pesos tentam ser encontrados, não sempre isso acontece, vai depender da quantidade de exemplos de treinamento e a quantidade de épocas. As épocas são quantas vezes o algoritmo vai ser repetido para tentar encontrar os melhores pesos para a rede neural. A constante de aprendizado é usada para alterar os pesos e tentar achar o melhor peso, as referências bibliográficas afirmam que quanto menor a constante de aprendizado, mais vai demorar para encontrar os pesos, mas os pesos encontrados são melhores e mais úteis para o funcionamento da rede.
A classe Main.java que executa o jogo e coloca todas as classes para trabalhar afim de obter a rede neural.
Abraços.