11/1/01 Another shift in our view of AI! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [A] [C] [B] [A] [B] -> [C] -------- ----- Last time, we talked about learning rules (control knowledge) and we generally concluded generalization was good, since there's little transfer if we're too specific. BUT, as with everything else, there are some that say generalization isn't the way to go... so what if transfer is low! This theory rests on the following idea: - There are patterns of regularity in the world. Which in turn relies on these assumptions: 1) World is higly regular -> We see the same problems over and over again -> problems tend to reoccur, novelty is rare! 2) Memory massively populated w/ instances So now we shift to discussions of Memory, and how we can get at it. The fundamental differences from the previous ideas is that we RELY on memory, and do VERY little reasoning. Memory ------ Instances can take many forms (0th order): situation -> action problem -> solution Can be organized in a discrimination network 0 / \ 0 0 / \ / \ 0 00 0 -- This ensures speedy RETRIEVAL -- Only have to store "noteworthy" instances to help w/ size How is this from reactive systems - not JUST percept -> action for instances - emphasis on memory and memory organization Examples (humans): cooking, driving home Good for episodic knowledge, not generalizations - "the last time I had a situation like this, I did X" This is called Case-Based Reasoning (CBR) - Instance-based - Precedent-based Discrimination networks ~1963 one of the earliest theories of memory - Construction algorithm : C is a new instance : P is a prioritized list of features or questions : N is a node Rule: : IF N is empty, put C in it : IF N is a leaf, replace it with a feature from P : that can distinguish it from N : IF N is a Feature, follow net *not necessarily binary Illustration: - Init: [ C ] - Iteration 2: [F1] yes / \ no [C1] [C2] - Interation 3: [F1] yes / \ no [F2] [C2] yes / \ no [C1] [C3] .. and so on ., Search then amounts to closet instance in network -- Better way of dealing with new instances w/out prioritized lists: - note "special" features on the fly first instance F(L), C1 -> C2 second instance F(L+1), C1 -> C3 - redundant discrimination trees Caveat: if new features don't match w/ existing tree at all, this goes out the window ---- What's "Noteworthiness" ? - Well, we can throw out identical... what's identical? - Well, we can add another feature (1st order) problems -> solutions -> outcome (success/failure) Use outcome to help discover feature - can also define noteworthy (particularily if problem and solution are the same). - generalizations creeping in Last time: - used background knowledge.. both truck and car were an automobile Big picture: shortening[butter, olive oil] [ ] \ Knowledge / [ Memory ] <-> [Retrieval] -> [Plan Adapter] [ ] Plan Adapter - :If element E1 is missing :but E1 is a sibling of E2 in some tree :then replace E1 w/ E2 Can also do recursive CBR: - get a plan which is close to goal - new situation, tweak a subgoal (need bu Again, this system is good for episodic memory. [ ] [ Memory ] <-> [Retrieval] -> [Plan Adapter] [ ] | /|\ \|/ |-------- [Storage] <- [ Evaluate] -> has memory, reasoning, and learning.. all 3, somewhat rare! Other ways to play this game -> gradually add semantic knowledge (not just episodic) ....Next time; Models....