  Epistemic protocol specifications allow programs, for settings in which
multiple agents act with incomplete information, to be described in terms of
how actions are related to what the agents know. They are a variant of the
knowledge-based programs of Fagin et al [Distributed Computing, 1997],
motivated by the complexity of synthesizing implementations in that framework.
The paper proposes an approach to the synthesis of implementations of epistemic
protocol specifications, that reduces the problem of finding an implementation
to a sequence of model checking problems in approximations of the ultimate
system being synthesized. A number of ways to construct such approximations is
considered, and these are studied for the complexity of the associated model
checking problems. The outcome of the study is the identification of the best
approximations with the property of being PTIME implementable.
