  We study transformations of automata and games using Muller conditions into
equivalent ones using parity or Rabin conditions. We present two
transformations, one that turns a deterministic Muller automaton into an
equivalent deterministic parity automaton, and another that provides an
equivalent history-deterministic Rabin automaton. We show a strong optimality
result: the obtained automata are minimal amongst those that can be derived
from the original automaton by duplication of states. We introduce the notions
of locally bijective morphisms and history-deterministic mappings to formalise
the correctness and optimality of these transformations.
  The proposed transformations are based on a novel structure, called the
alternating cycle decomposition, inspired by and extending Zielonka trees. In
addition to providing optimal transformations of automata, the alternating
cycle decomposition offers fundamental information on their structure. We use
this information to give crisp characterisations on the possibility of
relabelling automata with different acceptance conditions and to perform a
systematic study of a normal form for parity automata.
