Commonsense Computing MIT MediaLab
Representing Knowledge
Dustin Smith MIT Media Lab July 2008
Representing Knowledge Dustin Smith MIT Media Lab July 2008 - - PowerPoint PPT Presentation
Representing Knowledge Dustin Smith MIT Media Lab July 2008 Commonsense Computing MIT MediaLab Big questions How to get it? How to use it? Commonsense Computing MIT MediaLab 2 Big questions How to get it? How to use it? Commonsense
Commonsense Computing MIT MediaLab
Dustin Smith MIT Media Lab July 2008
Commonsense Computing MIT MediaLab 2
How to get it? How to use it?
Commonsense Computing MIT MediaLab 3
How to get it? How to use it?
Commonsense Computing MIT MediaLab 4
How to get it? How to use it?
environment
Commonsense Computing MIT MediaLab 4
How to get it? How to use it?
sensory environment
Commonsense Computing MIT MediaLab 4
How to get it? How to use it?
sensory environment knowledge
Commonsense Computing MIT MediaLab 4
How to get it? How to use it?
sensory motor environment knowledge
Commonsense Computing MIT MediaLab 5
Commonsense Computing MIT MediaLab 6
Commonsense Computing MIT MediaLab 6
Commonsense Computing MIT MediaLab 7
Why math? Compare these two definitions: a) b) “Any number that is multiplied by the sum of two numbers is equal to the sum of the products of it and each
Commonsense Computing MIT MediaLab 8
(1) listing its members (2) stating a qualifying property (3) stating a set of rules to generate it Examples of sets:
Commonsense Computing MIT MediaLab 9
All of the items referred to by the set are known as its extension. The specification of the set’s criteria is its intension:
Commonsense Computing MIT MediaLab 10
Common set operations:
Commonsense Computing MIT MediaLab 11
Cross product:{representing, learning, combining} × {items, relations, processes} = {{representing, items}, {representing, relations}, {representing, processes}, {learning, items}, {learning, relations}, ...}
Commonsense Computing MIT MediaLab 12
It’s hard just to talk about items, because items are defined by smaller items (features, properties). And sets of items are related via containment.
Animals (set)
Commonsense Computing MIT MediaLab 12
It’s hard just to talk about items, because items are defined by smaller items (features, properties). And sets of items are related via containment.
Animals (set) Pets (set)
Commonsense Computing MIT MediaLab 12
It’s hard just to talk about items, because items are defined by smaller items (features, properties). And sets of items are related via containment.
Animals (set) Pets (set) Dogs (set)
Commonsense Computing MIT MediaLab 12
It’s hard just to talk about items, because items are defined by smaller items (features, properties). And sets of items are related via containment.
Animals (set) Pets (set) Dogs (set) Fido (member)
Commonsense Computing MIT MediaLab 13
Animals A(set) Pets P(set)Dogs D (set) Fido f (member)
Commonsense Computing MIT MediaLab 13
Animals A(set) Pets P(set)Dogs D (set) Fido f (member)
relationships between sets/categories
Commonsense Computing MIT MediaLab 13
Animals A(set) Pets P(set)Dogs D (set) Fido f (member)
relationships between sets/categories relationships between sets & members
Commonsense Computing MIT MediaLab 13
Animals A(set) Pets P(set)Dogs D (set) Fido f (member)
relationships between sets/categories relationships between sets & members
intensional set definition / membership criterion
A relation is a property that holds (or not) between objects. Relation between two sets: A and B:
A B a b c d e
A relation is a property that holds (or not) between objects. Relation between two sets: A and B:
A B a b c d e
A relation is a property that holds (or not) between objects. Relation between two sets: A and B:
A B a b c d e
{1, 2} = {2, 1} 1, 2 = 2, 1
Properties of relations: Reflexive
A B a b c a b
c
Properties of relations: Irreflexive
A B a b c c a b
Properties of relations: Symmetric
A B a b b a
Properties of relations: Asymmetric
A B a b c d e
Properties of relations: Antisymmetric
A B a b c a e
reflexive → anti − symmetric
Properties of relations: Transitive
A B a b b c
Partial orderings: a binary relationship that is a) reflexive b) antisymmetric c) transitive
for sets Linear ordering: a partial ordering where (e,g. for real numbers, is a linear ordering)
x ≤ y or y ≤ x for every x, y
Lattice:
3.
= greatest lower bound = least upper bound
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Leibniz Universal Characteristic (1679):
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Leibniz Universal Characteristic (1679):
a b if b % a == 0
= g.c.d(a,b) = smallest integer divisible. lattice is bounded
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Leibniz Universal Characteristic (1679):
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Equivalently, we could use a bit string: Primitive Types:
20 = INSECT 21 = ALIV E 22 = MOSTLY WATER 23 = ARTIST 24 = E15320G 25 = STUDIESAI
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Equivalently, we could use a bit string: Primitive Types:
20 = INSECT 21 = ALIV E 22 = MOSTLY WATER 23 = ARTIST 24 = E15320G 25 = STUDIESAI
a <= b if b[i] = 1 then a[i] =1
=logical AND = logical OR
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Equivalently, we could use a bit string: Primitive Types:
20 = INSECT 21 = ALIV E 22 = MOSTLY WATER 23 = ARTIST 24 = E15320G 25 = STUDIESAI
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Equivalently, we could use a bit string: Primitive Types:
20 = INSECT 21 = ALIV E 22 = MOSTLY WATER 23 = ARTIST 24 = E15320G 25 = STUDIESAI
a <= b if b[i] = 1 then a[i] =1
=logical AND = logical OR
Primitive Types: 1 = INSECT 2 = ALIVE 3 = MOSTLY-WATER 5 = IS-STRUGGLING-ARTIST 7 = WORKS-IN-E15-320G 11 = STUDIES-AI Composite Types: 462 = DUSTIN (2 x 3 x 7 x 11)
Equivalently, we could use a bit string: Primitive Types:
20 = INSECT 21 = ALIV E 22 = MOSTLY WATER 23 = ARTIST 24 = E15320G 25 = STUDIESAI
a <= b if b[i] = 1 then a[i] =1
=logical AND = logical OR
People tried this!
primitives
People tried this!
primitives
But,,,
primitives
with slightly different meanings -- not disjoint either-or groups.
Connective Symbol English Not ¬P not P And P ∨ Q P and Q Or P ∧ Q P or Q Implies P → Q If P then Q Q if P Q is a necessary condition of P P is a sufficient condition of Q Biconditional P ↔ Q P is a sufficient and necessary condition of Q Q is a sufficient and necessary condition of P
Commonsense Computing MIT MediaLab 35
Some representational ideas are in the semantics of the programming language (OOP, Von Neumann, functional), and the programmer can also extend them. Abstraction allows us to name increasingly complicated procedures and data types. Hiding the implementation complexity behind a simple name -- separating the representation from the function.
Dog object
feed(*food) pet(*instrument) bark() bark() name weight bark() pee() { hidden from you }
Commonsense Computing MIT MediaLab 36
Inheritance:
Commonsense Computing MIT MediaLab 37
Dog object
feed(*food) pet(*instrument) name weight bark() pee() { hidden from you }
Animal
class Animal gender = FMALE; end class Dog < Animal name, weight = “,0 bark(); pee(); end gender
Commonsense Computing MIT MediaLab 38
Commonsense Computing MIT MediaLab 39
Commonsense Computing MIT MediaLab 40
Commonsense Computing MIT MediaLab 41
textual entailment
Commonsense Computing MIT MediaLab 42
expected/unexpected traits
Commonsense Computing MIT MediaLab 43
expected/unexpected traits
Commonsense Computing MIT MediaLab 44
if both 2+3 are expressive paradox, then it’s “possible”
Commonsense Computing MIT MediaLab 45
Commonsense Computing MIT MediaLab 45
All Splash Students are Smart John is a Splash Student
All Splash Students are Smart John is a Splash Student John is Smart
All Splash Students are Smart John is a Splash Student John is Smart
John is Smart, in Splash and 10 years old. Lisa is Smart, in Splash and 10 years old. Joe is Smart, in Splash and 10 years old.
John is Smart, in Splash and 10 years old. Lisa is Smart, in Splash and 10 years old. Joe is Smart, in Splash and 10 years old. People in Spash are Smart
John is Smart, in Splash and 10 years old. Lisa is Smart, in Splash and 10 years old. Joe is Smart, in Splash and 10 years old. People named John, Lisa or Joe are smart?
John is Smart, in Splash and 10 years old. Lisa is Smart, in Splash and 10 years old. Joe is Smart, in Splash and 10 years old. People 10 years old are smart
f(x) → {true, false}
f(x) → {true, false}
Bruner, Goodnow, Austin (1956) slides from Josh Tenenbaum’s 9.66
Bruner, Goodnow, Austin (1956)
Bruner, Goodnow, Austin (1956)
= |Shapes| × |Number| × |Texture| × |frame|
Bruner, Goodnow, Austin (1956)
= |Shapes| × |Number| × |Texture| × |frame|
Bruner, Goodnow, Austin (1956)
= |Shapes| × |Number| × |Texture| × |frame|
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66 “striped and three borders”
Bruner, Goodnow, Austin (1956)
Bruner, Goodnow, Austin (1956)
= |Shapes| × |Number| × |Texture| × |frame|
Bruner, Goodnow, Austin (1956)
= |Shapes| × |Number| × |Texture| × |frame|
Bruner, Goodnow, Austin (1956)
= |Shapes| × |Number| × |Texture| × |frame|
f(x) → θ1x + θ2 f(x) → θ1x2 + θ2x + θ3 f(x) → θ1x7 + θ2x6 + θ3x5 + θ4x4 + θ5x3 + θ6x2 + θ7x + θ8
f(x) → θ1x + θ2 f(x) → θ1x2 + θ2x + θ3 f(x) → θ1x7 + θ2x6 + θ3x5 + θ4x4 + θ5x3 + θ6x2 + θ7x + θ8
f(x) → θ1x + θ2 f(x) → θ1x2 + θ2x + θ3 f(x) → θ1x7 + θ2x6 + θ3x5 + θ4x4 + θ5x3 + θ6x2 + θ7x + θ8
f(x) → θ1x + θ2 f(x) → θ1x2 + θ2x + θ3 f(x) → θ1x7 + θ2x6 + θ3x5 + θ4x4 + θ5x3 + θ6x2 + θ7x + θ8
f(x) → θ1x + θ2 f(x) → θ1x2 + θ2x + θ3 f(x) → θ1x7 + θ2x6 + θ3x5 + θ4x4 + θ5x3 + θ6x2 + θ7x + θ8
f(x) → θ1x + θ2 f(x) → θ1x2 + θ2x + θ3 f(x) → θ1x7 + θ2x6 + θ3x5 + θ4x4 + θ5x3 + θ6x2 + θ7x + θ8
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
slides from Josh Tenenbaum’s 9.66
f(x) = sin(x)