Assignment Discussion Data structures – linked list define a node structure, declare, construct and access traverse a linked list adding a node deletion of a node insertion of a node at a given point written material? System gives spec of a node contents – student should declare the node Use C. Generate question -- Code filling for traversal -- Semiconductor electronics – devices PN-junction show some circuit built using devices and student asked to fill in values for the questions asked. Norton theorem based circuits circuit diagram, and problem statement – select nodes, resistances, etc. Short/open/... identify the current at some point in the circuit. Well defined procedure for computing this. Programming Given a program segment, predict the output at each step. Variables tracked before and after the step for validation. How hash functions Given an entry, figure out the hash location, apply relevant collision resolution algo and identify the target location. Trigonometry for school right angled triangle with some angles and sides – compute the rest. Extend to all kinds of triangles. Kirchoff's law in electric circuit show the circuit, and ask for a specific current/voltage. Provide hints – K-law procedure Write the relevant equations and solve. Debugging skill in programming given a program, with one or more bugs, student to identify the bug, and correct it. Dialogue to help in this process. Dialog process to be formulated and validated. Mensuration (basic maths) area of a geometric figure -> compute some parameters of a given geo figure -> shape conversion. Set based concepts venn diagram based questions. Fill slots of the venn-diagram.
Rule based representation M Sasikumar 1
Overview ● Background ● What/Why RBR ● Forms of rules ● Uncertainty – Certainty factor ● Issues 2 Sasikumar M, IIT Bombay
Background ● One of the most well known representation mechanisms. – Model for how human brain works?! ● Easy to externalise and interpret. ● Good inferencing mechanisms. ● Theoretical basis available to some extent. 3 Sasikumar M, IIT Bombay
What is a rule ● If arrival time > 9.30 and arrival time < 10.00 then insert casual_leave(0.5) ● If symptoms include headache and headache_duration > 7 days and fever not present then investigate disease_x ● If value_1 > value_2 and ans = value_2- value_1 then misconception = order_problem 4 Sasikumar M, IIT Bombay
Form of a rule ● If <condition> then <conclusion> ● If <condition> is known to be true then <conclusion> can be claimed to hold ● Many variations possible on this format. ● Very popular with expert systems literature. – Can be used for capturing domain knowledge and student/tutor models in ATS. 5 Sasikumar M, IIT Bombay
Why rules? ● They can be read like English (usually!). ● And hence with minor rewrite makes sense to the user. ● (Usually) rules are independent of each other. – Can insert and delete without worrying about other rules (!) – No control flow embedded. ● Can be built from outside 6 Sasikumar M, IIT Bombay
Using rules ● Choose a rule whose conditions match with the current problem state, and perform the action. – Forward chaining ● Set a goal. Choose a rule whose conclusion matches with our goal, and check if the conditions can be made true. – Each condition becomes a sub-goal – Backward chaining ● Can mix them in a system. 7 Sasikumar M, IIT Bombay
Using rules Rule Rule Base Interpreter Working Memory 8 Sasikumar M, IIT Bombay
Using rules... ● What if there are multiple rules that match? ● Some sense of priority to be used – Rule order in the system – Manually assigned priority numbers – Specificity ● If A and B then C1 ● If A then C2 – Semantic analysis of the candidates ● Who uses what parameters, dependencies, etc 9 Sasikumar M, IIT Bombay
Forms of rules ● Around the basic theme, many variations proposed and used. ● Variation on – Structure of a condition – Combining conditions in to a rule – Structure of conclusion – Multiple conclusions – Annotations 10 Sasikumar M, IIT Bombay
Condition ● Model-1: atomic condition – heavy_rain, take_umbrella, top_higher_than_bottom ● Model-2: attribute operator value – Age > 40, fever is true, current_column is “col1” – What kind of operators, and their meaning? ● Model-3: value can also be an attribute – Top > bottom ● Model-4: add context also – P1.age > 40, thisvisit.fever is true, column1.top > column1.bottom ● Richer operations – (student ^age >40 ^name “%iar”) 11 Sasikumar M, IIT Bombay
Recommend
More recommend