|
Posted by Henk Verhoeven on 08/26/05 23:34
Hi pk,
Sounds like a schoolbook example for an expert system, typically an
application of production rules, backward chaining. But you do need an
inference engine for that, i am not sure there is one written in php. If
you can't find one, maybe you can just build a series of methods, each
reacting on one a specific question and filled with rules that return a
value if applicable. The condition of each rule may call other methods
and so on, that is how you get the backward chaining funcionality. There
may be some refactoring to avoid the same rules reproduced in several
methods. If you can't follow me, buy a book on AI or find a sponsor (a
big one) and hire a knowledge engineer (and take a lot of time to answer
his questions).
Greetings,
Henk Verhoeven,
MetaClass.
pk wrote:
> Here is my problem. I want to make a webapp that will basically take
> the work out of finding what tool works for what situation. There are
> 5 factors that go into tool selection. 1)Material Group, 2)Insert
> Radius, 3)Insert Type and Size, and 2 others that I can't remember
> off-hand. There are probably about 1000 different scenarios that I
> have to code for..(there are several blank table cells and it's not
> setup as you might imagine, there is a lot of overlapping), and I
> desperately want to avoid making a gigantic conditional statement. I'm
> afraid that I really have to provide a picture of what I'm doing here,
> so I will do that. Here is the link.
> http://www.bigkaiser.com/temp/weirdtable.jpg You only see 3 of the 5
> factors on this page, and the other 2 have to do with whether this
> table or one of many other tables (not pictured) will be used.
>
> So, now that I've confused everyone. That's my table. What's a good
> way to go about programming that sucker in so that people don't have to
> do all the "work" involved to figure out what tools they need. They
> should just be able to choose selections from 5 dropdown boxes and get
> one tool back. A tool is something like "10.655.600".
>
> Thanks for whomever tries to come up with a solution to this poorly
> explained problem. :)
>
> -pk
>
Navigation:
[Reply to this message]
|