Next Article in Journal
Array Multipliers for High Throughput in Xilinx FPGAs with 6-Input LUTs
Previous Article in Journal
A University-Based Smart and Context Aware Solution for People with Disabilities (USCAS-PWD)
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Fractal Aspects in Classical Parallel Computing

1
Department of Computer Science and Engineering, “Gheorghe Asachi” Technical University of Iaşi, 27 Dimitrie Mangeron Street, 700050 Iasi, Romania
2
Department of Physics, “Gheorghe Asachi” Technical University of Iaşi, 67 Dimitrie Mangeron Street, 700050 Iasi, Romania
*
Author to whom correspondence should be addressed.
Computers 2016, 5(3), 19; https://doi.org/10.3390/computers5030019
Submission received: 20 April 2016 / Revised: 5 September 2016 / Accepted: 7 September 2016 / Published: 12 September 2016

Abstract

:
In this paper, we prove that many parallel communication topologies and several parallel algorithms have fractal properties, which leads to the idea that there is a strong connection between the classical parallel computing and a plausible computing on a fractal medium. Furthermore, we show that some parallel algorithms are suitable for incursive and hyperincursive computation, which links parallel computing to quantum computing and a possible fractal computing.

1. Introduction

The pressure of complex problems, derived from technological progress and globalization, forced the Information and Communication Technology (ICT) world to build adequate hardware and software support. Parallel computing is one of the pillars of the High Performance Computing (HPC) concept. Software development for multicomputer and multiprocessor systems is not easy and requires an adaptation effort from the specialists. Parallel programming is fundamentally different from sequential programming. The programmers must increase their efforts so that the specific technologies regarding parallel computing systems become more accessible to the ones that need this potentially unlimited computing power. Nowadays, multiprocessor systems, multicore processors and graphic cards are developing at a thundering rhythm. They tend to dominate the HPC world. GPGPU computing (General Purpose Graphic Processing Unit Computing) prefigures itself as a new challenge of the present. Multiprocessor systems integrated on a single chip appear on the horizon. However, the perspective of the development of other new technologies is very promising. Non-deterministic computing is widely studied, but very little exploited. Quantum computing tries to fill this gap.
As is well known, the quantum medium is the base of the theoretical fundamentation of the quantum computer. In a recent paper [1], we have defined the fractal medium, and we have proven that it has multiple computational properties: bistability, self-reproduction, capacity to memorize, self-similarity, polarization, etc. Thus, the fractal medium could be the host for developing universal computers to solve the inconveniences of classical and quantum computers.
Any structural unit of a complex system is in a permanent interaction with the “sub-fractal level” (fractal medium) through the specific fractal potential. For motions on Peano curves at the Compton scale, the fractal medium is assimilated to the sub-quantum level [2]. The fractal medium is identified with a non-relativistic fractal fluid described by the fractal momentum and the fractal states’ density conservation laws. In the fractal hydrodynamics approach of the scale relativity theory with an arbitrary constant fractal dimension, the fractal information, as a measure of the order degree of a complex system through its motion curves’ fractality, initially unstructured and made not explicit on the fractal medium, becomes structured and so made explicit on the fractal medium in the form of fractal patterns, by means of fractal spontaneous symmetry breaking. Moreover, the structured relations among the fractal medium patterns induce a special fractal topology, which generates the fundamental fractal logic elements (fractal bit, fractal gates, etc.). In such a perspective, the quantum logic becomes a particular case of the fractal logic, for a given resolution scale d t / τ .
A fractal bit is a non-differentiable two-level system that, in addition to two pairwise orthogonal fractal states | 0 ( d t / τ ) and | 1 ( d t / τ ) in the Hilbert fractal space C 2 ( d t / τ ) , can be set to any superposition of the form:
| Ψ ( d t τ ) = a ( d t τ ) | 0 ( d t τ ) + b ( d t τ ) | 1 ( d t τ ) , a ( d t τ ) , b ( d t τ ) C ( d t τ )
where:
0 ( d t τ ) | 0 ( d t τ ) = 1 , 1 ( d t τ ) | 1 ( d t τ ) = 1 0 ( d t τ ) | 1 ( d t τ ) = 0 , 1 ( d t τ ) | 0 ( d t τ ) = 0
Since | Ψ ( d t τ ) is normalized,
Ψ ( d t τ ) | Ψ ( d t τ ) = 1
we have
| a ( d t τ ) | 2 + | b ( d t τ ) | 2 = 1
Any non-differentiable two-level system is a potential candidate for a fractal bit. The Boolean fractal states, zero and one, can be represented by a fixed fractal pair of orthogonal fractal states of the fractal bit. In the following, we get:
| 0 ( d t τ ) = 1 ( d t τ ) 0 ( d t τ ) , | 1 ( d t τ ) = 0 ( d t τ ) 1 ( d t τ )
which is the standard fractal basis in C 2 ( d t τ ) . A parameter representation of a normalized fractal state | Ψ ( d t τ ) in C 2 ( d t τ ) is given by the relation:
| Ψ ( d t ) = e i ϕ ( d t τ ) s i n Θ ( d t τ ) c o s Θ ( d t τ ) = e i ϕ ( d t τ ) s i n Θ ( d t τ ) 1 ( d t τ ) 0 ( d t τ ) + c o s Θ ( d t τ ) 0 ( d t τ ) 1 ( d t τ )
The computational properties of a fractal medium are very promising [1]. The property of bistability is vital for a computational medium. The digital representation of the information is possible only if the host environment is able to have several stable states. The self-reproducing property makes possible the copy function in the computational medium. Furthermore, the capacity to reproduce itself is very important for distributed computing. It assures the possibility to communicate data. Moreover, the capacity to memorize is vital for a computational medium. Information storage is possible only if the host environment is able to have a hysteresis type property [3]. The self-similarity property is important for recursive and incursive computation. It is well known that it is difficult to implement recursion on parallel and quantum computers. Fractal computers could overcome this inconvenience due to their recursive nature. Polarization is an important property that allows one to modify the state of a computing medium to a desired one. Having stable states through bistability makes it possible to force the fractal medium towards such a state. This is useful in the input or write operations.
A fractal computer can be considered as a complex system hosted by a fractal medium, which processes fractal bits, using the fractal logic theory. Such a computer is suitable to infinite contraction and infinite extension because of the resolution scale included in its definition. The recursive and non-deterministic computation seems to be natural for fractal computers [4].
Furthermore, the fractal properties of several parallel communication topologies induce the idea that fractal computing would include classical parallel computing. Many parallel algorithms are suitable for incursive and hyperincursive computation, which creates connections between the classical parallel computing to quantum computing and fractal computing. In this paper, we will analyze such parallel communication topologies and parallel algorithms, their fractal and incursive features.

