Original article can be found here (source): Artificial Intelligence on Medium
The Art of Universal Constraint Solving w/ Universal Solvers
All solvers e.g. K-SAT, SMT, K-CSP etc. solve constraints. But they represent those constraints in some ‘limited’ fashion and solve them.
For example in boolean satisfiability (K-SAT) we represent constraints in CNF form as
(x1∧y1∧z1) ∨ (x2∧y2∧z2) ∨ … ∨ (xn∧yn∧zn)
While all such solvers are interesting and useful. Its hard to represent practical problems in these forms very easily, compactly and solve them efficiently.
We have to think of what is the best form of representing and solving constraints. (In a theoretical sense)
Given n variables. Universal Constraints mean that they can represent any kind of mathematical constraint relationship between them. Including but not limited to below. e.g.
3xy + 2x² — y³ ≥ 9
5xy²-10x-5y != 10
Can we make a solver which uses and solves Universal Constraints? Yes!
Thats what we have at Automatski.
But why would we want to do that?
#1 Universal Problem Solving
If we are able to represent and solve arbitrary Universal Constraints we can solve gazillions of problems of interest to us.
#2 Exponentially Powerful
Universal Constraints are exponentially more powerful in comparison to e.g. CNF in Boolean Satisfiability.
#3 Exponentially Compact and Efficient
We can represent problems in exponentially lesser constraints exponentially efficiently if we can use Universal Constraints.
The biggest problem with other solvers is that for e.g. we need exponential clauses to represent some problems in Boolean Satisfiability. Combined with the fact that K-SAT takes an exponential amount of time/effort to solve anyway over and above that. So it becomes a double exponential nightmare.
Universal Constraints are very natural and intuitive to think of and use. It requires minimum effort to encode a problem using natural constraints.
#5 Exponentially Difficult (The Problem)
Solving Universal Constraints can be exponentially more difficult than solvers with simple constraint representations. Thats the only reason why solvers with simple constraint representations are used and so popular.
But if P = NP (which it is) we might be able to solve Universal Constraints in non-exponential and better, in polynomial time.
Why are we harping about universal constraints and universal solvers? Obviously we are the least interested in literature surveys and theory.
Answer: At Automatski our K-CSP Solvers use and solve Universal Constraints. And we have already proven P = NP in 1990’s.
So now we have a class of algorithms which deliver an entire class of solvers for use in universal problem solving.
The first requirement to achieving AGI is to make Universal Solvers which Use and Solve Universal Constraints.
Time to light a cigar…
This is our website http://automatski.com