SciELO - Scientific Electronic Library Online

vol.20 issue1(Hyper)sequent Calculi for the ALC(S4) Description LogicsSocial Network Analysis: a Practical Case Study Abstract author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand




Related links

  • Have no similar articlesSimilars in SciELO


Computación y Sistemas

On-line version ISSN 2007-9737Print version ISSN 1405-5546

Comp. y Sist. vol.20 n.1 Ciudad de México Jan./Mar. 2016 

Regular articles

Trajectory Graphs Appearing from the Skein Problems at the Hypercube

Feliú Sagols1 

Guillermo Morales-Luna2 

Israel Buitrón-Dámaso2 

1CINVESTAV-IPN, Mathematics Department, México City, México,

2CINVESTAV-IPN, Computer Science Department, México City, México,,


We formally state Skein Problems in Hamiltonian graphs and prove that they are reduced to the Independence Problem in Graph Theory. Skein problems can be widely used in cryptography, particularly, in protocols for message authentication or entities identification. Let G be a Hamiltonian graph. Given a Hamiltonian cycle H, let Π be a set of pairwise disjoint sub-paths within H,


where m and k are two positive integers, then the pairs of extreme vertices V={(v11,vm1),,(v1k,vmk)} are connected by the paths at Π without any crossing. Conversely, let us assume that the following problem is posed: given a collection of pairs V it is required to find a collection of pairwise disjoint paths, without any crossing, connecting each pair at V We reduce this last problem to the Independence Problem in Graph Theory. In particular, for the case of the n-dimensional hypercube, we show that the resulting translated instances are not Berge graphs, thus the most common polynomial-time algorithms to solve the translated problem do not apply. We have built a computing system to explicitly generate the resulting graphs of the reduction to the Independence problem. Nevertheless, due to the doubly exponential growth in terms of n of these graphs, the physical computational resources are quickly exhausted.

Keywords: Independence problem in graph theory; Berge graphs; doubly-exponential growth

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 k2, etc. Let us say that a skein is a set of connecting paths for a collection of connectable vertex pairs.

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 V(H)V(G) and E(H)E(G). If V'V(G) then the induced subgraph of G by is the graph having as set of vertices, and two vertices u, v in are joined by an edge in if and only if uvE(G). If e=v1v2E(G) then v 1 is adjacent to v 2 and the vertices v 1 and v 2 are incident to the edge e. The complete graph K n of order n is a graph having n vertices, where each one is adjacent to any other. A clique in G is a complete induced subgraph of G. A path in G with initial vertex v 0 and ending vertex v m is a sequence of vertices π=[v0,v1,,vm]. A path can also be written π=v0v1vm, such that for i = 0,…,m - 1 vivi+1E(G), v 0,…, v m-1 are pairwise different, and m is a positive integer. The vertices v 0 and v m are the end-vertices or endpoints of π. The length|π| of the path π is m, hence π is said to be an m-path. The internal vertices of π are v 1,…,v m-1. If v 0 = v m, then π is a cycle.

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 π1, π2 are non-crossing if there is no common vertex in π1 and π2 which is internal in at least one of the paths. We say that the paths π1 and π2 are disjoint if no edge appears in both paths.

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 HG be the collection of Hamiltonian cycles in G. If HG then G is called Hamiltonian.

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 (u,v)V2, two paths, one going, let us say, from u to v and the supplementary path from v to u. Let πH(u,v) be the path going from u to v following the order in which the vertices of H are listed. Since H is Hamiltonian, for any two pairs (u 0, v 0), (u 1, v 1) such that u 0, v 0, u 1, v 1 appear in the cyclic order of the Hamiltonian cycle, the paths πH(u0,v0) and πH(u1,v1) are non-crossing.

Given a positive integer n, the n-dimensional hypercube, denoted Q n, is the graph containing the n-dimensional vectors with entries in {0,1} as the set of vertices, and two vertices form an edge if and only if they differ in just one entry. The Hamming distance between two vertices u, v in Q n, denoted Hamming(u, v) is the number of entries in which they differ. It is easy to see that the graph distance and the Hamming distance coincide, that is, dQn(u,v)=Hamming(u,v) holds for every pair of vertices u, v in V(Q n) .

3. Particular Problems

Let us consider the following problem:


Instance: A graph G = (V, E). A positive number k, a set of pairs K={(i1,j1),,(ik,jk)} of k pairwise different vertex pairs in G, and a positive integer m satisfying mk|V(G)| and dG(i,j)m for all (i,j)K.

Solution: A pairwise non-crossing and disjoint collection of m-length paths Π={π1,,πk} such that π l has endpoints i l and j l, for l = 1,…, k.

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 H=v0v1v|V(G)|-1, and mk|V(G)|, then for


the collection of paths


is a solution.

Conversely, given the collection Π one may wonder whether it is built from a Hamiltonian cycle.

Let us consider the following problem:


Instance: a Hamiltonian graph G = (V, E). A collection Π of pairwise disjoint and non-crossing m-paths.

Solution: a Hamiltonian cycle HHG such that for any πΠ, if u and v are the initial and the ending points of π, respectively, then πH(u,v)=π.

For instance, for the n-dimensional hypercube Q n and Π a perfect matching at Q n (the paths at Π are just edges), then HamiltonianExtension (Qn,Π) always has a solution, although it is not uniquely determined2,3.

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, K={(ui1,uj1),,(uik,ujk)}, m) of the problem NonCrossingPaths, let the path graph P m,k,K,G be the graph whose vertices are the m-paths in G connecting pairs at K:


and the edges are of two types: for any π,ρV(Pm,k,K,G),

-if π,ρ are crossing, then πρE(Pm,k,K,G), and

-if π,ρ have the same extreme points, then πρE(Pm,k,K,G).

An independent set I of Pm,k,K,G yields a set of non-crossing and disjoint paths with ends in K, with no pair of extreme points connected by two paths.

For any pair (u,v)K let R(u, v) be the subgraph of Pm,k,K,G induced by the set of vertices at V(Pm,k,K,G) having as extreme points u and v. Then R(u, v) is a clique.

Those cliques produce a partition of the vertices in Pm,k,K,G in k subsets, and any solution of the problem NonCrossingPaths should contain exactly one member at each clique, hence it has at most k paths. Thus, whenever there exists an independent set I* reaching the upper bound k, such I* is maximum. Hence:

Proposition 3.1 With the above notation, the parameter k equals the independence number of Pm,k,K,G, k=αPm,k,K,G, and an independent set of Pm,k,K,G is maximum if and only if it is a solution of an instance of NonCrossingPaths of the form: (G,k,K={(u1,v1),,(uk,vk)},m) .

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 Pm,k,K,G for a given instance


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 H=h0h2n-1 such that its terms form a permutation of V(Q n) and each pair of contiguous terms hκhκ+1 is an edge (the successor map is taken modulus 2n). A square, or 4-cycle, in Q n is a sequence v 0 v 1 v 2 v 3 of pairwise different vertices forming a cycle in the hypercube. Necessarily, any square has the form v,v+ei,v+ei+ej,v+ej for two distinct indexes i,j{0,,n-1}.

The typical Hamiltonian cycle at the hypercube is the binary Gray code. As a sequence, this code is determined recursively by the following recurrence:

g1=[0,1],gn=\tt join(0*gn-1,1*\tt rev(gn-1))

