# Algorithm for Identification of Infinite Clusters Based on Minimal Finite Automaton

Authors: Biljana Stamatovic; Goran Kilibarda
Journal: Mathematical Problems in Engineering
 (2017)

---

## Abstract

We propose a finite automaton based algorithm for identification of infinite clusters in a 2D rectangular lattice withL=X×Y cells. The algorithm counts infinite clusters and finds one path per infinite cluster in a single pass of the finite automaton. The finite automaton is minimal according to the number of states among all the automata that perform such task. The correctness and efficiency of the algorithm are demonstrated on a planar percolation problem. The algorithm has a computational complexity of O(L) and could be appropriate for efficient data flow implementation.


---

## Body

## 1. Introduction

After the publication of Shannon’s paper in 1951 [1], many scientists considered the behavior of systems of finite automata (FAs) in labyrinths, for example, in connected sets of cells of a grid or lattice. An overview of the obtained results is given in [2, 3]. Some problems of finite automaton (FA) traversing labyrinths can be found in [4, 5]. Many results indicate a limited power of FA. But, by introducing a collective of FAs, it was proved that there exists a collective of two FAs which can traverse all planar mosaic finite labyrinths [6]. Also, in [7, 8], the problem of FA recognition of some infinite classes of labyrinths (e.g., digits and letters) is studied.Recognizing and labeling connected regions in binary images are important problems in image processing, machine vision, porous matter analysis, and many other fields of science. Studying site and bond percolation on any lattice is an important problem in computational physics [9–12]. Some algorithms from these studies are presented in [13–18]. In [19–21], polymerizing systems are presented, with branched or cross-linked polymers, which may go through distinct gelation transitions; a formed gel is seen as a two-dimensional lattice-percolation cluster and the authors use a “hull-generating walk” (HGW) algorithm.The similarity between the papers [19–21] and the present paper consists in the fact that here we use a similar algorithm (in fact, HGW algorithm and the algorithm from our paper are in the class of the so-called “maze solving algorithms” [22]). But in contrast to papers [19–21], where HGW algorithm is used for generating perimeters of clusters in a 2D random binary grid, we use our algorithm for identifying and counting infinite clusters in such grid. This is a new, purely mathematical approach, in terms of the theory of finite automata, to the problem considered in our paper. It consists in the construction of a minimal finite automaton (FA) which can traverse the border of any cluster on any 2D binary grid and always stops in the planar site percolation model.The planar site percolation model is represented by a 2D grid of square cells and each cell can exist in two different states, white or black. Any cell is colored black with probabilityp and white with probability 1-p. These probabilities are independent for each cell. We use open boundary conditions with boundary cells on the top and on the bottom of the grid in different states, blue and red, respectively. Cells on the left and right boundaries are white.We construct an initial FAAq0 which can traverse the border of any cluster in every planar 2D grid in accordance with the left-hand rule (which is also a kind of a HGW algorithm). The automaton Aq0 can be launched from any cell of a grid. In any moment, the input of Aq0 is information about von Neumann neighborhood of the present cell given in the form of a 5-tuple representing the state of the central cell and the states of its four neighbors. In the next moment, depending on its present state and its input, the FA proceeds from the present cell in one of the directions, defined by the output symbols e, n, w, or s (denoting the corresponding directions, east, north, west, or south, resp.), and moves into a corresponding neighbor cell or stays at the same place if output symbol is 0 (which means “no move”) and passes into a new state. On the bases of this automaton, we give an algorithm which can be used for finding/identifying and counting infinite clusters in the given grid. Such algorithm is simple to implement and does not need extra memory or stacks. The time complexity of the algorithm is linear and not larger than the time complexity of already existing algorithms. The FA has only four states, including the initial state. We have proved that this is the minimal FA according to the number of states.The paper is organized as follows. In Section2, general grid-related definitions and definitions of the FA and its properties are given. In Section 3, the FA-based algorithm for counting connected paths is described and its complexity is proved. The main conclusions and results are summarized in Section 4.


## 2. Definition

### 2.1. General Definitions

