use AI::NeuralNet::Simple; my $net = AI::NeuralNet::Simple->new(2,1,2); # teach it logical 'or' for (1 .. 10000) { $net->train([1,1],[0,1]); $net->train([1,0],[0,1]); $net->train([0,1],[0,1]); $net->train([0,0],[1,0]); } printf "Answer: %d\n";, $net->winner([1,1]); printf "Answer: %d\n", $net->winner([1,0]); printf "Answer: %d\n", $net->winner([0,1]); printf "Answer: %d\n\n", $net->winner([0,0]); #### $net->train([1,1], [0,1]); $net->train([1,0], [0,1]); $net->train([0,1], [0,1]); $net->train([0,0], [1,0]); #### for (1 .. 10000) { $net->train([1,1], [0,1]); $net->train([1,0], [0,1]); $net->train([0,1], [0,1]); $net->train([0,0], [1,0]); } #### $net->train_set([ [1,1], [0,1], [1,0], [0,1], [0,1], [0,1], [0,0], [1,0], ], 10000); #### $net->iterations(100000); # let's have lots more iterations! $net->iterations; # returns 100000 my @training_data = ( [1,1], [0,1], [1,0], [0,1], [0,1], [0,1], [0,0], [1,0], ); $net->train_set(\@training_data); #### use Data::Dumper; print Dumper $net->infer([1,1]); $VAR1 = [ '0.00993729281477686', '0.990100297418451' ]; #### print $net->winner([1,1]); # will likely print "1"