2. Self-Similarity Property of Fractals

The name fractal was given by Benoit Mandelbrot [5], and it is inspired from the Latin word “fractus” (broken, interrupted). Examples of fractals occurred long time before that date. They were regarded as a “strange mathematical construction”. Benoit Mandelbrot’s great merit was to discover their importance and the perspective of their applications [6].
Most fractals have the property of self-similarity. This concept was introduced by Gottfried Leibniz. Many fractals have a non-integer dimension. The first definition of such a notion was given by Hausdorff.
Let us remind about the building process of the Cantor set, M c , in order to illustrate the properties we want to highlight. In the following, we use the method from [6].
Georg Cantor showed that there are sets of the power continuum, e.g., the M c set that we shall build. Such a set can be put in one-to-one correspondence with a set R of points from an interval, let us say [0,1], which is discontinuous everywhere. R is called a rare set, i.e., any open interval I o that contains a point of R and has points that do not belong to R.
In order to construct M c , we start with the closed interval [0,1] called the “initiator” and denoted by I 1 (Figure 1).
The open interval (1/3, 2/3) is now cut out, and the set I 2 results (Figure 2).
Afterwards, we remove the open intervals (1/9, 2/9) and (7/9, 8/9) from the middle of the remaining sets and obtain the set I 3 (Figure 3).
Using the same method, we obtain the I 4 , I 5 sets. If the procedure indefinitely continues, M c is the set of common points of these intervals.
M c = n = 1 M c n
M c n = I 1 I 2 I 3 . . . I n i = 1 n I i
M c is a self-similar set. Any closed interval that remained after we had eliminated the open intervals, after an infinite number of steps of the construction procedure, has a structure that is equivalent to M c . Indeed, considering the one-to-one application of M c with one of its subsets, which is Cantor’s set built on the initiator p / 3 n , p + 1 / 3 n with p conveniently chosen, we can easily find their equivalence (Figure 4).
In order to define self-similarity, we make some comments. First, we have to limit to a space in which it is possible to define the likeness. Since the example we had considered is a set of the Euclidean space, this condition is satisfied. Second, we have to highlight that not any subset of the given set is alike to the whole set. For example, the set 1 / 3 , 2 / 3 , 7 / 9 is a Cantor dust subset, but it does not resemble it.
Definition 1.
A fractal F, that is a subset of a metric space in which similarity is defined, is self-similar, if any open O for which O F contains a subset that is alike as F.
A classic example is the fern. If we take a leaf part of it, it will have the same form of ribs as the whole leaf. However, this division is limited; it can not descend up to the size of a cell. In fact, the fern is a pre-fractal, and self-similarity is limited.

