\HeaderA{enumerate.models}{Exhaustive enumeration of models}{enumerate.models}
\keyword{graphs}{enumerate.models}
\begin{Description}\relax
The function \code{enumerate.models} is used to create the model space for inference by exhaustive enumeration. 
It computes a list of all transitively closed directed graphs on a given number of nodes.
\end{Description}
\begin{Usage}
\begin{verbatim}
enumerate.models(x,name=NULL,trans.close=TRUE,verbose=TRUE) 
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] either the number of nodes or a vector of node names.
\item[\code{name}] optionally the nodenames, if they are not provided in x
\item[\code{trans.close}] should graphs be transitively closed?
\item[\code{verbose}] if TRUE outputs number of (unique) models. Default: TRUE
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The model space of Nested Effects Models consists of all transitively closed directed graphs. 
The function \code{enumerate.models} creates them in three steps: (1.) build all directed graphs on \code{x} (or \code{length(x)}) nodes,
(2.) transitively close each one of them, and (3.) remove redundant models to yield a unique set.
So far, enumeration is limited to up to 5 nodes.

I'm aware that this is inefficient! 
It would be very desirable to enumerate the models directly (i.e. without creating all directed graphs as an intermediate step).
\end{Details}
\begin{Value}
a list of models. Each entry is a transitively closed adjacency matrix with unit main diagonal.
\end{Value}
\begin{Author}\relax
Florian Markowetz \textless{}URL: http://genomics.princeton.edu/\textasciitilde{}florian\textgreater{}
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{nem}{nem}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
enumerate.models(2)
enumerate.models(c("Anna","Bert"))
\end{ExampleCode}
\end{Examples}

