So tenho uma palavra para a mais nova revista de (/sobre) Teresina: AMEI!Mentira, tenho muitas outras palavras! Bem mais que 140 caracteres, na verdade. Adorei a ideia (claro), os textos, os temas e, principalmente, a arte e diagramacao. E isso tem alguns porques: alem da arte ser um dos temas inerentes a revista, faz da diagramacao (arte pouco valorizada nas revistas circulantes no estado, diga-se "de passagem") uma atracao a parte. Parabens ao Jose Quaresma, Igor Drey e demais envolvidos com a producao da, como ha tempos nao se via, bela revista TEREZONA.Alguns comentarios sobre o primeiro numero: adorei o espaco que trata de lugares legais da cidade, otimas dicas para "teresinenses nao praticantes"! Obrigada por deixarem o microfone do Vazin aberto, coisa que sempre disser ser necessaria nos shows da Validuate. Sempre espero uma perola e na entrevista, ela veio. Grata! Paginas e paginas de arte de rua enchem os olhos, fazem admirar e pensar. O espaco destinado para impressoes sobre uma cidade de outro pais e nada alem, do que se espera de uma revista que reflete uma cidade cosmopolita interiorana, ou aldeia metropolitana, globalizada (queria dar os creditos direitinho ao jornalista Francisco Magalhaes, que publicou expressoes "parecidas", e que, logico, bem melhor descreviam a Teresina, na Revista Cidade Verde, mas nao tenho a revista aqui comigo... pena. Prometo que quando pegar nela de novo coloco aqui direitinho, merece) como e Teresina.Entao, parabens aos bem-feitores de TEREZONA! E que venham muitos outros numeros e que eles ganhem as bancas, as ruas e mais leitores! rsOlha ela aqui! Existem 3 principais frameworks em Java para o desenvolvimento de redes neurais, sao eles:NeurophEncogJooneVamos implementar uma rede de camadas multiplas (MLP) para a solucao do problema (classico em RNA) de reconhecimento da operacao logica XOR, podemos comparar os tres frameworks e tirar algumas conclusoes. Uma operacao XOR representa um OU exclusivo, ou seja, so e verdadeiro quando as entradas sao diferentes entre si (ou uma entrada ou outra e verdadeira, nunca ambas):Abaixo mostro as implementacoes de cada framework comentadas Implementacao usando EncogO Encog possui uma grande variedade de tecnicas de treinamento da rede, aqui sera usado o a tecnica LMA mas voce poderia usar outras tecnicas classicas como Backpropagation ou Resilient Propagation (RPROP):Implementacao usando Neuroph Aqui sera utilizada a tenica Backpropagation, nao e uma tecnica tao avancada quanto a Levenberg-Marquardt que pode ser usada no Encog./**CRIACAO DA REDE*///A rede sera um Perceptron de Multiplas Camadas, com 2 neuronios de entrada, 1//na saida e uma camada intermediaria com 3 neuronios e a funcao de ativacao//e o tangente hiperbolicoMultiLayerPerceptron network = new MultiLayerPerceptron(TransferFunctionType.TANH, 2, 3, 1);/**TESTES*///Cria-se a estrutura para treinamento supervisionadoTrainingSet trainingSet = new TrainingSet(2, 1);trainingSet.addElement(new SupervisedTrainingElement (new double[]{0, 0}, new double[]{0}));trainingSet.addElement(new SupervisedTrainingElement (new double[]{0, 1}, new double[]{1}));trainingSet.addElement(new SupervisedTrainingElement (new double[]{1, 0}, new double[]{1}));trainingSet.addElement(new SupervisedTrainingElement (new double[]{1, 1}, new double[]{0}));//A tecnica de treinamento e uma variacao Neuroph para o BackpropagationDynamicBackPropagation train = new DynamicBackPropagation();train.setNeuralNetwork(network);network.setLearningRule(train);//Realiza os testes propriamente ditosint epoch = 1;do{ train.doOneLearningIteration(trainingSet); System.out.println("Epoch " + epoch + ", error=" + train.getTotalNetworkError()); epoch++; } while(train.getTotalNetworkError()>0.01); Once we are done, we display the trained networks results. System.out.println("Neural