overview

Recent site activity

Composing Thoughts: a progressive introduction to rule based programming

please send comments/suggestions to: krriggs at comcast dot net

Rule based programming is an under-used paradigm of computation. It is actually among the easiest forms of computing to understand. It was designed to emulate human thought processes! At the same time it is based on a distinct fundamental, formal definition of computation. It is particularly useful for such tasks as exegesis and prototyping.

A different take on Production Rule Systems as The Lost Programming Paradigm for CS folks
 
These pages are meant to: 
  • Help anyone learn to program using rules,
  • Elict comments from others (krriggs at comcast dot net)
  • Let non-rule programmers see what they are missing
  • Poke around in some fun and interesting problems 
Preliminaries:
Who might be interested?
Where to get CLIPS.
Intro to CLIPS IDE (windows)
Etudes:
  1. Suite I    Rules
  2. Suite II   Fancy Facts & their CE's
  3. Suite III  Searching for answers
  4. Suite IV  Conditions!, Conditions!
  5. Count on Problems
  6. Suite V  A Few Bell's and whistles

Nocturnes:

  1. Contemplation I   Quo vadis, rules?
  2. Contemplation II   Structure(Trees) 
  3. Contemplation III  Language comparison
  4. Contemplation IV The Liar Paradox

 

Un-collated (as of yet) pieces:
  1. Two little visuals on CLIPS facts and rules
  2. for procedural programmers
    1. iterative loops as recusions
    2. the eight queens problem
  3. Advanced setup: Running clips from eclipse
  4. Dining philosophers
    1. Dining philosophers
    2. Dining Phil's w/ templates and some comment 
  5. Simple combinatorial explosion
  6. The sudoku Puzzle
  7.  The semantics of JAVA flow control 
  8. The basic Monte Carlo method
  9. Dynamic Programming the Fibonacci Series
  10. Building a bottom parser from EBNF specification.
  11. Finite Automata
  12. Track seeking algorithms
    1. optimal disk scheduling  OPT is impractical but theoretically interesting.
  13. WFF n' Proof
  14. term rewriting
  15. information retrieval (the biggest key to the WWW)
  16. switch and cond
  17. It's dictionary!, it's a hastable!, no it's a map.
  18. An elementary intro to TMS in CLIPS
  19. MST by Kruskal's algorithm
  20. KWIC indices and programming paradigms
  21. Relational algebra as in relational databases
  22. The rete algorithm
  23. The soundex algorithm
  24. A more 'rule like' version of soundex
  25. We imitate the emergent behavior of agents in the termite& block example from starlogo.
  26. It turns out that we read words and so can read them no matter how the internal letters are scrambled. Scramble reads a sentence (with punctuation separated by spaces), scrambles the letters internal to words and prints the result.
  27. PDA (in progress)
  28. Conway's game of life (see an applet)
Ulterior motifs:
  • Build complete CLIPS reference by example
  • Collect wide ranging examples of CS exegesis
 
 
 
Subpages (43): View All