3. Self-Similarity in Parallel Communication Topologies

In order to prove self-similarity in parallel communication topologies, we will analyze those most used: full and complete binary tree, fat tree, mesh, hypercube, butterfly and banyan.

3.1. Full and Complete Binary Tree

This is one of the most used communication topologies in parallel computing.
Definition 2.
A full and complete binary tree is either a tree with three vertices where one of them is named the root, and it is linked by edges with the other two vertices, or it is a tree with three types of vertices: root, internal vertices and leaves. The root is linked by edges with two vertices that are the roots of two full and complete binary trees with the same number of vertices. Every internal vertex is linked by edges with three vertices: one of them is named the parent, and the others are the roots of two full and complete binary trees with the same number of vertices. Every leaf is linked by edges with one vertex named the parent.
This definition is based on a decomposition principle and highlights the fractal character of the full and complete binary tree. For each node, the left and right subtrees are in their turn full and complete binary trees. The process of division in the tree cannot continue indefinitely as in the case of the Cantor set, but this disadvantage can be overcome by extending the tree with identical full and complete binary trees attached in pairs to each leaf.
Another definition is the following:
Definition 3.
A full and complete binary tree is either a tree with three vertices where one of them is named the root, and it is linked by edges with the other two vertices; or it is a tree formed by taking two full and complete binary trees with the same number of vertices (two identical full and complete binary trees), adding a vertex and than linking by edges the roots of the given binary trees.
This definition is based on a composition principle. In such a way, the composing process can continue indefinitely. Every subtree is a full and complete binary tree. This gives to the full and complete binary tree a self-similar characteristic (Figure 5).

3.2. Fat Tree

Definition 4.
A fat tree is a full and complete binary tree where the vertices are linked by a set of edges. The cardinal of the set of edges that link a vertex to its parent is half of the cardinal of the set of edges that link the parent to its parent, in its turn.
For each node, the left and right subtrees are in their turn fat trees. This confers a fractal character to the fat tree. The process of division in the tree cannot continue indefinitely. The presented extension in the case of the full and complete binary tree does not work.
Analogous to the full and complete binary tree, another definition can be given as follows:
Definition 5.
A fat tree is either a full and complete binary tree with three vertices or a graph formed by taking two fat trees with the same number of vertices (two identical fat trees), adding a vertex and then linking through a set of edges with the roots of the given fat trees. The cardinal of every set of edges is twice that of the cardinal of the set of edges that link the roots of the given fat trees with the roots of their subtrees.
Similarly to a full and complete binary tree, the composing process can continue indefinitely. Every subtree is a fat tree. This gives to the fat tree a self-similar characteristic (Figure 6).

3.3. Mesh

Definition 6.
A mesh is a communication topology where the set of vertices V is organized as a k-dimensional array through an indexing function I : V L = { i k - 1 , i k - 2 , i 0 / 0 i j < n j , j = k - 1 , k - 2 . . . 0 } , where n j is the size of the array j-dimension, { 0 , 1 , , n j - 1 } , and n = n k - 1 * n k - 2 * * n 0 . We denote by v i k - 1 , i k - 2 , i 0 the vertex given by I - 1 ( i k - 1 , i k - 2 . . . i 0 ) . On the j-th dimension, the vertex v i k - 1 , i k - 2 . . . i j . . . , i 0 is adjacent to vertex v i k - 1 , i k - 2 , . . . , i j + 1 , . . . , i 0 , where i j + 1 n j , and to vertex v i k - 1 , i k - 2 , . . . , i j - 1 , . . . , i 0 , where i j - 1 0 .
It is easy to observe that if we consider a piece of the k-dimensional array, defined by subsets of indices for each j-dimension, { i n f j p , i n f j p + 1 , , s u p j p } , the corresponding structure is also a mesh (Figure 7 and Figure 8). In such a piece, vertex v i k - 1 , i k - 2 . . . i j . . . , i 0 is adjacent to vertex v i k - 1 , i k - 2 , . . . , i j + 1 , . . . , i 0 , where i n f j p < i j + 1 s u p j p . Vertex v i k - 1 , i k - 2 . . . i j . . . , i 0 is adjacent to vertex v i k - 1 , i k - 2 , . . . , i j - 1 , . . . , i 0 , where i n f j p i j - 1 < s u p j p .

3.4. Hypercube

