Re: Need Graph Isomorphism Algorithm De-bunked
- From: Mike Amling <nospam@xxxxxxxxxx>
- Date: 26 Sep 2006 14:23:53 EDT
fgrieu wrote:
On the positive side, **IF** the algorithm works save for
an accidental hash collision, I think we can get rid of any
possibility of collision, and still be in polynomial time
(as Mike conjectured then retracted).
I replace the cryptographic hash with ordering and concatenation
of input (each ceil(log2(n)) bits), giving a longhash.
After the step reading "update each vertex's hash value", I sort
the N longhashes, then output each longhash (with length prefix),
then replace each unique value with its index among unique values,
which fits ceil(log2(n)) bits. This avoids exponential explosion.
The result of each "hash iteration" is the concatenation of
all outputs during this "hash iteration", and the last longhash.
The rest is unchanged.
Last night I thought I understood what you are suggesting, and if the algorithm works, it would put graph isomorphism into P, not just RP. This morning I'm doubtful.
First, do I understand the what you suggest? Is it
0. All values are in the range 0..n-1.
1. Assign the special node the value 1. Assign all the other nodes the value 0.
2. For each node, assign a bit string which is its value represented as a bit string of length ceil(lg2(n)) followed by the bit strings of that length representing its neighbors' values in sorted order.
3. Make a list of all the bit strings assigned in this iteration, with duplicates removed. Sort the list (Regard a shorter string as strictly less than any longer string.). Assign each node a new value which is a perfect hash of its bit string in this iteration, namely the ordinal number of its bit string in the sorted list.
4. Loop back to step 2 some number of times (N? N/4?).
5. Record each node's value assigned by the most recent iteration of step 3.
6. Repeat steps 1 through 5 once with each node as the special node.
7. Assign each node a final bit string of length n*ceil(lg2(n)) consisting of the bit string representing its recorded value when it was special followed by its sorted recorded values when it was not special.
8. Compare the (sorted) list of bit strings assigned in step 7 for one graph with those assigned to another graph.
I think the perfect hashing throws away too much data. I suspect that the values of the CS hashes generated by previous versions of the algorithm may differ in ways that allow the CS-hash method to distinguish graphs that the perfect-hash method regards as isomorphic. But I haven't looked for an example yet.
--Mike Amling
.
- Follow-Ups:
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: fgrieu
- Re: Need Graph Isomorphism Algorithm De-bunked
- References:
- Need Graph Isomorphism Algorithm De-bunked
- From: Bill Cox
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Bill Cox
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Francois Grieu
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Bill Cox
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: fgrieu
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Bill Cox
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Mike Amling
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Bill Cox
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Mike Amling
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: Bill Cox
- Re: Need Graph Isomorphism Algorithm De-bunked
- From: fgrieu
- Need Graph Isomorphism Algorithm De-bunked
- Prev by Date: Algorithm suggestions
- Next by Date: Salsa20 hashing
- Previous by thread: Re: Need Graph Isomorphism Algorithm De-bunked
- Next by thread: Re: Need Graph Isomorphism Algorithm De-bunked
- Index(es):
Relevant Pages
|
|