  Boolean networks can be viewed as functions on the set of binary strings of a
given length, described via logical rules. They were introduced as dynamic
models into biology, in particular as logical models of intracellular
regulatory networks involving genes, proteins, and metabolites. Since genes can
have several modes of action, depending on their expression levels, binary
variables are often not sufficiently rich, requiring the use of multi-valued
networks instead. The steady state analysis of Boolean networks is
computationally complex, and increasing the number of variable values beyond
$2$ adds substantially to this complexity, and no general methods are available
beyond simulation. The main contribution of this paper is to give an algorithm
to compute the steady states of a multi-valued network that has a complexity
that, in many cases, is essentially the same as that for the case of binary
values. Our approach is based on a representation of multi-valued networks
using multi-valued logic functions, providing a biologically intuitive
representation of the network. Furthermore, it uses tools to compute lattice
points in rational polytopes, tapping a rich area of algebraic combinatorics as
a source for combinatorial algorithms for Boolean network analysis. An
implementation of the algorithm is provided.