The planar site percolation model (see Figure1) is represented by a two-dimensional lattice network (grid) of unit squares (cells) whose centers are in the integer lattice with L=X×Y cells, X,Y≥4. The cell position is determined by its center. Each cell can exist in two different states, 0 or 1, where state 0 is usually called “white” and state 1 is usually called “black.” The boundary cells of the simulated grid are in a fixed state, which remains constant throughout the simulation. The boundary cells on the bottom edge of the grid are in state 2, which is called “red,” and the boundary cells on the top edge of the grid are in state 3, which is called “blue.” The boundary cells on the left and right edge of the grid are white. State 4, which is called “orange,” is used for the notation of labeled cells in the grid.Figure 1
Examples of percolation site models on13×13 grid, generated with probability p=0.55 without infinite cluster (a) and generated with probability p=0.60 with infinite cluster (b).
(a)
(b)Two different cells(i1,j1) and (i2,j2) from a grid areadjacent (weakly adjacent) if |i1-i2|+|j1-j2|=1 (max⁡{i1-i2,j1-j2}=1). Two black (white) cells (i1,j1) and (in,jn) areconnected if there exists a sequence of black (white) cells (ik,jk), 2≤k≤n, such that each pair (ik-1,jk-1) and (ik,jk) are adjacent; such sequence is called apath.Blue-red path is a path whose one end is adjacent to a blue and the other to a red cell. A set of cells is connected if any two cells from the set are connected. A maximum connected set of black cells is called acluster. Theinfinite cluster is a cluster that contains a blue-red path.Similarly, black (white) cells(i1,j1) and (in,jn) areweakly connected if there exists a sequence of black (white) cells (ik,jk), 2≤k≤n, such that each pair (ik-1,jk-1) and (ik,jk) are weakly adjacent. A maximum weakly connected set of white cells is called ahole.


### 2.2. Definition of the Initial Finite AutomatonAq0

