Identification of a current-carrying subset of a percolation cluster using a modified wall follower algorithm

We have proposed and implemented a modification of the well-known wall follower algorithm to identify a backbone (a current-carrying part) of the percolation cluster. The advantage of the modified algorithm is identification of the whole backbone without visiting all edges. The algorithm has been applied to backbone identification in networks produced by random deposition of conductive sticks onto an insulating substrate. We have found that (i) for concentrations of sticks above the percolation threshold, the strength of the percolating cluster quickly approaches unity; (ii) simultaneously, the percolation cluster is identical to its backbone plus simplest dead ends, i.e., edges that are incident to vertices of unit degree.


Introduction
An approach describing the composites is the percolation theory [1]. Percolation, i.e., the emergence of a connected subset (a cluster) that spans opposite boundaries in a disordered medium, has attracted the attention of the scientific community for several decades [1,2,3,4,5]. The occurrence of a percolation cluster drastically changes the physical properties of the medium, e.g., an insulator-conductor phase transition can be observed when the disordered medium is a mixture of conductive and insulating substances. However, only a fraction of the percolation cluster takes a part in the electrical conductivity [6,7]. When the percolation cluster is treated as a random resistor network (RRN), a set of current-carrying bonds of such RRN is called the (effective) backbone [8]. The rest of the percolation cluster is dead ends [8] (tag ends [9], tangling ends [10]) and so-called perfectly balanced bonds (Wheatstone bridges). The electrical current through a perfectly balanced bond is absent because potential difference between its ends is equal to zero [11]. The geometrical backbone is the union of all the self-avoiding walks (SAWs) between the two given points [12]. SAW or a simple path is a path that contains no vertex twice. An algorithm for finding simple paths in a graph is based on depth-first search [13]. The geometrical backbone is the effective one plus the ideally balanced bonds. Thus, the effective backbone is defined as the set of bonds that carry a current, while the geometrical backbone is the set of bonds that either carry a current, or are perfectly balanced [14]. Another definition of the backbone says that it is the largest biconnected component of the graph [9]. Such the definition may be confusing since a set of vertices is said to be biconnected, if each pair of vertices can be linked by at least two distinct paths. Hence, the two vertices connected by only one SAW can form no backbone according this definition. Although this definition is true when periodic boundary conditions (PBCs) are applied to the plane, i.e., a percolation on torus is considered, an examination of the electrical conductivity on a torus looks somewhat artificial.
Some of the bonds belonging to the backbone may carry the total current. These bonds are called red bonds or singly connected bonds; when they are cut, the current flow stops [15].
There are two different approaches for identification of backbones. On the one hand, one can use Ohm's law or Kirchhoff's rules to calculate potentials and currents in the RRN [16,17,11,18]. However, direct calculations of electrical potentials and currents are based on floating-point arithmetic and, hence, produce round-off errors. Due to these round-off errors, some ghost currents may arise which impedes the backbone extraction. Moreover, these calculations deal with huge systems of linear equations and require a lot of computer memory. Only relative small systems can be treated in these approaches because number of equations to be solved is proportional to the square of linear size of the system under consideration.
On the other hand, one can apply search algorithms on graphs [19,20,21,8,22,10,23,24,25,26,27,28,29]. In fact, some of the algorithms of backbone identification belong to maze solving algorithms (such as "Ariadne's clew algorithm" [30]), which, in particular, are applied to wire routing on chips [31]. Graph theory algorithms are sometimes difficult to understand or/and to realize. Some of them require storing not only original network but its dual [20]. Moreover, some algorithms can produce stack overflow because of recursion. All of the available graph-based algorithms remain storage limited, as some information at each node of the graph remains necessary [32]. In fact, application of these algorithms also is restricted to the RRN of moderate size.
Each of these two approaches have both advantages and disadvantages. A comparison and analysis of the algorithms devoted to identification of current-carrying part of the RRN can be found in Ref. [33].
In this conference paper, we present a modification of a wall follower algorithm for a maze solving. The rest of the paper is constructed as follows. Section 2 describes some technical details of simulation and our modification of the wall follower algorithm that extracts a geometrical backbone of a percolating cluster if any. Section 3 presents our main findings. Section 4 summarizes the main results.

