Quine-McCluskey isn't too bad to do once or twice by hand, but if you change
even one row in your dataset, you'll have to repeat the ENTIRE Q-M
algorithm. It gets very tedious. For your application, I'd just use a hash
table. You dont need the reduced form of your data, you just need a look-up
table. It's a bit tedious to do by hand, but it will be much easier to
change later.... for example, if (a,b,c,d,e,f) represents the 6 parameters
as a tuple, then:

# my_decision_tree.py  -  a module that gives a decision based on these
data....
# Decision table encoded
datarow = {}
datarow[(0,0,0,0,0,0)] = 0
datarow[(0,0,0,0,0,1)] = 1
datarow[(0,0,0,0,1,0)] = 0
datarow[(0,0,0,0,1,1)] = 1
datarow[(0,0,0,1,0,0)] = 1
#   .....
def get_decision(a,b,c,d,e,f):
  # Helper-function
  return datarow[(a,b,c,d,e,f)]

Or you could assign functions:
datarow[(0,0,0,0,0,0)] = function1
datarow[(0,0,0,0,0,0)] = function7

or lists
datarow[(0,0,0,0,0,1)] = [ True, False, "Andrew Jackson" ]

or whatever value you really want to return based on the input.

You could create a Python script that would generate the 64 lines so all you
have to do is manually set what each line evaluates to.... Again, this seems
easier than trying to do Q-M by hand!

Jared

On 5 Feb 2008, at 06:31, Robin Becker wrote:

Diez B. Roggisch wrote:

Robin Becker wrote:


.......

terms or something, but perhaps I am daft.


Triggered this in some deep-rootet parts of my brain stem:


http://en.wikipedia.org/wiki/Quine-McCluskey_algorithm

.....
seems like the sort of thing I can deal with though at least for this small
case.
-- 
Robin Becker

-- 
http://mail.python.org/mailman/listinfo/python-list
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to