Definition 7.
A hypercube is a communication topology where the set of vertices V is of size n = 2 k . k is the dimension of the hypercube. Let us consider i k - 1 i k - 2 i 0 a binary representation of i { 0 , . . . , n - 1 } and i ( j ) the number whose binary representation is i k - 1 i k - 2 i j + 1 ĩ j i j - 1 i 0 , where ĩ j = 1 - i j , 0 j < k . The edge set of the graph representing the hypercube is defined as follows: the vertex v i is adjacent to vertices from the set { v i ( j ) ; 0 j < k } .
A hypercube with k dimensions is composed of two ( k - 1 ) -dimensional hypercubes. The decomposing process can continue until k = 0.
Inversely, two hypercubes with k - 1 dimensions interconnected through corresponding vertices generate a k-dimensional hypercube. The composing process can continue indefinitely.
These properties give to the hypercube a self-similar characteristic (Figure 9, Figure 10 and Figure 11).

3.5. Butterfly

Definition 8.
The butterfly is a communication topology usually named a tree with multiple roots. The set of vertices, V, is organized as a two-dimensional array of size n × m , where n = 2 m - 1 , via an indexation function I : V L = { ( i , j ) / 0 i < n , 0 j < m } . We denote by v i , j the vertex given by I - 1 ( ( i , j ) ) . The vertex v i , j , located on the column j, is connected to the column j + 1 with the vertices v i , j + 1 and v i 2 m - j - 2 + i / 2 m - j - 1 x 2 m - j - 1 , j + 1 , where means addition modulo 2 m - j - 1 .
There is a single path between every pair of vertices situated on the left and right margin, respectively (Figure 12).
An important remark is that the hypercube is a folding of the butterfly topology. We can obtain a hypercube from a butterfly by merging all butterfly vertices that are in the same row and then removing the edges that link the merged vertices.

3.6. Banyan

Definition 9.
Banyan is also a communication topology where the set of vertices, V, is organized analogously to butterfly as a two-dimensional array of size n × m , where n = 2 m - 1 , via an indexation function I : V L = { ( i , j ) / 0 i < n , 0 j < m } . We denote by v i , j the vertex given by I - 1 ( ( i , j ) ) . The vertex v i , j , located on the column j, is connected to the column j + 1 with the vertices V i / 2 0 + i / 2 m - j - 1 x 2 m - j - 1 , j + 1 and v i 2 m - j - 2 + i / 2 m - j - 1 x 2 m - j - 1 , j + 1 , where means addition modulo 2 m - j - 1 .
Similarly to butterfly, there is a single path between every pair of vertices situated on the left and right margin, respectively (Figure 13).

4. Self-Similarity in Parallel Algorithms

There are many parallel algorithms that have self-similarity characteristics. We will present some of them: compression on a tree and a hypercube and all-to-all communication on a hypercube. The Cooley–Tukey algorithm for fast Fourier transform (FFT) and the bitonic merge sort algorithm are other significant examples in this respect. We will renounce giving details about them, because their implementation on a hypercube shows very easy self-similarity.

4.1. Compression on a Tree

Definition 10.
Let us consider a set M of n = 2 m elements, M = { a i / i = 0 , 1 , , n - 1 } M r = the reference set. The set M follows being processed for calculating the value a 1 a n , where is an associative algebraic operation defined on M r .
The reference set M r could be R , and ⊕ may be + , min , max , etc. The pseudocode Algorithm 1 describes the compression procedure on a tree.
Algorithm 1 Compression on a tree.
Notations:
- A [ 0 . . . 2 n - 1 ] is a unidimensional array of size 2 n = 2 m + 1 .
Premise:
- The input data are stored in the array A [ 0 . . . 2 n - 1 ] , at the locations A [ n ] , A [ n + 1 ] , A [ 2 n - 1 ] .
Algorithm:
for k m - 1 down to 0 do
  for all j : 2 k j 2 k + 1 - 1 in parallel do
       A [ j ] A [ 2 j ] A [ 2 j + 1 ]
  end for
end for
An example is presented in Figure 14.
The evolution of the computation is similar to the reverse of the Cantor set building procedure. In fact, the construction of the Cantor set corresponds to the first phase of the divide-and-conquer paradigm, the same as the compression recursive algorithm. This explains such fitness.

4.2. Compression on Hypercube

The pseudocode Algorithm 2 describes the compression procedure on the hypercube [7]. An example is presented in Figure 15.
Algorithm 2 Summing n = 2 m integers on a hypercube with p = 2 q vertices (q dimensions, q < m ): pseudocode for the processing unit located at vertex i.
Notations:
- A is a unidimensional array of size n = 2 m .
- H is a hypercube with p = 2 q vertices.
- q is the number of H hypercube dimensions, q < m .
- s is an integer variable that stores the final sum, computed by processing unit located at vertex 0.
- s r is an integer variable that stores the partial sum received by processing unit located at vertex i from a neighbor.
Premise:
- Initially, the number sequence is stored in the array A.
Algorithm:
for j 0 to 2 m - q - 1 do
   s s + A [ i * 2 m - q + j ]
