Sei sulla pagina 1di 37

ISOI~[ORFISMO :FRA G R A F I :

U N ALGORITMO E F F I C I E ~ T E P E R T R O V A R E
TUTTI G L I I S 0 3 I O R F I S 3 [ I

~RANCO SII~OVICH

I s t i t u t o di E l a b o r a z i o n e d e l l a Infi)rmaziono del C. IN. R.


Via S. M a r i a 46 - 56100 P i s a

RIASSUNTO. - E' d e s c r i t t a u n a p r o c e d u r a p e r d e t e r m i n a t e t u t t i gli i s o m o r f l s m i e s i s t e n t i fra


d u e graft finiti, n o n o r i e n t a t i , d c b o l m e n t e e o n n e s s i . A d ~,gni n o d e dei graft d a t i sono
a s s o c i a t e l i s t e di a t t r i b u t i che sono i n v a r i a n t i s o t t o isonmrfismo. Gli i n s i e m i dei nodi
dei graft v e n g o n o q u i n d i p a r t i z i o n a t i s u l l a base delle liste di a t t r i b u t i e p e r mezzo
di u n a l g o r i t m o di a f f i u a m e n t o delle r i p a r t i z i o u i . V e n g o n o i n t r o d o t t i i c o n c e t t i di
cella di e q u i v a l e u z a forte e cella di e q u i v a l e n z a debole d i u n a r i p a r t i z i o n e . Viene
d i m o s t r a t o che, so le r i p a r t i z i o n i dcgli i n s i e m i dei nodi dei graft sono c o s t i t n i t e so-
l a m e n t c d a cello di e q u i v a l e n z a forte, l ' i d e n t i t h dolle r i p a r t i z i o u i ~ c o u d i z i o u e ne-
e e s s a r i a c s u f f i c i e n t e p e r l ' e s i s t e n z a di u n i s o m o r f i s m o f r a i gTafi d a t i . I n t a l e case,
si d i m o s t r a che l ' i n s i e m o di t u t t i gli i s o m o r f i s m i fra i graft d a t i h i m m e d i a t a m e n t e
r i c a v a b i l e dalle d u e r i p a r t i z i o n i . So i n v e c e le r i p a r t i z i ( m i dei n o d i c o n t e n g o n o a n c h o
cello di equiw~lcnza debe]e, la p r o c e d u r a d e s c r i t t a o t t i e n e u n a r i p a r t i z i o n e c o s t i t u i t a
d a sole cello di e q u i w d e n z a forte p e r l ' i n s i e m e dei nodi del prim() g r a f o , ed u n iu-
sieme, u n i c a m e n t e d e t e r m i n a t e , di r i p a r t i z i o n i c o s t i t u i t e d a sole c(~lle di e q u i v a l e n z a
fl)rte p e r l ' i n s i e m e di n e d i del s c c o n d o grafo. N o n ~ s t a t e t r o v a t o n e s s u n eoutro-
e s e m p i o alla c o n g e t t u r a cho t u t t e le r i p a r t i z i o n i o t t e n u t e in tale m o d e p e r il s e c e n d o
g r a f o sono i d e n t i c h e a q u e l l a e t t e n u t a p e r il p r i m o grafo. I n o g n i m o d e , ~ facile
o t t c n e r e l ' i n s i e m e di t u t t i gli i s o m o r f i s m i e s i s t e n t i fra d u e graft s c m p l i c e m e n t e scar-
t a u d o le r i p a r t i z i o n i n o n i d e n t i c h e .
II t e m p o r i c h i e s t o p e r o t t e n e r e le r i p a r t i z i o n i d e l l ' i n s i e m c dei n o d i di u n g r a f o b
p r o p o r z i o n a l e , n e l case peggiore, alla q u i n t a p o t e n z a del n u m e r o di n o d i del grafo.
Il t e m p o n e c e s s a r i o p e r d e t e r m i n a r e t u t t i gli i s o m o r f i s m i , d a t e le r i p a r t i z i o n i degli
i n s i e m i dei nodi, d i p e n d e o v v i a m e n t e d a l n u m e r o di tali i s o m o r f i s m i .

ABSTRACT. k p r o c e d u r e is d e s c r i b e d for t h e d e t e r m i n a t i o n o f all i s o m o r p h i s m s , if any~


-

b e t w e e n finite, d i r e c t e d , w e a k l y - c o n n e c t e d g r a p h s . A t t r i b u t e lists w h i c h are i n v a r i a n t


u n d e r i s o m o r p h i s m are a s s o c i a t e d to a n y n o d e of t h e g i v e n g r a p h s a n d p a r t i t i o n i n g s
of t h e n o d e sets a r e d e r i v e d on t h e g r o u n d of t h e a t t r i b u t e l i s t s as ,veil us b y a
302 F. SmOWCH : Isomorfismo fra graft :

partitioning refining algorithm. The concepts of strongly-equivalent cell and weakly-


equivalent cell of a partitioning are introduced. It is shown that the identity of the
partitionings of the node sets of the graphs is a necessary and sufficient condition
for graph isomorphism if the partitionings consist of strongly-equivalent cells only.
In such a case the set of all isomorphisms between the given gr:~phs is shown to
be s~raightforwards derivable. Conversely, if the partitioniogs consist of weakly-
equivalent cells also, the procedure derives one strongly-equivalent cell partitioning
of the node set of the first graph and a uniquely determined set of strongly-equiva-
lent cell partitioning of the node set of second graph: no counterexample has been
found to the conjecture that all parti~ionings obtained for the second graph are
identical to the one obtained for the first graph. However the set of all isomorphisms
between th~ given graphs is easily obtained by disregarding non identical partitio-
nings.
The time required to derive the node set partitionings depends~ at worst, on the
fifth power of the order of the given graphs. The time required to determine all
isomorphisms, given the node sets partitionings, depends of course on the number of
isomorphisms.

1. I n t r o d u z i o n e .

Un grafo ~ d e f i n i t e come u n a c o p p i a di i n s i e m i G (V, E), d o v e V ~ u n


i n s i e m e n o n v u o t o i eui e l e m e n t i s o n o d e t t i nodi (o vertici) ed E ~ u n sot-
t o i n s i e m e (che p u b a n c h e essere v u o t o ) d i V X V ; gli e l e m e n t i di E sono
d e t t i lati e la c a r d i n a l i ~ di V ~ d e t t a ordine del grafo. U n i s o m o r f i s m o di
u n grafo G i (V l, E l) su u n grafo G ~ (V ~, E ~) ~ u n a a p p l i c a z i o n e b i i n i e t t i v a ,
o, dell'insieme Vi suW insieme V 2 tale che (v~ w)E E i se e solo se
(o(v)~ o (w)) E E 2. I n a l t r e parole, u n isomorfismo ~ u n a c o r r i s p o n d e n z a u n o
a u n o degli i n s i e m i di n o d i V t e V ~ che p r e s e r v a le r e l a z i o n i f r a i n o d i
e s p r e s s e d a g l i i n s i e m i di lati E t ed E e. Se e s i s t e n l m e n o u n i s o m o r f i s m o
t r a i d u e graft G i e G~ essi sono d e t t i isomorfi; n e l s e g u i t o i n d i c h e r e m o
q u e s t o f a t t o con la n o t a zione Gi___ ~ G ~.
:Nel p r e s e n t e articolo v i e n e affL'ontato il p r o b l e m a di d e t e r m i n a x e t u t t i
gli i s o m o r f i s m i , se esistono~ fra due graft dati. V e r r ~ t r a t t a t o e s c l u s i v a m e n t e
il case di graft finiti~ cio~ graft il cui i n s i e m e V i~ ftnito e~ d a t e c h e d u e
graft p o s s o n o essere isomorfi solo se h a n n o u n u g u a l n u m e r o di n o d i . sup-
p o r r e m o che i graft G ~ e G 2 a b b i a n o lo s t e s s o o r d i n e . D a t i d u e graft G ~ e
G u finiti~ esiste u n s e m p l i c e a l g o r i t m o e n u m e r a t i v e p e r c o n t r o l l a r e se essi
sono isomorft. E ~ i n f a t t i sufficiente e s a m i n a r e t u t t e le p o s s i b i l i c o r r i s p o n d e n z e
V ~ e V ~ e, p e r ogni c o r r i s p o n d e n z a , c o n t r o l l a r e se le r e l a z i o n i f r a i n o d i
s o n o i d e n t i c h e . L~algoritmo r i c h i e d e u n n u m e r o finite di p a s s i p e r c h ~ Per-
d i n e dei graft ~ finite. S f o r t u n a t a m e n t e il n u m e r o di passi ~ d a t e da n~,
d o v e n 5 l ' o r d i n e dei grali, e ad o g n i p a s s e il t e m p o n e c e s s a r i o p e r con-
t r o l l a r e le r e l a z i o n i i~a i n o d i i~ p r o p o r z i o n a l e a n 2. D i e o n s e g u e n z a Falgo-
un algoritmo o~ichm$e per trovaro tutt~ gl~ $somorfism~ 303

ri~mo e a u m e r a t i v o non pub essere usato per graft con pifi di 10 nodi~ anche
s u p p o n e n d o di p r o g r a m m a r l o sui pifi veloci calcolatori oggi esistenti.
La possibilit.'~ di r a p p r e s e n t a r e per mezzo di graft relazioni fra elementi
fa si che essi trovino larga applicazione nella r a p p r e s e n t a z i o n e dei dati e
che u n eilieiente algoritmo per controllarne l~isomorfismo sia di g r a n d e im-
p o r t a n z a pratica in numerosi campi quali~ per esempio, la chimica~ la do-
c u m e n t a z i o n e automatica, la teoria delle reti. U a problema che sorge nel
campo della chimica i~ quello di sapere se un n u o v o composto chimico
un < ( s o t t o c o m p o s t o , di altri composti contenuti in u n a libreria [1]. I com-
posti chimici sono allora r a p p r e s e n t a t i da graft non orientati (i), i cui nodi
e lati sono etichettati~ e il problema di consultazione della libreria consiste
nel controllare in quali grail presenti in libreria b c o n t e n u t o il grafo del
composto in e s a m e : questo particolare problema ~ detto problema del sotto-
i s o m o r f i s m o . Un problema analogo si incontra nella documentazione automa-
tica dove la s t r u t t u r a - d o m a n d a deve essere confrontata con un dizionario
di s t r u t t u r e [2, 3]. Un grafo pub essere usato anehe per r a p p r e s e n t a r e reti
elettriche [4] e un algoritmo per controllare Pisomorfismo fra graft pub in-
dicare che una data fete i~ gi~ s t a t a b r e v e t t a t a [5].

2. S o l u z i o n i p r o p o s t e p e r il p r o b l e m a d e l l ' i s o m o r f l s m o .

P e r t u t t e le applicazioni descritte nel paragrafo precedente, come per


quelle che si possoao incontrare in altri campi~ l~algoritmo e n u m e r a t i v o
esposto precedentemente si rivela a s s o l u t a m e n t e inadeguato a c a u s a delPor-
dine dei graft da t r a t t a r e e a causa del numero di confronti fra graft che
bisogna effettuare per risolvere un particolare problema. I1 problema di
t r o v a r e un efficiente algoritmo per l~isomorfismo fra graft ~ d u n q u e di grande
i m p o r t a n z a pratica. P e r algoritmo efficiente si intende un algoritmo che
p r o d u c a tutti gli isomorfismi fra due grafi~ se esistono~ in un t e m p o the
sia proporzionale ad una p o t e a z a dell'ordine dei graft. Tale p r o b l e m a non
ha ancora trovato una soluzione gencrale anche se molto lavoro ~ stato
fatto nel campo. W e i n b e r g [6] ha proposto un algoritmo che si applica ai
graft planari 3.connessi(2). R e c e n t e m e n t e Corneil ha proposto un algoritmo
generale basato perb su di una c o n g e t t u r a t h e finora non ha t r o v a t o con-
troesempi [7]. L~algoritmo i~ effieiente per tutti i tipi di graft (il tempo

(~) Un grafo G(V, JE) ~ detto non orientato quando l'esistenza di an lato ( x , y ) ~ E
implica che anehe (y,x)E E; in caso contrario il grafo i~ detto orientato o diretto
(2) Per la definilione di grafo p]anare e 3-connesso vedere il paragrafo 3.
304 F. SIltOvxcn : Izomorftsmo fra graft:

necessario ~ proporzionale alia quinta potenza delFordine dei graft) t r a n n e


che per una particolare elasse di gruff per i quali il t e m p o di elaborazione
pub essere proporzionale a n ~ dove n ~ l~ordine dei graft. Inoltre, se i graft
dati sono isomorfi, l'algoritmo fornisce solo uno dei possibili isomorfismi
h'a i due graft.
Molte ricercbe sono state fatte per diminuire il n u m e r o delie p r o v e
necessarie per t r o v a r e tutti gli isomorfismi, se esistono, fru i due graft dati.
Queste ricerche h a n n o condotto ad ulgoritmi euristici, che si upplicuno con
successo nella maggior parte dei casi, m'~ che d i v e n t a n o e n u m e r a t i v i e
quindi inefftcienti in particolari situazioni [1, 8, 9]. Gli algoritmi euristici
s f r u t t a n o condizioni necessarie per l~esistenza di un isomorfismo: tall con-
dizioni sono in genere propriet'~ dei nodi invarianti per isomorfismo. Sfrut-
t a n d o tall propriet~ si ottiene una ripartizione dei nodi r a g g r u p p a n d o in
celle i nodi che godono delle stesse propriet,~. I nodi di un grafo che godono
di certe propriet,~ possono corrispondere solo a quei nodi di un altro grafo che
godano della stesse proprieth. Se quindi si ot~engono C~, C2,..., C~ celle di
c
nodi, ciascuna costituita du n~, n~, ..., nc nodi, con Z n~ ~ n dove n ~ l'ordine
i~l
r

del grafo, il n u m e r o di corrispondenze possibili ~ dato du /-/(hi!) e questo


n u m e r o i~ minore di n ! se c ~ 1.
Nel presente articolo viene descritgo un algoritmo per l'isomorfismo tra
graft che si b a s a su di un algoritmo per ripartire l'insieme dei nodi. Il
t e m p o di eluborazione necessario per ripartire i nodi ha un limite superiore

S ~ l,'lns-+-kun4~ - t e r m i n i che dipendono ds potenze di ~ con


esponente minore di 4.

L ' a l g o r i t m o per l'isomorfismo si upplica sin ai graft orientati che a


quelli non o r i e n t a t i ; esso verr~ descritto s u p p o n e n d o che i graft di ingresso
siuno orientati, in quanto quelli non orientati s ~ 1 7 6un cuso partico]are.