Lete=(1,0), n=(0,1), w=(-1,0), and s=(0,-1) be basic Euclidean vectors. Denote by V the set {e,n,w,s}. We use the notations e=w¯, w=e¯, s=n¯, and n=s¯. For a cell c=(i,j) in a grid, its neighbors are cells c+e=(i+1,j), c+n=(i,j+1), c+w=(i-1,j), and c+s=(i,j-1). Hence, the von Neumann neighborhood is used in this paper (see Figure 2(a)).Figure 2
Von Neumann neighborhood and enumeration.
(a)
(b)Letsc=s(i,j) be the state of the cell c and N(c)=α∈V∣sc+α=1.Letπ=(e,n,w,s) be a cyclic permutation. For M⊆V,M≠∅, and α∈V, denote by πM(α) the element πn0(α), where n0=min{n∈N∣πn(α)∈M}, where N is the set of natural numbers.By a finite automaton (FA)A, we mean a quintuple (A,Q,B,φ,ψ), where the finite nonempty sets A, Q, and B are the input alphabet, the set of states, and the output alphabet of the automaton, respectively; ψ:Q×A→B is its output function; and φ:Q×A→Q is its state-transition function. If we mark a state q0∈Q as an initial state of A, we get an initial automaton Aq0=(A,Q,B,φ,ψ,q0) (in other words, Aq0 is a Mealy machine).Further, we consider the initial FAAqe=(A,Q,B,φ,ψ,qe) supposing that A={0,1,2,3,4}5, Q={qe,qn,qw,qs}, and B={0,e,n,w,s}. The starting cell of this automaton in a grid is always the lowest right corner cell of the grid. If the output symbol of Aqe is α∈{e,n,w,s}, we say that FA proceeds in the direction α. If the output symbol is 0, the FA stops. This way, FA simulates movements (goes around, traverses) through a grid.An input symbola=(a0,a1,a2,a3,a4)=(s(i,j),s(i+1,j),s(i,j+1),s(i-1,j),s(i,j-1))∈A={0,1,2,3,4}5 represents the state of a cell and the states of its von Neumann neighbors, consistent with the enumeration in Figure 2(b). For the input symbol a, by c(a) we denote the central cell.The FA starts in stateqe and uses states from set Q until it finds a boundary cell on the top of the grid (blue one). In this moment, the algorithm increments the counter of infinite clusters and starts labeling cells with an orange color. The algorithm labels a path, until the FA finds a boundary cell on the bottom edge of the grid (red one). After finding the lowest left end of an infinite cluster, the FA proceeds in the w (west) direction and it is on a white cell and in state qe. After that, the algorithm breaks labeling and starts with new counting of infinite clusters and the FA repeats the process of traversing. The algorithm stops when the output of the FA is 0.The functionsφ and ψ are defined in the following way. Let c=(i,j) be a cell and let a=(s(i,j),s(i+1,j),s(i,j+1),s(i-1,j),s(i,j-1)), x∈{0,1,2,3}, and y∈{1,4}. Then, for α∈{e,n,w,s} and input a=(y,x,x,x,x), the functions φ and ψ are defined by φ(qα,a)=qβ¯ and ψ(qα,a)=β, where β=πN(c(a))(α) (see Figure 3) except for some “starting,” “ending,” or “changing” parts which are given by the following:(i)
Ifi<X, then
(a)
fora=(0,x,x,x,2) or a=(1,x,0,x,2), φ(qe,a)=qe and ψ(qe,a)=w;(b)
fora=(1,x,1,x,2), φ(qe,a)=qs and ψ(qe,a)=n;(c)
fora=(y,x,x,0,2) and q∈{qn,qe}, φ(q,a)=qe and ψ(q,a)=w.(ii)
Ifi=X, then, for a=(y,x,x,x,2), φ(qe,a)=qe and ψ(qe,a)=0.Figure 3
Traversing part of the FAAqe, where x∈{0,1,2,3} before starting labeling.Notice two properties of the FAAqe:(1)
In the initial state, the FA is on the cell that has red cell on the south (s(i,j-1)=2). The FA goes in the west direction until it finds the black cell with black cell on the north. If it cannot find it, the FA stops.(2)
The meaning of the fact that the FA is on the cellc and is in the state qα is that the FA has arrived on the cell c from the direction α¯, α∈V (see Figure 3).The initial automatonAqe and the initial planar site percolation model (C0,c(0)), where c(0) is the cell on the lowest right corner of a grid C0, create the sequence S(Aqe,(C0,c(0)))=((c(0),qe,a0,b0),(c(1),q1,a1,b1),…,(c(i),qi,ai,bi),(c(i+1),qi+1,ai+1,bi+1),…), where ai represents the neighborhood of the cell c(i) (c(i)=c(ai)), bi=ψ(qi,ai), c(i+1)=c(i)+bi, qi+1=φ(qi,ai), i≥0.LetRs={(i,j)∈C0∣s(i,j)=1,s(i+1,j)=0,s(i,j-1)=2}.Properties of the FAAqe, which will be crucial for the algorithm, are defined by the following theorem.Theorem 1.
A blue-red path exists in the planar site percolation modelC0 if and only if there exists a cell c′(0)∈Rs such that the sequence (c′(0),c′(1),…,c′(n)), n≥0, of the cells in the sequence S(Aqe,(C0,c(0))) creates a blue-red path.Choosing the cyclic permutationπ in the definition of the FA Aqe, we define an orientation. Namely, if the FA comes on the cell c from direction α∈V, then the right, ahead, left, and behind cell (from the cell c) are c+π(α), c+π2(α), c+π3(α), and c+π4(α)=α, respectively.LetP be a blue-red path in the grid C0 and KP be the infinite cluster that encloses path P. Let crs∈Rs be the lowest right cell in the cluster KP and HP be the subset of the infinite hole which is on the right side of the cluster. Right boundary of the cluster KP, KHP={c∈KP∣c is weakly adjacent to some cell from HP}, is connected and encloses a blue-red path. Notice that crs∈KHP.It is not hard to see that the FAAqe implements “left-hand-on-wall” algorithm ([23]). Starting from the cell crs, the FA traverses KHP, and the subsequence (c′(0)=crs,c′(1),…,c′(n)), for some n∈N, of the sequence S(Aqe,(C0,c(0))) creates a blue-red path.If there is not a connected path between red and blue cells in the gridC0, then, for all cells c∈Rs, the sequence (c=c0,c1,…,cn,…), n≥0, will not contain a cell with blue north neighbor. The grid is finite and the FA will stop on the lowest left cell of the grid.Theorem 2.
According to the number of states, the FAAqe is the minimal initial finite automaton.In the example from Figure1(b), notice cell a. It is in the infinite cluster and it is weakly adjacent by the right infinite hole. Traversing the cluster by the left-hand rule, the FA Aqe is four times in the cell a (from south, east, north, and west sides). All the visits must be done in different automaton states (input is the same). Otherwise, the FA makes a cycle. Hence, for traversing a border of a cluster, it is necessary to have 4 states.


