Wow, Matt, thanks so much! I understand the problem a lot better now.

This is the first time that someone have provided me with such clear
guidance and so much effort on a mailing list before. I am incredibly
grateful!

Again, thanks a ton!

On Mon, Dec 14, 2015 at 4:58 PM, Matthew Taylor <[email protected]> wrote:

> Hi Jason,
>
> It looks like you are trying on a simple task just to get to know how
> NuPIC works. That's great! I can tell you what is not working and why.
>
> This problem is a "first-order prediction" problem. That means that
> once you've established what the rules are, HTM can look at only one
> row of data and make a prediction. One does not need to see more than
> one row. This is similar to my cellular automata example [1].
>
> NuPIC and HTM are not good at math. The way you have this set up
> currently is a math problem. Given a row of numeric input, the HTM
> must apply some logic and decide whether to increment or decrement an
> integer score. NuPIC will perform better when applied to string
> categories.
>
> So the first thing I did was change the input from integers to
> strings. I assume you're not that interested in predicting the score
> per se, but rather teaching HTM the rules of the game. So given the
> player state of one game, it should be able to "predict" the winner of
> the game once it has seen enough games and winners.
>
> I changed your code to do this without integers and scoring:
>
> https://github.com/jxieeducation/HTM_sequential_learner/pull/1/files
>
> In this configuration, NuPIC does indeed learn the rules of
> paper/rock/scissors in less than 100 iterations [2].
>
> To run the new code, you'll need to regenerate data and swarm:
>
>   cd rockpaperscissors
>   python generate_data.py
>   python swarm.py
>   python run.py
>
> I hope this helps you understand how to use NuPIC. Please respond with
> any questions.
>
> [1] https://github.com/nupic-community/nupic.ca
> [2] https://gist.github.com/rhyolight/4742ed37d98a881866c5
>
> Regards,
> ---------
> Matt Taylor
> OS Community Flag-Bearer
> Numenta
>
>
> On Sun, Dec 13, 2015 at 4:06 PM, Jason Xie <[email protected]>
> wrote:
> > Hey everyone,
> >
> > I have been trying to get Rock Paper Scissors to work.
> > src:
> >
> https://github.com/jxieeducation/HTM_sequential_learner/tree/master/rockpaperscissors
> >
> > My generated data uses this encoding: 0: "rock", 1: "paper", 2:
> "scissors"
> > An example generated data ->
> > scoreBeforeDuel: score before the current round from the player1's
> > perspective
> > player1, player2: 0, 1 or 2 according to the encoding
> >
> > player1,player2,scoreBeforeDuel
> > 0,1,0 #score starts at 0, rock loses to paper
> > 0,0,-1 #since rock loses to paper, score is now -1
> > 2,2,-1 #tied last round
> > 2,1,-1
> > 1,0,0
> >
> > I am doing TemporalMultiStep for 1 step prediction. My logic is that
> given
> > score before a round, and the rock paper scissors hands, I should be
> able to
> > predict the score after the round.
> >
> > However, my predictions are not working at all
> >
> https://github.com/jxieeducation/HTM_sequential_learner/blob/master/rockpaperscissors/output.txt
> >
> > Thanks very much!
>
>

Reply via email to