3. D e s c r i z i o n e g e n e r a l e .

P r i m a di dare una descrizione generale dell'algoritmo descritto nei pa-


ragrufi seguenti, ~ utile p r e m e t t e r e alcune definizioni.
Se G ( V , E ) ~ un grafo orientato, il grado di uscita di un nodo v~E V
i~ il n u m e r o di ]ati il eui primo nodo ~ v~, m e n t r e il grado di ingresso di
v~ d iI n u m e r o di lati il cui seeondo nodo ~ v~. Un grafo in cui t u t t i i nodi
h a n u o uguale grado di ingresso e uguule grado di uscitu ~ detto regolare;
si r i c a v a i m m e d i a t a m e n t e che in un grafo regolare i nodi hanno g r a d o di
un algoritmo ~ffieiento per trovaro tutt~ gli isomorfismi 305

i n g r e s s o u g u a l e a l g r a d o di u s c i t a . U n g r a f o completo ~ u n g r a f o r e g o l a r e
i n cui il g r a d o d e i n o d i b u g u a l e a ( n - - 1 ) ( o p p u r e b u g u a l e a n se si am-
m e t r e F e s i s t e n z a di anelli, ciob che h a n n o il p r i m o e i l s e c o n d o n o d o coin-
c i d e n t i ) d o v e n ~ F o r d i n e d e l grafo. _Nel c a s o di graft n o n o r i e n t a t i si dice
grado di u n n o d o il n u m e r o di l a t i i n e s s o i n c i d e n t i . U n sottografo M ( V ' , E ' )
di un grafo G ( V , E ) ~ un grafo tale che V'C_ V e E ' ~ E f l ( V ' X V').
U n sottografo di G ( V , E ) generato da un insieme di nodi V " ~ u n s o t t o g r a f b
d i G il cui i n s i e m e dei n o d i ~ V ' e P i n s i e m e dei l a t i ~ f o r m a t o d a t u t t i
q u e i l a t i di G c h e c o n n e t t o n o d u e n o d i di V ' , cio~ E ' = E fl(V'X V').
L e u l t i m e d u e definizioni sono t r a t t e d a H a r a r y [10] m e n t r e la d e f i n i z i o n e
di s o t t o g r a f o d a t a d a B e r g e [11] c o i n c i d e con q u e l l a di s o t t o g r a f o g e n e r a t o
d a u n i n s i e m e di n o d i . U n semicammino i n u n g r a f o orient~Lto ~ u n a se-
q u e n z a di l a t i ( e i , e 2 , . . . , e m ) t a l i che o g u i l a t o ei, con 1 < i < m, h a u n
n o d o in c o m u n e c o n il l a t o e~_l e u n n o d o in c o m u n e con il l a t o e~+~. I
l a t i che c o m p a i o n o n e l l a s e q u c n z a n o n d e v o n o e s s e r e a n e l l i . U n a s e q u e n z a
di l a t i ( e ~ e ~ , . . . , e,~) t a l e che p e r o g n i l a t o e~, con 1 ~ i < m, il s e c o n d o
n o d o di e~ c o i n c i d e con il p r i m o n o d o di ei+l e d e t t o u n cammino c h e con-
n e t t e il p r i m o n o d o d i e t al s e c o n d o n o d o d i e,~. L a lunghezza di u n semi-
c a m m i n o o di u n c a m m i n o ~ u g u a l e al n u m e r o di l a t i d e l l a s e q u e n z a . U n
g r a f o i~ d e t t o debolmente connesso se p e r o g n i c o p p i a di n o d i v~, t,i~ V e s i s t e
a h n e n o u n s e m i c a m m i n o (e~, e 2 , . . . , e , ~ ) t a l e che v~ c o i n c i d e con il p r i m o
n o d o d i e I e vi c o n il s e c o n d o n o d o di e,~. U n g r a f o ~ i n v e c e d e t t o forte-
mente conncsso se d a t i d u e n o d i q u a l u n q u e v ~ v)E V e s i s t e a l m e n o u n cam-
m i n o c h e c o n n e t t e v~ a vj (e q u i n d i a n c h e u n o che c o n n e t t e v j a vi). D a l l e
d e f i n i z i o n i si r i c a v a s u b i t o che se u n g r a f o ~ f o r t e m e n t e c o n n e s s o , ~ a n c h e
d e b o l m e n t e c o n n e s s o , m e n t r e n o n v a l e il v i c e v e r s a . Si n o t i che n e l caso di
g r a f o n o n o r i e n t a t o le nozioni di g r a f o d e b o l m e n t e e f o r t e m e n t e c o n n e s s o
c o i n c i d o n o . D e f i n i a m o come coml~onenti debolmente (Jbrtemente) connesse di
u n g r a f o G (V, E ) i s o t t o i n s i e m i m a s s i m a l i di V t a l l cite f r a ogtli c o p p i a di
u n s o t t o i n s i e m e e s i s t e s e m p r e a l m e n o u n s e m i c a m m i n o (cammino). D i con-
s e g u e n z a il s o t t o g r a f o g e n e r a t o d a u n a c o m p o n e n t e d e b o h n e n t e ( f o r t e m e n t e )
connessa ~ un grafo debolmente (fortemente) conuesso(8). Un grafo non
o r i e n t a t o ~ d e t t o h connesso se c o n t i e n e a l m e n o h - I - 1 n o d i e se n o n p e r d e
l a s u a p r o p r i e t ~ di e s s e r e c o n n e s s o r i m u o v e n d o h n o d i q u a l u n q u e d e l grafo.
S e u n g r a f o ~ h-connesso m a n o n (h ~ - 1 ) - c o n n e s s o ~ e s s o ~ d e t t o a v e r e con-

(3) Senza diminuire la generalit~ della trattazione, si pub limitare il problema del-
l'isomorftsmo al casodi graft debolmente connessi perchg il problema nel caso di graft non
connessi si seompone negli equiva]en~i settoproblemi relativi alle componenti debolmente
conne$se.
306 E. SIROVICH: Isomorfi~mo fra graft :

nettivith ugnale a h (4). U n grafo ~ detto play, are quando pub essere rap-
p r e s e n t a t o su di un piano rappresentando i nodi con p u n t i distinti e i lati
con curve semplici che congiungono i nodi in modo tale che due lati qua-
lunque si incontrino solo nei nodi (se hanno uno o due nodi in comune).
U n automorfismo di un grafo G ~ un isomorfismo di G su se stesso. Un
grafo ~ detto automorfo se ammette almeno un automorfismo diverso dalla
identitY. Diremo nel seguito che un grafo G (V, E) ~ transitivo sui nodi (pill
s e m p l i c e m e n t e : transitivo) se, dati due nodi qualunque v~, vie V, esiste al-
meno un automorfismo di G che applica vi su vj. U n sottografo H ( V ' , E ' )
di un grafo G (V, E) ~ detto transitivo s e e solo se, dati due nodi q u a l u n q n e
v~, vtE V', esiste almeno un automorfismo che applica v~ su vj.
Siano G t ( V ~ , E t ) e G2(V~,E ~) i graft di cui si vogliono ottenere gli
isomorfismi, se esistono. I1 mctodo seguito consiste nel ripartire gli insiemi
V ~ e g 2 basandosi su un insieme di propriet~ dei nodi che i~ descritto,
come si vedr~ nei paragrafi 4 e 5, da liste di attributi associate a ciascuu
nodo. L'insieme dei nodi di un grafo viene ripartito a s s e g n a n d o ad una
stessa celia della ripartizione tutti e soli nodi che h a n n o le stesse proprietY,
cio~ che h a n n o uguali liste di attributi. Ogni cella ~ percib caratterizzata
dalle liste di attributi dei nodi ad essa assegnati. Siano V~1 (1 ~ i ~ P i ) le
celle della ripartizione delFinsieme di nodi V 1 e V~2 (1 ~ i ~-P2) le celle
della ripartizione delFinsieme V2. Verr~ dimostrato nel paragrafo 5 che
condizioni necessarie perchg G ~ ~ G ~ sono : a) p~ -----_p.z, cioi~ si o t t e n g a n o
lo stesso n u m e r o di celle; b) le celle delle due ripartizioni siano a due a
due identiche, cioi~ abbiano lo stesso n u m e r o di nodi e la stessa lista di
attributi.
Definiamo ora come riLpart~zione per automorfismo una ripartizione dei
nodi di un grafo G ( V , E ) che si ottiene nel modo s e g u e n t e : due nodi vi,
vie V sono assegnati alla stessa cella s e e solo se esiste un automorfismo
di G che applica v~ su vi. Suppouendo che l'algoritmo descritto nel para-
grafo 5 generi una ripartizione coincidente con la ripartizione per automor-
fismo anche nel caso di graft non connessi, si pub dimostrare che ]e condi-
zioni (a) e (b) descritte precedentemenLe sono anche sufficienti perchg
G t ~ G~. I1 lavoro di Corneil si basa sulla c o n g e t t u r a (da lui n o n dimo-
strata) t h e la ripartizione che egli ottiene coincida con la ripartizione per
automorfismo [7]. ~ o n ~ stato dimostrato che l'algoritmo di ripartizione de-
scritto nel presente articolo produce u n a ripartizione coincidente con quella
per automorfismo. Poich~ oltre a sapere se due graft sono isomorfi, si desi-
derano conoscere, in caso affermativ% anche t u t t i gli isomorfismi fra i due

(4) Un grafo i~ detto totalm~nte sconnesso se l'insieme dei lati ~ vuoto.


un algoritmo efficiente pvr trovare tutti gli isomorfismi 307

graft, la ripartizione fra i nodi ~ in ogni caso, uno s t r u m e n t o per ridurre


il n u m e r o di possibili corrispondenze fra i nodi dei due graft : nel puragrafo
6 verri~ descritta un~ procedura per r i d u r r e ulteriormente tale numero.

4. L a l i s t a di a t t r i b u t i p r i n c i p a l e .

Sia G ( V , E ) un grafo finito, debolmente eonnesso e sia v ~ V (i = 1,...,n)


