Skip to content
0:00 / 0:00

#clojure#satsolver#constraintprogramming

Solving Problems Declaratively - Mark Engelberg

ClojureTV

111K subscribers • 135 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Mark Engelberg, developer of math.combinatorics

Intermediate. Assumes working knowledge.

10K views9 years ago1 recommendation

Programming languagesComputer scienceLisp and ClojureAlgorithmsMath for programmers

Mark Engelberg demonstrates how to model complex combinatorial problems declaratively in Clojure and solve them using Java solver engines.

In this talk, we’ll be looking at how you can use the expressiveness of Clojure to model combinatorially complex problems at a high level, declaratively, and then pass the model to a speedy Java solving engine such as a dancing links solver, a SAT solver, or a constraint solver, in order to efficiently find a solution. We’ll survey a few different Clojure libraries that make it easy to connect to specific Java solvers and for each one, we’ll discuss what classes of problems are a good fit. Mark Engelberg has been an active member of the Clojure community ever since Clojure turned 1.0, and is the primary developer of math.combinatorics, math.numeric-tower, data.priority-map, ubergraph, and a co-developer of instaparse. He creates logic puzzles and games, using Clojure as a “secret weapon” to build his own puzzle development tools. His latest work is a line of programming-themed puzzle games for kids, produced by Thinkfun and slated to arrive in toy stores later this year.

Why it's here

1 person recommends this

What people say. Recommended as an excellent introduction to declarative problem solving and constraint programming in Clojure.

u/Hi-MyNameIsFuchsin r/Clojure • Recommends

Solving Problems Declaratively - Mark Engelberg