01-29-2020, 11:51 PM
[quote pid='79' dateline='1580330052']
I'm not as sure about this one. Will have to discuss this with the other members of the Ludii team... What do we count as "the current state"? Only properties that a human could visually see, by looking at the board? Or all properties that are visible to AIs in the Trial and/or State objects that we supply to them? Because if we consider what's technically visible to the AIs, I'm pretty sure that all of our games would be Markov... We'll see what we can come up with.
[/quote]
If to determine the next state, the game needs to access the game history, then the game is not Markov. Anyway, a "isVisualMarkov" method would already be interesting.
[quote pid='79' dateline='1580330052']
I think we already have this. You can try "game.hasSequenceCapture()". I think that's what your looking for, at least in our current dev version. I'm not 100% sure whether this also already exists in the current public pre-release, but probably it does.
[/quote]
game.hasSequenceCapture() seems to be what I'm looking for. However, is there also a method to know if we can jump over a piece that has already been taken, that is to say to discriminate games such as International Draughts with games such as Coyote ?
It's not what I'm looking for. A game with hands usually requires count. Thus, with a game which requires count and has hands, I cannot know if the board requires count. Maybe there should be a requieresCount for each container?
Quote:the legal moves of a state do not depend on the previous states i.e. only depend on the current state (i.e. on current properties of pieces (position, state, ...) and the current player) : isMarkov()
I'm not as sure about this one. Will have to discuss this with the other members of the Ludii team... What do we count as "the current state"? Only properties that a human could visually see, by looking at the board? Or all properties that are visible to AIs in the Trial and/or State objects that we supply to them? Because if we consider what's technically visible to the AIs, I'm pretty sure that all of our games would be Markov... We'll see what we can come up with.
[/quote]
If to determine the next state, the game needs to access the game history, then the game is not Markov. Anyway, a "isVisualMarkov" method would already be interesting.
[quote pid='79' dateline='1580330052']
Quote:the captured pieces are only removed at the end of each player moves sequence (games with remove(apply:false)) : hasDelayedRemoval()
I think we already have this. You can try "game.hasSequenceCapture()". I think that's what your looking for, at least in our current dev version. I'm not 100% sure whether this also already exists in the current public pre-release, but probably it does.
[/quote]
game.hasSequenceCapture() seems to be what I'm looking for. However, is there also a method to know if we can jump over a piece that has already been taken, that is to say to discriminate games such as International Draughts with games such as Coyote ?
Quote:Quote:the game needs the counts of positions of the board : requiresBoardCount()
In our current dev version we have "game.requiresCount()". If that already exists in the current pre-release, I think that's what you're looking for. Note that "count" in Ludii is different from "stacking". requiresCount() would return true in Mancala games for instance, where sites can contain counts greater than 1. But it would still return false in "stacking" games, where pieces are stacked on top of each other. Backgammon for example uses stacking, not count. Stacking games may be detected using game.isStacking().
It's not what I'm looking for. A game with hands usually requires count. Thus, with a game which requires count and has hands, I cannot know if the board requires count. Maybe there should be a requieresCount for each container?