un q u a l u n q u e nodo del grafo. I n d i e h i a m o con C~C V Vinsieme di nodi vj
tall che esiste almeno un cammino che conaette v, a vj oppure vj a v~. I
c a m m i n i di lunghezza minima definiscono la distanza d~j del nodo vj dal
nodo vi e la distanza dj~ del nodo v~ dal nodo vj. Si osservi che per un
dato nodo vie C~ pub accadere che sia definita una sola delle due distanze
oppure ambedue. I n t r o d u c i a m o una successione di insiemi F [ (con d
0~ 1~ ... , n - 1), associata al nodo v~, cos'l definita :

F,~ [v,}
F~'z---{vj[vjEc~; d~j----d} per d> O.

F [ ~ Vinsieme dei nodi del grafo che h a n n o distanza d da v~; si conviene


che ciascun nodo del grafo ~ a distanza nulla da se stesso. Poichd U F [
d
pub al massimo coincidere con V. esiste a t - ~ n - - 1 tale che Ft a :~ Q per
d ~ al e -F d ~ ~ per d > a~. In modo analogo definb~mo la s e g u e n t e suc-
cessione di insiemi H ~ (con d ~ 0, 1 .... , n ~ 1):

B, ~ = Iv,}

H[={vj[vr dj,=d} per d>0.

Con un~argomentazione analoga alla p r e c e d e n t e si ottiene ehe esiste b ~


n - - 1 tale che H~:~= • per d ~ b i e H ~ = Q per d ~ b i .
Facendo uso delle successioni F ~ e / t ~ definiamo in modo ricorsivo
due suceessioni di insiemi /)~e e R d. La successione _P~ (con d ~ 1~ 2~...
... ~ai-~-1) g definita nel modo seguente :

~:~id = {Vii Vj~ el; dij ~ ~ ; ] v h ~ ~i d-1 tale the (vh, vj)~ E].

I n altre parole, l~insieme P~ b costituito da quei nodi vie Ci la cui distanza


da vi b minore d i g che rieevono un lato da almeno un nodo la cui distanza
da vi b e s a t t a m e n t e d - 1 (e che quindl a p p a r t i e n e a F ~ - I ) . L a successione
308 F. Smowcn : Isomorfismo fra graft :

Q~ ~ definita a n a l o g a m e n t e :

Qd = ivj] vjE C,; dj, < d ; 3vh E Hie-1 tale che (~'h,Vj) EE}.

M o s t r i a m o ora che, per ogni i e per ogni d, le cardinalitA di ~ g ~ H i e,


p d Q~ sono i n v a r i a n t i per isomorfismo. S u p p o n i a m o che esista un isomor-
fismo di G i ( V t , E ~) su Ge(E ~, V ~) che applica, per esempio, il nodo v~E V t
sul nodo v~E V 2. Tale isomorfismo applichers i nodi a p p a r t e n e n t i a F f , H~e,
p ~ , Q e su nodi a p p a r t e n e n t i a ~ ' ~ , H ~ , p e, Qe, r i s p e t t i v a m e n t e , perchd
o v v i a m e n t e l'isomorfismo conserva le relazioni di incidenz% d i s t a n z e fra
nodi, esistenza di cammini ecc. ~Ne consegue c h e l a cardinalitA dei s u d d e t t i
insiemi sono i n v a r i a n t i per isomorfismo per cui una lista di a t t r i b u t i asso-
ciata ad ogni nodo vie V pub essere definita facendo uso di tali cardinalith.
I n d i c h i a m o con f i g , h~-~,/0~e , q~ le cardinalith degli insiemi F d , Hi ~ , Pi g , Q~,
r i s p e t t i v a m e n t e . L a lista ~rinci2ale di attributi ~ associata al nodo vi
cosi definita :

L, = [ a l , b,,f,~,... ,J~~ h,~, ..., h,~', ,~, ... ,pT'+~, q~, ..., q,~'+~]
dove i valori a i e bi sono stati introdotti per indicare la l u n g h e z z a della
lista di a t t r i b u t i .
In Fig. 1 ~ r a p p r e s e n t a t o un grafo G ( V , E ) ; le successioni Fi g , H i e,
Pi g, Q~ e le corrispondenti liste principali Zi sono c o n t e n u t e nella Tab. 1.

V4

Fig. 1. - L~ ripartizione in base alle liste Li dell'insieme dei nodi


di questo grafo ~ completa.

Le successioni di insiemi 2'ig e _Pig possono essere o t t e n u t e nel s e g u e n t e


modo. P e r ogni vie V si immagini un: processo di propagazione discreto
lungo gli archi del g r a f o : ogni arco v e n g a percorso dal fronte d~onda in
un t e m p o unitario e solo nella direzione indicata d a W o r i e n t a m e n t o deWarco.
L ' i n s i e m e D~ ---~ Fi g [J Pi g ~ l~insieme dei nodi r a g g i u n t i dal f r o n t e d~onda
al t e m p o t ~ d. I nodi a p p a r t e n e n t i alFinsieme Pi ~ sono quelli in cui l'onda
s i r spenge a perchg tali nodi sono gi~ stati r a g g i u n t i dal processo di pro-
un algoritmo effciente per trovare tutti gli isomorfismi 309

T A B E L L A 1.

i , : = I~',}; e} = ~ ; i,? = {~,1; P~= @;

ql={~,i}; Q~=o; Q~=ivi};

L i ~- [3~ 2, 1, 1, 1, 1, 1, 1, O, I, O~I, O, I] ;

F ~ = ivy}; C = 1~31; F : = {,v,, ~,~};

i,~ = o ; p: = @ ; P2 = ivy, ~ } ;

H~ = {~1; ~:= iv,}; H~~ = {~};

q~ = @ ; V-~ = h,l}; q~ = [v~};

L 2 ~ [2, 2, I; 2~ 1~ I, O, O~2, O, 1, 1 ] ;

P~ = + ; P2 = h'31 ;

B~ H~ = {v~l;
q~ = @ ; Q~ = @

.L 8 ~ [2, 2, 2, 1, 1, 1, 0, 1, 1, 0, 0, 2] ;

F ~ = {v,};
P4~ = @ ;

H2 = {v,}; " : = {.3}; " : = iv21; B : = iv, l;

-L4 ~ [0~ 3, 1, 1, 1, O, O, O, O, 2].


310 F. SIaowcn : Isomorfismn fra graft :

p a g a z i o n e in qualehe istante precedente. I nodi a p p a r t e n e n t i a F ~ costitui-


scone invece le sorgenti di propagazione dalle quali si r i c a v a il fronte
d ' o n d a all~istante t ' = d--~ 1. O v v i a m e n t e un node del fronte d ' o n d a all'i-
s t a n t e t' pub essere raggiunto da pi~ raggi p r o v e n i e n t i da s o r g e n t i d i v e r s e :
c o n v e n i a m o ehe, in tale node, il fronte d~onda si spenga. Le suecessioni
e Q~ possono essere ottenute in mode analogo con la differenza che il
processo di propagazione percorre gli archi del grafo in direzione contraria
a W o r i e n t a m e n t o degli archi.

5. R i p a r t i z i o n e d e l l ' i n s i e m e dei nodi.

Come m o s t r a t o nel paragrafo precedente, la lista principale di a t t r i b u t i


associata ad un node ~ i n v a r i a n t e per isomorfismo o quindi P u g u a g l i a n z a
delle liste di due nodi ~ condizione necessaria perch4 esista un isomorfismo
che applichi il primo node sul secondo o viceversa. L~insieme dei nodi di
u n grafo viene ripartito assegnando alla stessa cella i nodi che h a n n o iden-
tiche liste principali di attributi. I n o l t r e tali celle vengono ordinate, in
m o d e che la ripartizione cosi o t t e n u t a possa essere affinata, se necessario,
da u n a o p p o r t u n a procedura che verr~ descritta nel seguito.
Sia G ( V , E ) un grafo diretto, finite, siano Z~, i - - - - 1 , . . . , n , le liste
principali di a t t r i b u t i associate ai nodi vi. Le liste JSi possono essere ordi-
nate lessicograficamente e i l lore o r d i n a m e n t o induce un o r d i n a m e n t o sui
corrispondenti nodi vl. Useremo nel seguito la notazione vj ~ v~ per indicare
che il node v~ precede nelPordinamento il node vj e la notazione vj ~ v~ per
indicare il f a t t o che i nodi v j e v~ h a n n o liste di a t t r i b u t i identiche. La ri.
partizione dell'insieme V di nodi i~ o t t e n u t a nel m o d e s e g u e n t e : essendo
date n celle vk (con k ~ O, 1, ... , n - - 1 ) , i nodi che hanno liste di a t t r i b u t i
identiche sono assegnati aUa stessa cella Vk, dove k ~ uguale al numero
dei nodi vie V tali che se v~ i~ un q u a l u n q u e node assegnato alla cella Vk
si ha v j ~ v ~ .
D i r e m o c h e l a ripartizione i~ completa quando Vk =~: ~ per 0 - ~ k ~ n - - 1.
T u t t i i nodi del grafo r a p p r e s e n t a t o in Fig. 1 h a n n o liste principali di
a t t r i b u t i distinte, come ~ riportato nella Tab. 1 ; la ripartizione dei nodi
che si ottiene con la procedura descritta i~ d u n q u e completa.
Quando esiste invece u n a celia cui sono a s s e g n a t i pih di u n node la
ripartizione ~ detta incompleta ed i~ necessario t e n t a r e un affinamento della
ripartizione. Osserviamo che la ripartizione o t t e n u t a in base alle liste prin-
cipali di a t t r i b u t i ~ invariante per isomorfismo in quanto tali liste sono
i n v a r i a n t i per isomorfismo.
un algor$tmo effioiente per trovare ttttti gli isomorfismi 311

D e s e r i v i a m o ora Palgoritmo di a~finamento. Tale a~,goritmo si b a s a sulla


ripartizione dei nodi gi~ ottenuta e sulle successioni di insiemi associate a
c i a s c u a nodo del grafo. Lo scopo dell~algoritmo b di i n t r o d u r r e un ordina-
mento, che sia i n v a r i a n t e per isomorfismo, fra nodi assegnati ad una stessa
cella in modo da poter riassegnare tall nodi dividendoli fra pifi celle.
I n n a n z i t u t t o introduciamo la n o m e n c l a t u r a necessaria a descrivere tale
algoritmo. I n d i c h i a m o con
Z~ = [a~ , b~ , ./~ , .... f 2 ~ , h~ . . . . , h ~ ' P~ , ... , p ~ + ~ , q~l , .... qkbk+l~]

la lista principale di a t t r i b u t i associata ai nodi assegnati alla cella V~ nella


ripartizione a t t u a l e ; siano n~ i nodi assegnati a tal~ cella. Consideriamo il
generico nodo v~ assegnato alia celia V~ e siano _Fid, Hi d, -t)id~ Qdl le suc-
cessioni di insiemi associate a tale nodo. I n d i c h i a m o con . ~ = [2~]] la lista
di insiemi associata al nodo v~ cos~ definita :

~ = F~ per l ~j~ak,
~ = H~ - ~ per ak ~- l ~ j ~ a~ -4- b~ ,
2~ = P~-(~+~) per ak -~- ak -~ 1 ~ j ~ 2ak -4- b~ -4- 1,
. ~ = Qi~-(2%+b~+:) per 2a~ ~ bk -{- 2 ~ j ~ 2a~ -4- 2bk --~ 2.
Ciascun elemento della lista ~ 1 ~ j ~ 2 (ak-~-bk)-~-2, i~ un sottoinsieme
di V. La cardinalit'~ di ciascun sottoinsieme non dipende dal nodo v~ perchd
i nodi a s s e g n a t i alla stessa cella h a n n o identiche liste di a t t r i b u t i . Tndi-
chiamo d u n q u e con l~ la cardinalit~ dell'insieme . ~ . Siano x] ~ (1 ~ r ~ l~)
i nodi a p p a r t e n e n t i alPinsieme ./2~ e indichiamo con co(x] ~) l~indice della
cella a cui ~ assegnato~ nella ripartizione attuale~ il nodo x~~. ]urine sia
D ] la lista~ d e r i v a t a daWinsieme ./2[~ costituita dagli indici delle celle a
cui sono stati assegnati i nodi x] ~ con r ~ 1~ ... ~li1~ cio~:

~ = [o) (x~)] con 1 ~ r ~ lj .


L~algoritmo di affinamento della ripartizione ~ il s e g u e n t e :

A l g o r i t m o I.
P a s s o 1. Si pongono Findice k uguale a zero e Pindice j uguale a 1.
P a s s o 2. Si esamina la cella Vk della partizione attuale. So ~k ~ 1
oppure so j < 2ak -~- 2b~ -~ 2~ si esegue il P a s s o 4 ; a l t r i m e n t i si considerano
gli insiemi ./~] delle liste di insiemi associate a ciascun nodo vi della cella
Irk. Si r i c a v a n o le corrispondenti liste D] in base alla ripartizione attuale
e si ordinano gli elementi di eiascuna lista ~ in senso decrescente otte-
nendo coal delle liste (internamente ordinate) ~ . Se t u t t e le listc ~ ] sono
identiche, si esegue il Passo 4; altrimenti il P a s s o 3.
312 F. SlaOWCl~ : Isomorfismo fra graft ;

P a s s e 3. Sia V ' Finsieme di nodi assegnati a V~ nella ripartizione at-


tuale. Si ordinano i nodi vi E V" ordinando lessicograficamente le corrispon-
denti liste ~ { . La ripartizione attuale viene afiinata r i a s s e g n a n d o i nodi
viE V ' : vi viene assegnato alla cella Vk,, dove Pindice k' 6 calcolato som-
mando aU'indice k il numero di nodi v, E V ' tali che c~ < vi nelPordinamento
di V ' a p p e n a ottenuto. Questo riassegnamento dei nodi di V' definisce una
n u o v a ripartizione che diventa la ripartizione attuale. Se ci sono ancora
celle v u o t e nella ripartizione attuale, si esegue il P a s s e 1 ; altrimenti Fal-
goritmo termina.
P a s s e 4:. L~indice k viene incrementato da 1. Se k :~= n, si esegue il
P a s s e 2, altrimenti l~indice j viene incrementato di 1. Se j = 2A-I-2B-~-3,
dove A ~ max {ak} e B = max {b~}, l'algoritmo di af[inamento t e r m i n a ; al-
trimenti Pindice k viene posto uguale a zero e il P a s s e 2 viene n u o v a m e n t e
eseguito.
~ e l l a Fig. 2 6 mostrato lo schema a blocchi delFalgoritmo di afi]na-
mento.

] k--~ L