end for
m a s k 0
for j 0 to q - 1 do
  if ( i and m a s k ) = 0 then
      if ( i and 2 j ) = 0 then
             s o u r c e i xor 2 j
            receive s r from s o u r c e
             s s + s r
      else
             d e s t i n a t i o n i xor 2 j
            send s to d e s t i n a t i o n
      end if
  end if
   m a s k m a s k xor 2 j
end for
Again, the evolution of the computation is similar to the reverse of the Cantor set building procedure.

4.3. All-To-All Diffusion on a Hypercube

Definition 11.
Each processing unit of p i sends a message to all others.
Algorithm 3 describes all-to-all diffusion on a hypercube [7]. An example is presented in Figure 16.
Algorithm 3 All-to-all communication on a hypercube: pseudocode for a processing unit located at vertex i.
Notations:
- H is a hypercube with p = 2 q vertices.
- q is the number of H hypercube dimensions.
Premise:
Initially, the processing unit p i from the vertex i has in its own memory a message m i
Algorithm:
c o l l e c t e d _ m e s s a g e s m i
for j 0 to q - 1 do
   p a r t n e r i xor 2 j
  send c o l l e c t e d _ m e s s a g e s to p a r t n e r
  receive m e s s a g e from p a r t n e r
   c o l l e c t e d _ m e s s a g e s c o l l e c t e d _ m e s s a g e s m e s s a g e
end for
The computation pattern has a self-similarity property. At the k-th iteration, the processing units from a k-dimensional hypercube exchange information with the processing units from the corresponding k-dimensional hypercube.

5. Incursion in Parallel Communication Topologies and in Parallel Algorithms

5.1. Anticipatory Systems

The concept of an anticipatory system was proposed for the first time by Robert Rosen in [8]: “a system containing a predictive model of itself and/or of its environment, which allows it to state at an instant in accord with the model’s predictions pertaining to a later instant”. The final causation of Aristotle stands at the base of such systems. The future influences the present time. In this way, the causality principle seems reversed.
For example, organizing an event takes into account the past similar events, the present context and a range of information posterior preparation phase: number of participants, weather, events in the chosen location and many other unknown factors before the actual conduct of the event.
In general, any human action at each current time takes into account the past events, the current situation in the environment, and the future anticipated events. The anticipation in human actions deals with conscious and intentionality, a self-referential finality.
—Daniel M. Dubois [9]
As is well known, Aristotle’s causation system has four components: material cause, formal cause, efficient cause and final cause. At present, it is considered that modem physics and mechanics only deal with efficient cause and biology with material cause [10]. Robert Rosen considers that the first three components of Aristotle’s causal system are included in the Newtonian formalism, but “the introduction of a notion of final cause into the Newtonian picture would amount to allowing a future state or future environment to cause change of state in the present, and this would be incompatible with the whole Newtonian picture. This is one of the main reasons that the concept of Aristotelian finality is considered incompatible with modern science. In modern physics, Aristotelian ideas of causality are confused with determinism, which is quite different. That is, determinism is merely a mathematical statement of functional dependence or linkage. As Russell points out, such mathematical relations, in themselves, carry no hint as to which of their variables are dependent and which are independent” [11].
The final cause could affect the present state of evolving systems. For this reason, the classical mathematical models are unable to explain many of these biological systems. Furthermore, the final cause seems to be essential for physical and computational systems [10].

5.2. Recursion, Incursion and Hyperincursion

An incursion is an extension of recursion [9,12,13]:
x ( t + 1 ) = f [ , x ( t - 2 ) , x ( t - 1 ) , x ( t ) , x ( t + 1 ) , , p ]
The new state of the variable x depends on the past and/or present states, but also on future states.
A particular case is given by Equation (10):
x ( t + 1 ) = f [ x ( t ) , x ( t + 1 ) , p ]
The value of the variable x depends on the value of this variable at the preceding time step t, but also at time t + 1 . This dependence is given by the function f. Equation (10) can be associated with a self-referential system, which is an anticipatory system. By replacing the right occurrence of x ( t + 1 ) by f [ x ( t ) , x ( t + 1 ) , p ] , we obtain:
x ( t + 1 ) = f [ x ( t ) , f [ x ( t ) , x ( t + 1 ) , p ] , p ]
Now, the associated system explicitly contains a predictive model of itself. This inclusion can continue indefinitely. This paradox can be solved in the following manner: such an anticipatory system has fixed points, which represent its implicit finality. Contrary to the control theory, the goal of this anticipatory system is not imposed from outside, but by the system itself.
The above anticipatory system is based on a composition principle. Containing the model of itself, it evolves by assembling past states based on the model.
The hyperincursion is an incursion where there are multiple potential future states at each time step [9].
Let us consider the following equation:
x ( t ) = a x ( t + 1 ) [ 1 - x ( t + 1 ) ]
Equation (12) conducts to the hyper-recursive equation:
x ( t + 1 ) = 1 / 2 [ 1 ± [ 1 - 4 x ( t ) / a ] ]
There are two solutions at each time step. If the system selects itself as one of the two alternatives, a self-organizing anticipatory system is defined. Without selection, this system will store in itself all of the potential solutions. The immune systems work in a similar manner.

