{'fraction_non_alphanumeric': 0.048977556109725685, 'fraction_numerical': 0.006982543640897756, 'mean_word_length': 3.391239597021463, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 56, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
On the Complexity of the Positive Semidefinite Zero Forcing Number

The positive zero forcing number of a graph is a graph parameter that arises from a non-traditional type of graph colouring, and is related to a more conventional version of zero forcing. We establish a relation between the zero forcing and the fast-mixed searching, which implies some NP-completeness results for the zero forcing problem. For chordal graphs much is understood regarding the relationships between positive zero forcing and clique coverings. Building upon constructions associated with optimal tree covers and forest covers, we present a linear time algorithm for computing the positive zero forcing number of chordal graphs. We also prove that it is NP-complete to determine if a graph has a positive zero forcing set with an additional property.


Introduction
The zero forcing number of a graph was introduced in [1] and related terminology was extended in [3]. First and foremost, the interest in this parameter has been on applying zero forcing as a bound on the maximum nullities (or, equivalently, the minimum rank) of certain symmetric matrices associated with graphs, although this parameter has been considered elsewhere see, for example, [2,19]. Independently, physicists have studied this parameter, referring to it as the graph infection number, in conjunction with control of quantum systems [7,18].
The same notion arises in computer science within the context of fast-mixed searching [20]. At its most basic level, edge search and node search models represent two significant graph search problems [14,15]. Bienstock and Seymour [4] introduced the mixed search problem that combines the edge search and the node search problems. Dyer et al. [8] introduced the fast search problem. Recently, a fast-mixed search model was introduced in an attempt to combine fast search and mixed search models [20]. For this model, we assume that the simple graph G contains a single fugitive, invisible to the searchers, that can move at any speed along a "searcher-free" path and hides on vertices or along edges. In this case, the minimum number of searchers required to capture the fugitive is called the fast-mixed search number of G. As we will see, the fast-mixed search number and the zero forcing number of G are indeed equal.
Suppose that G is a simple finite graph with vertex set V = V (G) and edge set E = E(G). We begin by specifying a set of initial vertices of the graph (which we say are coloured black, while all other vertices are white). Then, using a designated colour change rule applied to these vertices, we progressively change the colour of white vertices in the graph to black. Our colouring consists of only two colours (black and white) and the objective is to colour all vertices black by repeated application of the colour change rule to our initial set. In general, we want to determine the smallest set of vertices needed to be black initially, to eventually change all of the vertices in the graph to black.
The conventional zero forcing rule results in a partition of the vertices of the graph into sets, such that each such set induces a path in G. Further, each of the initial black vertices is an end point of one of these paths. More recently a refinement of the colour change rule, called the positive zero forcing colour change rule, was introduced. Using this rule, the positive semidefinite zero forcing number was defined (see, for example, [3,9,10]). When the positive zero forcing colour change rule is applied to a set of initial vertices of a graph, the vertices are then partitioned into sets, so that each such set induces a tree in G.
As mentioned above, one of the original motivations for studying these parameters is that they both provide an upper bound on the maximum nullity of both symmetric and positive semidefinite matrices associated with a graph (see [2,3]  The zero forcing number has been studied under the alias, the fast-mixed searching number, the complexity of computing the zero forcing is generally better understood. Consequently, our focus will be on the algorithmic aspects of computing the positive semidefinite zero forcing number for graphs. As with most graph parameters, defined in terms of an optimization problem, these parameters are complicated to compute in general. However, some very interesting exceptions arise such as the focus of this paper, chordal graphs, whose positive zero forcing number can be found in linear time. However, when we consider a variant of the positive zero forcing problem, called the min-forest problem, we will show that this variant is NP-complete even for echinus graphs, which are a special type of split graphs. Recall that a chordal graph is split if its complement is also chordal.

Preliminaries
Throughout this paper, we only consider finite graphs with no loops or multiple edges. We use G = (V, E) to denote a graph with vertex set V and edge set E, and we also use V (G) and E(G) to denote the vertex set and edge set of G respectively. We use {u, v} to denote an edge with endpoints u and v. For a graph G = (V, E) and v ∈ V , the vertex set to denote the subgraph induced by V ′ , which consists of all vertices of V ′ and all of the edges that connect vertices of V ′ in G. We use G − v to denote the subgraph induced by V \ {v}.
Let G be a graph in which every vertex is initially coloured either black or white. If u is a black vertex of G and u has exactly one white neighbour, say v, then we change the colour of v to black; this rule is called the colour change rule. In this case we say "u forces v" and denote this action by u → v. Given an initial colouring of G, in which a set of the vertices is black and all other vertices are white, the derived set is the set of all black vertices, including the initial set of black vertices, resulting from repeatedly applying the colour change rule until no more changes are possible. If the derived set is the entire vertex set of the graph, then the set of initial black vertices is called a zero forcing set. The zero forcing number of a graph G is the size of the smallest zero forcing set of G; it is denoted by Z(G). The procedure of colouring a graph using the colour rule is called a zero forcing process or simply a forcing process. A zero forcing process is called optimal if the initial set of black vertices is a zero forcing set of the smallest possible size.
If Z is a zero forcing set of a graph G, then we may produce a list of the forces in the order in which they are performed in the zero forcing process. This list can then be divided into paths, known as forcing chains. A forcing chain is a sequence of vertices (v 1 , v 2 , . . . , v k ) such that v i → v i+1 , for i = 1, . . . , k − 1 in the forcing process. In every step of a forcing process, each vertex can force at most one other vertex; conversely every vertex not in the zero forcing set is forced by exactly one vertex. Thus the forcing chains that correspond to a zero forcing set partition the vertices of a graph into disjoint sets, such that each set induces a path. The number of these paths is equal to the size of the zero forcing set and the elements of the zero forcing set are the initial vertices of the forcing chains and hence end points of these paths (see [3,Proposition 2.10] for more details). We observe that the concept of clearing an edge in the fast-mixed model is equivalent to the notion of a black vertex forcing a unique white neighbour. Hence fast-mixed searching and the zero forcing colour change rule are equivalent.
The most widely-studied variant of the zero forcing number is called positive semidefinite zero forcing or the positive zero forcing number, and was introduced in [3], see also [9] and [10]. The positive zero forcing number is also based on a colour change rule similar to the zero forcing colour change rule. Let G be a graph and B a set of vertices; we will initially colour the vertices of B black and all other vertices white. Let W 1 , . . . , W k be the sets of vertices in each of the connected components of G after removing the vertices in B. If u is a vertex in B and w is the only white neighbour of u in the graph induced by the subset of vertices W i ∪ B, then u can force the colour of w to black. This is the positive colour change rule. The definitions and terminology for the positive zero forcing process, such as, colouring, derived set, positive zero forcing number etc., are similar to those for the zero forcing number, except we use the positive colour change rule.
The size of the smallest positive zero forcing set of a graph G is denoted by Z + (G). Also for all graphs G, since a zero forcing set is also a positive zero forcing set we have that Z + (G) ≤ Z(G). Moreover, in [3] it was shown that M + (G) ≤ Z + (G), for any graph G.
As noted above, applying the zero forcing colour change rule to the vertices of a graph produces a path covering of the vertices in that graph. Analogously, applying the positive colour change rule produces a set of vertex disjoint induced trees in the graph, referred to as forcing trees. Next we define a positive zero forcing tree cover. Suppose G be a graph and let Z be a positive zero forcing set for G. Observe that applying the colour change rule once, two or more vertices can perform forces at the same time, and a vertex can force multiple vertices from different components at the same time. For each vertex in Z, these forces determine a rooted induced tree. The root of each tree is the vertex in Z and two vertices are adjacent if one of them forces the other.
In particular, for any such tree, starting at the root and following along the edges of will describe the chronological list of forces from this root.
More generally, a tree covering of a graph is a family of induced vertex disjoint trees in the graph that cover all vertices of the graph. The minimum number of such trees that cover the vertices of a graph G is the tree cover number of G and is denoted by T(G). Any set of zero forcing trees corresponding to an optimal positive zero forcing set is of size Z + (G). Hence, for any graph G, we have T(G) ≤ Z + (G).
Throughout this paper we will use the term optimal to refer to the object of the smallest possible size. For example, we will consider both optimal tree covering and optimal zero forcing tree covering (these have the fewest possible number of trees) and also optimal clique covers (a clique cover with the fewest cliques).
In this paper we will focus on chordal graphs. A graph is chordal if it contains no induced cycles on four or more vertices. Further, we say a vertex v is simplicial, if the graph induced by the neighbours of v forms a complete graph (or a clique). If {v 1 , v 2 , . . . , v n } is an ordering of the vertices of a graph G, such that the vertex v i is simplicial in the graph G − {v 1 , v 2 , . . . , v i−1 }, then {v 1 , v 2 , . . . , v n } is called a perfect elimination ordering. Every chordal graph has an ordering of the vertices that is a perfect elimination ordering, see also [5,12].
In general it is known for any chordal graph G, that M + (G) = |V (G)| − cc(G), where cc(G) denotes the fewest number of cliques needed to cover (or to include) all the edges in G (see [13]). From [3] and [6] we know that for any graph G, This number, cc(G), is often referred to as the clique cover number of the graph G. Further inspection of the work in [13] actually reveals that, in fact, for any chordal graph, cc(G) is equal to the ordered set number (OS(G)) of G. In [3], it was proved that for any graph G, the ordered set number of G and the positive zero forcing number of G are related and satisfy, Z + (G) + OS(G) = |V (G)|. As a consequence, we have that M + (G) = Z + (G) for any chordal graph G, and, in particular, Z + (G) = |V (G)| − cc(G). So the value of the positive zero forcing number of chordal graphs may be deduced by determining the clique cover number and vice-versa.

The Complexity of Zero Forcing
Let G be a connected graph. In the fast-mixed search model, G initially contains no searchers and it contains only one fugitive who hides on vertices or along edges. The fugitive is invisible to searchers, and he can move at any rate and at any time from one vertex to another vertex along a searcher-free path between the two vertices. An edge (resp. a vertex) where the fugitive may hide is said to be contaminated, while an edge (resp. a vertex) where the fugitive cannot hide is said to be cleared. A vertex is said to be occupied if it has a searcher on it. There are two types of actions for searchers in each step of the fast-mixed search model: 1. a searcher can be placed on a contaminated vertex, or 2. a search may slide along a contaminated edge {u, v} from u to v if v is contaminated and all edges incident on u except {u, v} are cleared.
In the fast-mixed search model, a contaminated edge becomes cleared if both endpoints are occupied by searchers or if a searcher slides along it from one endpoint to the other. The graph G is cleared if all edges are cleared. The minimum number of searchers required to clear G (i.e., to capture the fugitive) is the fast-mixed search number of G, denoted by fms(G). We first show that the fast-mixed search number of a graph is equal to its zero forcing number. Proof. We first show that fms(G) ≤ Z(G). Let B be a zero forcing set of G. We now construct a fast-mixed search strategy. Initially we place one searcher on each vertex of B. After these placings, all edges whose two endpoints are occupied are cleared. If u is a black vertex of G and u has exactly one white neighbour, say v, then u must be an occupied vertex, v and {u, v} must be contaminated, and all edges incident with u except {u, v} are cleared. Thus, we can slide the searcher on vertex u to vertex v along the edge {u, v}. After this sliding action, the edges between v and the occupied neighbours of v are cleared. Similarly, for each forcing action x → y, we can construct a fast-mixed search action by sliding the searcher on vertex x to vertex y along the edge {x, y}. Since B is a zero forcing set of G, the zero forcing process can change all white vertices to black vertices. Thus, the corresponding fast-mixed search strategy can clear all vertices and edges of G. Hence, fms(G) ≤ Z(G).
We next show that fms(G) ≥ Z(G). Let S be a fast-mixed search strategy that clears G using fms(G) searchers. Let B be the set of vertices on which a searcher is placed (not slid to). Since a searcher can be placed only on a contaminated vertex, we know that |B| = fms(G). We colour all vertices of B black and all other vertices white. For a sliding action in S that slides a searcher on a vertex, say x, to a vertex, say y, along the edge {x, y}, x is black and y is the only white neighbour of x at the current stage. Thus, x forces y to black. So we can construct a zero forcing process that corresponds to the fast-mixed search strategy S such that all vertices of G are black when G is cleared by S. Therefore fms(G) ≥ Z(G).
Corollary 3.2. Given a graph G and a nonnegative integer k, it is NP-complete to determine whether G has a zero forcing process with k initial black vertices such that all initial black vertices are leaves of G. This problem remains NP-complete for planar graphs with maximum degree 3.  At the end of this section, we introduce a searching model, which is an extension of the fast-mixed searching, that corresponds to positive zero forcing. This searching model, called the parallel fast-mixed searching, follows the same setting as the fast-mixed searching except that the graph may be split into subgraphs after each placing or sliding action, in such a way that these subgraphs may be cleared in a parallel-like fashion.
Initially, G contains no searchers, and so all vertices of G are contaminated. To begin, Let G = {G}. After a placing, (e.g., place a searcher on a contaminated vertex u), the subgraph G − u is the graph induced by the current contaminated vertices. If G − u is not connected, let G 1 , . . . , G j be all of the connected components of G − u. We update G by Consider each subgraph H ∈ G that has not been cleared. After a placing or sliding action, let X be the set of the contaminated vertices in H. If H[X] is not connected, let X 1 , . . . , X j be the vertex sets of all connected components of We can continue this searching and branching process until all subgraphs in G are cleared. It is easy to observe that we can arrange the searching process so that subgraphs in G can be cleared in a parallel-like way.
The graph G is cleared if all subgraphs of G are cleared. The minimum number of placings required to clear G is called the parallel fast-mixed search number of G, and is denoted by pfms(G).
To illustrate the difference between the parallel fast-mixed searching and the fast-mixed searching, let G k be a unicyclic graph, with k ≥ 4, with vertex set Figure 1). Figure 1: An example of a graph G with pfms(G) < fms(G).
After we place a searcher on vertex v 0 , the set G is updated such that it contains k − 1 subgraphs, i.e., the edges , can be cleared by a sliding action. For the 3-cycle on vertices {v 0 , v k−1 , v k }, since no sliding action can be performed, we have to place a new searcher on a vertex, say v k−1 . Since the graph induced by the contaminated vertices is connected (just an isolated vertex v k in this case), we do not need to update G. Now we can slide the searcher on vertex v k−1 to vertex v k . After the sliding action, the 3-cycle is cleared, and thus, G k is cleared. This search strategy contains two placing actions, and it is easy to see that any strategy with only one placing action cannot cleared G k . Thus pfms(G k ) = 2. On the other hand, we can easily show that fms(G k ) = k − 2. Similar to Theorem 3.1, we can prove the following relation between the parallel fastmixed searching and the positive zero forcing.

A Linear Time Algorithm for Positive Zero Forcing Number of Chordal Graphs
In this section, we give an algorithm for finding optimal positive zero forcing sets and optimal tree covers of chordal graphs. Our algorithm is a modification of the algorithm for computing clique covers as presented in [17].
Algorithm Zplus-Chordal Input: A connected chordal graph G on n vertices in which all the edges and vertices uncoloured.
Output: An optimal positive zero forcing tree cover of G and an optimal positive zero forcing set of G.
1. If n = 1, then mark the single vertex in G black. Output the black vertex set and stop.
2. Let (v 1 , v 2 , . . . , v n ) be the perfect elimination ordering of G given by the lexicographic breadth-first search. Let i ← 1 and G i ← G.
3. For the simplicial vertex v i in G i , let C i be the clique whose vertex set consists of v i and all its neighbours in G i .

4.
If there is an edge e of G i incident to v i that is uncoloured, then (a) colour the edge e black, and colour all other uncoloured edges of the clique C i red; (b) colour v i white; (c) go to Step 6. Let V black (G) be the set of all black vertices, then V white (G) = V (G)\V black (G) is the set of all white vertices from Algorithm Zplus-Chordal. The next result says that the set of black vertices generated with this algorithm is a positive zero forcing set for the graph. Algorithm Zplus-Chordal is designed only for connected graphs, but it can be run on each connected component of a disconnected graph. So, without loss of generality, we will assume that our graphs are connected. Proof. The set V black (G) is the set of all vertices that are initially black in G. Let V white (G) = {w 1 , w 2 , . . . , w m } where w i is removed before w i+1 in Algorithm Zplus-Chordal for 1 ≤ i < m. At the iteration when w j is coloured white, let e j = {w j , b j } be the edge that is coloured black. In particular, for the last white vertex w m , the black edge is e m = {w m , b m } and b m is in the set V black (G). We claim that in a positive zero forcing process in G starting with V black (G), the vertex b m can force w m .

If all edges of
Let H m be the connected component in the subgraph of G induced by the vertices V (G)\V black (G) that contains the last white vertex, w m . We will show that the only vertex in H m that is adjacent to b m is w m . The vertex b m is adjacent to w m and assume that it is also adjacent to another vertex, say u 1 in H m (this vertex must be part of V white (G)). Let {b m , u 1 , u 2 , . . . , u k , w m , b m } be a cycle of minimal length with u 1 , u 2 , . . . , u k ∈ H m . Such a cycle exists since H m is connected.
If this cycle has length three, then u 1 and w m are adjacent. But at the iteration when u 1 is marked white, the edge {w m , b m } will be coloured red. This is a contradiction, as the edge {w m , b} is black.
Assume this cycle has length more than three and let u ℓ be the vertex in the cycle that was coloured white first. At the iteration where u ℓ is coloured white, it is a simplicial vertex. This implies that the neighbours of u ℓ in the cycle are adjacent. But this is a contradiction with the choice of {b m , u 1 , u 2 , . . . , u k , w m , b} being a cycle of minimal length with u 1 , u 2 , . . . , u k ∈ H m .
By the positive zero forcing rule, we know that b m can force w m to be black. We now change the colour of vertex w m to black, add it to V black (G) and delete it from V white (G).
Similarly, at the iteration when w m−1 is coloured white, let e m−1 = {w m−1 , b m−1 } be the edge that is coloured black. Using the above argument, we can show that b m−1 can force w m−1 . Continuing this process, all the white vertices are forced to be black. Therefore, V black (G) is a positive zero forcing set for G.
For a graph G, the set V white (G) = {w 1 , w 2 , . . . , w m } is the set of all white vertices produced from applying Algorithm Zplus-Chordal to G (or on each of its connected components). Let C i be the clique whose vertex set consists of w i and all its neighbours at the point when w i is coloured white. Define C(G) = {C 1 , C 2 , . . . , C m }.
Every edge of G is coloured in Algorithm Zplus-Chordal and at the iteration when it is coloured, it must belong to some clique C i . Thus we have the following lemma.  Proof. Without loss of generality, we suppose that G is a connected chordal graph. From Lemma 4.1 we know that V black (G) is a positive zero forcing set of G, so we only need to show that it is the smallest possible.
From Lemma 4.2 we know that C(G) is a clique cover of G. Thus, cc(G) ≤ |C(G)|, using this with (1) we have that The pair V black (G) and V white (G) form a partition of V (G) with |V white (G)| = |C(G)|, so Therefore, |V (G)| − cc(G) = Z + (G) = |V black (G)|, and V black (G) is an optimal positive zero forcing set for G.
As a byproduct from the proof of Theorem 4.3, we have the following result for chordal graphs. Note that Corollary 4.4 (1) is proved in [17] by using primal and dual linear programming. Corollary 4.4 (2) can be deduced from the work in [6], where the concept of orthogonal removal is used along with an inductive proof technique.
We can easily modify Algorithm Zplus-Chordal so that it can also output the coloured graph G. In this graph, the number of black edges is equal to the number of white vertices. From the proof of Lemma 4.1, we know that every black edge can be used to force a white vertex to black. Define T black (G) to be the subgraph of G formed by taking all the edges (and their endpoints) that are coloured black by Algorithm Zplus-Chordal. The next result gives some of the interesting properties of T black (G) Proof. First, we will simply denote T black (G) by T black . Note that in each iteration of the Algorithm Zplus-Chordal when an edge is coloured black in Step 4, it is removed in Step 6 in the same iteration. Thus at any iteration i, the graph G i does not contain any black edges in Step 3 of the algorithm.
Suppose there is a cycle in T black . Let v i be the simplicial vertex in G i found in Step 3 of Algorithm Zplus-Chordal, which is the first vertex to be coloured among all the vertices on the cycle in T black . Assume that v i is coloured at iteration i. Let u i and u ′ i be the two neighbours of v i on the cycle. If v i is coloured black, then both the edges {v i , u i } and {v i , u ′ i } must be coloured, since none of the edges of G i can be black, they must all be red. But then these edges are not in T black . If v i is coloured white, then at most one of the edges {v i , u i } and {v i , u ′ i } is black, and again, the edges of the cycle are not in T black . Thus T black contains no cycles, and hence T black must be a forest.
Whenever a vertex of G is coloured white in Step 4 of Algorithm Zplus-Chordal, an edge incident to it is marked black in the same step. Thus T black contains all the vertices that are coloured white by Algorithm Zplus-Chordal.
The vertices of G, ordered by the perfect elimination ordering, are {v 1 , v 2 , . . . , v |V (G)| }. For a connected component T in T black , let the vertices in T are V (T ) = {v i 1 , v i 2 , . . . , v it }, where i 1 < i 2 < · · · < i t , in the perfect elimination ordering of the vertices of G. We will show that v it is the only black vertex in V (T ).
Since v |V (G)| is black, if i t = |V (G)| then we are done; so we will assume that i t < |V (G)|. If the vertex v it is white, then at Step 4 in the algorithm it is coloured white and there is an edge e = {v it , v j } that is coloured black. The edge e must be in T (as it is black) and further, v j ∈ V (G it )\{v it }. Since the vertices are being removed in order, this implies that j > i t ; this is a contradiction since v it is the last vertex in the ordering that is in T . Thus v it is coloured black; next we will show that v it is the only vertex in T that is coloured black.
Assume that v i j is the vertex with the smallest subscript among {i 1 , i 2 , . . . , i t } that is coloured black in the algorithm. Unless v i j = v it , the vertex v i j will be adjacent, in G, to a vertex in T with a larger subscript. At Step 6 vertex v i j is removed and all edges incident with it are removed as well. So v i j is not adjacent, in T , to any vertex with a larger subscript; similarly, no vertex with index less than i j is adjacent in T to a vertex with index larger than i j . This implies that T is not connected, which is a contradiction. Therefore, v it is the only black vertex in T .
Finally, we will show that any connected component T in T black is an induced subgraph of G. If this is not the case, then there are two vertices v ip and v iq (we will assume that i p < i q ), in V (T ) such that {v ip , v iq } is an edge in G but not in T . Pick the vertices v ip and v iq so that their distance in T is minimum over all pairs of vertices that are non-adjacent in T , but adjacent in G.
At the i p -th iteration of the algorithm, v ip is the simplicial vertex in G ip which is found in Step 3. Let {v ip , v i j } be the edge marked black in Step 4. Since both v i j and v iq are adjacent to v ip in G ip , the edge {v i j , v iq } is coloured red at this step. Thus the edge {v i j , v iq } is not in T . Since T is a tree and i p < i q , we know that the path in T that connects v i j and v iq is shorter than the path in T that connects v ip and v iq . Thus we reach a contradiction. Hence T is an induced subgraph of G.  A chordal graph is called non-trivial if it has at least two distinct maximal cliques; thus a trivial chordal graph is just a complete graph. Further, a simplicial vertex is called leafsimplicial if none of its neighbours are simplicial. A tree with only one vertex and no edges is called a trivial tree. In a positive zero forcing tree cover for a graph, any tree that is trivial consists of precisely one black vertex.

For any optimal tree cover T (G), each simplicial vertex of G is either a trivial tree in T (G) or a leaf of a non-trivial tree in T (G).
2. There is an optimal tree cover T (G) of G such that each leaf-simplicial vertex of G is a leaf of a non-trivial tree in T (G).
Proof. Let v be a simplicial vertex of G. Let T (G) be an optimal tree cover of G. Let T v be the tree in T (G) that contains v; this means that T v is an induced tree in G. The neighbours of v form a clique in G, so at most one of them can be in T v . This implies that the degree of v in T v is less than 2; thus either T v only contains the vertex v or v is a leaf in T v . Now further assume that v is a leaf-simplicial vertex and suppose that T v is a trivial tree, this is, it only contains the vertex v. We will show that T (G) can be transformed into a new optimal tree covering of G in which v is a leaf of a non-trivial tree. Let C be in the clique in G that contains v and all its neighbours. We will consider two cases.
First, assume that no edge of C is also an edge of a tree in T (G). For any u ∈ C, let T u be the tree in T (G) that contains u. Then T v and T u can be merged by adding the edge {u, v}. But this is a contradiction, as it implies that T (G) is not an optimal tree covering of G.
Second, assume that there is an edge {u, w} in C that is also an edge of the tree T u in T (G). We can split T u into two subtrees by deleting the edge {u, w}, and then merge T v and one subtree by adding the edge {v, u} (the other tree will contain w, which is not simplicial, so it will not be a tree that contains only one leaf-simplicial vertex). Thus we obtain another optimal tree cover of G, in which v is a leaf in a non-trivial tree. By using the above operation, we can transform all trivial trees in T that contain a leaf-simplicial vertex so that these vertices are leaves in trees for another optimal tree cover.
We are now in a position to verify that the positive zero forcing number can be computed in linear time (in terms of the number of edges and vertices of G), whenever G is chordal. Proof. The lexicographic breadth-first search algorithm is a linear time algorithm that finds a lexicographic ordering of the vertices of G [16]. The reverse of a lexicographic ordering of a chordal graph is always a perfect elimination ordering. Thus, Step 2 requires O(n + m) time.
In the loop between Step 3 and Step 6 in the algorithm, each edge and each vertex is coloured exactly once and deleted from the graph once. In Step 4 every edge is checked at most once to find uncoloured edges. The total running time of the loop is O(n + m).
Finally, it takes linear time to remove all red edges from G in Step 7. Therefore, the running time of the algorithm is O(n + m).

Minimum Forest Covers for Graphs
In this section, we consider the structure of the trees in the zero forcing tree covers of the graph. So for a given graph G and a positive integer ℓ, among all the positive zero forcing tree covers of G with size ℓ, we want to minimize the number of positive zero forcing trees that are non-trivial trees. We call this problem Min-Forest. If we consider the corresponding parallel fast-mixed searching model, each non-trivial positive zero forcing tree corresponds to an induced tree cleared by a "mobile" searcher and each trivial tree corresponds to an "immobile" searcher (perhaps a trap or a surveillance camera). Typically, the goal is to minimize the number of mobile searchers among parallel fast-mixed search strategies with a given number of searchers. The decision version of the Min-Forest problem is as follows.

Min-Forest
Instance: A graph G and positive integers k and ℓ. Question: Does G have a positive zero forcing tree cover of size ℓ in which there are at most k positive zero forcing trees that are non-trivial?
A split graph is a graph in which the vertices can be partitioned into two sets C and I, where C induces a clique and I induces an independent set in the graph. It is not difficult to show that a graph is split if and only if it is chordal and its complement is also chordal.
For a graph G a set U ⊂ V (G) is a vertex cover of G if every edge of G is incident to at least one vertex in U.
Theorem 5.1. Min-Forest is NP-complete. The problem remains NP-complete for split graphs whose simplicial vertices all have degree 2.
Proof. It is easy to verify that the problem is in NP. From [11], we know that the vertex cover problem is NP-complete for cubic graphs. We will construct a reduction from this problem.
Let H be a cubic graph with vertex set {v 1 , . . . , v n } and edge set {e 1 , . . . , e m }. We construct a connected chordal graph G using H. First set where v ′ i corresponds to the vertex v i from H and e ′ i corresponds to the edge e i in H. We construct a clique in G with the vertices in the set We finish the construction of G by connecting y to both vertices x 1 and x 2 . It is easy to see that the graph G is a connected chordal graph and can be constructed in polynomial time.
Let k be a positive integer. We will show that G has a zero forcing tree cover of size n + 1 in which there are at most k non-trivial trees if and only if there is a vertex cover of H of size at most k.
Initially, suppose that U ⊆ V (H) is a vertex cover of H of size k and let U ′ be the set of vertices in G that correspond to vertices of U. We will show that the vertices in U ′ are the only vertices in a positive zero forcing set for G of size n + 1 that are the roots for non-trivial positive zero forcing trees.
Define the set S = {e ′ 1 , . . . , e ′ m , y}. Every vertex in S is a simplicial vertex in G, so we can assume that these are the first m+1 vertices in the perfect elimination ordering of the vertices. Any vertex of S has exactly two neighbours in the clique induced by {v ′ 1 , . . . , v ′ n , x 1 , x 2 }. Since U is a vertex cover in H, every vertex e ′ i in G is adjacent to at least one vertex v ′ j in G whose corresponding vertex v j is in U. Finally, since y is adjacent to x 1 , each vertex u ∈ S has at least one neighbour in U ′ ∪ {x 1 }; denote one of these neighbours by u ′ .
Run Algorithm Zplus-Chordal on G, assuming that the vertices in S occur first in the ordering. For each u ∈ S, at Step 4 in the algorithm, colour the edge {u, u ′ } black and colour the vertex u white. At Step 6 the vertex u is removed and after m + 1 iterations all vertices of S are removed. At this point, x 1 is a simplicial vertex. Assume that it is next in the perfect elimination ordering and at Step 4 colour the edge {x 1 , u ′ } black, where u ′ is an arbitrary vertex in U ′ and in Step 6 the vertex x 1 is removed.
At this point all the remaining edges have been coloured and all the vertices in the set {v ′ 1 , . . . , v ′ n , x 2 } are coloured black and form an (optimal) positive zero forcing set for G. Let V black (G) be the graph formed by taking all edges (and their endpoints) that were coloured black in Algorithm Zplus-Chordal. The number of non-trivial components in T black is no more than |U ′ | = k. Thus, G has a zero forcing tree cover of size n + 1 in which there are at most k non-trivial trees.
Conversely, suppose that F is a positive zero forcing tree cover of G with size n + 1 that contains k non-trivial trees. Assume that these non-trivial trees are {F 1 , F 2 , . . . , F k }. From F , we will find a vertex cover of H with size at most k.
Let V ′ = {v ′ 1 , . . . , v ′ n , x 1 , x 2 }. It is not hard to see that any set of n + 1 vertices from V ′ form a positive zero forcing set for G.
For each non-trivial tree F j in F , Since it is an induced tree of G and G[V ′ ] is a clique, we know that F j can contain at most two vertices from V ′ . If F j contains two vertices a and b from V ′ , since each non-trivial tree in F contains exactly one initial black vertex, we know that either a forces b to black or b forces a to black. Suppose that there are two non-trivial trees in F , say F 1 and F 2 , such that F i (i = 1, 2) contains two vertices a i and b i of V ′ and a i forces b i to black. Suppose that a 1 forcing b 1 is before a 2 forcing b 2 in the positive zero forcing process. Then when a 1 forces b 1 , there are at least two white vertices (b 1 and b 2 ) in the same component which are adjacent to a 1 . This contradicts to the colour change rule. Thus, at most one non-trivial tree in F that contains two vertices from V ′ .
Since |V ′ | = n + 2, we know that among the n + 1 positive zero forcing trees in F , only one of them contains two vertices of V ′ and all others contain only one vertex of V ′ . Thus, no vertex in V (G) \ V ′ can form a trivial tree in F . Without loss of generality, suppose that F 1 contains two vertices of V ′ and each F i , 2 ≤ i ≤ k, contains exactly one vertex of V ′ . Since each vertex in V (G) \ V ′ forms a 3-cycle with two vertices in V ′ , we know it must be a leaf of a tree in {F 1 , F 2 , . . . , F k }. We have three cases for F 1 .
1. If F 1 contains two vertices of {v ′ 1 , . . . , v ′ n }, then one tree in {F 2 , . . . , F k }, say F k , consists of only one edge that connects y to x 1 or x 2 . So {F 1 , F 2 , . . . , F k−1 } contains a subset of k vertices U ′ ⊆ {v ′ 1 , . . . , v ′ n }, and each vertex of {e ′ 1 , . . . , e ′ m } is adjacent to one vertex of U ′ . Thus, the corresponding vertex set of U ′ in H is a vertex cover of H of size k.
2. If F 1 contains one vertex of {v ′ 1 , . . . , v ′ n } and one vertex of {x 1 , x 2 }, say x 1 , then one tree in {F 2 , . . . , F k }, say F k , consists of only one edge that connects y to x 2 . Thus each tree in {F 1 , . . . , F k−1 } contains one vertex of {v ′ 1 , . . . , v ′ n }. Let U ′ ⊆ {v ′ 1 , . . . , v ′ n } be the set of these k − 1 vertices. Since each vertex of {e ′ 1 , . . . , e ′ m } is adjacent to one vertex of U ′ , the corresponding vertex set of U ′ in H is a vertex cover of H of size k − 1.
3. If F 1 contains both x 1 and x 2 , then each tree in {F 2 , . . . , F k } contains one vertex of . . , v ′ n } be the set of these k − 1 vertices. Since each vertex of {e ′ 1 , . . . , e ′ m } is adjacent to one vertex of U ′ , the corresponding vertex set of U ′ in H is a vertex cover of H of size k − 1.
From the above cases, we know that H has a vertex cover of size at most k.
An echinus graph is a split graph with vertex set {C, I}, where C induces a clique and I is an independent set, such that every vertex of I has two neighbours in C and every vertex of C has three neighbours in I. It is easy to see that echinus graphs are special chordal graphs. From the proof of Theorem 5.1, we have the following.

