Post by Lars Ericson on Jul 21, 2015 8:25:45 GMT -8
1. Chapter 10 has a slot for roles but doesn't populate it in the "mypropnet = " statement at end of section 10.2.
2. The text doesn't talk about "init(p)" statements, which are translated by GGP Base into (init) -> [transition] -> (true p)
3. The text translates "legal(white,a)" as (la) -> [transition] -> (la), GGP Base does (TRUE) -> ((legal white a))
4. The text would translate "(<= (next o2) (does white a) (true o1))" as "a,o1 -> AND -> [transition] -> o2" where GGP Base uses ((does white a)), ((true o1)) -> AND -> (anon) -> [transition] -> ((true o2))
5. The text is using Prolog notation and GDL uses Lisp notation. Lisp notation though is not harder to comprehend than Prolog notation for the target student population.
6. The text is using Javascript code and GGP practice is to use Java code
There is a pretty big gap between the text and actual practice. This is confusing cruft that adds a barrier to pass through before "going pro" with GGP Base. The course would be better if it owned up to the use of Java in all of its complexity from the get go, because all of the students who succeed in the course have to learn Java whether they like it or not. Also there should be a propnet sample player. You're handing students a state machine player. There's propnet bits and pieces in GGP Base. But there is not a sample PropNet player in GGP base. There is really not that much educational value in making people work out the Propnet player on their own, since the text spells it out with the Javascript implementation, but then you have to run the hurdle that the Propnet implementation that is actually there in GGP Base is confusingly different in the above details. Also since the real hard problems are not coding up a Propnet player but everything that follows when you look at the various kinds of complexity in the games.
2. The text doesn't talk about "init(p)" statements, which are translated by GGP Base into (init) -> [transition] -> (true p)
3. The text translates "legal(white,a)" as (la) -> [transition] -> (la), GGP Base does (TRUE) -> ((legal white a))
4. The text would translate "(<= (next o2) (does white a) (true o1))" as "a,o1 -> AND -> [transition] -> o2" where GGP Base uses ((does white a)), ((true o1)) -> AND -> (anon) -> [transition] -> ((true o2))
5. The text is using Prolog notation and GDL uses Lisp notation. Lisp notation though is not harder to comprehend than Prolog notation for the target student population.
6. The text is using Javascript code and GGP practice is to use Java code
There is a pretty big gap between the text and actual practice. This is confusing cruft that adds a barrier to pass through before "going pro" with GGP Base. The course would be better if it owned up to the use of Java in all of its complexity from the get go, because all of the students who succeed in the course have to learn Java whether they like it or not. Also there should be a propnet sample player. You're handing students a state machine player. There's propnet bits and pieces in GGP Base. But there is not a sample PropNet player in GGP base. There is really not that much educational value in making people work out the Propnet player on their own, since the text spells it out with the Javascript implementation, but then you have to run the hurdle that the Propnet implementation that is actually there in GGP Base is confusingly different in the above details. Also since the real hard problems are not coding up a Propnet player but everything that follows when you look at the various kinds of complexity in the games.