ANDREA TORRES
LAB 2 : UNIVERSITY MATCHING.


 




Introduction.

For this lab I choose to create and expert system that helps the user to determine which school is the most appropriated to continue his studies. In my first lab, using CLIPS, I made a program that also helps the user to choose a school as well, however, in the second lab I re design the project so I can use completely the toolkit that it was given to us in the class. This toolkit was a learning experience because allowed it to me to put more knowledge in the system in a shorter period of time.
In this new project I classified a student upon his likes and dislikes also, the it is steed in to a determinate career, place and type of school in which he can continue his studies, I made this project only for the state of California to make the project more manageable.
As a result is much broader than the previous lab, although there are still lacking in depth of a full production system.
 

Background Information.

The Visual Works with the special tool was really new to me, but I found it easier than CLIPS, It is more understandable and easy to use. The hierarchical classification system for toolkit, is one of establish and refine, where a case is fit into the system as a node in the tree. The tree itself has general specialists at the higher level closest to the root node, and becoming increasingly more specialized as one traverses down.
Most of my sources and information were Dr Keunekes web page, trial and error and also I receive help from Sang my classmate.
Implementation.
 

Knowledge Representation and Organization.

Using the toolkit for hierarchical classification, the Information needed to be ordered into some type of hierarchy, with generalized knowledge at the top or root of the hierarchy and more detailed items further down. I did this by having levels of knowledge. For example, the first node wanted to know if you want to study in the state of California. The second layer, wanted more information about the GPA for the High school and the amount of money that you expect to pay. Subsequent layers want to know more about your aptitudes and preferences so it will set the user in the specific major. A node can be one of several variable types. Each type has its own format, but there are some class variables that are the same for all nodes. There was a multivalue data type, which worked by allowing a set of answers but I was never able to get it working without crashing, a numerical value which includes a "unit" type, and a range of acceptable values from lower to upper. OneOfVar allowed the user to select a value from one of a list of values, where each value was basically a string. Ordinal values were another variable that I couldn't get working properly. StringVar accepted a string input. Lastly, Yes No variables would accept yes, no, or unknown response to the question.
 

 Control Methodology

 The data is organized into the system and it will run with a control access through a technique called establish and refine. Control starts at the high level specialist. The variable associated with that node start. This will pop up a GUI with the question for that variable, and some mechanism for retrieving the answer. Each node also has a "table matcher" control.
This is where the user's answer is matched against possible solutions. If it matches, the specialist establishes it. Next it will refine by moving to the next level of the tree. The process is started all over again. The table matcher included some basic logical operators such as less than, greater than, equal to, not equal to, etc.
 

Limitations

The lack of information make the use of the tool difficult at first, but when you get use it does a good job. Preventing errors is much better this tool than Clips but anyways as a developer is difficult to manage all the information about the domain and be critical in the hierachycal design.
An example of a possible error, is that the user is expecting to be set in more academic options but this was really difficult because increase tremendously the size of the project.
 

Scalability
One issue that is a concern for all systems is scalability. This system is no exception. The straitest forward way to make this system better is to have more universities and majors. But having more majors and universities the solution couldn’t be narrow and if they have 20 suggestions is not going to be useful for the student.



Lab 2 Download.

Demo Example.