.2. .2bk.2 ?>si IrL k--- ]


t ~176
OGNI v i s Vk ,,. Isi

k--0 J

. |no .
J CALCOLO LA NUOVA ~ I SONO ANCOR.A~
RIPARTIZIONE ATTUALE [ ~x~ELLEVUOTE? /
1,i
Fig. 2. - Schema a bIoochi de]1'AIgoritmo I.
un algoritmo ~ffioie~te_per trovare t~ttg gl~ isomorfismi 313

Si consideri il grafo mostrato in Fig. 3 ; gli insiemi associati ai nodi


e le liste di '~ttributi sono riportati in Tab. 2, la procedura di ripartizioue
v2 v3

v~ v4 vs
]fig. 3. - La ripartiziono fin'fie dell'insiomo dei nodi di questo gr:lfl)
i~ complete.

basata sulle lists di attributi produce la seguente ripartizione :

V 4 ~ [vi}

V 3 ~ Iv4}

V2~ G

v0 = Iv l.

L~Algoritmo I deve riassegnare solo i nodi vu c v3 .


Si calco]ano ~ e ~ e si ottengono ~ =. [ 1 ] e ~ '3 ~ [3] ; quindi va
viene assegnato alla celia V2 e v~ alla celb~ Vi e la ripartizione risulta
completa.
L ' A l g o r i t m o I termina in un numero finito di passi. Infatti si torna ad
eseguire il Passo 1 solo quando ~ stata affinata la ripartizione e, essendo
il n u m e r o di cells finito in quanto il grado i~ finito, cib pub accadere solo
un n u m e r o finito di volte.
L~algoritmo di ripartizione dei nodi di un grafo ~ d u n q u e il seguente.

Algoritmo II.
P a s s o 1. Per ogni nodo vi del grafo G (V, E ) si determinano gli insiemi
associati Fi d, H ~ , Pi d, Q~ e si calcolano la lista principale di attributi
Zi e la lista .~i.
Passo 2. Si ordinano i nodi dsl grafo ordinando lessicograflcamente le
liste Z i . I nodi che hauno uguale lista principale di attributi /~ sono as-
segnati da una stessa cella ~ calcolato nel modo s e g u e n t e : sia v~ un qua-
314 F. S~ovmH : I,o~orfi..r~o fra graft 9

TABELLA 2

9"? = {v,}; F : = ivy}; _r7 = Iv~l; F2 = Iv~l;


e~=o; F?=Q; e ? = {v=}~

Qi= e;
Z l -----[3, 0, 1, 1, 1, 0, 0, 0, 1, 0] ;

/':= ~ ; t'2 = I'=/;

Q~ = Q ; q.~ = o ; q.~ = ivy, vs);


L~ -----[2~ 2, 1, 1, 2, 2, 0, 0, 1, 0, 0, 2] ;

F ~ = {v~}; ~? = iv,}; F~" = ivd;


,')=Q; i.?=e; .e~={~=l;
L~0 1

L a -----[2, 2, 1, 1, 2, 2, O, O, 1, O, O, 2] ;

F2 = {v4}; ~2 = {v~}; ~2 = {v3};


p:=~; e:=o; e:=t~l;

8 2 = {,,.}; ~r: = {~,,,,~}; z : = {~}; ~2 = I~,};


QI=e; Q~={.d; q~={~.}; Q',= 0 ;
L 4=[2~3~1~1;2~1~1~0~0:1~0~1~1~0];

8 2 = {vs};
Q~-:G;
L~ ---- [2, o, 2, 1, o, 1, 1, o].
ua algoritmo offio~ent* per trovarr tutti gli isomorfismi 315

lunque node assegnato alla cella V~: k i~ uguale al numero dei nodi vie V
tall che vj ~ v~.
Passe 3. Si esegue PAlgoritmo I sulla ripartiziono o t t e n u t a ul P a s s e 2.
La ripartizione o t t e n u t a con tale algoritmo ~ la ripartizione finale.
L~Algoritmo I viene applicato solo se esiste una ~ella della ripartizione
attuale ehe non sin vuota. Altrimenti la ripartizione o t t e n u t a al P a s s e 2 i~
gi~ la ripartizione finale.
Dimostriamo era il seguente teorema.

TEOREN~ 1. Sin G ( V , E ) u a grafo finite e sin ~ la ripartizione finale


delFinsieme dei nodi. La ripartizione ~ ~ i n v a r i a n t e per isomorfismo.

t)rova. Come ~ state gi~ osservato nel w 4, la lista principale di attri-


buti associata al node di un grafo i~ invariante per isomorfismo~ quindi ]a
ripartizione dei nodi o t t e n u t a in base a tali liste ~ invariante per isomor-
fismo. L~Algoritmo I riceve come dati di ingresso oltt'e alia ripartizione in
base aim liste prineipali, anche le liste di attributi ~ / . Le liste 2 / sono
invarianti per isomorfismo. Infatti le cardinalit,~ degli insiemi -V~d , H i a , P ~ ,
Q~ soiio invariaiiti per isomorfismo e le liste 2 / sono o t t e n u t e sostituendo
ai nodi, che appartengono a Fi ~, Hi ~, t)i g, Q$, gli indici delle cello cui
tali IIodi sono assegnati nella ripartizione attuale, i quali sono invariaiiti
per isomorfismo. D u n q u e l'Algoritmo I agisce su dati invarianti per isomor-
fismo e poich6 i singoli affinamenti dipendono solo da questi dati, la ripar-
tizione finale ~ invariante per isomorfismo. Q. E. D..
Si noti che l'automorfismo ~ un particolare tipo di isomorfismo e quindi
la ripartizione finale deWinsieme dei nodi i~ invariante per automorfismo.
L a ripartizione per automorfismo ~ dunque un affinamento, eventualmente
banale, della ripartizione o t t e n u t a dalFAlgoritmo II. Non i~ state dimostrato
c h e l a ripartizione finale coincide con la ripartizione per automorfismo.

6. Proprieti~ della r i p a r t i z i o n e finale.

Siano G i (V i, E t) e G z ( V ~ , B ~) due graft finiti di uguale ordine. Ap-


plicando PAlgoritmo I I ai due graft si ottengono le ripartizioiii finali dei
due insiemi dei nodi che indicheremo con

Q~' :-{V~' l i : O , . . . ( n - 1 ) } e c~2:{V2ti:o,...(n_l)},

rispettivamente. Ciaseuna eell~ Vi delle due ripartizioni 6 deseritta dalla


lista principale di attributi /5i e dalle ]iste seeondarie di a t t r i b u t i ~ / pre-
316 F. SmOV[CH : I~omorfismo fl'a graft :

cedentemente descritte. Diremo che due celIe Vi: e V~ sono uguali (indicato
con V~~--~ V~) s e e solo se le seguenti condizioni sono s o d d i s f a t t e :
i) le due celle contengono un uguale numero di n e d i ;
ii) la lista Z~ ~ identica alla lista L~ (se le celle non sono v u o t e ) ;
iii) le liste ~ e ~ sono identiche per ogni valore di j (se le celie
non sono vuote).
Si noti che~ per la condizione (ii), le liste ~ ) sono definite per t u t t i e
soli i valori di j per i quali sono definite le liste O ~ . Diremo che due ri-
partizioni ~ i e Q~z sono uguali (indicato ~ i ~ Q~) se e solo se Vi i ----- Vi e
per 0 ~ i ~ ( n - 1). Si dimostra il seguente teorema.

TEORE~A 2. Siano G l ( V i , E l ) e G 2 ( V 2 ~ E ~) due graft finiti, e siano


~i e ~ le ripartizioni finali dei rispettivi insiemi di n o d i ; condizione
necessaria perch~ G ~ ~ Gu e che ~ ~-- ~ u .

Prova. P e r il Teorema 1, le ripartizioni finali sono invarianti per iso-


morfismo. Quindi~ se esiste un isomorfismo di G l su G 2, la ripartizione che
si ottiene suIFinsieme di nodi G~ ~ la stessa che si ottiene sni nodi di G i.
Q.E.D..
Segue dal Teorema 2 ehe un primo passo delPalgoritmo per ottenere
gli isomorfismi fra due graft sarh quello di calcolare, con FA_lgoritmo II,
le ripartizioni finali ~ i e c~r~2 e controIiare se Q ~ i _ - - - ~ . I n caso negativo~
i due graft non sono isomorfi. Se . ~ i _ ~ Q~2 ~ necessario un ulteriore esame.
P e r il Teorema 1~ la rip~rtizione finale dei nodi di un grafo ~ i n v a r i a n t e
per isomorfismo~ quindi un qualunque isomorfismo fra G i e GU~ se esiste,
u n a biiezione che app!ica i nodi di V: assegnati alla celia Vi: sui nodi di
V 2 assegnati alla cella V~~, per 0 ~ i ~ (~ - - 1). Diremo che F u g u a g l i a n z a
delle due ripar~izioni finali defiuisce un certo n u m e r o di possibili biiezioni
che godono della proprieth suddetta. Se ni ~ il numero di nodi assegnati
alia i e s i m a cella delle ripartizioni, il n u m e r o di biiezioni di Vi su V ~ che
n--1
possono essere isomorfismi di G i su G ~ ~ s T/ (~!). 5Ton t u t t e queste
i~0
biiezioni sono degli isomorfismi (e questo ~ veto anche nel caso che le ri-
partizioni coineidano con le ripartizioni per automorfismo) e d u n q u e sarebbe
necessario effettuare Zr prove per trovare tutti gli isomorfismi di G ~ su G ~.
I1 n u m e r o di prove da effettuare pRb e s s e r e ancora ridotto, s f r u t t a n d o sem-
plici propriet~ dei nodi assegnati ad una stessa celia.
L~Algoritmo I I pub essere considerato una definizione (costruttiva) di
u n a relazione di equivalenza fra i nodi di un g r a f o : le celle della riparti-
zione finale forniscono quindi le classi di equivalenza delFinsieme dei nodi
un algoritmo efficSe~tc !~er trocarr tutti gl~ ~somorfismi 317

rispetto a tale relazione di equivalenza. L~equivalenz~ fra due nodi 5 co~l-


seguenza della uguaglianza delle liste di attributi ad essi associate. Due
nodi viTvjE V sono detti fortemente equivalenti se ~ - _ F j 1, H i ~ - - H j 1 e
p~----pj~. Se i nodi v~ e vj sono assegnati dalFAlgoritmo I I alla stessa cella
ma ~i 1 ~ F j 1 7 oppure H / I ~ H j 1 oppure p~:~=p) 7 allora i nodi v, e vj sono
detti debolmente equivalenti. Infine se i nodi assegnati ad una cella sono
tutti (a coppie) fortemente equivalenti, la classe di equivalenza individuata
daIla cella sar~ detta elasse di equivalenza f o r t e e 7 per brevitfi, 7 ],~ cella sar~
dett~ celia di equivalenza forte. (Si noti che le celle che contengono un solo
nodo oppure nessun nodo, sono celle di equivalenza forte). I n caso contrario
la celia ~ detta cella di equiw, lenza debole in quanto individua una elasse
di equivalenza debole. Un~ ripartizione che contiene solo celle di equivalenza
forte sar~ detta per brevit'~ ripartizioae forte e d u n q u e una ripartizione
completa i~ anche una ripartizione forte. Se invece contieue anche celle di
equivalenza debole sar,~ dett~ ripartizio~e debole.
Si definisce classe transitiva di un grafo G (V, E ) un sottoinsieme
V~ V di nodi tale che~ dati due nodi qualunque v~, vie V ~, esiste almeno
un automorfismo ~o di G che applica vi su v). Quindi in una ripartizione
per automorfismo dei nodi di un grafo G ( V 7E) due nodi vi~vjE V sono as-
segnati alia stessa cella solo se appartengono alla stessa classe transitiva.
I1 problema delFisomorfismo fra graft p u b quindi essere posto come il pro-
blema di trovare propriet~ <<strutturali ~> dei nodi che costituiscano condi-
zioni sufficienti perchd due nodi a p p a r t e n g a n o alia stessa classe transitiva.
I n mancanza di unu caratterizzazione s t r u t t u r a l e delle classi transitive di
nodi 7 Fapproccio euristico qui presentat% come pure quelli esistenti nelI~
l e t t e r a t u r a [1, 77 87 9]~ consiste invece nel trarre vantaggio dall~ maggiore
quantith possibile di informazione riguardo i nodi de1 grafo per ottenere
una ripartizione pifi vicina possibile a quella per automorfismo.

6.1. Celle di equivalenza forte.


Si dimostra la seguente proprietY:

PROPI~IETA 1. [ nodi di una cella di equivalenza forte costituiscono


una classe transitiva.

_Prova. Sia F ' Finsieme dei nodi assegnati ad una cella di equivalenza
forte e siano v~, vie V ' . Si consideri una permutazione delFinsieme dei nodi
V che applichi vi su vj e vj su vi e per il resto coincida con F~pplicazione
identica. Dalla definizione di cella di equivalenza forte si ha immediatamente
che tale permutazione i~ un automorfismo di G e d u n q u e V ' ~ una classe
transitiva. He consegue inoltre che ogni permutazione di V che coincida
con Fidentit~ suWinsieme V - - V ' ~ un automorfismo di G. Q . E . D . .
318 F. S~aOV~CH: Isomorfismo fra graft :

Si d i m o s t r a inoltre il seguente Teorema.

TEOREYIA 3. Siano G ~ ( V~, E ~) e G~ ( V ~ E ~) due graft le cui ripartizioni


finali dei nodi sono uguali, cioi~ Q~--~--Q~u, e inoltre ~ e ~ siano ripar-
tizioni forti. Allora i due graft sono isomorfi e u n a q u a l u n q u e biiezione de-
finita d a l l ' u g u a g l i a n z a delle due ripartizioni ~ un isomorfismo.

_Prova. Sia ~ una biiezione che soddisfa le condizioni della tesi del
teorema. D i m o s t r i a m o c h e :

(vh, v~) ~ E ~ <-~-> (~o (v~), ~o (v~)) ~ E e.

Consideriamo p r i m a il caso in cui v h ~ vk e dimostriamo c h e :

(vh , vk) ~ E ~ ~----> (cp (vh), ~p (Vk)) ~ E ~.

S u p p o n i a m o che va e vk siano stati assegnati r i s p e t t i v a m e n t e alle celle di


equivalenza forte V~ e Vj1, e v e n t u a l m e n t e coincidenti, u n a delle quali~ 0
ambedue, contengono pifi di un nodo. Sia V,, ~ ~ (vh) e v~ ~ T(vk). P e r la
deflnizione di q~, v~ e % sono assegnati alle celle V~2e Vj2 r i s p e t t i v a m e n t e .
D a t o che v~ ~ stato assegnato ad una cella di equivalenza forte Vj1 e riceve
un lato dal nodo vh, t u t t i gli altri nodi, se esistono, a s s e g n a t i alla cella
V11 ricevono un lato dal nodo Vh. Allora consideriamo la lista ~ 1 associata
alla celia V.1-~, questa lista contiene il n u m e r o j perchd (vh~v~)E E i e v~
stato a s s e g n a t o alia cella V~. D a t o che V~ ~ V~, anche la list~ ~ 1 con-
tiene il n u m e r o j e d u n q u e il nodo v,, i~ collegato ad un nodo a s s e g n a t o
alia celia V~. Se V~ contiene un solo nodo, allora tale nodo n o n pub es-
sere che v~ e quindi (v,,, v~) ~ (~ (vh), ~ (vk)) ~ E ~. Se Vj" contiene pifi di un
nodo~ dato che Vj2 ~ u n a celia di equivalenza forte, v,~ i a v i a u n lato in
t u t t i i nodi assegnati alla cella Vj2 e quindi anche in v~. Si osservi che
l ' a r g o m e n t a z i o n e vale anche nel caso in eui i nodi v^ e v~ a p p a r t e n g a n o
alla stessa cella. E s a m i n i a m o infine il caso in cui il lato considerato sia un
anello e dimostriamo che (va ~ vh) E E 1 - - > (~ (va), cp (va)) E E 2. Sia ~ la cella
a cui ~ stato assegnato il nodo va e si consideri la lista ~ P a s s o c i a t a a V~
con p-----a~ ~ - b i - t - 1 , dove a~ e b~ sono i primi due termini della lista di
a t t r i b u t i principale associata a Vr L a lista ~ P ~ r i c a v a t a daWinsieme / ) ~
associato al nodo va e dato che (va, v h ) E E ~, l'insieme P ~ c o s t i t u i t o dal
nodo vh e d u n q u e ~ P = [i]. D a t o che V~-~- V~, anche la lista ~ P i~ co-
s t i t u i t a dal n u m e r o i, indicando percib ehe se v,~ h u n nodo di V~, Pin-
sieme P ~ ~ costituito da un nodo a s s e g n a t o alla cella V~. A n c h e nel caso
in cui V~ contenga pifi di un nodo, tale nodo a p p a r t e n e n t e a P ~ non pub
un algor~tmo effieiente per trovare tutti gl~ isomosfismi 319

essere che v.~ stesso per la definizione degli insiemi associati p d e dunque
(vh, vh) ~ E t =----->(~ (v^), q~ (v^)) ~ E ~.
Con argomentazioni analoghe alle precedenti si d i m o s t r a che (T (Vh), cfl(Vk))E
E E~----> (vh, Vk)E.E ~ e quindi la biiezione (p ~ ua isomorftsmo di G ~ su G2.
P e r la P r o p r i e t ~ I si ha infine la tesi. Q. E. D..
Di conseguenza se le ripartizioni finali dei due graft sono ripartizioni
forti, P equivalenza fra le due ripartizioni ~ condizione sufficiente per
l~isomorfismo fra i due graft e, se n~ ~ il numero di nodi a s s e g n a t i alla
i-esima celia delle due ripartizioni, il n u m e r o di isomorftsmi di G ~ su G 2
d a t e da /~r (ni!) perchg t u t t e le biiezioni definite d a l l ' u g u a g l i a n z a fra le
i.~-1
ripartizioni sono isomorfismi.
6.2. Celle di equivalenza debole.
Se le ripartizioni c~i e c ~ sono ripartizioni deboli, il T e o r e m a 3 non
vale ed ~ d u n q u e qnesto il case in cui si vuole ridurre il n u m e r o di prove
necessario per t r o v a r e tutti gli isomorfismi. Si possono d i m o s t r a r e due in-
teressanti proprieth, che r i g u a r d a n o le eelle di equivalenza debo]e, sulle
quali si b a s a Falgoritmo per t r o v a r e gli isomorfismi fra due graft.
Ricordiamo che le ripartizioni finali dei g r a f sono ottenute mediante
l ' A ] g o r i t m o I il quale ~ un algoritmo di affinamento d i u n a ripartizione
data. L~Algoritmo I determina u n ordinamento fra i nodi assegnati ad una
stessa cella e, se i nodi non sono t u t t i <~uguali >> in tale o r d i n a m e n t o , rias-
s e g n a i nodi della cella a due o pih celle (Passe 3). L ' A l g o r i t m o I si arresta
quando in ogni cella i nodi sono t u t t i uguali. S u p p o n i a m o era di a s s e g n a r e
un o r d i n a m e n t o fra i nodi di una celia Vh nel mode s e g u e n t e : un unico
node, sin v~, ~ preceduto da t u t t i gli altri nodi delia cella Va e inoltre, se
v j e vk sono due nodi qualunque distinti da v~ e assegnati a V^, allora
v j ~ v~. Se riassegno i nodi di Vh in base a tale o r d i n a m e n t o nel mode
descritto dal P a s s e 3 deWAlgoritmo I t eseguo un affinamento della riparti-
zione che verrA detto nel seguito a.~inamento elemeutare eseguito sulla eella
Va mediante il node v~. Si dimostrano le seguenti proprietA.

P~oPgIv.T)~ 2. Sin c~ la ripartizione finale dei nodi di un grafo G(V, E )


e sin Vh u n a celia di equivalenza debole di c~; si ha c h e :
i) se un node v~ della celia Va h a un anello, allora t u t t i i nodi di
Va h a n n o un anello;
ii) il n u m e r o di lati ehe un node v~ assegnato a Vh invia a (riceve
da) nodi assegnati ad u n a eella Vk ( e v e n t u a l m e n t e coincidente con Va)
uguale per t u t t i i nodi della celia Va;
iii) s e i l sottografo di G ( V , E ) generate dai nodi assegnati a V i~
complete oppure totalmente sconnesso, allora esiste almeno una cella di
320 F. SiRovicl~ : Isomorftsmo ]'ra graft :

equivalenza debole V, (con k =~: h) tale che ogni nodo v~ di Va ~ collegato


a nodi associati a Vk e il numero di nodi di V, su cui v~ invia u n lato o
da cui riceve un lato ~ minore d i n k dove nk ~ il numero dei nodi asse-
gnarl alla cella Vk.

Prova. i) Si consideri la lista ~ P (con p----- ah-}- bh-}- 1) associata al


nodo v~. ~ ~ ottenuta dall'insieme p 1 e dunque ~ ~ [hi dato che v~ ha
un anello.
P e r la definizione di classe di equivalenza debole tutti i nodi della
cella Va h a n n o le stesse liste e quindi se vj ~ un qualunque altro nodo di
Va, ~ ~ [hi e quindi anche vj ha un anello.
ii) Se v~ invia un lato in n nodi assegnati alla celia Vk, allora nella
lista ~ occorre u volte il numero intero k. Dato che liste -~- 1 associate ai
nodi vj di Va sono tutte uguali allora l'intero k occorre n volte in t u t t e
queste liste e quindi tutti i nodi di Va inviano un lato in n nodi di Vk.
A n a l o g o ragionamento vale per i lati che i nodi di Va ricevono da nodi
di Vk.
iii) S e i l sottografo di G (V, E ) generato dai nodi assegnati a Va
completo oppure totalmente sconnesso, allora gli insiemi F e H di due
nodi q u a l u n q u e v~ e vj assegnati a Vh sono identici se ristretti ai nodi di
Va. Supponiamo per assurdo che i nodi di Vh non siano collegati a nessun
nodo a p p a r t e n e n t e ad una classe di equivalenza debole. 3Ia se v~ ~ collegato
ad un nodo di una cella di equivalenza forte Vj, allora v~ ~ collegato a
tutti i nodi di 17/ (per la definizione di celia di equivalenza forte). Ne con-
segue che tutti i nodi di Va sono collegati a tutti i nodi di VI perchd le
]iste associate ai nodi di Va sono tutte uguali. Gli insiemi F (e H ) asso.
ciati ai nodi vi e vi di Va sarebbero identici e questo ~ in contraddizione
con la ipotesi the Va sia una cella di equivalenza debole. Ne conscgue che
esiste almeno una cella di equivalenza debole i cui nodi sono collegati a
nodi di Va. Sia V, tale cella. Resta solo da dimostrare che il n u m e r o di
latin che ciascun nodo v~ di Va invia a (o riceve da) nodi di V, ~ minore
din,. Se per assurdo n ~ nk, v~ invierebbe lati a (riceverebbe lati da)
tutti i nodi di V,. Per la Propriet~ 2 (ii) questo sarebbe vero per t u t t i i
nodi di V^ e ancora avrei una contraddizione con l'ipotesi che Va ~ una
cella di equivalenza debole. Q. E. D..

PROPRIET)L 3. Sia c-~ la ripartizione finale dei nodi di un grafo G ( V , E )


e sia Va una qualunque celia di equivalenza debole di c~. Sia c-~, u n a ri-
partizione di G ( V , E ) che si ottiene con un q u a l u n q u e affinamento elemen-
tare di Q~ eseguito sulla cella Va. Se si applica l ' A l g o r i t m o I alla riparti-
un algoritmo effieiento la~r trovare tutti gli isomorfismi 321

zione Q~' si ottiene una ripartizione c'~,,. La tesi ~ che cR"_=]~c~, (cio~ si
ha un ulteriore affinamento).
Prova. La dimostr~lzionc si svolge in due p a r t i :
a) S u p p o n i a m o che il sottografo di G (V, E) g e n e r a t e dai nodi asse-
g n a t i alla cella Vh non sia complete n~ t o t a l m e n t e sconnesso. Allora Vh
contiene pih di due nodi perch6 altrimenti, per la P r o p r i e t ~ 2 (ii), il s o t t o
grafo di G(V~ E ) generate dai nodi di Vh sarebbe complete o p p u r e totaI-
m e n t e seonnesso. Sia v~ il node di Vh interessato daWaffinamento elemen-
t a r e : il node vi sarit allora assegnato alla cella Vk' di Q~' (con k ~ h + 2)
e t u t t i gli altri nodi di Vh s a r a n n o assegnati alla cella V~ di c.~,.
L ' A ] g o r i t m o I riesce c e r t a m e n t e ad affinare la ripartizione Q~' perchd,
anche se non riuscisse a ripartire le altre celle di equivalenza debole di
Q~', riesce c e r t a m e n t e a ripartire Vh'. I n f a t t i il node v~ riceve ~m late d~
u n certo numero n di nodi a s s e g n a t i alla cella Va in Q~ e era alla cella
V~ in Q~'. P e r Fipotesi fatta aWinizio, si ha 0 ~ n ~ n ^ - - 1 ~ n~. Allora
solo u n a p a r t e dei nodi di V; i n v i e r a n n o un late nel node v~; gli altri,
per la Propriefft 3 (ii) invieranno un late in nodi che era sono assegnati
alla celia Vh'. Ne consegue che le liste ~J assegnate ai nodi v/ di V~ non
sono identiche e quindi l~Algoritmo I nel P a s s e 3 esegue u n a ripartizione
non b a n a l e della cella Vh' e quindi ~t,=~= c)~,.
b) Supponiamo invece che il sottografo g e n e r a t e dai nodi assegnati
alla cella Vh sia complete oppure t o t a l m e n t e sconnesso. Aliora per la Pro-
priet~ 2 (iii) esiste almeno una cella di equivalenza debole Va tale che tutti
i nodi di Va (e quindi anche quelli di V~) sono collegati a qualche node
di V ~ . Sia v~ il node di Vh mediante il quale viene eseguito un partizio-
namento elementare di Vh; vi ~ collegato a n nodi di Vh i quali in ~ '
sono assegnati alla cella V a' 9 P e r la Propriet~ 2 (iii) n ~ nd ~ n'd. A]lora
le liste associate ai nodi vj di 17' non sono identiche e F A l g o r i t m o I pub
ottenere una ripartizione, non banale~ della celia V,'~ e d u n q u e Q ~ " ~ c)~,.
Q.E.D..
6.3. Ripartizioni f i n a l i deboli.
Sia data una ripartizione i n c o m p l e t a Q~ che contenga celle di equiva-
lenza debole. Con un semplice algoritmo e n u m e r a t i v e i~ possibile affinare
Q~ in m o d e da ottenere una ripartizione c~., che diremo derivata da Q~,
che contiene solo celle di equivalenza forte. E ~ sufficiente, infatti, conside-
r a r e u n a celia di equivalenza debole (per esempio quella a priorit~ pifi
alta) ed eseguire su di essa un affinamento elementare. So la ripartizione
cos'l o t t e n u t a contiene ancora celle di equivalenza debole, eseguire un affi-
n a m e n t o elementare su una di tali celle cosi via fine ad ottenere u n a r i
322 F. Smovicn : I , omorfismo fra graft :