Modified wall follower algorithm
Consider an embedding of an undirected simple planar graph G = G(E, V ) in two-dimensional Euclidean space R 2 . We are looking for all simple paths (self-avoiding walks, SAWs) between "entry" vertex, V in , and "exit" one, V out . Three kinds of edges and vertices are distinguished in the algorithm. Initially, all edges and vertices are supposed to be "black". During the execution of the algorithm, the edges and vertices are colored in yellow or green. Namely, "green" ones are classified to be a part of the geometric backbone, "yellow" ones are classified to be dead ends. Before the algorithm starts working, the two "green" ghost edges should be added to the graph in the way depicted in Fig. 1. After identification of all SAWs between V in and V out , the two ghost edges have to be removed.
Recursive procedure NG(E, V 1 , V 2 , G) is looking for SAWs between V 1 and V 2 . The procedure uses the two functions, viz., NextEdge(V, E, G, color, direction) and AdjacentVertex(V, E, G) (hereinafter, V is a vertex of G incident on edge E). The function NextEdge(V, E, G, color, direction) returns an edge of the graph G incident on the vertex V ; the returned edge is the first one following the edge E in the traversal direction indicated by parameter direction and has the color indicated by the parameter color. The parameter direction may be clockwise ( ) or counterclockwise ( ). The parameter color may be green, yellow or any color. The function AdjacentVertex(V, E, G) returns the vertex of the graph G that is incident to the edge E and differs from the vertex V . The procedure NG looks through all the edges incident to the vertex V 1 , starting from the green edge E, and then counterclockwise, to the next green edge E ′ . Let us denote the next vertex of E ′ as V ′ 1 (see Fig. 2a). Then, starting from the green edge E ′ clockwise, we are looking for the nearest edge of any color. If the nearest edge is E (see Fig. 2b), one should call NG(E ′ , V ′ 1 , V 2 , G). Otherwise (see Fig. 2c), one should call lines 9-14 of the below pseudocode.
end if 15: end if 16: end procedure To find all SAWs between V in and V out , one should call the procedure as NG(E 0 , V in , V out , G).
A modified wall follower algorithm is presented as a pseudocode of the function WF. V.color ← black 3: if V ′ .color = green then 9:

end loop 25: end function
Zero-width sticks of unit length were randomly deposited onto a substrate of size L × L with PBCs until the desired number density was reached. Their centers are assumed to be independent and identically distributed (i.i.d.) on the substrate, while their orientations are assumed to be equiprobable. Hence, a homogeneous and isotropic network is produced. For basic computations, we used the system of size L = 32. Finite-size effect has been additionally tested via variation of the system size.
Consider an arbitrary 2D network produced by random isotropic deposition of equally-sized zero-width sticks. Each stick is treated as a resistor with a specified electrical conductivity, σ. When this network is a subject to a potential difference, there are two natural possibilities [34], viz., • the "bus-bar geometry", when two parallel (super)conducting bars (buses) are attached to the opposite borders of the network; a potential difference (say, V and 0, V > 0) is applied to these buses [20,10,29], • the "two-point geometry", when a potential difference is applied to the two distinct sites, so that an electrical current, I, injected into one site (source) and the same current withdrawn from the other (sink) [8].
In the case of superconducting buses, "bus-bar geometry" can be turn to "two-point geometry" by addition of ghost vertices.
To detect the spanning cluster, the Union-Find algorithm [35,36] modified for continuous systems [37,38] was applied. When the spanning cluster was found, all other clusters were removed since they cannot contribute in the electrical conductivity. All edges of the spanning cluster incident on vertex of unit valence were cut off, since, obviously, they are simplest dead ends. According to Ref. [39], we denote such the preprocessed spanning cluster as "approximate backbone". To detect the backbone of the spanning cluster, the modified wall follower algorithm was used. When the geometrical backbone has been identified, an adjacency matrix was formed for it. With this adjacency matrix in hands, Kirchhoff's current law was used for each junction of sticks, and Ohm's law for each circuit between two junctions.
The computer experiments were repeated 100 times. The error bars in the figures correspond to the standard deviation of the mean. When not shown explicitly, they are of the order of the marker size.
A particular case of a planar graph is N zero-width sticks of length l which centers are assumed to be i.i.d. within a square domain D of size L × L with periodic boundary conditions (D ∈ R 2 ), i.e., x, y ∈ [0; L], where (x, y) are the coordinates of the center of the stick. The relation L > l is assumed. All intersections of sticks with the lines x = L and x = 0 are supposed to be vertices ("entries" and "exits", respectively). To apply the above algorithm, we transform a bus-bar geometry to a two-point geometry by adding two ghost vertices, viz., V in is adjacent to all vertices belonging to "entries", while V out is adjacent to all vertices belonging to "exits". In such a way, the problem of geometrical backbone identification for bus-bar geometry is transforms into the one for two-point geometry.
In many cases, modified wall follower algorithm can identify the backbone without visiting all edges. In a graph produced by random isotropic deposition of zero-width sticks onto a plane, near the percolation threshold, a fraction of unvisited edges after complete identification of the backbone approaches to 0.5. Figure 3 demonstrate how the quantities of interest depends on the shifted number density, n−n c . Solid symbols present our results, while the open symbols represents the results extracted from Ref. [39]. The strength of the percolation cluster approaches unit reflecting the fact that almost all sticks belong to the percolation cluster when n 2n c . This observation is quite consistent with the previously published results [39]. At the large number density, the backbone and the approximate backbone [39] are indistinguishable within simulation accuracy. This fact validates the assumption [39] that the percolation cluster is identical to its geometrical backbone plus simplest dead ends, i.e., edges incident on the vertices of the unit degree. Solid line corresponds to theoretical estimate of the approximate backbone offered in Ref. [39].

Conclusion
We have proposed and implemented a modified wall follower algorithm for backbone identification. The algorithm was applied to backbone identification for different system sizes and concentrations of conductive sticks. We have found that (i) for concentrations of sticks above the percolation threshold, the strength of the percolating cluster quickly approaches unity as concentration of sticks increase; (ii) simultaneously, the percolation cluster is almost identical to its backbone plus simplest dead ends, i.e., edges that are incident to the vertices of degree one.