Hi Rohan,
 
Data structure comes down to a few factors 

If you want the system to get smarter based on user feed back you are looking 
at a neural network or expert system. If the questions branch on direction or 
funnel down to one solution then a tree might do you (think of it being upside 
down so that the answers are the roots). If the data is pretty non-linear and 
the next step only relies on the current answer then a linked list could be a 
good choice. At the end of the day you can go a long way just having a table 
with questions which has many potential_answers and a table of 
potential_answers which has one next question. 

Best,
Rob



On Jan 21, 2012, at 14:46, Scott Olmsted <[email protected]> wrote:

> Rohan,
> 
> While Guyren is right in that you haven't given us much to go on, an
> expert system may be overkill for producing a useful troubleshooting
> site. Or it may not. It depends on how much information you want to
> take into account when sending the user to the next question, which is
> related to how "linear" the system is. Most of the (mostly inadequate,
> but sometimes useful anyway) troubleshooting I've encountered is very
> linear. Giving a certain answer seems to skip you over some questions,
> but never starts a new line of inquiry, there is really only one line,
> and so it need not take into account more than the answer to the
> current question to select the next.
> 
> An off-the-shelf expert system-based troubleshooter potentially
> encapsulate a lot of expert knowledge, but it could be expensive to
> get the expert knowledge into the system. Depends on the complexity of
> what you're troubleshooting.
> 
> Perhaps there is some middle ground out there that someone has come up
> with. Or perhaps the linear approach is all you need.
> 
> Scott
> 
> 
> On Jan 21, 12:52 pm, Guyren Howe <[email protected]> wrote:
>> 
>> I’m afraid that you haven’t given us enough to go on here, Rohan.
>> 
>> The appropriate data structure depends on what you are trying to achieve. A 
>> tree suggests you want a definite sequence with an ending, either going from 
>> a leaf to the root or vice-versa. A more general graph structure suggests 
>> your users will be able to wander from question to question more loosely.
>> 
>> It sounds like you’re trying to write an expert system. I would suggest you 
>> start by doing some reading in that area.
> 
> -- 
> SD Ruby mailing list
> [email protected]
> http://groups.google.com/group/sdruby

-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby

Reply via email to