Improved Random Graph Isomorphism

Similar documents
1 Graph Sparsfication

Random Graphs and Complex Networks T

Lecture 6. Lecturer: Ronitt Rubinfeld Scribes: Chen Ziv, Eliav Buchnik, Ophir Arie, Jonathan Gradstein

arxiv: v2 [cs.ds] 24 Mar 2018

CIS 121 Data Structures and Algorithms with Java Fall Big-Oh Notation Tuesday, September 5 (Make-up Friday, September 8)

Lecture 5. Counting Sort / Radix Sort

Big-O Analysis. Asymptotics

Combination Labelings Of Graphs

Big-O Analysis. Asymptotics

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

New Results on Energy of Graphs of Small Order

Lecture 2: Spectra of Graphs

Lower Bounds for Sorting

An Efficient Algorithm for Graph Bisection of Triangularizations

Sorting in Linear Time. Data Structures and Algorithms Andrei Bulatov

Counting the Number of Minimum Roman Dominating Functions of a Graph

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

On (K t e)-saturated Graphs

1.2 Binomial Coefficients and Subsets

Perhaps the method will give that for every e > U f() > p - 3/+e There is o o-trivial upper boud for f() ad ot eve f() < Z - e. seems to be kow, where

How do we evaluate algorithms?

Some non-existence results on Leech trees

An Efficient Algorithm for Graph Bisection of Triangularizations

A RELATIONSHIP BETWEEN BOUNDS ON THE SUM OF SQUARES OF DEGREES OF A GRAPH

Graphs. Minimum Spanning Trees. Slides by Rose Hoberman (CMU)

Relationship between augmented eccentric connectivity index and some other graph invariants

Analysis of Algorithms

n n B. How many subsets of C are there of cardinality n. We are selecting elements for such a

Protected points in ordered trees

Sum-connectivity indices of trees and unicyclic graphs of fixed maximum degree

On Infinite Groups that are Isomorphic to its Proper Infinite Subgroup. Jaymar Talledo Balihon. Abstract

Module 8-7: Pascal s Triangle and the Binomial Theorem

INTERSECTION CORDIAL LABELING OF GRAPHS

CS473-Algorithms I. Lecture 2. Asymptotic Notation. CS 473 Lecture 2 1

The isoperimetric problem on the hypercube

Strong Complementary Acyclic Domination of a Graph

Homework 1 Solutions MA 522 Fall 2017

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015

Algorithms Chapter 3 Growth of Functions

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Analysis of Algorithms

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS

DISTINGUISHING VERTICES OF INHOMOGENEOUS RANDOM GRAPHS. Paolo Codenotti. IMA Preprint Series #2419. (July 2013)

Data Structures and Algorithms. Analysis of Algorithms

Fundamentals of Media Processing. Shin'ichi Satoh Kazuya Kodama Hiroshi Mo Duy-Dinh Le

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

Ones Assignment Method for Solving Traveling Salesman Problem

The Adjacency Matrix and The nth Eigenvalue

Xiaozhou (Steve) Li, Atri Rudra, Ram Swaminathan. HP Laboratories HPL Keyword(s): graph coloring; hardness of approximation

Computational Geometry

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Convergence results for conditional expectations

Symmetric Class 0 subgraphs of complete graphs

CHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs

2. ALGORITHM ANALYSIS

THE COMPETITION NUMBERS OF JOHNSON GRAPHS

CS 683: Advanced Design and Analysis of Algorithms

Some cycle and path related strongly -graphs

The size Ramsey number of a directed path

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

condition w i B i S maximum u i

Throughput-Delay Scaling in Wireless Networks with Constant-Size Packets

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

The digraph drop polynomial

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS)

2 X = 2 X. The number of all permutations of a set X with n elements is. n! = n (n 1) (n 2) nn e n

Characterizing graphs of maximum principal ratio

ON A PROBLEM OF C. E. SHANNON IN GRAPH THEORY

Thompson s Group F (p + 1) is not Minimally Almost Convex

Spanning Maximal Planar Subgraphs of Random Graphs

