> < ^ Date: Thu, 19 Oct 2000 09:02:11 -0700 (PDT)
> < ^ From: Igor Markov <imarkov@cs.ucla.edu >
> ^ Subject: a question on fast symmetry checking

Dear GAP forum,

My colleagues and I (and our students ;-) are studying
symmetries of boolean functions that arise in circuit design
and verification. For starters, we converted several SAT
instances in CNF into oriented bipartite graphs such that
a bi-colored symmetry of a graph corresponds to a symmetry
of the resp. CNF formula. We are using the GRAPE package
to compute symmetries.

To make the long story short, we are not able to test
even medium-sized CNF formulas for symmetries because it
takes too long. Of course, we are aware that non-trivial
symmetries are rare in random graphs, but expected that
at least the "no non-trivial symmetries" answer could be
produced quickly. In fact, we do not need *all* symmetries
(all generators of the group of symmetries), if *any* can
be found quickly that would be very good. However, it looks
like we can only hope for symmetries in medium-to-large
circuits, where component reuse is more common.

If anyone has time to look into possible speed-ups,
here is how to download sample instances (they are single-file
gap scripts):

Fadi Aloul wrote:
> http://www.eecs.umich.edu/~faloul/gap has three files with 70, 80, and 90
> nodes. They need 1, 50, and 3000 seconds respectively to be solved.
> They return no symmetries and they use very little memory (about 20MB
> only) although the machine has 256M and the -m & -o gap limits are set to
> 100M & 200M.
> Fadi

thanks for help,


P.S. I paper published several years ago at a formal verification
conference mentioned that the authors tried GAP but found it
way too slow for symmetry detection in circuits. They got away
with a very simple opportunistic algorithm that detected
2-vertex exchanges that preserved the graph. It should be possible
to detect larger classes of symmetries opportunistically, e.g., some
order-two symmetries.
Igor Markov (734) 936-7829 EECS 2211

Miles-Receive-Header: reply

> < [top]