Our basic operators are the inclusion of an edge between a pair of non-adjacent nodes and the removal of an existing edge between a pair of adjacent nodes in the current configuration. These edges may be either directed or undirected.

The inclusion of an isolated link will serve as a template for the arcs and ; however, the link together with another link represent any combination of arcs except those that create new h-h patterns (the DAGs (a), (b) and (c) in Figure 3). In the case of adding an arc, we may obtain several different neighboring configurations, depending on the topology of the current RPDAG and the direction of the arc being included. As we will see, if we are testing the inclusion of an edge between two nodes and , this may involve testing some of the different valid configurations obtained by the inclusion of the link , the arc , the arc , the h-h pattern or the h-h pattern (where in the last two cases would be any node such that either the link or the link exists in the current configuration). However, the removal of an edge will always result in only one neighboring configuration. Other operators, such as arc reversal [16], will not be used by our search method. The set of neighboring configurations of a given RPDAG will therefore be the set of all the different RPDAGs obtained from by adding or deleting a single edge (either directed or undirected).

Before explaining the details of the search method, let us illustrate the main ideas by means of the following example: consider the RPDAG in Figure 8, which represents the current configuration of the search process (this figure only displays the part of the RPDAG corresponding to the neighborhood of the nodes and ), and assume that we shall include an edge between the nodes and .

In this situation, we cannot introduce the link because we would violate one of the conditions defining RPDAGs (condition 1). We may introduce the arc and in this case, again in order to preserve condition 1, the two neighbors of must be converted into children. We can also include the arc . Finally, we may include two different h-h patterns , where is a neighbor of (the other neighbor must be converted into a child, once again in order to preserve condition 1). These four different configurations are displayed in Figure 9.