A Generalized Set Theoretic Approach for Time and Space Complexity Analysis of Algorithms and Functions

Australian Journal of Basic and Applied Sciences, 5(11): , 2011 ISSN On tvs of Subdivision of Star S n

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

A study on Interior Domination in Graphs

CSE 417: Algorithms and Computational Complexity

6.854J / J Advanced Algorithms Fall 2008

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1

Lecture 1: Introduction and Strassen s Algorithm

. Written in factored form it is easy to see that the roots are 2, 2, i,

rus i O(log log Λ = log log ) time usig a optimal umber of processors. Chaudhuri, Hagerup, ad Rama's algorithm [2] rus i O(log= loglog) time o the CRC

Order statistics. Order Statistics. Randomized divide-andconquer. Example. CS Spring 2006

3. b. Present a combinatorial argument that for all positive integers n : : 2 n

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.

SECURITY PROOF FOR SHENGBAO WANG S IDENTITY-BASED ENCRYPTION SCHEME

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

Algorithms for Disk Covering Problems with the Most Points

Civil Engineering Computation

Design and Analysis of Algorithms Notes

Average Connectivity and Average Edge-connectivity in Graphs

A NOTE ON COARSE GRAINED PARALLEL INTEGER SORTING

Assignment 5; Due Friday, February 10

MAXIMUM MATCHINGS IN COMPLETE MULTIPARTITE GRAPHS

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers *

ALAN FRIEZE, CHARALAMPOS E. TSOURAKAKIS

THE TOTAL ACQUISITION NUMBER OF THE RANDOMLY WEIGHTED PATH

Compactness of Fuzzy Sets

Subtrees of a random tree

Image Segmentation EEE 508

EVALUATION OF TRIGONOMETRIC FUNCTIONS

Transcription:

Improved Radom Graph Isomorphism Tomek Czajka Gopal Paduraga Abstract Caoical labelig of a graph cosists of assigig a uique label to each vertex such that the labels are ivariat uder isomorphism. Such a labelig ca be used to solve the graph isomorphism problem. We give a simple, liear time, high [ probability algorithm for the caoical labelig of a G, p radom graph for p ω l 4 / l l, ω l 4 / l l ]. Our result covers a gap i the rage of p i which o algorithm was kow to work with high probability. Together with a previous result by Bollobas, the radom graph isomorphism problem ca be solved efficietly for p [Θ l /, Θ l /]. Itroductio Radom graph isomorphism is a classic problem i the algorithmic theory of radom graphs [6, 4, ]. I this problem, we are give a radom G, p Erdös-Reyi graph ad aother graph H. The graph isomorphism problem is to decide whether the two graphs are isomorphic ad if so, fid a isomorphism betwee them. A isomorphism is a oe-to-oe mappig of vertices of G oto the vertices of H such that the edges of G are mapped oto the edges of H. Graph isomorphism ca be solved by a caoical labelig of a graph [, 2, 3]. Caoical labelig of a graph cosists of assigig a uique label to each vertex such that the labels are ivariat uder isomorphism. More formally, give a class K of graphs which is closed uder isomorphism, a caoical labelig algorithm assigs the umbers,..., to the vertices of each graph i K, havig vertices, i such a way that two graphs i K are isomorphic if ad oly if the obtaied labeled graphs coicide. The graph isomorphism problem ca be solved usig a caoical labelig of a graph as follows e.g., [2]. Give a caoical labelig algorithm for K, ad a algorithm decidig whether a give graph belogs to K or ot, we also have a algorithm decidig whether X is isomorphic to Y for ay two graphs X, Y provided X K. Namely, if Y K the X is ot isomorphic to Y ; ad if Y K the we have to check whether X ad Y coicide after caoical labelig. The first caoical labelig algorithm for radom graphs was give by Babai, Erdös, ad Selkow []. They gave a simple O 2 time liear i the umber of edges algorithm for Departmet of Computer Sciece, Purdue Uiversity, 250 N. Uiv St., West Lafayette, IN 47907, USA. E-mail: {czajkat, gopal}@cs.purdue.edu.

caoical labelig of G, /2 graphs with probability of failure bouded by O /7. Sice the G, /2 model assigs a uiform distributio over all graphs a total of 2 2 graphs the above result ca be iterpreted as a algorithm that succeeds o almost all graphs. This result was stregtheed by Karp [7], Lipto [9], ad Babai ad Kucera [2]. I particular, Babai ad Kucera [2] give a caoical labelig algorithm for the G, /2 model that also rus i O 2 time with expoetial Oc probability of rejectio i.e., ot belogig to the caoical labelig class. I additio, they show that the rejected graphs ca be hadled such as to obtai a caoical labelig algorithm of all graphs with liear expected time, i.e., the average ruig time over the 2 2 graphs is O 2. The questio that motivates this paper ad the lie of research discussed ext is this: Ca we show a high probability caoical labelig algorithm for all p p p? Previous results have established this for various rages of p. Bollobas [4, Theorem 3.7, page 74] gives a high probability liear time caoical labelig algorithm for G, p, for p ω /5 l ad p /2, i.e., for p [ ω /5 l, /2 ]. Note that for p /2 oe ca equivaletly cosider the complemet graph. The probability of algorithm failure is O. We ote that the above algorithm as well as the algorithms o G, /2 cited earlier [, 7, 9] all exploit properties of the degree sequece of a radom graph. Aother result of Bollobas [5] shows that caoical labelig ca be doe efficietly o much sparser graphs, i.e., for Θ l p Θ /2. This result uses properties of the distace sequece of a vertex of a graph. The distace sequece of a vertex x is the list {d i x, i } where d i x is the umber of vertices at distace i from x. This algorithm takes O 3 time sice all pairs of distaces have to be computed. It is also kow that if 0 p o 3/2 the the isomorphism problem is trivial [4] with high probability. To summarize, the rages of p i which caoical labelig ad hece isomorphism has bee solved with high probability i polyomial time is: [ 0, o 3/2 ], [ Θ l ], o, [ ω /5 l, /2 ] /2 For each rage we have a algorithm with polyomially small failure probability O c for some costat c > 0. For p /2 the failure probability is expoetially small Oc for some 0 < c <. This paper covers the gap betwee the last two rages. We show a liear time, high probability caoical labelig algorithm for G, p graphs for p ωl 4 / l l ad p /2. Here, high probability will mea probability at least O α for every costat α > 0. Our result sigificatly exteds the rage of p compared to [4, Theorem 3.7, page 74] ad covers the gap betwee the secod ad third iterval i. Our algorithm is similar to the Procedure A i [2], but simpler. However, they aalyze the algorithm oly for the G, /2 radom graph model. Our aalysis is differet from [2] ad applies for a much larger rage of p. Our aalysis uses a edge exposure martigale to aalyze, give two vertices, how the degrees of their eighbors chage as edges are added. This approach allows us to establish 2

good bouds o the probability of the two degree eighborhoods beig the same, for a wide rage of p. 2 The Algorithm The idea of the algorithm is to distiguish all vertices of a graph usig the degrees of their eighbors. We prove that this allows us to distiguish all vertices of a G, p graph for sufficietly large p with high probability. Defie the degree eighborhood of a vertex as a sorted list of the degrees of the vertex s eighbors. We ote that the degree ad hece also the degree eighborhood are ivariats uder isomorphism. We use the degree eighborhood list to assig our caoical labelig, i.e., the label of a vertex is its degree eighborhood list. The caoical labelig algorithm is as follows. It takes as iput a graph G. The algorithm tries to assig a caoical labelig to the vertices of G by computig the degree eighborhood of each vertex. If the degree eighborhoods are ot distict the algorithm fails. To check for isomorphism, we ca repeat the same procedure for H ad the check whether the edges of G ad H are same uder the labeligs.. Compute vertex degrees. 2. Compute degree eighborhoods for each vertex. 3. Sort vertices by degree eighborhoods i lexicographical order. 4. If the degree eighborhoods are ot distict for each vertex, FAIL. 5. Number the vertices i the sorted order. Theorem 2. If the algorithm does ot fail, it outputs a caoical labelig of G. Proof: Steps ad 2 are ivariat uder isomorphism. If the algorithm does ot fail, the computed degree eighborhoods are all distict, hece steps 3 ad 5 also are isomorphism ivariat. Therefore the computed labelig is a caoical labelig. Theorem 2.2 The algorithm ca be implemeted i liear time i graph s size OV +E. Proof: Computig vertex degrees ca clearly be doe i liear time. Step 2 ca be doe i liear time by sortig all pairs vertex, eighbor degree i lexicographical order usig radix-sort [8]. Step 3 is strig sortig over the alphabet {0,..., }, this ca be doe i liear time [8]. Oce we have a liear time caoical labelig algorithm, we ca test for graph isomorphism i liear time: just compute the caoical labelig for both graphs G ad H. Suppose the algorithm succeeds for G we will prove this happes with high probability. If the algorithm fails for H, the graphs are ot isomorphic. If it succeeds for H, sort the edges of both graphs lexicographically by the labels of their edpoits usig radix-sort ad compare the lists. 3

3 Failure Probability Aalysis Before we ca aalyze the algorithm, we eed some prelimiary lemmas o probability bouds cocerig the biomial distributio. p ad other variables appearig i the proofs are fuctios of. We will assume throughout the rest of the paper that 0 < p /2. All asymptotic otatios such as O Op are take as. Let B, p deote the biomial distributio ad bk;, p PrB, p k. Thus: bk;, p p k p k k Lemma 3. If Ω the bk;, p is maximum for k p or k p ad max bk;, p Θ k Proof: See [4]. The formula follows from Stirlig s approximatio, i fact for p ω : max bk;, p k 2πp p Lemma 3.2 If p ω the: l bk;, p bk ;, p O l bk;, p bk;, p O l bk;, p bk ;, p O Proof: X bk;, p bk ;, p p k q k k p k q k k bk;, p k k p k q k k Let δ k, so k δ. If δ 6 l /, the, from lemma 3.: 6 l X bk;, p δ Θ 4 O l

Otherwise, δ > 6 l / ad we use Cheroff s boud [0] for the tails of biomial distributio: X bk;, p δ bk;, p PrB, p δ Pr B, p δ 2e δ2 /3 < 2e 2 l 2 O This gives us the first boud. The secod boud follows, because: bk;, p pbk ;, p + qbk;, p l Hece bk;, p is closer to bk;, p tha to bk ;, p. The third boud follows from the first two by triagle iequality. / Lemma 3.3 If p ωl /, k o l, the: bk;, p Θ Proof: times: This follows from lemma 3. ad lemma 3.2 third iequality applied k l bk;, p b ;, p ± k O l Θ ± o O l Θ Lemma 3.4 If > 0, Ω: PrB, p B, p O Proof: This follows directly from lemma 3.: PrB, p B, p i0 bi;, p 2 O bi;, p O i0 5

Now we ca proceed to prove theorems about our algorithm. Theorem 3.5 Let a, b be two distict vertices of the graph G with equal degree eighborhoods. Let G G {a, b} be the subgraph obtaied by removig vertices a ad b from G. The the multiset of the G -degrees of the vertices i G coected to a is equal to the multiset of the G -degrees of the vertices i G coected to b. Proof: Sice the degree eighborhoods of a ad b are equal, the degrees of a ad b are also equal the legths of eighborhoods are same. Let A be the set of vertices coected to a i G, B be the set of vertices coected to b i G. A ad B geerate the same degree multisets. Let A A G, B B G. If a ad b are ot coected, the A A, B B. If they are coected, the A A b, B B a. Sice the degrees of a ad b are equal, A ad B i both cases geerate the same G-degree multisets. Let C A B, A A C, B B C. The A C A, B C B. Therefore, A ad B geerate the same G-degree multisets. But all vertices i A B are coected to exactly oe of a, b. Therefore, the G -degrees i A B are oe less tha the G-degrees. Thus A ad B geerate the same G -degree multisets. Hece also A A C ad B B C geerate the same G -degree multisets. The ext theorem is about provig the existece of some umber of vertices whose degrees lie i the rage [, + R ] for appropriate ad R. / / Theorem 3.6 If p ωl 3 /, o l, R o l, R l ω l the with high probability there exist i G, p at least l l p vertices with degrees i the rage [, + R ]. Proof: Let X be a radom variable deotig the umber of such vertices. Let X X +... + X, where each X i is a 0- radom variable equal to if vertex umber i has degree i the give rage. Sice the distributio of the degree of a vertex is B, p ad from lemma 3.3 we kow that the whole rage [, + R ] falls i the rage of highest probability, we have: +R l l E [X i ] bd;, p R Θ ω d E [X] E [X i ] ω l l p Now our goal is to prove that X E [X] /2 with high probability. To do that we will use a techique of provig cocetratio of radom variables aroud the mea usig a Doob s martigale [0, ]. Let s build a edge-exposure martigale [0] for our graph. The martigale will represet the evolutio of the expected value for X as we radomly decide for each edge whether or ot to iclude it i the graph. 6