## 2.1. General Definitions

The planar site percolation model (see Figure1) is represented by a two-dimensional lattice network (grid) of unit squares (cells) whose centers are in the integer lattice with L=X×Y cells, X,Y≥4. The cell position is determined by its center. Each cell can exist in two different states, 0 or 1, where state 0 is usually called “white” and state 1 is usually called “black.” The boundary cells of the simulated grid are in a fixed state, which remains constant throughout the simulation. The boundary cells on the bottom edge of the grid are in state 2, which is called “red,” and the boundary cells on the top edge of the grid are in state 3, which is called “blue.” The boundary cells on the left and right edge of the grid are white. State 4, which is called “orange,” is used for the notation of labeled cells in the grid.Figure 1
Examples of percolation site models on13×13 grid, generated with probability p=0.55 without infinite cluster (a) and generated with probability p=0.60 with infinite cluster (b).
(a)
(b)Two different cells(i1,j1) and (i2,j2) from a grid areadjacent (weakly adjacent) if |i1-i2|+|j1-j2|=1 (max⁡{i1-i2,j1-j2}=1). Two black (white) cells (i1,j1) and (in,jn) areconnected if there exists a sequence of black (white) cells (ik,jk), 2≤k≤n, such that each pair (ik-1,jk-1) and (ik,jk) are adjacent; such sequence is called apath.Blue-red path is a path whose one end is adjacent to a blue and the other to a red cell. A set of cells is connected if any two cells from the set are connected. A maximum connected set of black cells is called acluster. Theinfinite cluster is a cluster that contains a blue-red path.Similarly, black (white) cells(i1,j1) and (in,jn) areweakly connected if there exists a sequence of black (white) cells (ik,jk), 2≤k≤n, such that each pair (ik-1,jk-1) and (ik,jk) are weakly adjacent. A maximum weakly connected set of white cells is called ahole.


## 2.2. Definition of the Initial Finite AutomatonAq0