5.3. Incursion in Parallel Communication Topologies

Dubois proposed in [10] a hyperincursive fractal machine, that is a cellular automaton with incursive sequential computations based on exclusive OR logic. A cell state is computed at the future time t + 1 as a function of its neighbors at the present and/or past time steps, but also at the future time step t + 1 . The incursion becomes a hyperincursion when there are multiple possible future states at each time step. Dubois’s hyperincursive fractal machine shows fractal pattern generation and quantum effects [10].
The analysis of Dubois’s fractal machine conducts us to an important observation: the incursion is natural in pipeline computation. Thus, parallel computing systems that use communication topologies that permits pipeline computation are a natural habitat for solving incursive equations. Full and complete binary tree, fat tree, mesh, hypercube, butterfly and banyan are such communication topologies.

5.4. Incursion in the Floyd–Warshall Algorithm

Many parallel algorithms, especially those based on dynamic programming technique, are suitable for incursive computation. We have chosen for demonstration the Floyd–Warshall algorithm, which is the base of the famous Algebraic Path Problem (APP).

5.4.1. Floyd–Warshall Algorithm

We consider a weighted digraph ( G , ) = ( V , A , ) . The problem resides in determining, for any two nodes i , j , a path of minimum length from i to j (if there is one). The used method is dynamic programming [14].
We extend the function to : V × V R , by assigning i j = for those pairs of distinct nodes where i , j A and i i = 0 for every i = 0 , , n - 1 .
Let us define the state of the problem as being the sub-problem corresponding to the determination of the minimum length paths with intermediary nodes from the set X V , MP 2 ND ( X ) (Minimum Path between any two Nodes of a Digraph). Obviously, MP 2 ND ( V ) is the initial problem. The minimum path from i to j built with intermediary nodes from X will be denoted by i j X . If X = , then i j = i j .
Let us consider the optimal decision that transforms the state MP 2 ND ( X { k } ) to MP 2 ND ( X ) . We assume that ( G , ) is a weighted digraph without negative cycles. Let ρ be an optimum path from i to j that contains intermediary nodes from the set X { k } . We have length ( ρ ) = i j X { k } , where length ( ρ ) is the length of the path ρ. If the node k does not belong to ρ, then the policy of obtaining ρ corresponds to the state MP 2 ND ( X ) , and by applying the principle of optimality, we obtain:
i j X = length ( ρ ) = i j X { k }
In the case when k belongs to the path ρ, we consider ρ 1 the sub-path of ρ from i to k and ρ 2 the sub-path from k to j. The intermediate nodes on the two sub-paths are only from X.
According to the principle of optimality, the optimal policy corresponding to the state MP 2 ND ( X ) is a sub-policy of the optimal policy corresponding to the state MP 2 ND ( X { k } ) . It results that ρ 1 and ρ 2 are optimal in MP 2 ND ( X ) . From here, it results:
i j X { k } = length ( ρ ) = length ( ρ 1 ) + length ( ρ 2 ) = i k X + k j X
The functional analytical equation for the optimal values i j X is:
i j X { k } = min { i j X , i k X + k j X }
Lemma 1.
If ( G , ) does not have negative length cycles, we have the following relations:
k k X { k } = 0
i k X { k } = i k X
k j X { k } = k j X
for every i , j , k V .
By means of Lemma 1, the relation (16) becomes:
i j X { k } = min { i j X , i k X { k } + k j X { k } }
This is an incursive equation.
Without loosing of generality, we can consider X = { 0 , 1 , , k - 1 } and X { k } = { 0 , 1 , , k - 1 , k } .
The computing of optimal values results from the solving of sub-problems:
MP 2 ND ( ) , MP 2 ND ( { 0 } ) , MP 2 ND ( { 0 , 1 } ) ,
, MP 2 ND ( { 0 , 1 , , n - 1 } ) = MP 2 ND ( V )
Using the notation i j k for i j { 0 , , k } , Relation (18) becomes:
i j k = min { i j k - 1 , i k k + k j k }
The incursive relation (19) is the heart of the Floyd–Warshall algorithm.

