An open API service providing repository metadata for many open source software ecosystems.

Topic: "satisfiability"

sarsko/CreuSAT

CreuSAT - A formally verified SAT solver written in Rust and verified with Creusot.

Language: Rust - Size: 111 MB - Last synced at: 11 months ago - Pushed at: about 1 year ago - Stars: 591 - Forks: 10

SRI-CSL/yices2

The Yices SMT Solver

Language: SMT - Size: 25.9 MB - Last synced at: 1 day ago - Pushed at: 6 days ago - Stars: 396 - Forks: 55

welchbj/tt

a Pythonic toolkit for working with Boolean expressions

Language: Python - Size: 577 KB - Last synced at: 5 months ago - Pushed at: 6 months ago - Stars: 218 - Forks: 12

circuitgraph/circuitgraph

Tools for working with circuits as graphs in python

Language: Verilog - Size: 10.5 MB - Last synced at: 2 days ago - Pushed at: over 1 year ago - Stars: 115 - Forks: 14

shnarazk/splr

A modern (trail saving, clause subsumption/vivification, learning-rate based selecting, rephrase) CDCL SAT solver in Rust

Language: Rust - Size: 5.06 MB - Last synced at: 11 days ago - Pushed at: 19 days ago - Stars: 91 - Forks: 9

audemard/glucose

The glucose SAT solver

Language: C++ - Size: 387 KB - Last synced at: 6 months ago - Pushed at: 6 months ago - Stars: 77 - Forks: 15

meelgroup/approxmc

Approximate Model Counter

Language: C++ - Size: 944 KB - Last synced at: 4 days ago - Pushed at: 5 days ago - Stars: 76 - Forks: 26

MatthiasNickles/diff-SAT

Probabilistic Answer Set Programming and Probabilistic SAT solving, based on Differentiable Satisfiability

Language: Scala - Size: 2.24 MB - Last synced at: 11 months ago - Pushed at: 11 months ago - Stars: 61 - Forks: 3

google/kiwi-solver 📦

Kiwi is a minimalist and extendable Constraint Programming (CP) solver.

Language: Java - Size: 96.7 KB - Last synced at: 4 days ago - Pushed at: almost 6 years ago - Stars: 50 - Forks: 8

biotomas/ipasir

The Standard Interface for Incremental Satisfiability Solving

Language: C++ - Size: 2.18 MB - Last synced at: 12 months ago - Pushed at: almost 3 years ago - Stars: 47 - Forks: 14

triska/clpb

Boolean Constraint Solving in Prolog

Language: Prolog - Size: 305 KB - Last synced at: about 1 month ago - Pushed at: 5 months ago - Stars: 39 - Forks: 6

sukrutrao/SAT-Solver-DPLL

A simple SAT solver that implements the DPLL algorithm with unit resolution

Language: C++ - Size: 1.59 MB - Last synced at: about 2 years ago - Pushed at: over 5 years ago - Stars: 37 - Forks: 20

sukrutrao/Timetabler

A customizable timetabling software for educational institutions that encodes timetabling constraints as a SAT formula and solves them using a MaxSAT solver

Language: C++ - Size: 756 KB - Last synced at: over 1 year ago - Pushed at: over 5 years ago - Stars: 35 - Forks: 7

NationalSecurityAgency/XORSATFilter

A library for building efficient set-membership filters and dictionaries based on the Satisfiability problem.

Language: C - Size: 57.6 KB - Last synced at: 19 days ago - Pushed at: over 2 years ago - Stars: 33 - Forks: 17

meelgroup/ganak

The first scalable probabilistic exact counter

Language: C++ - Size: 18.9 MB - Last synced at: 4 days ago - Pushed at: 5 days ago - Stars: 31 - Forks: 9

vsklad/cgen

CGen is a tool for encoding SHA-1 and SHA-256 hash functions into CNF in DIMACS format, also into ANF polynominal system in PolyBoRi output format.

Language: C++ - Size: 234 KB - Last synced at: almost 2 years ago - Pushed at: almost 2 years ago - Stars: 21 - Forks: 5

Thinklab-SJTU/HardSATGEN

[SIGKDD 2023] HardSATGEN: Understanding the Difficulty of Hard SAT Formula Generation and A Strong Structure-Hardness-Aware Baseline

Language: Python - Size: 25.9 MB - Last synced at: 15 days ago - Pushed at: almost 2 years ago - Stars: 20 - Forks: 0

maxtuno/slime-sat-solver

A Free World Class High Performance SAT Solver

Language: JavaScript - Size: 285 MB - Last synced at: 3 months ago - Pushed at: almost 4 years ago - Stars: 20 - Forks: 1

hellman/Quine-McCluskey

DenseQMC: A bit-slice implementation of the Quine-McCluskey algorithm

Language: C++ - Size: 5.4 MB - Last synced at: 1 day ago - Pushed at: over 1 year ago - Stars: 15 - Forks: 1

Kapilhk/SatPie

SAT solver based on CDCL in Python with Conflict Driven Clause Learning, clever Heuristics - VSIDS, 2 - Literal watch advanced data structure, Random restarts with restart probability decay

Language: Jupyter Notebook - Size: 1.09 MB - Last synced at: almost 2 years ago - Pushed at: over 4 years ago - Stars: 14 - Forks: 3

sukrutrao/SAT-Solver-CDCL

A simple SAT solver based on the CDCL algorithm

Language: C++ - Size: 91.8 KB - Last synced at: about 2 years ago - Pushed at: over 5 years ago - Stars: 14 - Forks: 3

meelgroup/barbarik

The first efficient procedure to test whether a sampler is uniform

Language: Python - Size: 48.3 MB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 12 - Forks: 1

cipherboy/hash_framework

Framework for studying cryptographic hash functions using SAT.

Language: Python - Size: 923 KB - Last synced at: about 1 hour ago - Pushed at: over 3 years ago - Stars: 10 - Forks: 2

ANU-HPC/dagster

Dagster - Parallel Structured Search for Boolean Satisfiability (SAT) problems

Language: HTML - Size: 31.7 MB - Last synced at: 17 days ago - Pushed at: 17 days ago - Stars: 9 - Forks: 1

private-yusuke/sat-d 📦

A small SAT solver implementation. 2020年度の情報科学特別演習にて書いたプログラム

Language: D - Size: 1.17 MB - Last synced at: 5 days ago - Pushed at: over 3 years ago - Stars: 9 - Forks: 0

fkutzner/JamSAT

A fast, clean IPASIR SAT solver

Language: C++ - Size: 1.91 MB - Last synced at: about 1 year ago - Pushed at: over 4 years ago - Stars: 9 - Forks: 0

cipherboy/cmsh

High-level interfaces over @msoos's CryptoMiniSat.

Language: Python - Size: 357 KB - Last synced at: about 4 hours ago - Pushed at: about 1 year ago - Stars: 8 - Forks: 0

sgomber/CDCL-SAT

A SAT Solver based on CDCL (Conflict Driven Clause Learning) implemented in python

Language: Jupyter Notebook - Size: 13.9 MB - Last synced at: about 2 years ago - Pushed at: over 4 years ago - Stars: 8 - Forks: 3

weaversa/MPHF

An efficient minimal perfect hash function generator for small sets

Language: C - Size: 86.9 KB - Last synced at: 14 days ago - Pushed at: over 4 years ago - Stars: 8 - Forks: 2

ZaydH/spur

SAT'18 Paper: SPUR - Satisfying Perfectly Uniform Random sampler (Winner Best Student Paper)

Language: C++ - Size: 127 KB - Last synced at: 11 months ago - Pushed at: about 1 year ago - Stars: 7 - Forks: 1

saeednj/SAT-encoding

Encoding different problems into Boolean satisfiability

Language: C++ - Size: 54.7 KB - Last synced at: over 1 year ago - Pushed at: over 2 years ago - Stars: 7 - Forks: 4

dirkschumacher/rpicosat

PicoSAT bindings for R

Language: R - Size: 90.8 KB - Last synced at: 8 days ago - Pushed at: over 3 years ago - Stars: 7 - Forks: 1

jacky860226/JinkelaSat

A Header-Only CDCL SAT Solver based on MiniSat (Fast and only 500 lines)

Language: C++ - Size: 931 KB - Last synced at: about 2 years ago - Pushed at: almost 4 years ago - Stars: 7 - Forks: 0

ermongroup/streamline-vi-csp

Language: C - Size: 2.32 MB - Last synced at: 23 days ago - Pushed at: over 6 years ago - Stars: 7 - Forks: 2

Daikon-Sun/FRAIG

Functionally Reduced And-Inverter Graph

Language: C++ - Size: 14.3 MB - Last synced at: about 2 years ago - Pushed at: over 6 years ago - Stars: 6 - Forks: 0

meelgroup/breakid

BreakID, a CNF symmetry-breaking library and tool

Language: C++ - Size: 439 KB - Last synced at: 4 days ago - Pushed at: 5 days ago - Stars: 5 - Forks: 3

fkutzner/PyCSCL

A lightweight CNF SAT constraint encoder library

Language: Python - Size: 221 KB - Last synced at: 2 days ago - Pushed at: over 2 years ago - Stars: 5 - Forks: 1

DevonFulcher/Proof-of-SAT

Generate and solve random instances of MAX-SAT and instances of MAX-SAT that are deterministically and pseudo-randomly generated from the solutions of previous MAX-SAT instances. This is a prototype of how a proof of work algorithm can be derived from a relevant problem.

Language: Python - Size: 11.7 KB - Last synced at: 23 days ago - Pushed at: over 3 years ago - Stars: 5 - Forks: 0

lip6/cosy

Language: C++ - Size: 2.54 MB - Last synced at: 12 days ago - Pushed at: about 4 years ago - Stars: 5 - Forks: 0

MatiasBrizzio/EstiMate

EstiMate 🦉: A fast and accurate modelcounter tool for estimating the number of models for LTL formulas using transfer matrices.

Language: Java - Size: 99.5 MB - Last synced at: 5 months ago - Pushed at: 5 months ago - Stars: 4 - Forks: 0

marcluque/YASER

Yet Another Sat solvER

Language: C - Size: 23.9 MB - Last synced at: 5 days ago - Pushed at: over 1 year ago - Stars: 4 - Forks: 0

meelgroup/mis

Minimal Independent Set Finder for CNFs

Language: C++ - Size: 1.52 MB - Last synced at: about 2 years ago - Pushed at: over 3 years ago - Stars: 4 - Forks: 2

ronmrdechai/dimple

A simple SAT solver written in Java

Language: Java - Size: 40 KB - Last synced at: about 1 year ago - Pushed at: almost 6 years ago - Stars: 4 - Forks: 0

MatthiasNickles/Diff-ASP-Propagators

Proof of concept approach to Differentiable Answer Set Programming and Differentiable Satisfiability, for sampling and multimodel optimization. For Clingo (https://potassco.org/) + Python

Language: Answer Set Programming - Size: 24.4 KB - Last synced at: 10 days ago - Pushed at: 10 days ago - Stars: 3 - Forks: 0

ML-KULeuven/ocus-explain

Efficient Explaining CSPs with Unsatisfiable Subset Optimization

Language: Jupyter Notebook - Size: 14 MB - Last synced at: 8 months ago - Pushed at: 8 months ago - Stars: 3 - Forks: 0

flopp/gol-sat

A SAT-based forward/backwards solver for Conway's "Game of Life".

Language: C++ - Size: 18.6 KB - Last synced at: about 1 month ago - Pushed at: 11 months ago - Stars: 3 - Forks: 0

MatthiasNickles/fol2asp

A tool for the translation of First-Order Logic (FOL) theories to Answer Set programs (logic programs)

Language: Scala - Size: 66.4 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 3 - Forks: 0

simewu/SAT-solver

A web-based boolean satisfiability solver.

Language: HTML - Size: 1.67 MB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 3 - Forks: 0

vaibhavkarve/graphsat

A python package that recognizes clauses, Cnfs, graphs, hypergraphs, and multi-hypergraphs. The package implements local graph-rewriting, graph-satchecking, calculation of graph disjunctions, as well as checking of new reduction rules.

Language: Jupyter Notebook - Size: 1.65 MB - Last synced at: over 1 year ago - Pushed at: almost 2 years ago - Stars: 3 - Forks: 2

m1010j/boolean-logic

A lightweight package for evaluating formulas of Boolean logic

Language: JavaScript - Size: 1.04 MB - Last synced at: 3 days ago - Pushed at: almost 5 years ago - Stars: 3 - Forks: 0

dakk/osat

OCaml experimental sat3 solver

Language: OCaml - Size: 51.8 KB - Last synced at: about 2 years ago - Pushed at: almost 5 years ago - Stars: 3 - Forks: 0

tamura70/taocp-sat

Language: CWeb - Size: 11.6 MB - Last synced at: over 1 year ago - Pushed at: over 5 years ago - Stars: 3 - Forks: 0

schwering/sat

SAT solver for education

Language: TeX - Size: 13.1 MB - Last synced at: about 2 months ago - Pushed at: over 6 years ago - Stars: 3 - Forks: 0

aperrault/stable-matching-suite

SAT implementation of stable matching problem with couples and reference implementations of deferred acceptance algorithms.

Language: C++ - Size: 112 KB - Last synced at: about 2 years ago - Pushed at: about 7 years ago - Stars: 3 - Forks: 1

hellman/optisolveapi

Optimization & Solving common API (SAT, MILP, etc.)

Language: Python - Size: 122 KB - Last synced at: 1 day ago - Pushed at: 10 months ago - Stars: 2 - Forks: 0

hellman/optimodel

A suite for minimizing constraint systems (CNF/DNF/MILP inequalities)

Language: Python - Size: 157 KB - Last synced at: 1 day ago - Pushed at: 10 months ago - Stars: 2 - Forks: 1

shnarazk/sudoku_sat

Solving Sudoku variants with SAT solvers

Language: Rust - Size: 211 KB - Last synced at: 11 months ago - Pushed at: about 1 year ago - Stars: 2 - Forks: 0

apurva91/SAT-Solver

CDCL SAT Solver implementation for babies

Language: Jupyter Notebook - Size: 328 KB - Last synced at: over 1 year ago - Pushed at: almost 5 years ago - Stars: 2 - Forks: 0

MatiasBrizzio/N-AI

🧩 Solver for N-Puzzle & N-Queens using Genetic Algorithms, A*, and more in Python

Language: Python - Size: 384 KB - Last synced at: 6 days ago - Pushed at: 7 days ago - Stars: 1 - Forks: 1

toda-lab/pygplib

Pygplib: Python First-Order Graph Property Library

Language: Python - Size: 4.88 MB - Last synced at: 4 months ago - Pushed at: 4 months ago - Stars: 1 - Forks: 0

vvvvvvvector/SAT-solver-graphical-interface-client

SAT-solver graphical interface for Web [client-side]

Language: TypeScript - Size: 21.1 MB - Last synced at: 5 days ago - Pushed at: about 1 year ago - Stars: 1 - Forks: 0

jamestiotio/DigiAlpha

Optimized 32-Bit Full Adder, CEC-SAT Verifier & 2-SAT Solver

Language: C++ - Size: 6.96 MB - Last synced at: 12 months ago - Pushed at: over 1 year ago - Stars: 1 - Forks: 0

JBourton/SatSolver

Implementation of a basic SAT solver, completed as coursework for Durham University

Language: Python - Size: 229 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 1 - Forks: 0

os12345678/SAT_DPLL

An implementation of the DPLL algorithm for solving SAT problems

Language: Python - Size: 2.76 MB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

jeffrey-hokanson/SATyrn

An interface to SAT solvers

Language: C - Size: 87.9 KB - Last synced at: 3 days ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

vinciusb/proof-visualizer Fork of ufmg-smite/proof-visualizer

A visualizer for proof certificate generated by CVC5, a SMT solver. This website provides customizable views through graphs and tables that allow a better understanding of certificates and the operation of SMT solvers.

Language: TypeScript - Size: 41.4 MB - Last synced at: almost 2 years ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

opensat/LovaszSAT

A naive implementation of Algorithmic Lovász local lemma.

Language: Python - Size: 1.95 KB - Last synced at: 12 months ago - Pushed at: over 2 years ago - Stars: 1 - Forks: 0

Arvind-kumar-M-08/AI-CS-312-lab

Artificial Intelligence Lab

Language: Python - Size: 1.67 MB - Last synced at: about 2 years ago - Pushed at: almost 3 years ago - Stars: 1 - Forks: 2

DerEasy/Propositional-Calculator

Console application for calculating propositional calculus formulas. Can create truth tables, show steps to result, check for validity, etc. Programmed in C#.

Language: C# - Size: 7.04 MB - Last synced at: almost 2 years ago - Pushed at: about 3 years ago - Stars: 1 - Forks: 0

mrtkp9993/MathProg

Automated theorem proving, Logic Programming, Optimization examples.

Language: Python - Size: 24.4 KB - Last synced at: about 1 month ago - Pushed at: about 3 years ago - Stars: 1 - Forks: 0

pgphi/Logic-based-SAT-Clause-Creater

This algorithms computes the clauses needed, to solve Minesweeper and check for satisfiability

Language: Python - Size: 1.98 MB - Last synced at: over 1 year ago - Pushed at: about 3 years ago - Stars: 1 - Forks: 0

fkutzner/IncrementalMonkey

A random testing tool for IPASIR SAT solvers

Language: C++ - Size: 436 KB - Last synced at: about 1 year ago - Pushed at: almost 4 years ago - Stars: 1 - Forks: 0

prateekkumarweb/sat-verifier

Verifies SAT solver output. Uses drat-trim proof checker for UNSAT instances.

Language: C - Size: 19.5 KB - Last synced at: about 2 years ago - Pushed at: almost 5 years ago - Stars: 1 - Forks: 0

GavinPHR/SAT-with-Haskell

Haskell Implementation of DPLL + Sudoku with SAT

Language: Haskell - Size: 2.22 MB - Last synced at: about 2 years ago - Pushed at: about 5 years ago - Stars: 1 - Forks: 0

Groenbech96/SAT

Satisfiability solver

Language: C++ - Size: 9.52 MB - Last synced at: 10 months ago - Pushed at: over 5 years ago - Stars: 1 - Forks: 0

ben-marshall/sat-solver

A simple combinatorial boolean sat solver based on the AC-3 Algorithm

Language: C - Size: 156 KB - Last synced at: about 1 month ago - Pushed at: over 7 years ago - Stars: 1 - Forks: 1

SleekPanther/3-sat-certifier

A Certifier algorithm to check a particular solution to the NP-Complete 3-Sat problem

Language: Java - Size: 16.6 KB - Last synced at: about 2 months ago - Pushed at: almost 8 years ago - Stars: 1 - Forks: 1

NikhilGupta1997/SAT-Graph-Mapping

Check to see if a mapping exists between 2 graphs (subgraph-isomorphism) by developing optimised SAT clauses and solving them using MINISAT.

Language: C++ - Size: 67.4 KB - Last synced at: almost 2 years ago - Pushed at: over 8 years ago - Stars: 1 - Forks: 1

fisherlyon/SAT_SeniorProject

Work in progress...

Language: Racket - Size: 24.5 MB - Last synced at: 11 days ago - Pushed at: 11 days ago - Stars: 0 - Forks: 0

lumusit/lumusit

Contate-nos: [email protected]

Size: 1000 Bytes - Last synced at: 15 days ago - Pushed at: 15 days ago - Stars: 0 - Forks: 0

tchaumeny/satisfaction

Investigate phase transitions in k-SAT problems

Language: Rust - Size: 87.9 KB - Last synced at: about 1 month ago - Pushed at: 4 months ago - Stars: 0 - Forks: 0

calebnwokocha/Satisfier

This project is a satisfiability checker that works with formulas in conjunctive normal form.

Language: Go - Size: 3.16 MB - Last synced at: 5 months ago - Pushed at: 5 months ago - Stars: 0 - Forks: 0

afifabroory/SudokuAreEz-SAT

SudokuAreEz-SAT are project implement Mathematics Logic using Boolean Satisfiability to solve Sudoku puzzle.

Language: Python - Size: 297 KB - Last synced at: 10 months ago - Pushed at: 10 months ago - Stars: 0 - Forks: 0

fkutzner/lingeling-cmake Fork of arminbiere/lingeling

Lingeling SAT Solver fork with CMake build

Language: C - Size: 268 KB - Last synced at: about 1 year ago - Pushed at: about 1 year ago - Stars: 0 - Forks: 0

leabrodyheine/Mosaic-Game-Logical-Agents

This project implements an intelligent agent to solve the Mosaic logic puzzle using strategies such as Single Point Strategy, Satisfiability Test Reasoning (with DNF and CNF encoding), and Probabilistic Reasoning. It utilizes frameworks and libraries including Java, LogicNG, and SAT4J for logical reasoning and satisfiability problems.

Language: Java - Size: 1.77 MB - Last synced at: about 2 months ago - Pushed at: about 1 year ago - Stars: 0 - Forks: 0

vvvvvvvector/SAT-solver-graphical-interface-server

SAT-solver graphical interface for Web [server-side]

Language: Python - Size: 36.1 KB - Last synced at: 5 days ago - Pushed at: about 1 year ago - Stars: 0 - Forks: 0

centauri2718/estsat

Converts a CNF formula into a mathematical formula so that numerical and algebraic operations can be preformed on it.

Language: C++ - Size: 241 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

MatthiasNickles/Satalyzer

A lightweight tool for the visualization and analysis of event log files (JSON format) generated by SAT, ASP, SMT and other kinds of constraint solvers

Language: Scala - Size: 479 KB - Last synced at: over 1 year ago - Pushed at: over 1 year ago - Stars: 0 - Forks: 0

Jakob-Bach/Predicting-SAT

Code and text for the suspended paper/project "Predicting Satisfiability of Benchmark Instances".

Language: TeX - Size: 52.7 KB - Last synced at: 12 months ago - Pushed at: almost 2 years ago - Stars: 0 - Forks: 0

lou1306/plancksat

Just good ol' minisat with some quality of life improvements and weak/strong assumptions

Language: C++ - Size: 132 KB - Last synced at: almost 2 years ago - Pushed at: almost 2 years ago - Stars: 0 - Forks: 0

oliverdantzer/CISC204_project Fork of ajsib/CISC204_project

Model the card game Yaniv in predicate logic. Project for Queen's University course CISC/CMPE 204: Logic for Computing Science.

Language: Python - Size: 4.51 MB - Last synced at: 12 months ago - Pushed at: about 2 years ago - Stars: 0 - Forks: 0

lucasferreiraz/logisat

🧠 Classification of pathologies column using propositional logic satisfiability algorithms.

Language: Java - Size: 144 KB - Last synced at: about 1 year ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

dgerod/CBTs-Checker Fork of EGiunchiglia/CBTs-Checker

Tool to check if a conditional behavior tree (CBT) is valid

Language: C++ - Size: 16.2 MB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 0

EnricoPittini/Two-dimensional-strip-packing-problem

Solving the two-dimensional strip packing problem, using several combinatorial decision making and optimization approaches: Constraint Programming, Boolean SATisfiability, Satisfiability Modulo Theory; Integer Linear Programming.

Language: Python - Size: 22.3 MB - Last synced at: about 2 years ago - Pushed at: over 2 years ago - Stars: 0 - Forks: 1

noahbass/scheduler-sat

Using a SAT solver to prove correctness of schedules given a list of constraints.

Language: Python - Size: 17.6 KB - Last synced at: about 2 years ago - Pushed at: almost 3 years ago - Stars: 0 - Forks: 0

ablanco1950/BFS-no-conventional

BFS-no-conventional Search according to the BFS algorithm according to an "unconventional" method, meaning the conventional one that is downloaded from http://www.paulgraham.com/acl.html link to code file acl2.lisp. In this "unconventional" version, all the paths that lead to the objective are obtained following the BFS strategy, not only the first path, which will be the shortest. Since there may be several paths that are the shortest, apart from facilitating the case in which the branches are weighted and only the shortest path is not decisive. A program BFS-no-conventional-only-first-path.cl is also provided that obtains only the first path that reaches the target (actually it is the same program in which the value of the option parameter has been modified). The result is an increase in time but a significant reduction in the memory occupied, which is useful in the case of large graphs. The code has some lack of "orthodoxy", such as the use of global variables. Requirements: Allegro CL 10.1 Free Express Edition The programs are loaded, the code is selected and Tools Incremental Evaluation is given. The test cases are then selected and Tools Incremental Evaluation is given again. References: ANSI Common Lisp by Paul Graham. http://www.paulgraham.com/acl.html link to code, file acl2.lisp Diverse material of practices of the subject of Artificial Intelligence of the Polytechnic School Superior, Computer Engineering, of the Autonomous University of Madrid.

Language: Common Lisp - Size: 6.84 KB - Last synced at: almost 2 years ago - Pushed at: over 3 years ago - Stars: 0 - Forks: 0

ablanco1950/SAT_propositional_logical_inference

SAT_propositional_logical_inference Obtaining the satisfaction of a knowledge base by a different procedure from the conventional one. Currently, it is usually passed from an expression in FBF (well-formed formula with literals separated by the connectors =>, <=> , v, ^, ¬ and parentheses) to an expression in FNC composed of clauses (literals separated by the or v operator) joined by the and ^ operator, following many steps: substitution of expressions joined by the => connectors by their equivalent Boolean expression, application of Morgan's laws ... etc. The method followed in this application is: A new variable PPNIL is “created”, which the application considers as NIL but which prevents Lisp from considering it as NIL with the consequences it has in handling lists of considering it as an end of list. The values of each literal are substituted for T or PPNIL as they correspond to True or Nil in the composition of literals to be tested. The following rules apply. Connector separated literals => The expressions are True: T => T PPNIL => T PPNIL => PPNIL And Nil the rest. Literals separated by connector  The expressions are True: TT PPNILPPNIL And Nil the rest In the case of expressions joined by the v (or) connector, it is enough that one of the elements is T for it to consider the expression a T. In the case of connector ^ (and), it is enough that one of the variables is PPNIL for the expression to be considered false, that is, PPNIL. All this is done in the function valora-proposición-reducida-T-NIL (propos) function that determines whether a statement reduced to values T and PPNIL is true or false. As soon as it finds a list, it makes a recursive call to itself to obtain the T or PPNIL evaluation of the list. The function encuentra-modelos-p (kb) is the most important since it not only determines if the expression Kb that is passed to it is true or false, but it also gives the list of variables (interpretations) with T or PPNIL values that satisfy them . To do this, it uses the function extrae-simbolos( kb), which generates a list with all the possible values of the variables of the expression; genera-lista-interpretaciones, which generates all the possible combinations of variable values that can be given with T and PPNIL; and explora-todas-interpretaciones , listB kb, that successively calls interpretacion-modelo-p to check if it meets the interpretation of variable values to be passed. It is a "brute force" calculation system, it checks all the possibilities of assigning variables, so it is slower than systems that use DPLL (https://github.com/ablanco1950/DPLL_propositional_logical_inference) By using string handling functions in Lisp, the slowness is increased. Another notable function is reduce-T-NIL-proposicion (propos lst-reductor) function that receives expressions and converts variables to T or PPNIL values instead of variables. Use string handling functions in Lisp. If there is a list, it is called recursively to see the values in T or PPNIL of each of the variables. It uses the ls-reductor list that assigns each variable a T or PPNIL value TESTS: The tests have been implemented based on the examples that appear in the README.md, section 7, of https://github.com/bertuccio/inferencia-logica-proposicional Also based on the examples that appear in a link to netlogo that appears in http://www.cs.us.es/~fsancho/?e=120. Requirements: Allegro CL 10.1 Free Express Edition References: https://github.com/bertuccio/inferencia-logica-proposicional by Adrián Lorenzo Mateo (Bertuccio) who uses material from the Artificial Intelligence practices at the Higher Polytechnic School of the Autonomous University of Madrid. Informatics Engineering. http://www.cs.us.es/~fsancho/?e=120 by Fernando Sancho Caparrini. Higher Technical School of Computer Engineering of the University of Seville. https://github.com/ablanco1950/DPLL_propositional_logical_inference

Language: Common Lisp - Size: 11.7 KB - Last synced at: almost 2 years ago - Pushed at: over 3 years ago - Stars: 0 - Forks: 0

ablanco1950/DPLL_propositional_logical_inference

DPLL_propositional_logical_inference: Starting from a FNC (Conjunctive Normal Form), that is, a series of clauses (literals joined by the or operator) joined by an and operator. Apply the DPLL algorithm and determine the values ​​of the literals that give a solution to the FNC. A clear explanation of the DPLL algorithm can be found at http://www.cs.us.es/~fsancho/?e=120. The tests have been implemented based on the examples that appear in a link to netlogo on that page. If you have an expedition in FBC (with connectors => and <=>) you can switch to an FNC, which would be the entrance to this project, downloading the https://github.com/bertuccio/inferencia-logica-proposicional project. This project can be completed with the DPLL algorithm by adding the instructions given from the definition of the DPLL function to the end. And activating the instructions that appear in the function pasa-lista-FBF-to-lista-FNC that would serve as an interface between both projects. In fact, DPLL_propositional_logical_inference is intended to complete Propositional Logical Inference, with the DPLL algorithm and share functions. Requirements: Allegro CL 10.1 Free Express Edition References: https://github.com/bertuccio/inferencia-logica-proposicional by Adrián Lorenzo Mateo (Bertuccio) who uses material from the Artificial Intelligence practices at the Higher Polytechnic School of the Autonomous University of Madrid. Informatics Engineering. http://www.cs.us.es/~fsancho/?e=120 by Fernando Sancho Caparrini. Higher Technical School of Computer Engineering of the University of Seville.

Language: Common Lisp - Size: 8.79 KB - Last synced at: almost 2 years ago - Pushed at: over 3 years ago - Stars: 0 - Forks: 0

AnsgarKlein/DPLL-SAT-Solver

Implementation of the DPLL algorithm for solving the satisfiability problem of propositional logic

Language: C - Size: 175 KB - Last synced at: about 2 years ago - Pushed at: almost 4 years ago - Stars: 0 - Forks: 0

solhop/msat 📦

MaxSAT Solver

Language: Rust - Size: 13.7 KB - Last synced at: 11 months ago - Pushed at: almost 4 years ago - Stars: 0 - Forks: 0

Related Topics
sat-solver 50 sat 42 cnf 14 python 11 satisfiability-solver 10 logic 9 dpll-algorithm 8 optimization 7 cdcl-algorithm 7 dpll 6 logic-programming 6 constraint-programming 6 minisat 6 cdcl 5 propositional-logic 5 solver 5 answer-set-programming 5 constraint-satisfaction-problem 4 rust 4 c 4 satisfiability-modulo-theories 4 unsat 3 machine-learning 3 3sat 3 first-order-logic 3 boolean 3 artificial-intelligence 3 cryptography 3 boolean-satisfiability 3 mathematics 3 cpp 3 dimacs-cnf 3 dnf 3 graphs 3 model-counting 3 maxsat 2 maxsat-solver 2 3-sat 2 validity 2 sudoku 2 resolution-proof 2 react 2 combinatorial-optimization 2 ai 2 symmetry-breaking 2 weighted-sat-solving 2 psat 2 milp 2 pysat 2 constraints 2 encoder 2 differentiable-programming 2 differentiable-satisfiability 2 multi-models-optimization 2 probabilistic-asp 2 probabilistic-programming 2 probabilistic-satisfiability 2 sat-solving 2 smt 2 incremental 2 smt-solver 2 efficient 2 bdd 2 proof 2 truth-table 2 eda 2 inference 2 formal-methods 2 graph 2 formal-verification 2 formula 2 hash-functions 2 cnf-clauses 2 cnf-encoding 2 dimacs 2 sudoku-solver 2 simulated-annealing 1 conflict-based-search 1 typescript 1 certificate 1 3-satisfiability 1 backtracking-search 1 certifier-algorithm 1 p 1 np-hard 1 np-complete 1 np 1 circuit-satisfiability 1 negation 1 clause 1 compound-boolean 1 graph-neural-networks 1 literals 1 exp 1 generative-model 1 conjunctive-normal-form 1 computational-instability 1 react-redux 1 consensus 1 blockchain-technology 1