Number the vertices from to ad umber the possible edges i the order {, 2}, {, 3}, {2, 3}, {, 4}, {2, 4}, {3, 4}..., {, }. I other words, first we coect 2 to the smaller vertices, the coect 3 to the smaller vertices, 2, the we coect 4, ad so o. Defie radom variables C i if the edge umber i is chose, 0 otherwise. Defie the Doob s martigale [] Z i E [X C,..., C i ]. Clearly Z 0 E [X], Z 2 X. We wat to use Azuma s Iequality [] to prove a probabilistic lower boud o X. It states that if Z i Z i z i the: P Pr X E [X] t Pr Z 2 Z 0 t e t2 /2 zi 2 2 We will use t E [X] /2. We eed a good upper boud o Z i Z i. Let the edge umber i be {a, b}, a < b. Z i Z i E [X C,..., C i ] E [X C,..., C i ] E [Xv C,..., C i ] E [X v C,..., C i ] v E [Xv C,..., C i ] E [X v C,..., C i ] v E [Xa C,..., C i ] E [X a C,..., C i ] + E [Xb C,..., C i ] E [X b C,..., C i ] sice X v is idepedet from C i for v a, b. Let w be the umber of chose edges icidet to b amog C,..., C i. Let y be the umber of remaiig possible edges amog C i+,..., C icidet to b. Clearly y b, 2 because of the order i which the edges are take vertices bigger tha b have ot yet bee coected. Let B E [Xb C,..., C i ] E [X b C,..., C i ]. If C i 0 the: B E [Xb C,..., C i ] E [X b C,..., C i ] +R +R bd w; y, p bd w; y +, p d d +R +R bd w; y, p pbd w ; y, p + pbd w; y, p d d +R +R 2 +R bd w; y, p p bd w; y, p p bd w; y, p d d d pbd0 w ; y, p pb w + R; y, p b w ; y, p + b w + R; y, p 7

Similarly if C i, the: B E [Xb C,..., C i ] E [X b C,..., C i ] +R +R bd w ; y, p bd w; y +, p d d +R +R bd w ; y, p pbd w ; y, p pbd w; y, p d d +R 2 +R 2 +R bd w; y, p p bd w; y, p p bd w; y, p d d d pbd0 w ; y, p pb w + R; y, p b w ; y, p + b w + R; y, p I both cases: B b w ; y, p + b w + R; y, p If y + /p the usig lemma 3. we have: B C py + for a large eough costat C. If y + < /p the we will use the obvious boud B 2. Therefore if we make sure C 2 we have: B C mi, py + C mi, p b + Above reasoig ca be repeated for A E [Xa C,..., C i ] E [X a C,..., C i ]. I this case we will have y remaiig edges ot yet coected to a with y b, ad takig large eough C : A C mi, C mi, py + p b + 8

Therefore Z i Z i z i where: z i C + C mi, p b + z 2 i C + C 2 b C + C 2 b2 a mi, b2 p b + 2 C + C 2 C + C 2 mip, p u C + C 2 /p p + p u u O + l l/p O p p l u u /p + mi, pu u Usig Azuma s iequality Equatio 2, we have: E [X] /22 PrX E [X] /2 exp 2 zi 2 2 ω l l/p exp exp ωl O l/p Hece with high probability X > E [X] /2 > p l l. I the corollary below we show a lower boud o how may disjoit degree rages we ca take so that each rage has some vertices i it with high probability. Corollary 3.7 If p ωl 3 / ad x o /l 2 l the we ca fid x l ooverlappig rages of degrees of legth R ω l such that i G, p there will be at least K l l/p vertices i each rage with high probability. Proof: Sice: / l ω l l x we ca fid R such that: R ω l l Rx o / l 9

This follows from the geeral theorem that if f og the we ca fid h such that h og ad h ωf. For example, h fg will do. Now just fid x separate rages of legth R aroud with the distace from of the / order o l ad apply the theorem. Now we ca use the corollary to estimate the failure probability of the algorithm. Theorem 3.8 If p /2, p ω l 4 / l l the the probability that the algorithm fails is small, i.e., O α, for every costat α > 0. Proof: Sice: l 4 l ω / l l l 4 ω l l l 2 l l 2 l 2 l o l 2 l l l l o l 2 l we ca fid x such that: x o l 2 l l x ω l l Take ay two vertices a, b i the graph G. Let G G {a, b}. G is a radom G 2, p graph, so accordig to the corollary above, we ca fid x disjoit rages of degrees such that with high probability there exist i G at least K l l /p where 2 vertices with degrees fallig i each rage. If a ad b are to have the same degree eighborhoods, the from theorem 3.5, for every rage both a ad b must be coected to the same umber of vertices i that rage. Sice Kp ω, from lemma 3.4, the probability of that happeig for a give group is at most: O O l l /4 Kp O /4 exp Ωl exp Ωl l Coectios to each group of vertices are idepedet, therefore the probability of a ad b havig the same degree eighborhoods is bouded by: exp Ωl l x exp Ωx l l exp ωl There are fewer tha 2 such pairs a, b ad each pair has same degree eighborhood with small probability. By the uio boud [0, Lemma.2], the probability that ay pair 0

of vertices havig the same degree eighborhood is at most 2 times the above probability which is still bouded by exp ωl O α for every costat α > 0. The algorithm will fail oly if the degree eighborhoods are ot distict for each vertex Step 4. Hece the algorithm will succeed with high probability. The theorems 2., 2.2 ad 3.8 show that our algorithm is correct, rus i liear time ad succeeds with high probability for p ωl 4 / l l. Refereces [] L. Babai, P. Erdös, ad S. M. Selkow. Radom Graph Isomorphism, SIAM J. Computig, 93, 980, 628 635. [2] L. Babai ad L. Kučera, Caoical Labellig of Graphs i Liear Average Time, Proc. of 20th Aual IEEE Symp. o Foudatios of Computatioal Sciece, Puerto Rico, 979, 39 46. [3] L. Babai ad E. Luks. Caoical labelig of graphs, Proc. of 5th ACM Symp. o Theory of Computig, 983, 7 83. [4] B. Bollobás. Radom Graphs, Cambridge Uiversity Press, 200. [5] B. Bollobás. Distiguishig vertices of radom graphs, Aals Discrete Math, 3, 33-50. [6] A. Frieze ad C. McDiarmid. Algorithmic theory of radom graphs, Radom Structures ad Algorithms, 0, 997, 5-42. [7] R. Karp. Probabilistic aalysis of a Caoical Numberig Algorithm for Graphs, Proc. Symposia i Pure Math., 34, America Mathematical Society, Providece, RI, 979, 365-378. [8] D. Kuth. The Art of Programmig: Sortig ad Searchig, Addiso-Wesley, 998. [9] R. Lipto. The Beaco Set Approach to Graph Isomorphism, Yale Uiversity, preprit o. 35, 978. [0] M. Mitzemacher ad E. Upfal. Probability ad Computig: Radomized Algorithms ad Probabilistic Aalysis, Cambridge Uiversity Press, 2005. [] R. Motwai ad P. Raghava. Radomized Algorithms, Cambridge Uiversity Press, 995.