5.4.2. Algebraic Path Problem

The algebraic path problem unifies the strategies used in solving three major class problems, being independently developed, with its own algorithms:
  • Determining the minimum paths in a graph with the Floyd–Warshall algorithm;
  • Determining the transitive closure of a partial order relation;
  • Solving the linear equation systems with the Gauss–Jordan method.
Definition 12.
Given a weighted graph G = ( V , E , w ) , where V = { 1 , 2 , , n } , w : E H and ( H , , ) forms a unit ring, determine the matrix C n × n , so that:
C [ i , j ] = p p a t h f r o m i t o j w ( p )
If p = i 0 i 1 . . . i k - 1 i k , then w ( p ) = l = 0 k - 1 w [ i l , i l + 1 ] .
The incursive relation from the Floyd–Warshall algorithm can be generalized according to the algebraic path problem definition.
There are multiple systolic approaches of the algebraic problem of paths. Noteworthy is the implementation of Kleen’s algorithm on a connected-mesh network given by Y. Robert and D. Trystram [15]. See Figure 17.

6. Conclusions and Future Work

Classical computers work under the classical physical laws, while quantum computers apply quantum physics rules. They are placed at the macroscopic and the atomic scale, respectively. A fractal medium could simultaneously host computations of both types (classical and quantum), because of the scale factor included in its definition, which induces self-similarity, meaning that the part is the same as the whole.
In this context, the most important contributions of this paper are the following:
  • We have proven that the most important parallel communication topologies and many parallel algorithms have fractal properties. As a consequence, plausible computing on a fractal medium could include classical parallel computing.
  • We have identified several parallel algorithms that are suitable for incursive and hyperincursive computation. This opens strong relations among parallel computing, quantum computing and fractal computing.
We intend to continue our investigation on a presumable fractal computer by defining a detailed model, extending the fractal logic and simulating some algorithms.

Author Contributions

Mitică Craus and Vlad-Sergiu Bîrlescu have contributed to all sections of this paper. Maricel Agop contributed to preparing Section 1, and he conceived of Section 2 (Self-Similarity Property of Fractals). All the authors have read and approved the final manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bîrlescu, V.S.; Agop, M.; Craus, M. Computational Properties of a Fractal Medium. Int. J. Quantum Inf. 2014, 12, 1450022. [Google Scholar] [CrossRef]
  2. Holland, P.R. The Quantum Theory of Motion; Cambridge University Press: Cambridge, UK, 1993. [Google Scholar]
  3. Agop, M.; Botez, I.; Casian, I.; Birlescu, V.S.; Popa, R.F. On the Memorizing Ability of Nanostructures. J. Comput. Theor. Nanosci. 2015, 12, 682–688. [Google Scholar] [CrossRef]
  4. Craus, M.; Bîrlescu, V.; Agop, M. High Performance Computing—A New Perspective through Fractal Computers (I). Bull. Polytech. Inst. Iasi Math. Theor. Mech. Phys. Sect. 2011, 57, 24–36. [Google Scholar]
  5. Mandelbrot, B.B. The Fractal Geometry of Nature; W.H. Freeman: New York, NY, USA, 1983. [Google Scholar]
  6. Gottlieb, I.; Mociuţchi, C.; Bîrlescu, V.; Craus, M.; Magop, D.; Agop, M. High Performance Computing—A New Perspective through Fractal Computers (III): Elements of Fractal Theory. Bull. Polytech. Inst. Iasi Math. Theor. Mech. Phys. Sect. 2011, 57, 47–66. [Google Scholar]
  7. Kumar, V.; Grama, A.; Gupta, A.; Karypis, G. Introduction to Parallel Computing: Design and Analysis of Algorithms; Addison Wesley: Boston, MA, USA, 2013. [Google Scholar]
  8. Rosen, R. Anticipatory Systems; Pergamon Press: Oxford, UK, 1985. [Google Scholar]
  9. Dubois, D.M. Introduction to Computing Anticipatory Systems. Int. J. Comput. Anticip. Syst. 1998, 2, 3–14. [Google Scholar]
  10. Dubois, D.M. Hyperincursive Methods for Generating Fractals in Automata Related to Diffusion and Wave Equations. Int. J. Gen. Syst. 1998, 27, 141–180. [Google Scholar] [CrossRef]
  11. Rosen, R. Causal Structure in Brain and Machines. Inf. J. Gen. Syst. 1986, 12, 107–126. [Google Scholar] [CrossRef]
  12. Dubois, D.M. Introduction of the Aristotle’s final causation in CAST: Concept and method of incursion and hyperincursion. In Computer Aided Systems Theory—EUROCAST’95, Proceedings of the Fifth International Workshop on Computer Aided Systems Theory, Innsbruck, Austria, 22–25 May 1995; Pichler, F., Moreno Diaz, R., Albrecht, R., Eds.; Springer: Berlin/Heidelberg, Germany, 1996; Volume 1030, pp. 477–493. [Google Scholar]
  13. Dubois, D.M. A semantic logic for CAST related to Zuse, Deutsch and McCulloch and Pitts computing principles. In Computer Aided Systems Theory—EUROCAST’95; Proceedings of the Fifth International Workshop on Computer Aided Systems Theory, Innsbruck, Austria, 22–25 May 1995; Pichler, F., Moreno Diaz, R., Albrecht, R., Eds.; Springer: Berlin/Heidelberg, Germany, 1996; Volume 1030, pp. 494–510. [Google Scholar]
  14. Lucanu, D.; Craus, M. Proiectarea Algoritmilor; Polirom Press: Iasi, Romania, 2008. [Google Scholar]
  15. Robert, Y.; Trystram, D. Parallel Implementation of the Algebraic Path Problem. In CONPAR 86, Proceedings of the Conference on Algorithms and Hardware for Parallel Processing, Aachen, Germany, 17–19 September 1986; Händler, W., Haupt, D., Jeltsch, R., Juling, W., Lange, O., Eds.; Springer: Berlin/Heidelberg, Germany, 1986; Volume 237, pp. 149–156. [Google Scholar]