Lete=(1,0), n=(0,1), w=(-1,0), and s=(0,-1) be basic Euclidean vectors. Denote by V the set {e,n,w,s}. We use the notations e=w¯, w=e¯, s=n¯, and n=s¯. For a cell c=(i,j) in a grid, its neighbors are cells c+e=(i+1,j), c+n=(i,j+1), c+w=(i-1,j), and c+s=(i,j-1). Hence, the von Neumann neighborhood is used in this paper (see Figure 2(a)).Figure 2
Von Neumann neighborhood and enumeration.
(a)
(b)Letsc=s(i,j) be the state of the cell c and N(c)=α∈V∣sc+α=1.Letπ=(e,n,w,s) be a cyclic permutation. For M⊆V,M≠∅, and α∈V, denote by πM(α) the element πn0(α), where n0=min{n∈N∣πn(α)∈M}, where N is the set of natural numbers.By a finite automaton (FA)A, we mean a quintuple (A,Q,B,φ,ψ), where the finite nonempty sets A, Q, and B are the input alphabet, the set of states, and the output alphabet of the automaton, respectively; ψ:Q×A→B is its output function; and φ:Q×A→Q is its state-transition function. If we mark a state q0∈Q as an initial state of A, we get an initial automaton Aq0=(A,Q,B,φ,ψ,q0) (in other words, Aq0 is a Mealy machine).Further, we consider the initial FAAqe=(A,Q,B,φ,ψ,qe) supposing that A={0,1,2,3,4}5, Q={qe,qn,qw,qs}, and B={0,e,n,w,s}. The starting cell of this automaton in a grid is always the lowest right corner cell of the grid. If the output symbol of Aqe is α∈{e,n,w,s}, we say that FA proceeds in the direction α. If the output symbol is 0, the FA stops. This way, FA simulates movements (goes around, traverses) through a grid.An input symbola=(a0,a1,a2,a3,a4)=(s(i,j),s(i+1,j),s(i,j+1),s(i-1,j),s(i,j-1))∈A={0,1,2,3,4}5 represents the state of a cell and the states of its von Neumann neighbors, consistent with the enumeration in Figure 2(b). For the input symbol a, by c(a) we denote the central cell.The FA starts in stateqe and uses states from set Q until it finds a boundary cell on the top of the grid (blue one). In this moment, the algorithm increments the counter of infinite clusters and starts labeling cells with an orange color. The algorithm labels a path, until the FA finds a boundary cell on the bottom edge of the grid (red one). After finding the lowest left end of an infinite cluster, the FA proceeds in the w (west) direction and it is on a white cell and in state qe. After that, the algorithm breaks labeling and starts with new counting of infinite clusters and the FA repeats the process of traversing. The algorithm stops when the output of the FA is 0.The functionsφ and ψ are defined in the following way. Let c=(i,j) be a cell and let a=(s(i,j),s(i+1,j),s(i,j+1),s(i-1,j),s(i,j-1)), x∈{0,1,2,3}, and y∈{1,4}. Then, for α∈{e,n,w,s} and input a=(y,x,x,x,x), the functions φ and ψ are defined by φ(qα,a)=qβ¯ and ψ(qα,a)=β, where β=πN(c(a))(α) (see Figure 3) except for some “starting,” “ending,” or “changing” parts which are given by the following:(i)
Ifi<X, then
(a)
fora=(0,x,x,x,2) or a=(1,x,0,x,2), φ(qe,a)=qe and ψ(qe,a)=w;(b)
fora=(1,x,1,x,2), φ(qe,a)=qs and ψ(qe,a)=n;(c)
fora=(y,x,x,0,2) and q∈{qn,qe}, φ(q,a)=qe and ψ(q,a)=w.(ii)
Ifi=X, then, for a=(y,x,x,x,2), φ(qe,a)=qe and ψ(qe,a)=0.Figure 3
Traversing part of the FAAqe, where x∈{0,1,2,3} before starting labeling.Notice two properties of the FAAqe:(1)
In the initial state, the FA is on the cell that has red cell on the south (s(i,j-1)=2). The FA goes in the west direction until it finds the black cell with black cell on the north. If it cannot find it, the FA stops.(2)
The meaning of the fact that the FA is on the cellc and is in the state qα is that the FA has arrived on the cell c from the direction α¯, α∈V (see Figure 3).The initial automatonAqe and the initial planar site percolation model (C0,c(0)), where c(0) is the cell on the lowest right corner of a grid C0, create the sequence S(Aqe,(C0,c(0)))=((c(0),qe,a0,b0),(c(1),q1,a1,b1),…,(c(i),qi,ai,bi),(c(i+1),qi+1,ai+1,bi+1),…), where ai represents the neighborhood of the cell c(i) (c(i)=c(ai)), bi=ψ(qi,ai), c(i+1)=c(i)+bi, qi+1=φ(qi,ai), i≥0.LetRs={(i,j)∈C0∣s(i,j)=1,s(i+1,j)=0,s(i,j-1)=2}.Properties of the FAAqe, which will be crucial for the algorithm, are defined by the following theorem.Theorem 1.
A blue-red path exists in the planar site percolation modelC0 if and only if there exists a cell c′(0)∈Rs such that the sequence (c′(0),c′(1),…,c′(n)), n≥0, of the cells in the sequence S(Aqe,(C0,c(0))) creates a blue-red path.Choosing the cyclic permutationπ in the definition of the FA Aqe, we define an orientation. Namely, if the FA comes on the cell c from direction α∈V, then the right, ahead, left, and behind cell (from the cell c) are c+π(α), c+π2(α), c+π3(α), and c+π4(α)=α, respectively.LetP be a blue-red path in the grid C0 and KP be the infinite cluster that encloses path P. Let crs∈Rs be the lowest right cell in the cluster KP and HP be the subset of the infinite hole which is on the right side of the cluster. Right boundary of the cluster KP, KHP={c∈KP∣c is weakly adjacent to some cell from HP}, is connected and encloses a blue-red path. Notice that crs∈KHP.It is not hard to see that the FAAqe implements “left-hand-on-wall” algorithm ([23]). Starting from the cell crs, the FA traverses KHP, and the subsequence (c′(0)=crs,c′(1),…,c′(n)), for some n∈N, of the sequence S(Aqe,(C0,c(0))) creates a blue-red path.If there is not a connected path between red and blue cells in the gridC0, then, for all cells c∈Rs, the sequence (c=c0,c1,…,cn,…), n≥0, will not contain a cell with blue north neighbor. The grid is finite and the FA will stop on the lowest left cell of the grid.Theorem 2.
According to the number of states, the FAAqe is the minimal initial finite automaton.In the example from Figure1(b), notice cell a. It is in the infinite cluster and it is weakly adjacent by the right infinite hole. Traversing the cluster by the left-hand rule, the FA Aqe is four times in the cell a (from south, east, north, and west sides). All the visits must be done in different automaton states (input is the same). Otherwise, the FA makes a cycle. Hence, for traversing a border of a cluster, it is necessary to have 4 states.


## 3. The FA Traversing Algorithm and Its Time Complexity

The algorithm for identification of infinite clusters is based on the FAAqe. To ensure appropriate counting of infinite clusters, the algorithm uses three global variables:count,labeling, andcountingCluster. Thecount counts the number of infinite clusters,labeling is an indicator for labeling cells, andcountingCluster is an indicator for the counting of the infinite cluster.Let(C0,c(0)) be an initial grid, where C0 is a grid and c(0) is its lowest right corner. Let qe be the initial state of the FA Aqe. The algorithm is presented as Algorithm 1.Algorithm 1:FA traversing algorithm.
Data: Initial grid (C0,c(0))
Result: count is number of infinite clusters and labeled blue-red paths
c
o
u
n
t
=
0;
c
u
r
r
e
n
t
S
t
a
t
e
=
q
e;
c
u
r
r
e
n
t
C
e
l
l
=
c
(
0
);
Labeling = false;
countingCluster = true;
a = neighbor of the currentCell;
while  ψcurrentState,a <> 0  do
if  labeling  ==true  then
labelcurrentCell;
end
if  north neighbor ofcurrentCell  is blue  cell  and  countingCluster
then
count=count+1;
labeling  =true;
countingCluster = false;
end
if  s, w  neighbor of  currentCell  is  red,white, respectly, and
currentState∈{qe,qn}  then
labeling = false;
countingCluster = true;
end
currentCell=currentCell+ψ(currentState,a);
currentState=φ(currentState,a);
a = neighbor of the  currentCell;
endThe FA starts in stateqe and uses states from set Q until it finds a boundary cell on the top of the grid (blue one). In this moment, the algorithm increments the counter count and sets the indicatorlabeling ontrue, and the variablecountingCluster is set onfalse. The algorithm labels a path until the FA finds the lowest left cell on the bottom edge of the cluster. After finding the lowest left end of an infinite cluster, the FA goes in state qe and setslabeling onfalse and thecountingCluster is set ontrue. After that, the algorithm repeats the process of traversing.The algorithm stops when the FA outputs 0.Lemma 3.
The algorithm has linear time complexity.The FA uses von Neumann neighborhood with four neighbors for each grid cell. The automatonAqe is never on the same cell in the same state. Therefore, the FA cannot be more than four times in a particular cell during the execution of the algorithm. The complexity of the algorithm is therefore O(L), where L is the number of grid cells.The algorithm was simulated in NetLogo programming environment. The algorithm was extensively evaluated on various test cases for different sizes of grid and initial density of black cells in initial configuration. In Figure4, the last states on the initial grids from Figure 1 are shown. In Figure 5, a grid of dimension 201×201 with probability 0.62, for a black cell, is shown with two infinity clusters, after termination of the FA algorithm. By increasing the probability of black cells, infinite clusters more often appear, as predicted also by the percolation theory. Also, the results of the algorithm are in accordance with site percolation thresholds in the square lattice ([16, 24]).Figure 4
The FA traversing algorithm for the two examples from Figure1.Figure 5
The FA traversing algorithm finds two infinite clusters in a grid of dimensions201×201.


## 4. Conclusions

A FA-based algorithm for identification of connected paths between top and bottom boundary cells in an arbitrary square grid is proposed. The constructed FA is minimal according to the number of states. The algorithm is based on four essential states:qe, qn, qw, and qs. Using these states as FA input and assuming von Neumann neighborhood of the grid cells, we can traverse the boundaries of clusters. Because the FA is independent, there is a possibility of putting more than one automaton in different initial cells. Such a parallel approach could further speed up the proposed algorithm. Combining the property of FA, which is never on the same cell in the same state, with labeling, there is a possibility of using the FA in the detection of articulation cells ([25]). Finally, further investigation can be focused on the necessary extensions of the algorithm for 3D grids.



---

*Source: 8251305-2017-10-24.xml*