Corollary 5.2. Min-Forest remains NP-complete even for echinus graphs.
Proof. In the proof of Theorem 5.1, we can modify the construction of G by adding two more vertices y ′ and y ′′ and connecting them to vertices x 1 and x 2 , respectively. It is easy to see that the new graph G ′ is an echinus graph. Similarly, we can show that G ′ has a positive zero forcing tree cover of size n + 1 in which there are at most k non-trivial trees, if and only if there is a vertex cover of H with size at most k.
If a graph G has a positive zero forcing tree cover of size ℓ in which there are at most k non-trivial trees, then for any n ≥ ℓ ′ > ℓ, G has a positive zero forcing tree cover of size ℓ ′ , with at most k non-trivial trees. Note that the smallest possible value of ℓ is the positive zero forcing number. So next we consider the case when ℓ equals the positive zero forcing number. The following theorem presents a characterization of the chordal graphs for which there exists an optimal positive zero forcing tree cover that contains only one non-trivial tree.
Theorem 5.3. Let G be a connected non-trivial chordal graph. There is an optimal positive zero forcing tree cover of G in which only one tree is non-trivial if and only if for every maximal clique C in G, there are two vertices x C , y C ∈ C such that any other maximal clique C ′ in G with V (C ′ ) ∩ V (C) = ∅ must contain exactly one of x C and y C .
Proof. Let C be the set of all maximal cliques in G. Since G is connected and non-trivial, each maximal clique in C must contain at least two vertices.
First assume that for every C ∈ C, there is a pair of vertices x C , y C such that each C ′ ∈ C with V (C ′ ) ∩ V (C) = ∅ contains exactly one of x C and y C . We will call the vertices x C and y C the critical vertices for C.
If C contains a critical vertex that is only in C, then we call this vertex a representative of C. For a maximal clique C ∈ C let x C and y C be critical vertices in C and assume that x C is not a representative of C. Let {C 1 , . . . , C i } be the set of all of the maximal cliques, other than C, in C that contain x C . Define D = C ∩ C 1 ∩ · · · ∩ C i ; clearly x C ∈ D. In fact, any of the vertices in D, along with y C , forms a pair of critical vertices for C. So we can fix any vertex v D ∈ D to be the representative of D. For each C j with 1 ≤ j ≤ i, if its critical set does not contain v D , then we use v D to replace the critical vertex in C j ∩ D.
In this way we can normalize all critical vertices so that all of them are representative critical vertices. In this way we can insure that if cliques C i and C j have non-trivial intersection, then for each of C i and C j one of the critical vertices is in C i ∩ C j .
For each clique C, colour the edge between the two critical vertices black. Let T black (G) be a graph formed by all black edges. Since G is a connected chordal graph and each maximal clique of G contains exactly one black edge, we know that T = T black (G) does not contain a cycle. If C i and C j are adjacent cliques in G then one of the critical vertices for C i and one of the critical vertices of C j are equal. Thus the black edges in C i and in C j are adjacent. Since G is connected, T is also connected.
Next we will show that T along with the empty trees on the vertices in V (G) \ V (T ) is an optimal positive zero forcing tree cover of G.
Let b be a leaf of T . Set b and all vertices in V (G) \ V (T ) to be the initial set of black vertices in G. Since b is a leaf of T , it is contained in exactly one maximal clique in C; call this clique C 0 . Denote the critical vertices in C 0 by {a, b}. All vertices in V (C 0 ) \ {a} are initially black and a is the unique neighbour of b in T after all black vertices are removed. Thus b forces a to black.
Let C 0 , C 1 , . . . , C i ∈ C be all maximal cliques that contain a. Assume that the critical vertices for C j are {a, a j }, where j ∈ {1, . . . , i}. In each C j with 1 ≤ j ≤ i, all the vertices in V (C j ) \ {a j } are initially black and so a j is the unique neighbour of a on the component containing a j after all black vertices are removed. Thus a forces a j to black. It is easy to see that the positive zero forcing process can continue until all white vertices of T are forced black. Hence, the tree T along with the vertices in V (G) \ V (T ) is a positive zero forcing tree cover of G.
Next we will show that this positive zero forcing tree is optimal. To do this we will show that cc(G) = |E(T )|. Since no clique in G contains two black edges, we know that cc(G) ≥ |E(T )|. On the other hand, each edge of G is contained in a maximal clique in C so we also have that cc(G) ≤ |C| = |E(T )|. Now it follows from Corollary 4.4 that is an optimal zero forcing tree cover of G.
Conversely we will assume that Z + (G) = m and that G has an optimal positive zero forcing tree cover T = {T, v 1 , . . . , v m−1 } in which T is the only non-trivial tree. We will show that every maximal clique has a pair of critical vertices. We will show that for every clique C ∈ C we have |V (C) ∩ V (T )| = 2. We have three cases to consider.
The clique C must contain at least two vertices, assume that these are v 1 and v 2 . Then we can remove the two isolated vertices v 1 and v 2 from T and add the edge {v 1 , v 2 } to it. This produces a new positive zero forcing tree cover that contains m − 1. This contradicts the optimality of the original tree cover T .
Let V (C) ∩ V (T ) = {u} and assume that v 1 is also in C. Thus we can remove the isolated vertex v 1 from T and add the edge {u, v 1 } to T . This produces a positive zero forcing tree cover of G of size m − 1, which is a contradiction.
Since C is a clique V (C) ∩ V (T ) is also clique with at least 3 vertices, but this is impossible since T is a tree.
We claim that for every C ∈ C the two vertices in V (C) ∩ V (T ) form a critical pair of vertices for C.
Let C be an arbitrary maximal clique in C and let V (C) ∩ V (T ) = {u, v}. Further, let {C 1 , . . . , C i } be the set of maximal cliques from C that have nonempty intersection with C.
Assume that there is a j ∈ {1, . . . , i} such that V (C j ) ∩ {u, v} = ∅. Then the subgraph induced by the vertices in T along with any vertex in C ∩ C j will include an induced cycle with more than 3 vertices in G; but this contradicts the fact that G is chordal.
Suppose that there is a j ∈ {1, . . . , i} such that |V (C j ) ∩ {u, v}| = 2. This implies that u and v are both in C j and that V (C j ) ∩ V (T ) = {u, v}. Since C and C j are both maximal cliques, there is a vertex u ′ ∈ V (C) \ V (C j ) and a vertex v ′ ∈ V (C j ) \ V (C). Thus both u ′ and v ′ are isolated vertices in T . If we remove the edge {u, v} from T , then T is split into trees T 1 and T 2 such that T 1 contains u and T 2 contains v. We then add edge {u, u ′ } to T 1 and add {v, v ′ } to T 2 to obtain a new tree cover T , which is still a positive zero forcing tree cover of G containing m − 1 trees. This is a contradiction. Hence, C j contains exactly one of u and v.
This result can be generalized to a family of graphs that are not chordal.  Observe that the clique cover number of G is 4. Consider the induced tree T (based on the dashed edges in Figure 2 containing 5 vertices. Hence |V (T )| − 1 = cc(G). Following the algorithm in Lemma 5.4, if all remaining vertices plus one are initially coloured black, then T is the only non-trivial tree associated with this positive zero forcing tree cover.

Cycles of Cliques
Let G be a graph and assume that {C 1 , C 2 , . . . , C k } is a set of maximal cliques in G that covers all the edges in G. We say that G is a cycle of cliques if V (C i ) ∩ V (C j ) = ∅ whenever j = i + 1 or (i, j) = (k, 1) and V (C i ) ∩ V (C j ) = ∅ otherwise. If k = 1 then G is a clique; we will not consider a graph that is a clique to be a cycle of cliques. Lemma 6.1. If G is a cycle of cliques {C 1 , C 2 , . . . , C k } with k ≥ 3, then there is a zero forcing set of size |V (G)| − (k − 2) and exactly one non-trivial forcing tree.
Proof. To prove this we simply construct a zero forcing set that has this property. Colour exactly one vertex in V (C i ) ∩ V (C i+1 ) white for i = 1, . . . , k − 2 and colour all other vertices in G black. This set of black vertices forms a zero forcing set of size |V (G)| − (k − 2).
Start with any vertex in V (C k ) ∩ V (C 1 ), since all the vertices in V (C k ) are black, this vertex can force the only one white vertex in V (C 1 ) ∩ V (C 2 ). In turn, this new black vertex can force the remaining one white vertex in V (C 2 ) ∩ V (C 3 ), which in turn forces the only one white vertex in C 3 ∩ C 4 . Continuing like this we see that the claim holds.
If G is a cycle of cliques, then the cliques {C 1 , C 2 , . . . , C k } form a clique cover of G. So we have that Observe that the positive zero forcing sets in the previous lemma may not always be optimal positive zero forcing sets. But, in some cases it is possible to find an optimal zero forcing set for a cycle of cliques that has exactly one non-trivial forcing tree and is also an optimal positive zero forcing set. Lemma 6.2. Assume that G is a graph that is a cycle of cliques {C 1 , C 2 , . . . , C k } with k ≥ 3. Further assume that there is a vertex x ∈ V (C 1 ) that is in no other clique and a vertex y ∈ V (C k ) but is not in any other clique. Then there is an optimal positive zero forcing set of size |V (G)| − k with exactly one non-trivial forcing tree.
Proof. Colour exactly one vertex in V (C i ) ∩ V (C i+1 ) white for each of i = 1, . . . , k − 1, also colour the vertex y ∈ V (C k ) white and then colour all other vertices in G black.
The vertex x ∈ V (C 1 ) can force the one white vertex in V (C 1 ) ∩ V (C 2 ). In turn, this vertex can force the one white vertex in V (C 2 ) ∩ V (C 3 ), which in turn forces the one white vertex in V (C 3 ) ∩ V (C 4 ). Continue like this until the one white vertex in V (C k−1 ) ∩ V (C k ) is forced to black. This vertex can then force y to be black.
Thus this set is a zero forcing set of size |V (G)| − k that has only one non-trivial zero forcing tree. Since the clique cover number for this graph is k, from (1) we have that this is an optimal zero forcing set and an optimal positive zero forcing set.
This also gives a family for which the positive zero forcing number and the forcing number agree.

Further Work
The complexity of computing any type of graph parameter is an interesting task. For zero forcing parameters it is known that the problem of finding Z(G) for a graph G is NPcomplete. We also suspect that the same is true for computing Z + (G) for a general graph G. In fact, we resolve part of this conjecture, by assuming an additional property on the nature of the zero forcing tree cover that results. However, for chordal graphs G, we have verified that determining the exact value of Z + (G) can be accomplished via a linear time algorithm; the best possible situation. We also believe that it would be interesting to consider the complexity of determine Z + (G) when G is a partial 2-tree. Since for 2-trees it is known that the positive zero forcing number is equal to the tree cover number.
A solution of the Min-Forest problem describes an inner structure between maximal cliques of G. In Section 5, we highlight a couple of instances where upon if we restrict the number of non-trivial trees in a positive zero forcing tree cover of a given size, then conclusions concerning the complexity of computing the positive zero forcing number can be made. We are interested in exploring this notion further.