ep104
New Member
Posts: 4
|
Post by ep104 on Jan 4, 2014 13:34:20 GMT -8
ad_game_2x2 seems to be generating propents with loops. After a bit of tracing, I narrowed it down to the following rule:
(<= (countcellaccum ?r ?c ?bluecount ?redcount)
(getcolour ?r ?c ?colour)
(nextcell ?r ?c ?nc ?nr)
(countcellaccum ?nr ?nc ?b1 ?r1)
(update ?colour ?b1 ?r1 ?bluecount ?redcount))
the nextcell proposition is defined as:
(nextcell 1 1 1 2)
(nextcell 1 2 2 1)
(nextcell 2 1 2 2)
(nextcell 2 2 0 0)
(i.e. just goes through every cell in the board)
It seems to me that the exchange of ?nc and ?nr is an accidental typo. I am not sure what the rules of the original game are, can anyone comment on this? For that matter, has anyone managed to get this game to run in their propnet implementation?
|
|
|
Post by Steve Draper on Jan 4, 2014 14:19:48 GMT -8
This is one of the ones I couldn't get to work either. It's been a while since I was modifying my propnet code, so I haven't run the validator recently, but based on the exception list in my validation code these are the games I had trouble with:
exceptedGames.add("alexChess"); exceptedGames.add("chess"); exceptedGames.add("amazons"); exceptedGames.add("amazonsTorus"); exceptedGames.add("amazonsSuicide"); exceptedGames.add("factoringImpossibleTurtleBrain"); exceptedGames.add("knightwar"); exceptedGames.add("laikLee_hex"); exceptedGames.add("cylinder-checkers"); exceptedGames.add("mummymaze1p"); exceptedGames.add("pancakes88"); exceptedGames.add("knightsTourLarge"); exceptedGames.add("sudoku"); exceptedGames.add("god"); exceptedGames.add("slaughter"); exceptedGames.add("skirmish"); exceptedGames.add("cubicup_3player"); exceptedGames.add("anon"); exceptedGames.add("modifiedTicTacToe2"); exceptedGames.add("wallmaze"); exceptedGames.add("ad_game_2x2");
|
|
ep104
New Member
Posts: 4
|
Post by ep104 on Jan 4, 2014 17:49:59 GMT -8
Looks very similar to my list, I got cubicup_3player to work by doing a cycle-breaking pass on the output of OPNF. I can get amazonsSuicide to produce a propnet on a 6g JVM, but I haven't tried running it. On the other hand merrills seems to cause OPNF to run out of memory even on 6g, how did you get that one to work?
|
|
|
Post by Steve Draper on Jan 5, 2014 6:54:18 GMT -8
Looks very similar to my list, I got cubicup_3player to work by doing a cycle-breaking pass on the output of OPNF. I can get amazonsSuicide to produce a propnet on a 6g JVM, but I haven't tried running it. On the other hand merrills seems to cause OPNF to run out of memory even on 6g, how did you get that one to work? You're right - Merrills is another one - no sure why it wasn't on my exclusion list. When I try to produce the propnet for Merrills it basically hangs full-time garbage collecting. On suspending in the debugger it's in addSentenceForm() trying to retrieve a component from the components collection (a HashMap), which has nearly half a million components in it by that time. The hashmap call doesn't return (probably would eventually) due to incessant garbage collecting. Basically I cut my losses on games that the OPNF couldn't handle, since none of them come up on Tiltyard. At some point I was planning to go back and see if I could resolve some of them, but it's not high on my priority list.
|
|