(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: g1=[0,1], g2=[00,01,11,10], g3=[000,001,011,010,110,111,101,100], and so on.

In order to have an idea about the cardinality of V(Pm,k,K,Qn) we start by estimating the number of m-length paths connecting two different vertices at the n-dimensional hypercube.

Remark 4.1 Let u0,umV(Qn), u0um. The number of paths with end vertices u 0 and u m depends exclusively upon the distance \it Hamming (u 0,u m).

In fact, if v0,vm are other vertices in Q n with


then um=u0+i=1heki and vm=v0+i=1hek'i where the index sets {k1,,kh}, {k'1,,k'h} are h-subsets in {1,,n}, i.e. sets with exactly h elements. For any permutation π of {1,,n} such that


we have that any m-path u0u1um with uj=u0+i=1jeli, for j=1,,m, determines the m-path v0v1vm where vj=v0+i=1jeπ(li) for j=1,,m. Hence, the m-paths connecting u 0 with u m can be put in a bijective correspondence with the m-paths connecting v 0 with v m.

Therefore, without losing any generality, we may assume u0=0(h)0(n-h) and um=1(h)0(n-h). Let N(n, h, m) denote the number of m-paths connecting u 0 and u m. The following remarks are evident:

-If either m<h=Hamming(u0,um) or mmod2hmod2, then N(n, h, m) = 0.

-If m = h, then N(n, h, m) =m!.

-If m>Hamming(u0,um) and mn, then N(n,h,m)>m!.

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 mZ+ be a fixed length for the connecting paths. If there exists an n0N such that for any set K 0 of k pairwise disjoint vertex pairs in the n 0-dimensional hypercube Qn0 the graph Pm,k,K0,Qn0 is not a Berge graph, then for any nn0 and any set K of k pairwise disjoint vertex pairs in the n-dimensional hypercube Q n the graph Pm,k,K,Qn is not a Berge graph.

Proof. Let n 0 and k be as in the proposition statement. Let n be an integer such that nn0 and let K be a collection of k pairwise disjoint vertex pairs in the n-dimensional hypercube Q n. Let N0{1,,n} be an n 0-index subset and let


and let K 0 be a maximal subset of K 1 consisting of pairwise disjoint vertex pairs, then card(K0)=k0k.

Let λn0:Qn0{0,1}N0 be the natural identification consisting of just a renumbering of the coordinates and let ιN0,n:{0,1}N0Qn be the embedding map consisting of padding with zero values the entries with index out of N 0.

Then λn0ιN0,n is an embedding of the n 0-dimensional hypercube Qn0 into the n-dimensional hypercube Q n. Via λn0ιN0,n, the graph Pm,k0,K0,Qn0 is identified with a subgraph of Pm,k,K,Qn.

Since Pm,k0,K0,Qn0 is not a Berge graph, neither can be Pm,k,K,Qn.

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 Pm,k,K,Qn.

5. Computational Results

In Table 1 we give an exact calculation obtained experimentally for some particular values of n, m and h.

Table 1 Count of the 8-paths (m = 8) connecting a pair of points at distance h in the hypercube Q n 

In our experiments, we have been restricted to n = 6,7,8. And thus, we implemented the vertex counting at Pm,k,K,Qn for k = 8,16,32 and m with fixed value 8, where k is the number of the given connectable pairs, and m is the length of the required paths. We have performed one hundred simulations for each value of n in {6,7,8} and in all cases, the graph P8,k,K,Qn or its complement contained induced cycles with five or more vertices.

Input : n  Z+| n5,

k,m  Z+| mk |V(Qn)|

Output: A path graph Pm,k,K,Qn.

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.

Algorithm 5.1: Path graphs random generation 

Input: A path graph Pm,k,K,Qn

k < 5 an odd integer

Output: An odd-hole πk if exists

Algorithm 5.2: Odd-hole search 

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 Π of non-crossing and disjoint m-paths this module computes a set K of cardinality k with m-paths in Π.

4. BM 3: Given a set K of endpoints pairs, m, and n this module computes V(Pm,k,K,Qn).

5. BM 4: Given a set V(Pm,k,K,Qn) this module computes E(Pm,k,K,Qn) as well as the degree of each vertex.

6. BM 5: Given a path graph Pm,k,K,Qn this module searchs for odd-holes through a random walk in V(Pm,k,K,Qn) and its complement.

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.


1. Buitron-Damaso, I. (2014). mPath-graph Ruby Library. [ Links ]

2. Chen, X.-B. (2009). Hamiltonian paths and cycles passing through a prescribed path in hypercubes. Information Processing Letters, Vol. 110, No. 2, pp. 77-82. [ Links ]

3. Fink, J. (2007). Perfect matchings extend to Hamilton cycles in hypercubes. J. Comb. Theory Ser. B, Vol. 97, No. 6, pp. 1074-1076. [ Links ]

4. Grötschel, M., Lovász, L., & Schrijver, A. (1988). Geometric Algorithms and Combinatorial Optimization, volume 2 of Algorithms and Combinatorics. Springer. [ Links ]

5. Grötschel, M., Lovász, L., & Schrijver, A. (2012). Geometric Algorithms and Combinatorial Optimization. Algorithms and Combinatorics. Springer Berlin Heidelberg. [ Links ]

6. Hastad, J. (1996). Clique is hard to approximate within n - 1. Proceedings of the 37th Annual Symposium on Foundations of Computer Science (FOCS'96), IEEE Computer Society, Washington, DC, USA, pp. 627. [ Links ]

7. Ramírez-Alfonsín, J. & Reed, B. (2001). Perfect Graphs. Wiley Series in Discrete Mathematics & Optimization Wiley. [ Links ]

Received: October 13, 2014; Accepted: December 04, 2015

Corresponding author is Israel Buitron-Damaso.

Feliú Salgols holds a Ph.D. in Electrical Engineering. He is professor at Center for Research and Advanced Studies of the National Polytechnic Institute of Mexico (CINVESTAV-IPN) in Mexico City, within the Mathematics Department. His areas of interest are computing, combinatorics, graph theory, and topological graph theory. He has developed several computational tools to represent combinatorial maps, producing efficient methods to build GIS.

Guillermo Morales-Luna is researcher at the Computer Science Department at CINVESTAV-IPN in Mexico City. He holds a Bachelor degree in Physics and Mathematics from the National Polytechnic Institute in Mexico, an M.Sc. in Mathematics from CINVESTAV-IPN and a Ph.D. in Mathematics from the Mathematical Institute of the Polish Academy of Sciences in Warsaw, Poland. His areas of interest are the mathematical foundations of computer science, logic and automatic eduction, cryptography and complexity theory. He has taught at the National Polytechnic Institute (IPN) and BUAP and he has spent two sabbatical years at the Mexican Petroleum Institute (IMP).

Israel Buitron-Damaso is a Ph.D. student at the Computer Science Department in CINVESTAV-IPN in Mexico City. He holds a Bachelor degree in Computer Systems Engineering from IPN in Mexico and an M.Sc. in Computer Science from CINVESTAV-IPN. His research interests include cryptography, authentication protocols, information security, among others.

Creative Commons License This is an open-access article distributed under the terms of the Creative Commons Attribution License