partizione forte. Ogni passo di tale semplice algoritmo richiede u n a scelta


a r b i t r a r i a perchd ncssun criterio i~ dato per selezionare uno dei possibili
affinamenti elementari della celia ripartita. I1 n u m e r o di affinamenti elemen-
tari che devono essere eseguiti per ottenere la ripartizione Q~* d e s i d e r a t a
s ~ 2~ ( n ~ - 1), dove ]a s o m m a t o r i a ~ estesa ai soli indici i che corrispon-
dono a celle di equivalenza debole in c~ e n~ ~ il n u m e r o di nodi a s s e g n a t i
ad esse. L a ripartizione c-~, che viene o t t e n u t a dipende dalle scelte ehe
vengono compiute e quindi il n u m e r o di possibili ripartizioni che possono
essere d e r i v a t e da R b N'---~ T/(n~!), dove il prodotto ~ a n c o r a esteso alle
sole celle di equivalenza debole di Q~. Sfruttando la Proprietit 3 i~ invece
possibile derivare da c~ una ripartizione forte compiendo un n u m e r o di
scelte ehe i~ sempre minore d i s . E ~ sufficiente~ infatti, applicare P A l g o r i t m o
I alla ripartizione che si ottiene m e d i a n t e u a affinamento e l e m e n t a r e e solo
se la ripartizioue r i s u l t a n t e contiene ancora celle di e q u i v a l e n z a debole~
eseguire u n altro affinamento elementare. L~Algoritmo ~ il seguente.
A]goritmo I I I .
P a s s o 1. L~indice j viene posizionato a zero.
P a s s o 2. La cella Vj della ripartizione a t t u a l e viene e s a m i n a t a . Se Vj
u n a celia di equivalenza debole, si esegue il P a s s o 3 ; altrimenti il P a s s o 4.
P a s s o 3. Si esegue uno q u a l u n q u e dei possibili affinamenti e l e m e n t a r i
della cella in esame ottenendo cosi unh n u o v a ripartizione c-~, sul quale si
esegue P A l g o r i t m o I. I1 risultato delVAlgoritmo I ~ la n u o v a r i p a r t i z i o n e
attuale e il P a s s o 2 viene n u o v a m e n t e eseguito.
P a s s o 4:. L~iudice j viene i n e r e m e n t a t o di 1. Se j ~ uguale a n~ Valgo-
ritmo t e r m i n a e la ripartizione a t t u a l e ~ il risultato c e r c a t o ; a l t r i m e n t i si
esegue il P a s s o 2.
I n Fig. 4: b m o s t r a t o lo schema a blocchi delPAlgoritmo l I I .

I , - o89 I

' ,3- I
I J~i" I ]
l
SI ESEGUE L~ALGO-J
RITMO I SU .~'
I

Fig. 4. - Schema a blocchi dell'Algoritmo IIl.


u,~ algorftmo effieiente p6r trovar~ tutti gl~ isomorfismi 323

La n u o v a ripartizione attuale che al Passo 3 viene o t t e n u t a a partire


dalla ripartizione Q~' mediante l~Algoritmo I i~ per la P r o p r i e t ~ 3, diversa
da c-~,. Si possono dare tre c a s i :
a) il n u m e r o di celle di equivalenza debole della ripartizione attuale
i~ uguale a quel]o di Q~', ma Mlora il n u m e r o di nodi c o m p l e s s i v a m e n t e as-
segnato a tall celle ~ d i m i n u i t o ;
h) I1 n u m e r o eli nodi assegnati a celle di equivalenza debole nella
ripartizione attuale ~ uguale a quello in c-~,, ma allora il n u m e r o di celle
di e q u i v a l e n z a debole ~ a u m e n t a t o ;
c) I1 n u m e r o di celle di e q u i v a l e n z a debole nella ripartizione attuale
i~ a u m e n t a t o rispetto a ~ ' e inoltre il n u m e r o di nodi assegnati a tall celle
diminuito (cio~ u n a combinazione dei casi precedenti).
I n t u t t i e tre i casi si ha che il n u m e r o di scelte s" necessarie per
ottenere una ripartizione derivata da Q~' usando l~algoritmo e n u m e r a t i v o
p r e c e d e n t e m e n t e descritto, ~ m a g g i o r e del n u m e r o di sce]te s'" necessarie
per ottenere u n a ripartizione d e r i v a t a dalla n u o v a ripartizione attuale. Con-
s e g u e n t e m e n t e i] numero di possibili ripartizioni derivate _IV'" ottenibili me-
diante F A l g o r i t m o I I I ~ minore di N ' . Se allora si applica l ' A l g o r i t m o I I I
alla ripartizione finale di uno dei due g r a f , per esempio G i ( V t, E i ) , si ot-
tiene u n a delle possibili ripartizioni derivate da c-~l: sia essa ~ l e nel
seguito s a r a indicata come la ripartizione terminale.
P e r t r o v a r e tutti gli isomorfismi ira G~ e G 2 ~ necessario ottenere
t u t t e le ripartizioni di G 2 (V '~, E 2) che sono derivate da c)~e facendo t u t t e
le scelte possibili e quindi confrontare t u t t e queste ripartizioni con c-/~1. La
riduzione del n u m e r o di scelte possibili operata dall'Algoritmo I I I si rivela
d u n q u e p a r t i c o l a r m e n t e utile per diminuire il n u m e r o di confronti fra ri-
partizioni da effettuare.
D e s c r i v i a m o ora un algoritmo, ovvia estensione dell~Algoritmo I I I , che
deriva, da una ripartizione debole assegnata, un certo insieme di ripartizioni
terminali, che contengono solo eelle di equivalenza forte. Siano ~ (1), ~ (2),...
... ,c-~(m) le ripartizioni terminali ottenute. L~Algoritmo fa uso di due liste
di insiemi c)2j(i) e cSj(i) associate a ciascuna cella della ripartizione attuale~
che vengono usate per memorizzare i risultati intermedi.

A l g o r i t m o IV.
P a s s o 1. Gli indici m ed i vengono posti uguali a 1 e l~indice j viene
posto uguale a zero.
P a s s o 2. Ciascuna cella Va (h ~ 0, 1, ..., n - - 1) delia ripartizione attuale
viene ricopiata nelFinsieme Q~h(i) e il corrispondente insieme c3a(i)
inizialmente vuoto.
32~ F. SIROVlCH : Isomorfi,~mo fra graft :

P a s s e 3. L a cella Vj viene esaminata. Se la cella Vj ~ u n a cella di


e q u i v a l e n z a debole, si escgue i! P a s s e 4, a l t r i m e n t i il P a s s e 5.
P a s s e 4. Si sceglie un qualunque node a s s e g n a t o a V) che n o n ~ con-
t e n u t o in a~j(i): sia v tale node. Si esegue un affinamento e l e m e n t a r e di
V~ m e d i a n t e il node v ottenendo eos~ u n a n u o v a ripartizione ~ " s u l l a quale
si esegue F A l g o r i t m o I. I1 risultato delFAlgoritmo I ~ la n u o v a r i p a r t i z i o n e
a t t u a l e R. I1 node v viene a g g i u n t o alPinsieme c~(i)~ l:indice i v i e n e i n c r e
m e n t a t o di 1 e il P a s s e 2 viene n u o v a m e n t e eseguito.
P a s s e 5. L~indice j viene i n c r e m e n t a t o da 1. Se j ~ uguale a n, viene
eseguito il P a s s e 6; altrimenti viene eseguito il P a s s e 3.
P a s s e 6. L a ripartizione attuale contiene solo celle di e q u i v a l e n z a forte:
viene allora ricopiata in ~ ( m ) . L~indice m viene i n c r e m e n t a t o di 1, Fin-
dice j posto uguale a (n ~ 1) e l'indice i viene d e c r e m e n t a t o di 1.
P a s s e 7. Si e s a m i n a l~insieme cji(i). Se cJi(i), non h v u o t o e n o n coin-
cide con Finsieme 02j(i), allora si esegue il P a s s e 8 ; a l t r i m e n t i Pindice j
viene d e c r e m e n t a t o di 1 e se i~ m a g g i o r e o uguale a zero viene eseguito
n u o v a m e n t e il P a s s e 7; altrimenti viene eseguito il P a s s e 9.
P a s s e 8. La ripartizione a t t u a l e Q~ viene o t t e n u t a ricopiando helle
celle Va (h ~ 0, ..., n - - 1) di ~ i c o r r i s p o n d e n t i insiemi c)2h e v i e n e eseguito
il P a s s e 4.
P a s s e 9. L~indice i viene d e c r e m e n t a t o di i e se i ~ m a g g i o r e di zero,
Yindice j viene posto uguale a ( n - - 1 ) e il P a s s e 7 viene e s e g u i t o ; altri-
menti m viene d e c r e m e n t a t o di 1 e l~algoritmo t e r m i n a con m ripartizioni
terminali c~ (1) .... , c~ (m).
Nella Fig. 5 ~ riportato lo schema a blocchi d e l l ' A l g o r i t m o I V . Si os-
servi che per qualunque valore di i d u r a n t e il calcolo, esiste s e m p r e un
solo dj(lc) :=1=~ con 0 < k ~ 1. D u n q u e la memorizzazione delle scelte gi~i
effettuate pub essere i m p l e m e n t a t a in un m o d e molto pih efficiente della
memorizzazione per tabelle.

7. L ' a l g o r i t m o p e r o t t e n e r e t u t t i gli i s o m o r f i s m i fl'a d u e graft.

ik questo p u n t o i~ possibile descrivere P a l g o r i t m o per o t t e n e r e t u t t i gli


isomorfismi~ se esistono~ fra due graft a s s e g n a t i G~ ( V i, E l) e G~ ( VU~ E2).

A l g o r i t m o V.
P a s s e 1. Si esegue l~Algoritmo I I sui due graft G~ e G ~ o t t e n e n d o
cosi le ripartizioni finali ch~t e c~2 r i s p e t t i v a m e n t e . Vengono qui t r a s c u r a t i
u~ algoritTno ~ffieie,~te per trovare tutti gli isomorfismi 325

un certo numero di controlli iniziali (ad es. sul numero di lati totali~ sul
grade dei nodi, sulle ripartizioni ottenute al Passe 2 delPAlgoritmo lI) che

1~0
_1
t

~ ~ ;
f
E'UNA CEL'LA DI ~ no I . . I
~OIVALENZADEeOi.e.'/~ J~J.1 J

RIPARTIZIONEELEMEN'YARE .~(,m) ~,~:~ 9


D( Yj MEDIANTE~ m~m .1

ESEGUE
RITMO
51 U ALGO-
T;i~i*l , ,t i~-

I ........ "l I I

Fig. 5. - Schema a blocchi dell'Algoritmo IV.

possono permettere in realt~ di escludere subito l~esistenza di isomorfismo


fra i due graft dati.
P a s s e 2. Se Q ~ l ~ c ~ i due graft non sono isomorfi e Falgoritmo ter-
m i n a ; altrimenti si esegue il Passe 3.
P a s s e 3. Se ~ i = Q~ sono ripartizioni forti~ i due graft sono isomorfi,
t u t t e le biiezioni fra gli insiemi V ~ e V u definite dalla uguaglianz,~ delle
due ripartizioni finali sono isomorfismi fra G i e G~ (Teorema 4) e Valgoritmo
termina. Se invece c~l e Q~ sono ripartizioni deboli~ si esegue il P a s s e 4.
P a s s e 4. Si esegne l~Algoritmo I I I sulla ripartizione c)~ ottenendo l~
ripartizione terminale Q~i. Si esegue l~Algoritmo I V su c)~u ottenendo m~
ripartizioni terminali Q~2 (1) .... , c~2 (m~).
326 F. SiRowcn : Isomorfismo fra graft:

P a s s o 5. Si confronta ~ t con la ripartizione ~ (i) (i - - 1, ..., ms) ; se


Q)~ Q~2 (i) t u t t e le biiezioni definite dalVuguaglianza delle due ripartizioni
sono isomorfismi fra G i e G 2. Se n e s s u n i esiste tale che Q ~ l ~ Q~(i), i
due graft non sono isomorfi; a l t r i m e n t i Vinsieme delle biiezioni definite dal-
P u g u a g l i a n z a fra due ripartizioni terminali costituisce l ' i n s i e m e degli iso-
morfismi fra G i e G ~ e l'algoritmo termina.
Lo schema a blocchi dell'Algoritmo V ~ m o s t r a t o in Fig. 6.

I SI ESEGUE ALG 1I SU G1 9 Gz ]
OTTENENDO ,R.I 9 .IR.z
I
I G' ~ G' i~

R', ~.= SONO


SONOFoRTIRIPARTIZlONI?
FORI

LE BIIEZIONI DEFINITE 1
DAIS.Imp.z SONO ISOMORFI= SI IESEGUE ALG. TM 5U I
SIll .FR/~ Gle Gz JJ G! OTTENENDO
}
t 51 ESEGUE ALG IV SU 1
_ _! J- Gz OT TE,'~ENDO
~.z(i) CON 1 < ( ~ m
LE BLIEZIONi DEFiNiTE I .--.--..,-.
DA~.'_= ~ZCi) SONO " -
ISOHORFISHI FRA G~e G2

~ ~ G'~= G~

Fig. 6. - Schema a bloeehi dell'Algoritmo u

B i s o g n a dimostrare che Palgoritmo fornisee tutti gli isomorflsmi se esi-


stono, fra G i e G ~. Vale a questo riguardo il s e g u e n t e teorema.
TEORE~X 4. Sia ~ : V i - + V 2 un isomorfismo del grafo G i ( V t , E i) sul
grafo G2(V ~, E2). Esiste una ripartizione terminale c~2 (i) di V 2 u g u a l e alia
un algoritmo effieiente p6r trovart tutti gli isomorfismi 327

ripartizione terminale c]~ (i) di V 2 uguale alla ripartizione terminale ~ i di


V ~, tale che qo coincide con una delle biiezioni definite dalle due ripartizioni.

.Prova. Dato the i due graft sono isomorfi~ allora le ripartizioni finali
sono uguali, cio~ c~i_~_~~ . Se le due ripartizioni sono forti, allora si ap~
plica il Teorema 3. P e r il Teorema 3 t u t t e le biiezioni definite dalla ugua-
glianza delle due ripartizioni sono isomorfi. L~isomorfismo ~o deve essere una
di queste biiezioni perch~ le ripartizioni sono invarianti per automorfismo.
Consideriamo ora il caso in cui ci siano nelle ripartizioni finali anche celle
di equivalenza debole e seguiamo passo passo gli algoritmi che ottengono le
ripartizioni terminali. L~Algoritmo I I I prende in considerazione la prima
cella di equivalenza debole di Q~I sin Vj1. La corrispondente cella V7
viene presa in considerazione per prima dalFAlgoritmo I V per costituire la
ripartizione terminale Q~2(i) cercata~ perchg i due algoritmi sono identici
sotto questo aspetto. L~Algoritmo I I I seleziona un nodo qualunque di v i i ,
sin vp tale nodo e sia vq il nodo di G 2 tale ehe o2(vp)~ Vq. O v v i a m e n t e vq
i~ stato assegnato a Vj2 per il Teorema 1. Ad u n eerto punto deWesecu-
zione deWAlgoritmo IV, viene compiuta la selezione del nodo vq~ perch6
t u t t e le possibili scelte sono eompiute dall~Algoritmo. Si noti che se l~A1-
goritmo I I I assegna vp alla eella V~ nelPaffinamento elementare di V/~,
l~Algoritmo I V assegna Vq alla cella V~ nell~affinamento elementare di Vj:,
perch~ Vj~-- - - Vj2. Infine i due algoritmi ottengono due nuove ripartizioni
attuali che risultano uguali in quanto sono ottenute ambedue mediante
l ' h l g o r i t m o I, a partire da due ripartizioni uguali e i due graft G ~ e G 2
sono isomorfi. Abbiamo quindi due nuove ripartizioni attuali uguali e i
nodi vp e vq, con q~(vp)~ vq, si t r o v a n o da soli in celle corrispondenti.
Ovviamente il ragionamento pub essere ripetuto finch~ l~Algoritmo I I I non
ha prodotto la ripartizione terminale c ~ e PAlgoritmo I V un certo parti-
zionamento terminale ~'~ (i). La corrispondenza fra le ceile che contengono
un solo nodo soddisfa F, come mostrato preeedentemente. Le cclle che con-
tengono pit~ di un nodo sono celle di equivalenza forte e quindi per il
Teorema 3 una qualunque biiezione definita dalla uguaglianza delle riparti-
zioni forti ~ un isomorfismo e ~o ~ una di queste biiezioni. Q. E. D..

8. Considerazioni sul tempo di calcolo.

In questo paragrafo viene valutato il tempo di calcolo necessario per


rieavare le ripartizioni finali e quelle terminali. E ~ interessante determinare
la dipendenza del tempo di elaborazione dal numero di nodi n del grafo.
328 F. SIaowcn : Isomorftsmo fra graft :
8.1. R ipartizioni finali.
L a ripartizione finale di un grafo a s s e g n a t o ~ o t t e n u t a d a l F A l g o r i t m o
I I c h e s i compone di tre Passi. E s a m i n i a m o eiascun P a s s e s e p a r a t a m e n t e .

8.1.1. Tempo di oalcolo del Passe 1 dell'Algoritmo IL


II t e m p o di calcolo del P a s s e 1 consiste essenzialmente nel t e m p o ne-
cessario per costituire le liste in cut sono memorizzati gli insiemi associati
ai nodi. La lista di attributi principale /~ viene infatti c o s t r u i t a contempo-
r a n e a m e n t e a tali liste, con un c o n s u m e di tempo trascurabile. Calcoliamo
il t e m p o T] necessario per ricavare gli insiemi F j e P~ i quali vengono
o t t e n u t i parallelamente. Indichiamo con ~t, il tempo necessario p e r inserire
un node in una lista (una volta che sia d e t e r m i n a t a la posizione del node
nella lista), con ~2 il tempo necessario per c o n f r o n t a r e un node con un ele-
m e n t o di u n a lista e verificare se sono uguali. Si ha ehe T ] ~ la s o m m a
di 3 t e r m i n i : il tempo necessario per r i c a v a r e Finsieme degli (f~--]-p~) nodi
distinti che sono collegati ad almeno un node di _ ~ ] - ~ il t e m p o necessario
a confront~re ciascuno dei nodi delFinsieme p r e c e d e n t e con i nodi apparte-
henri a F~~ F~IN... fl El-l; il tempo necessario per inserire gli ( f / ~ - p ~ )
nodi helle liste che memorizzano F~ o P ~ . Mettendosi sempre nel case
peggiore (soprattutto per quanto r i g u a r d a il primo termine) si h a :

I1 tempo necessario per costruire le liste _~ e P relative al node v~ ~ allora:

~, =~a~l( f~ _.i_p~) (f[ ..l_p~ _.t_l) ((~ + (i2) _.p


Ti= j =z0 S

+,fro
"= <j' + pz)t,__Zo; ) + ] =z0 I<f + i)o,1.
Considerando i seguenti limiti superiori

ai

( f~J + p])2 ~ (a, + 1) n 2


]----0
u.a algorit~o ef./icie~te ~vor trovaro tutti gli i$omorfismi 329

a~
z (y/ 4 . ~.J) < ( a ~ + lln
j=e

ai,~ n--1,

si ottiene il limite superiore per T~:

T~ < 8t -~-
O
33~ (n 3 _~_ n).

Infine il t e m p o T~,p necessario per ealcolare gli insiemi F e P

~L

~ 2
per cui
TF, p, E, Q < (a~ ~ 3a~) (n4 + n~).

8.1.2. Tempo di calcolo del _Passo 2 dell~Algoritmo I L


E ~ il t e m p o necessario per creare u n a lista o r d i n a t a di n o d i ; sar~
quindi la s o m m a del tempo di inserzione in lista degli n nodi pifi il t e m p o
necessario per confrontare le liste Z~ di ciaseun nodo. Quindi

n (n - - i)
:To,d < : - - (5 l ~ [ 2 ( n - 1) -~- 2 (n - - 1 ) 2r- ~]c~2}
2

8.1.3. Tempo di caleolo del Passo 3 dell'Algoritmo IT.


I1 P a s s o 3 deWAlgoritmo I I consiste neWapplicazione d e W A l g o r i t m o I
alla ripartizione ottenuta al P a s s o 2.
I n d i v i d u i a m o il caso peggiore che si pt~b verificare. L~Algoritmo I viene
applicato i t e r a t i v a m e n t e ogni volta che una cella viene ripartita. L~affina -
m e n t o della ripartizione pub consistere nel togliere al minimo un nodo da
u n a cella e riassegnarlo ad un~altra cella ; il massimo n u m e r o di iterazioni
d e W A l g o r i t m o I ~ dunque n. La m a s s i m a d u r a t a della ripartizione si ha
quando si affina Pultima cella presa in esame e soltanto dopo avere esami-
n a t o Pultimo insieme della lista ./~ associata a ciascun nodo. Vediamo
quanto t e m p o ~ necessario per esaminare u n a cella Vk senza poterla
330 F. S~ROWCU : Isoraorftsmo fra graft :

ripartire. P e r p r i m a cosa oecorre creare le liste g'~,J per t u t t i i nodi v~ E I'~


e fino al valore j -~- c -~- 2ai ~- 2bi ~- 2. I n d i c h i a m o con l~ la cardinalit'~ del-
Pinsieme ~ . I1 t e m p o Ta~ cercato ~ la s o m m a del t e m p o necessario a creare
le liste ~ ] c poi ad ordinarle :

Quindi

Ta~</VT,/ Oi___.~ 2 (ai__]_bi2i_4) n_] ~__~2


2 ~1 -~- ~1 -}- (ai + b, Jr- 2) n ~.

I1 caso peggiore si ha per a ~ b~ n--1 per il quale si ha

2'a,~ < / Vk / [O2n~ + ( 2 ~ - - 25~) n ~ q- 20, ~t).

Se s u p p o n i a m o ora che t u t t i i nodi meno uno si trovino, nella p r i m a ite-


razione, in u n a celta da ripartire~ allora il t e m p o T a a e c e s s a r i o p e r costruire
le liste ~
T (l) ~ [02n3 --~ (2~ i - - 20~) n Jr- 20in ] (n --- 1).

II n u m e r o di iterazioni che si devono compiere non pub eccedere il numero


di nodi che si t r o v a n o nelta cella; quindi

(~ + 1) (~ 2)
2

I n o l t r e ogni iterazione richiede il confronto delle liste ~ dei nodi c h e a p "