Figure 1. The initiator I 1 of Cantor’s set.
Figure 1. The initiator I 1 of Cantor’s set.
Computers 05 00019 g001
Figure 2. Second stage of Cantor’s set generation: set I 2 .
Figure 2. Second stage of Cantor’s set generation: set I 2 .
Computers 05 00019 g002
Figure 3. Third stage of Cantor’s set generation: set I 3 .
Figure 3. Third stage of Cantor’s set generation: set I 3 .
Computers 05 00019 g003
Figure 4. Cantor’s set has the self-similarity property.
Figure 4. Cantor’s set has the self-similarity property.
Computers 05 00019 g004
Figure 5. Full and complete binary Tree.
Figure 5. Full and complete binary Tree.
Computers 05 00019 g005
Figure 6. Fat tree.
Figure 6. Fat tree.
Computers 05 00019 g006
Figure 7. Two-dimensional mesh.
Figure 7. Two-dimensional mesh.
Computers 05 00019 g007
Figure 8. Three-dimensional mesh.
Figure 8. Three-dimensional mesh.
Computers 05 00019 g008
Figure 9. Two and three-dimensional hypercube.
Figure 9. Two and three-dimensional hypercube.
Computers 05 00019 g009
Figure 10. Four-dimensional hypercube.
Figure 10. Four-dimensional hypercube.
Computers 05 00019 g010
Figure 11. Four-dimensional hypercube linearized.
Figure 11. Four-dimensional hypercube linearized.
Computers 05 00019 g011
Figure 12. Butterfly.
Figure 12. Butterfly.
Computers 05 00019 g012
Figure 13. Banyan.
Figure 13. Banyan.
Computers 05 00019 g013
Figure 14. Maximum of eight integers on a full and complete binary tree.
Figure 14. Maximum of eight integers on a full and complete binary tree.
Computers 05 00019 g014
Figure 15. Summing 16 integers on a hypercube with four vertices.
Figure 15. Summing 16 integers on a hypercube with four vertices.
Computers 05 00019 g015
Figure 16. Example of all-to-all communication on a three-dimensional hypercube.
Figure 16. Example of all-to-all communication on a three-dimensional hypercube.
Computers 05 00019 g016
Figure 17. Systolic network of Y. Robert and D. Trystram.
Figure 17. Systolic network of Y. Robert and D. Trystram.
Computers 05 00019 g017

Share and Cite

MDPI and ACS Style

Craus, M.; Bîrlescu, V.-S.; Agop, M. Fractal Aspects in Classical Parallel Computing. Computers 2016, 5, 19. https://doi.org/10.3390/computers5030019

AMA Style

Craus M, Bîrlescu V-S, Agop M. Fractal Aspects in Classical Parallel Computing. Computers. 2016; 5(3):19. https://doi.org/10.3390/computers5030019

Chicago/Turabian Style

Craus, Mitică, Vlad-Sergiu Bîrlescu, and Maricel Agop. 2016. "Fractal Aspects in Classical Parallel Computing" Computers 5, no. 3: 19. https://doi.org/10.3390/computers5030019

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop