~/talk

Problem Solved! Using Logic Programming to Find Answers

Talkat RubyConf 2016 · 2016-11-10..11-12· [ruby, databases]
slides:none on file

Logic programming claims to let a program declare relations and let the engine infer missing values; the demo shows Ruby options (miniKanren/kanren gems, Prolog bindings) and a homebrew Russell prototype that takes Sudoku and n‑Queens as constraints and finds solutions instead of hand‑coding search. Under the hood is constraint propagation plus unification substitution list (a hash of variable bindings). Complexity still explodes (rows ≈ 9! choices) but the prototype solver does produce correct Sudoku solutions.

AI-written summary · about

  1. 0:00Intro
  2. 1:22Law School Admissions Test
  3. 2:07Bridge
  4. 3:11Programming
  5. 4:11Creative Machines
  6. 6:03Atbash Cipher
  7. 6:54Function Chaining
  8. 8:07Hiding Process
  9. 10:40Functional thinking
  10. 10:51Relational thinking
  11. 12:35n Queens
  12. 16:06Brute Force
  13. 16:44Constraint Procedure
  14. 20:24Declarative Sudoku
  15. 22:18Sudoku - Core
  16. 23:07Functional Completeness
  17. 24:05has_unique_contents(collection)
  18. 27:33Substitution List
  19. 28:26Unification - the algorithm
  20. 29:34Constraint Propagation in Ruby
  21. 30:36Unification in Ruby
  22. 32:56Disjunction
  23. 40:02Expert Systems
  24. 41:03Music Exercises
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.