k-XORSAT

Implementing WalkSat to solve k-XORSAT problem, and also, using MiniZinc to solve this problem.

Overview

k-XORSAT is a type of CSPs. In k-XORSAT, the constraints oblige the XOR of k Boolean variables, or their negations must equal zero. It is somehow similar to k-SAT, where the OR of k Boolean variables must be True (Abbe and Montanari 2015).

In this project, I have implemented WalkSAT to solve the problem for a set of variables as an inexact approach.

Also, for an exact approach for solving the problem, I have used MiniZinc.

Reuirements

To run the exact method, you need to have MiniZinc installed on your system. See the instructions here.

Usage

By using a python script you can run the exact method:

python script.py

For the inexact method you need to have C++ on your system and then enter the commands below (in linux):

g++ walksat.cpp
./a.out