Git Product home page Git Product logo

ar-class-2022-hw1's Introduction

HW 1

The tasks for this HW are found in hw1.pdf.

Details about Question 1

How to implement?

The SAT-solvers should be implemented in sat_solver.py. In particular, the naive solver should be implemented in the function naive_solve and the dpll solver should be implemented in the function dpll_solve. Currently sat_solver.py only contains dummy implementations (e.g., functions that always return True).

How to run?

This is how your implementation should be called:

python3 sat_solver.py <path-to-cnf> <algorithm>

where:

  • is a path to a cnf file
  • is either "naive" or "dpll"

For example:

python3 sat_solver.py benchmarks/example1.cnf naive
python3 sat_solver.py benchmarks/example1.cnf dpll

In both cases, the result should be sat. No other output is allowed, as the implementation will be tested using scripts.

Remarks:

  • The directory benchmarks includes several cnf files as examples.
  • Your implementation will be tested on a super-set of these benchmarks.
  • You are free to implement everything within sat_solver.py or use other files and import them. In the latter case, make sure to include them in your submission. The test script will always call sat_solver.py.
  • It is highly recommended to compare your results to an off-the-shelf SAT solver, such as z3 in order to check that your results are correct. When testing your implementation, I plan to compare your results to z3's results. z3 can be found here: https://github.com/Z3Prover/z3

ar-class-2022-hw1's People

Contributors

yoni206 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.