travitch / ifscs

An inductive form set constraint solver in Haskell
BSD 3-Clause "New" or "Revised" License
4 stars 5 forks source link

Fix the online cycle removal code #1

Open travitch opened 12 years ago

travitch commented 12 years ago

I have an implementation of online cycle removal, but it seems to somehow corrupt the constraint graph when it removes cycles. After a cycle is removed, solutions are still produced (and they are correct), but it takes much longer. It seems like a huge number of nodes in the constraint graph get added to the worklist after a cycle is collapsed somehow, several orders of magnitude more than observed without the cycle elimination.

The code is currently disabled (the check to see whether or not cycle elimination should be attempted always returns False, meaning don't try).