sleyzerzon / soar

Automatically exported from code.google.com/p/soar
1 stars 0 forks source link

rete-net --load changes agent behavior #137

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Tested with csoar tag jsoar-epmem-root (which is from January 2013)

To reproduce:

1. in a debugger, source the water-jug-look-ahead agent
2. rete-net -s test.rete
3. srand 2000
4. run (should finish in 46 dcs)
5. close and restart debugger
6. rete-net -l test.rete
7. srand 2000
8. run

Expected: finishes in 46 dcs.
Actual: runs for a long, long time (may be infinite looping, but that's 
probably a CDPS issue, and not related to this bug).

The problem is that during a rete-net load, the rete nodes are created in the 
reverse order from how they were originally, and this affects the order in 
which operators are assigned identifiers, and thus affects the random selection 
(i.e., the nth operator is different).

This has been fixed in jsoar, but the fix has not been pushed to the public 
repository yet. I've attached the old and new version of the relevant jsoar 
file in the meantime.

Original issue reported on code.google.com by marin...@gmail.com on 20 Mar 2013 at 12:51

Attachments:

GoogleCodeExporter commented 9 years ago
Slight update to the solution. Functionally equivalent, but reverses the list 
in a more explicit way.

Original comment by marin...@gmail.com on 21 Mar 2013 at 12:21

Attachments: