|Do you know where your variables are?|
I haven't seen any statement of purpose yet (or in XP jargon "Users stories").
Are you expecting the knowledge engineer (the person writing a rules base) to be a programmer ? A Perl programmer ?
What degree of complexitiy of (real-world) problem do you expect to be able to solve ?
For a user, a table isn't a complex concept, but inputing it might be unless the system is designed to cope at the beginning. Writing a rule such as (in my pseudo code) :
could be difficult otherwise.
Re. The rule efficiency, you are right, this is the hard part.
Giving the engineer tools (such as the priority / weighting mechanism you mention can help, as can other options such as choice of search mechanism and direction.
In my experience, a lot of knowledge engineer time is spent tuning the
knowledge base, and the system should be proactive in helping
that process, providing timing / coverage analysis.