1. Introduction
Within a graph, a vertex pair is connectable if there is a path going from a point at the pair to the complementary point. A collection of connectable vertex pair poses the simple problem to find explicitly connecting paths for each vertex pair. Evidently, some supplementary conditions may be imposed, e.g., the located connecting paths should have the shortest possible lengths, or the paths should not cross among themselves, or the collection of connecting paths should allow the extension to a k-factor of the graph, for a fixed
Let us consider the following problems:
Skein extension Given a collection of equally length paths in a graph which are pairwise non-crossing (no pair has a common vertex which is internal in at least one of the paths) and disjoint (no edge is shared), it is required to add one path with prescribed endpoints in the graph such that the resulting set of paths remains pairwise disjoint and non-crossing.
Skein search Given a collection of vertex pairs, it is required to decide whether there are connecting paths, all of the same length such that they are pairwise non-crossing and disjoint.
2. Preliminaries
For ease of exposition, let us recall some basic notions. A graph is a pair G = (V, E) where V(G) is a finite and non-empty set of vertices, and the set E(G) of edges is an unordered subset of V x V. The cardinalities of V(G) and E(G) are, respectively, the order and the size of G. A subgraph H of G is a graph such that
The distance d
G
(u,v) between two vertices u, v in G is the length of a shortest path connecting u and v. Two paths which are not cycles
A two-factor in a graph G is a family C
1,…, C
k of cycles of G such that any vertex in G belongs to one and only one cycle C
i. A two-factor of G consisting of only one cycle is a Hamiltonian cycle of G. Let
An independent set of G is a subset I of V(G) such that no edge in E(G) contains both end-points in I. A maximal independent set of G is an independent set of G that is not a proper subset of another independent set of G. A maximum independent set of G is a maximal independent set with the largest cardinality, the so-called independence number α(G) of G.
The Independent Set Problem consists in finding a maximum independent set in a given instance graph G. This is an NP-hard problem, difficult even to be approximated6.
A graph G is a Berge graph, if neither G nor its complement has an odd-length induced cycle of length 5 or more. It is well-known that if G is a Berge graph, then the independence problem on G can be solved in polynomial time5.
Any Hamiltonian cycle H in a graph G = (V, E) determines, for each pair of distinct vertices
Given a positive integer n, the n-dimensional
hypercube, denoted Q
n, is the graph containing the n-dimensional vectors
with entries in
3. Particular Problems
Let us consider the following problem:
NonCrossingPaths
Instance: A graph G = (V, E). A positive number
k, a set of pairs
Solution: A pairwise non-crossing and disjoint collection of
m-length paths
Given a Hamiltonian cycle H of G it is very simple to complete instances of the problem NonCrossingPaths having as solutions non-crossing and disjoint paths taken from H. For instance, if
the collection of paths
is a solution.
Conversely, given the collection
Let us consider the following problem:
HamiltonianExtension
Instance: a Hamiltonian graph G = (V, E). A collection
Solution: a Hamiltonian cycle
For instance, for the n-dimensional hypercube Q
n and
Thus, HamiltonianExtension would allow to recover a Hamiltonian cycle from a solution of the problem NonCrossingPaths. However, a solution of NonCrossingPaths may be obtained without building a whole Hamiltonian cycle containing that solution.
But solving NonCrossingPaths can be reduced to finding a maximum independent set in a huge graph as we see now.
Definition 3.1(Path Graphs) Given the instance (G,
k,
and the edges are of two types: for any
-if
-if
An independent set I of
For any pair
Those cliques produce a partition of the vertices in
Proposition 3.1 With the above notation, the parameter k equals
the independence number of
4. Hamiltonian Cycles in the Hypercube
Let us examine some criteria to select instances of NonCrossingPaths making it difficult to solve the problem.
The main interest in the stated problem is to find maximum independent sets in the graph
of NonCrossingPaths.
As we have agreed before, let us consider, in particular, the hypercube G = Q
n for some positive integer n. The edges in the hypercube Q
n are pairs of the form vu where v + u = e
i is a vector in the canonical basis of Q
n: all its entries are zero, except for the i-th entry. A Hamiltonian cycle in Q
n is a sequence
The typical Hamiltonian cycle at the hypercube is the binary Gray code. As a sequence, this code is determined recursively by the following recurrence:
(join and rev are, respectively, list concatenation and list reversing, ∗ is a prepend map: b∗list prepends the bit b to each entry at the list). For instance:
In order to have an idea about the cardinality of
Remark 4.1 Let
In fact, if
then
we have that any m-path
Therefore, without losing any generality, we may assume
-If either
-If m = h, then N(n, h, m) =m!.
-If
The experimental calculations allow to expect that the growth of N(n, h, m) exceeds the growth of m!:
From the simulations explained in the following section, we have checked that no Berge graph appeared in the trajectory graphs. However, this result is sufficient to claim that a general result holds:
Proposition 4.1 Let
Proof. Let n
0 and k be as in the proposition statement. Let
n be an integer such that
and let K
0 be a maximal subset of K
1 consisting of pairwise disjoint vertex pairs, then
Let
Then
Since
On the other hand, it can be observed that neither sparse graphs nor their complements do appear. Evidently, neither claw-free graphs are produced.
Thus the currently known polynomial-time methods4,7 to find maximal independent sets do not apply to the
introduced graphs
5. Computational Results
In Table 1 we give an exact calculation obtained experimentally for some particular values of n, m and h.
In our experiments, we have been restricted to n = 6,7,8. And thus, we implemented the vertex counting at
Input :
Output: A path graph
5.1. Programs
We propose algorithm 5.1 to compute path graphs and algorithm 5.2 to search odd-holes within a given path graph.
Input: A path graph
k < 5 an odd integer
Output: An odd-hole πk if exists
Our programs implement a series of basic modules (BM):
1. BM 0: Given a positive integer n this module generates a Hamiltonian cycle h in the hypercube Q n.
2. BM 1: Given a Hamiltonian cycle h and a positive integer m this module generates k non-crossing and disjoint m-paths, splitting h into k segments.
3. BM 2: Given a collection
4. BM 3: Given a set K of endpoints pairs, m, and n this module computes
5. BM 4: Given a set
6. BM 5: Given a path graph
Generating n-dimensional hypercube path graphs yielded huge amounts of data requiring careful management and storage. Our programs were written in Ruby, are open-source, and are available at1.
6. Contributions and Applications
We introduced a family of problems, globally named “skein problems”. They were posed on general graphs and in particular, on the hypercube. These problems are reduced into the problem of finding independence subsets in graphs, which poses by itself an NP-hard problem and hard even to be approximated (in other words, it is PTAS-hard), and we provide evidence that the obtained reduced graphs are not Berge graphs, thus they are not suitable to be treated by the currently known polynomial-time approaches to solve the independence problem.
In general, from a Hamiltonian cycle in a graph, it is easy to show a family of non-crossing and pairwise disjoint paths connecting, obviously, the extreme vertex pairs. However, the converse of this problem is extremely difficult. This could be used in cryptographic protocols where the public-key corresponds to the path end vertices, and the private key is just the skein, namely, the set of non-crossing paths connecting them pairwisely.
This work opens the possibility to carry out many applications, particularly, in cryptography. The stated Skein Problem can be used to design authentication challenge-response protocols or to implement key exchange protocols.
In the same way, based on the Skein Problem, appropriate protocols arise for such different environments as conventional computing, mobile computing, and several communication platforms.
7. Conclusions
Finding maximum independent sets in graphs is a classical NP-hard problem. So, it is possible to profit of it for authentication purposes. In a naïve approach, one may use a huge graph as a private key and a maximum independent set as the public one, but several difficulties arise: the first is the manipulation of the graph which may require hundreds of megabytes to offer an acceptable security level, and the second difficulty is to find maximum independent sets to act as the public key.
Skein problems override these difficulties. The path graphs in the hypercube play the role of hard instances, and the corresponding maximum independent sets to be used as public keys can be easily found from Hamiltonian cycles in the hypercube. On the other hand, finding maximum independent sets in path graphs is a very difficult problem due to their size, even for hypercubes of relatively small dimensions.
This is a first intended paper in a series planned to publish the cryptographic protocols and their robustness. Now, we have introduced the skein problems and we discussed their most basic mathematical properties in a purely Graph Theory approach.