Ostari is an implementation of Baltag’s variant of Dynamic Epistemic Logic (DEL). Epistemic Logic is the logic of knowledge and beliefs, and allows us to express situations like “Anna believes that Brian believes that Carol is a Werewolf”, in addition to simple logical facts like “Carol is not a Werewolf”. Dynamic Epistemic Logic adds a language to express changing knowledge and beliefs, in the form of epistemic actions. Such actions may have an effect on the actual world, e.g. by actually turning Carol into a Werewolf, but they may also change the believes of different actors, e.g. by telling Anna that Brian does not actually believe that Carol is a Werewolf. While DEL is very expressive, actually writing any “interesting” actions is prohibitively cumbersome. Therefore, Dr. Markus Eger developed the Ostari system as part of his dissertation research. It allows the expression of actions such as:

bite(werewolf: Actor, victim(werewolf,victim): Actor)
  if (isWerewolf(werewolf) == True)
      isWerewolf(victim) = True

This action has the effect that when someone bites a victim, if they are a Werewolf, the victim also turns into a Werewolf. However, note the parenthesis after the parameter victim. This syntax means that the actual value of this parameter is only known to the actors listed within the parenthesis. In this case, only the victim and the Werewolf will know who was bitten, all other agents will consider it possible that anyone may have been bitten. This way we are able to introduce uncertainty into the beliefs of the different actors. To remove some of this uncertainty, it is possible for the agents to learn some piece of information:

senseWerewolf(who: Actor, target: Actor)
   learn (who): isWerewolf(target) == True

Ostari takes actions like these, and compiles them into Dynamic Epistemic Logic. It also provides an execution environment that allows the user to define epistemic states and apply actions to it. For details about Ostari refer to this publication.

Using Ostari, Dr. Markus Eger also developed agents for One Night Ultimate Werewolf, a social deduction game in which a group of people is randomly and secretly assigned different roles. About one third of the players are assigned the Werewolf role, and the other players have to find out who the Werewolves are. The game presents an interesting challenge for AI research because players may lie freely, and especially the Werewolves have an incentive to deceive the other players. These agents were tested in a simulation study, as well as by having human players play against them in a controlled experiment.