p a r t e n g o n o a ciaseuna celia. Poichg le liste ~ sono ordinate, i confronCi
v e n g o n o fatti elemento per elemento. Sia (~a il t e m p o necessario per con-
f r o n t a r e due elementi d i u n a lista: il t e m p o necessario per c o n f r o n t a r e fra
di loro t u t t e le liste ~ dei nodi di u n a cella Vk

T,~ = .~ ~/ ( I
j-----,1
V,I -- 1) ~ < '~3 1 r, I (2,~* 4-- 2n).

Se ancora s upponiamo che tutti i nodi t r a n n e uno si trovino, nella p r i m a


iterazione in una cella da ripartire, il t e m p o per il confronto della prima
iterazione
Te$1) ~ (2,~" + 2n) (n - - 1).
uu algoritmo efficie~te per trovarr t~tti gli isomorfismi 331

S u p p o n e n d o infine che ogni iterazione t o l g a u n solo n o d o si h a n n o ( u - "~)


iterazioni q u i n d i
(n ~- 1) (n - - 2)
T ~ / ~ ~.~ (2~ 2 + 2n) 2

A l l o r a il t e m p o di affinamento

Ta;~ T~ + Tc.f ~ [~2n 3 -J[--(-'2~t - - 2~ 2 2i- 2~3) ~t2--~ (2~ l + 2~3) n] (n2f- 1 ) ( n - - 2) "
2

I n c o n c l u s i o n s il t e m p o di calcolo p e r o t t e u e r e le ripartizioni finali pub


crescere con n 5 (5). L~algoritmo proposto~ ~ s o t t o q u e s t o aspetto, veloce q u a u t o
quello p r o p o s t o da Cornei]. Occorre perb n o t a r e che n o n ci sono graft par-
t i c o ] a r m e n t e regolari per i quali il t e m p o di elaborazione cresce pifl veloce-
m e n t e della q u i n t a p o t e n z a di n. L~Algoritmo di Corneil~ invece~ nel caso
di graft h-fortemente regolari (h ~ 2) i m p i e g a u n t e m p o p r o p o r z i o n a l e a uS+ h.

8.2. Ripartizioni terminali.

Le ripartizioni terminali sono o t t e n u t e dagli A l g o r i t m i I I I e I~r(6).


L ' A l g o r i t m o I V ~ s o s t a n z i a l m e n t e u n a applicazione r i p e t u t a d e l P A l g o r i t m o
I H . E s a m i n i a m o quindi il t e m p o di calcolo d e l P A l g o r i t m o I I I .

3.2.1. Tempo di calcolo delgAlgoritmo I I I .

I1 t e m p o di calcolo dell~Algoritmo I I I d i p e n d e for~emente dal n u m e r o


di volte che viene usato P A l g o r i t m o I e dal n u m e r o di nodi su cui l~Algo-
r i t m o I si t r o v a a lavorare. E ~ r a g i o n e v o l e s u p p o r r e che il caso p e g g i o r e si
a b b i a q u a n d o il grafo a s s e g n a t o ~ t r a n s i t i v o e quindi t u t t i i n o d i sono as-
s e g n a t i alla cella Yo della r i p a r t i z i o n e finale (si noti che questo n o n ~ perb
il caso p e g g i o r e per l~A]goritmo II). D a t o che P A l g o r i t m o I affina la ripar-
tizione p r o d o t t a m e d i a n t e Paffinamento e l e m e n t a r e (Propriet~ 3), nel easo
p e g g i o r e si a v r a n n o dopo Papplicazione di tale a l g o r i t m o ( n - - 2 ) n o d i asse-
g n a t i ad u n a stessa cella. I n q u e s t o easo P A l g o r i t m o I avr~ richiesto due
sole i t e r a z i o n i : la p r i m a con ( n - - 1 ) nodi a s s e g n a t i alla cella V0 e l a s e
c o n d a con ( n - 2) nodi.

(5) Non b stata trovata nessuna famiglia di graft per i quali il tempo di calcolo fosse
proporzionale a n 5.
(8) In realt~ prima di applicars tali Algoritmi, occorre eontrollare se It, ripartizione
finals ~ forte. I1 tempo necessario a tale controllo ~ perb trascurabile" ~ infatti propor-
zionale a n 3 come si ricava immediatamente dalla deftnizione di ripartizione forte.
332 F. Smowc~ : I*o~orfismo fra graft :

Quindi si avr~

/ ' ; ] < [~2n ~ -k- (2~ - - 2 ~ + 2 ~ a ) ~ + (2~ + 2(~)~+] [(n - - ~) -~- (++ - - 2)].

Se la cella con ( n - 2) nodi ~ ancora u n a celia di e q u i v a l e n z a debole con


un afiinamento elementare e con Papplicazione d e W A l g o r i t m o 1. Quest,~
volta il t e m p o di affinamento sar~

T,~/r < [(~2n a -~- (2(~ i - - 2c$~ + 2~3) n 2 + (2(51 + 2 ~ ) n] [(n - - 3) + (n -- 4)].

Se infine s u p p o n i a m o che non si trovino celle di equivalenza f o r t e fine a


che non si ha u n a cella con due nodi, allora il tempo di calcolo p e r ottenere
u n a sola r i p a r t i z i o n e terminale

Tq < [~27t8 -~-(2c$ i ~ 2(~ 2 -~- 2~a)n ~ -~- (2~ i -I- 25s)n] [u (n2-- 1) 3].

:Nuovamente abbiamo un limite superiore proporzionale a u 5. Si noti perb


che tale limite superiore ~ s t a t e ealcolato, come i precedenti, s u p p o n e n d o
la s i m u l t a n e a oceorrenza di numerosi <, casi peggiori ~). Non ~ n o t a n e s s u n a
famiglia di graft per la quale tali eventualit~l si verifichino.

8.2.2. Temro di calcolo dell'Algoritmo i V .


I1 n u m e r o di ripartizioni terminali prodotte dall~Algoritmo I V d o v r e b b e
essere ul minimo uguale all'ordine del g r u p p o degli automorftsmi del grafo
a eui l ' a l g o r i t m o ~ applicato. E 7 perb interessante notare che se il grafo
contiene delle classi t r a n s i t i v e i cui nodi g e n e r a n o sottografi completi, o
t o t a l m e n t e sconnessi, del grafb in esame, allora queste classi corrisponde-
r a n n o ad a l t r e t t a n t e celle di e q u i v a l e n z a forte che non s a r a n n o r i p a r t i t e
dall~Algoritmo IV. I n f a t t i per la P r o p r i e t ~ 1 ogni p e r m u t a z i o n e deWinsieme
dei nodi che sin diversa dall'identit~, solo in corrispondenza dei nodi asse-
gnati ad u n a celia di equivalenza forte ~ un automorfismo del grafo.
Se t u t t e le ripartizioni terminali o t t e n u t e d a l l ' A l g o r i t m o I V applieato
a G u sono uguali alla ripartizione terminale o t t e n u t a d a l l ' A l g o r i t m o l I I ap-
plicato a G ~, allora sono state i n d i v i d u a t e t u t t e e sole le biiezioni ep : V~--~ V ~
che sono isomorfismi di G ~ su G u. I n case contrario il t e m p o che ~ s t a t e
i m p i e g a t o per d e t e r m i n a r e le ripartizioni terminali di G ~ che non sono
uguali a quella di G ~ i~ dovuto aIPinsufftcienza degli A l g o r i t m i I I I e IV.
P a r t r o p p o non ~ state possibile d i m o s t r a r e che t u t t e le ripartizioni terminali
di G ~ p r o d o t t e dalPAlgoritmo I V sono uguali a quella p r o d o t t a dall'Algo.
ritmo I I I (si noti e h e eib equivale a d i m o s t r a r e che le r i p a r t i z i o n i ftnali
coincidono con le ripartizioni per automorfismo). Quello che i n t e r e s s e r e b b e
uu algoritmo ~fficir por trovar6 tutti gli $somorfismi 333

m a g g i o r a r e in questo caso, ~ il r a p p o r t o f r a i l n u m e r o di ripartizioni ter-


minali fornite daWAlgoritmo I V e il n u m e r o di ripartizioni terminali di G 2
uguali a quells di G 1.
II t e m p o di calcolo deW~_lgoritmo I V pub anche risultare sostanziale,
d i p e n d e n d o f o r t e m e n t e dalta s t r u t t u r a del grafo. E ' perb senza altro conve-
niente applicare tale algoritmo quando si ha almeno una cella di equiva-
lenza debole Vi con ni~_~ 10. I n f a t t i per ni = 10 P A l g o r i t m o e n u m e r a t i v o
deve compiere 1 0 ! ~ 3.628.800 p r o v e e quindi sarebbe v a n t a g g i o s a l'ap-
plicazione dcWAlgoritmo IV, anche se il tempo di calcolo fosse proporzio.
hale a n 8.
L ' A l g o r i t m o descritto nel presente articolo ~ stato i m p l e m e n t a t o in
F O R T R A N I V sul calcolatore IBM-7090 del Centro ~ a z i o n a l e U n i v e r s i t a r i o
di Calcolo Elettronico della Universit'~ di Pisa. I1 t e m p o medio di calcolo
s t a t o m i s u r a t o s p e r i m e n t a l m e n t e per due famiglie di graft in corrispon-
denza delle quali ~ ragionevole s u p p o r r e che l~Algoritmo sis pi~ lento. La
p r i m a famiglia i~ eostituita dai poligoni stellati definiti da T u r n e r [12] ed
la famiglia di graft che, a conoscenza delVautore, richiede il maggiore tempo
di calcolo degli Algoritmi I I I e IV. U n esempio di grafo stellato i~ riportato
in Fig. 7. I1 tempo di calcolo delPAIgoritmo I I nel caso di poligoni stellati

Vs V1

V7~ V2

Vs V4
Fig.7.- Unpoligonostell~todi 8nodi.

invece molto ridotto. L ' A l g o r i t m o I I ~ stato invece provato su graft co-


stituiti da un poligono stellato di n nodi (7) i quali perb sono t u t t i collegati
anche ad un (n-{-1)-esimo nodo. I t e m p i di calcolo medi misurati sono ri-

(~) Gli Algoritmi II, III o IV sono stati 1)rovati su poligoni stellati diretti di n nod
n
in cui il grado di uscita era - - .
2
334 F. S~RovIcn : J[somorftsmo f r a graft :

p o r t a t i nelle Tabelle 3, 4: e 5, per confronto sono anche r i p o r t a t i in tabella


anche i tempi previsti in base alle maggiorazioni p r e c e d e n t e m e n t e descritte.
Si pub o s s e r v a r e c h e l a dipendenza s p e r i m e n t a l e dei tempi di calcolo del
n u m e r o di nodi del grafo ~ r i s p e t t i v a m e n t e

TII ~ n 3.82

:Til t ~ ,~352

TI v ~ ~4.42

9. Conelusione.

E ~ stato descritto un A l g o r i t m o per d e t e r m i n a r e t u t t i gli isomorfismi,


se esistono, fra due graft diretti. L~Algoritmo ~ stato confrontato con gli
altri descritti nella l e t t e r a t u r a e si p r e s e n t a v a n t a g g i o s o sia dal p u n t o di
v i s t a del t e m p o di calcolo (soprattutto nel caso che i graft a s s e g n a t i siano
h-fortemente regolari, con h ~ 2), sia perchd se i graft a s s e g n a t i sono iso-
morfi, fornisce tutti gli isomorfismi che esistono fra di essi.
un algor~tmo offic~et~tr per trovarr tutti gti isomorfismi 335

Previsto Osservato
sec SeC

II 1.79 1.81
16 18.95 5.18
21 65.70 17.51
26 133.10 38.24
31 407.50 84.33
36 829.50 129.02

Tab. 3 - Tempo di calcolo previsto e osservato (medio)


d e l l ' A l g o r i t m o II. I tempi sono in secondi.

Previsto Osservato
s~e See

10 1.94 0.97
15 8.29 2.92
20 34.21 10.10
25 103.10 21.81
30 254.20 50.56
35 546.30 77.23

Tab. 4 - Tempo di ealcolo previsto e osservato (medio)


dell'Algoritmo lII. I tempi sono in secondi.
336 F. S I a o v l c n : Isomorftsmo fra graft :

Osse~vato
see

10 10.05
15 46.11
20 212.10
25 567.73
30 1530.12
35 2703.27

Tab. 5 - Tempo di calcolo osservato (medio) dell'A1-


goritmo IV per i poligoni stellati. I tempi
sono in secondi.
un algoritmo efficie~te per trovare tutt~ gIi isomorfismi 337

BIBLIOGRAFIA

[1] SUSSENGUTH, E. H. JR., .d graph-theoretical algorithm for ~natching chemical structures,


J. Chem. Doe., 5, 1~ pp. 36-43 (1965).
[2] SAt.TON G. and E. It. SUSSENGUTrI JR., Some flexible information retrieval systems using
structltre matching procedures, AFIPS, SJCC (1964).
[3] SAI.TON~ G, A document retrieval system for ~aan-~acl~ine interactionp ACM Proc. of the
National Conference (1964).
[4] SENSHtr, S. and M. REED~ Linear Graphs and Electrical Nelworks, (Addinson-Wesley,
1961).
[5] CORNOG, J. R. and It. L. BRYA.W~JR., ~Seareh methods used with transistor patent appli-
cationsj I E E E Spectrum, 3, 2, pp. 116-121 (1966).
[6J ~VEINBERG, L., A simt~Ie and efficient algorithm for determining isomorphism of planar
triply connected graphs, I E E E Trans. on Circuit Theory, CT-13, pp. 142-148 (1966).
[7] COaNEIL, D. G. and C. C. GOTLIEB. An efficient algorithm for graph isomorphism~ Jour-
nal of ACM, 17, 1, pp. 51-64 (1970).
[8] UN6Ea, S. H., G I T - a heuristic program for testing pairs of directed line graphs for iso-
mo~Thism , Comm. of ACM, 7~ 1, 26-36 (1964).
[9] B6nM, C. and A. SANTOLISl, A quasi-decision algorithm for the p-equivalence of two ma-
trices, ICC Bull., 3, 1, pp. 57-69 (1964).
[10] ]:[ARARY,F.~ R. Z. NORMAN" and D., CARTWRIGHT, Structural Models: An Introduction
to the theory of Directed Graphs, lap. 53-54 (Wiley, 1965).
[11] BErtGE, C, The Theory of Graphs and Its Ap.plicationsp pug. 6 (Wiley, 1962).
[12] TunI~ER, J., Point-symmetrio graphs with a prime number of points~ J. Comb. Theory~ 8,
pp. 136-145 (1967).