This is a list of materials I've been collecting that are relevant to CSG260 and the things we're doing.
Contents:
Most of these are links to Professor Lieberherr's directory tree.
This output format captures the data we want to compare between our individual SAT solver implementations.
There are a couple possible inputs. Ahmed wrote a .cd file which parses the CSP competition input files.
In class, Daniel suggested we use an input format that's a lot easier to deal with that's based on the SAT competitions. Daniel's format works with DemeterJ, but not with DAJ because it uses a Line terminal which doesn't exist in DAJ.
Daniel wrote an implementation. I wrote one which doesn't do a lot for input checking. Sam wrote one.
Daniel's
implementation
Will's implementation
Sam's implementation
usage-transition-system-v1.1.txt is the latest (as of 11/21/2006)
I've been looking for test inputs and looking into ways of generating test inputs. These are links related to that:
Sam and I wrote a verifier program which takes inputs in either the format that Daniel suggested or the format Ahmed created based on CSPXML and an output that we agreed upon and verifies whether the assignment in the output satisfies the formula from the input.
Note: I need to go through and add some additional information regarding R and how to calculate R given a constraint (including the truth table).
Note 2: (11/3/2006 8:51pm) This version now has PolynomialI instead of a Set of CoefficientI things.
README file in the .jar file explains usage and such. Makefile should build it nicely.
README file in the .jar file explains usage and such. Makefile should build it nicely. It requires demeterj-0.8.5 rt.jar and someone's implementation.
NOTE: You must unpack the jar in order to run the tester--you cannot run it from the jar. The problem is that DJ can't find class graph nodes. I suspect the issue is that DJ can't look inside jar files for them.
The testfile grammar is like this:
TestFile = <tests> List(Test) . Test : ComputeBiasTest | UpdateBiasTest common <result> Result . ComputeBiasTest = "computebiastest" <testname> TestName <pairs> List(Pair) . UpdateBiasTest = "updatebiastest" <testname> TestName <beforepoly> Polynomial <pairs> List(OPair) . Pair = <r> Integer ":" <frac> Double . OPair = <op> Op <r> Integer ":" <frac> Double . Op : Added | Subtracted . Added = "+" . Subtracted = "-" . Polynomial = "(" <x3> SDouble "," <x2> SDouble "," <x1> SDouble "," <x0> SDouble ")" . TestName = <s> Ident . Result = "result" <v> Double <poly> Polynomial . SDouble : PDouble | NDouble common <v> Double . PDouble = . NDouble = "-" . List(S) ~ S { S } .
If you're interested in adding other test types to the tester, let me know. Given the way it's organized, it shouldn't be that difficult to do.