Selmer Bringsjord, Bettina Schimanski Cognitive Science / Computer Science Depts. RAIR (Rensselaer...
-
Upload
sharlene-morrison -
Category
Documents
-
view
218 -
download
2
Transcript of Selmer Bringsjord, Bettina Schimanski Cognitive Science / Computer Science Depts. RAIR (Rensselaer...
Selmer Bringsjord, Bettina Schimanski
Cognitive Science / Computer Science Depts.
RAIR (Rensselaer Artificial Intelligence and Reasoning) Lab
[email protected] ; [email protected]
October 17, 2002
What is Psychometric AI?
Intelligence Tests and Artificial Intelligence
Description of the Block Design Task
PERI, PERI, and more PERI
Story Completion Task
Narratological Reasoning
Future Related Goals and Research
Object Assembly Task
Other tests, including TTT
A New Kind of AIA New Kind of AI Assume the ‘A’ part isn’t the problem: we know
what an artifact is. Psychometric AI offers a simple but radical answer:
– Psychometric AI is the field devoted to building information-processing entities capable of at least solid performance on all established, validated tests of intelligence and mental ability, a class of tests that includes IQ tests, tests of reasoning, of creativity, mechanical ability, and so on.
Don’t confuse this with: “Some human is intelligent…”
Psychologists don’t agree on what human intelligence is.– Two notorious conferences. See The g Factor.
But we can agree that one great success story of psychology is testing, and prediction on the basis of it. (The Big Test)
AI is the field devoted to building intelligent artificial agents, i.e., agents capable of solid performance on intelligence tests.
An Answer to: What is AI?
Psychologists don’t agree on what human intelligence is but we can agree that one great success story of psychology is testing, and prediction on the basis of it.
Definition: Some artificial agent is intelligent if and only if it excels at all established, validated tests of [human] intelligence.
Intelligence Tests: Narrow vs. Intelligence Tests: Narrow vs. BroadBroadSpearman’s
view of intelligence
Thurstone’s view ofintelligence
Artificial Agent to Crack RPMArtificial Agent to Crack RPM
---------------- PROOF ----------------1 [] a33!=a31.3 [] -R3(x)| -T(x)|x=y| -R3(y)| -T(y).16 [] R3(a31).24 [] T(a31).30 [] R3(a33).31 [] T(a33).122 [hyper,31,3,16,24,30,flip.1] a33=a31.124 [binary,122.1,1.1] $F.------------ end of proof -------------
----------- times (seconds) -----------user CPU time 0.62 (0 hr, 0 min, 0 sec)
Artificial Agent to Crack RPMArtificial Agent to Crack RPM
=========== start of search ===========given clause #1: (wt=2) 10 [] R1(a11).given clause #2: (wt=2) 11 [] R1(a12).given clause #3: (wt=2) 12 [] R1(a13)....given clause #4: (wt=2) 13 [] R2(a21).given clause #278: (wt=16) 287 [para_into,64.3.1,3.3.1] R2(x)| -R3(a23)| -EmptyBar(y)| -R3(x)| -EmptyBar(x)| -T(a23)| -R3(y)| -T(y).given clause #279: (wt=16) 288 [para_into,65.3.1,8.3.1] R2(x)| -R3(a23)| -StripedBar(y)| -R3(x)| -StripedBar(x)| -EmptyBar(a23)| -R3(y)|-EmptyBar(y).Search stopped by max_seconds option.============ end of search ============
Correct!
One such well-established test is the WAIS IQ test (Wechsler Adult Intelligence Scale).
By attempting to score relatively well on this test with our AI Agent and being successful (as well on others with a general algorithm), what will this say about human intelligence, these IQ tests, etc.?
“If one were offered a machine purported to be intelligent, what would be an appropriate method of evaluating this claim? The most obvious approach might be to give the machine an IQ test … However, [good performance on tasks seen in IQ tests would not] be completely satisfactory because the machine would have to be specially prepared for any specific task that it was asked to perform. The task could not be described to the machine in a normal conversation (verbal or written) if the specific nature of the task was not already programmed into the machine. Such considerations led many people to believe that the ability to communicate freely using some form of natural language is an essential attribute of an intelligent entity.” (Fischler & Firschein 1990, p. 12)
Possible objection to the Psychometric AI:
Our Rebuttal:
PERI will be able to solve many puzzles, without getting advance notice.
PERI should specifically solve all of the WAIS!
From there, we move to all other established tests.
PERI is not, and will not be, pre-engineered!
Humans will communicate with PERI in natural language.
Basic
Setup
Problem Solution
Very General Block Design Task Algorithm:
• Interpret and symbolize the initial configuration of the pieces unless they will always be started in the same set-up.
• Do the same for the goal configuration of the pieces.
• Determine if the puzzle is solvable (there are enough pieces available, enough with correct sides needed and colors, etc.)
• If so, pick a piece to start with and move it into position.
• Continue until the solution has been reached.
Complete Algorithm?
Common Lisp
Program
Vision System
PERI System: Flow of Information
Robot
Environment
Speech
PERI(Psychometric Experimental Robotic Intelligence)
Scorbot-ER IX Robot from the Intelitek
Corporation
• Capable of lifting objects of 4.4 lbs. or less
• Five axes (human arm has seven)
• Comes with several different software options
• ACL (Advance Control Language)
• ACL - Offline
• ATS (Advanced Terminal Software)
• Scorbase Pro
• RoboCell
How PERI Moves
• Pivot Points:
• Base
• Shoulder
• Elbow
• Wrist Bend
• Wrist twist
• Hand: Gripper (Open or Closed positions only)
•Movement: Joint Coordinates vs. XYZ Coordinates
Robot Coordinates: Joints# AX-1 AX-2 AX-3 AX-4 AX-5 Type Coor.
1 -13543 -58700 16264 27779 -2 Absolute Joint2 26318 -58700 16264 27779 -2 Absolute Joint3 -93027 -58700 16264 27779 -2 Absolute Joint4 -13543 75821 16264 27778 -2 Absolute Joint5 -13543 33980 16264 27779 -2 Absolute Joint6 -13543 -58700 -84239 27778 -2 Absolute Joint7 -13543 -58700 50914 27779 -2 Absolute Joint8 -13543 -58700 16263 1930 -2 Absolute Joint9 -13543 -58700 16263 59696 -2 Absolute Joint
10 -13543 -58700 16263 27779 -56889 Absolute Joint11 -13543 -58700 16263 27779 53229 Absolute Joint
Joint coordinates are easier to code but are they easy to “guess” for dynamic programming for the robot in the future?
Robot Coordinates: XYZ# X (MM) Y (MM) Z (MM) P (Degree)R (Degree) Type Coor.
1 313.80 -41.98 932.44 10.00 0.76 Absolute Joint2 240.87 -205.46 932.44 10.00 0.76 Absolute Joint3 168.37 268.12 932.44 10.00 0.76 Absolute Joint4 578.75 -41.96 82.03 -86.99 0.76 Absolute Joint5 664.61 -41.96 379.39 -56.82 0.76 Absolute Joint6 360.88 -41.97 460.96 -72.81 0.76 Absolute Joint7 158.73 -41.99 1017.04 38.55 0.76 Absolute Joint8 309.66 -41.98 842.06 -15.25 0.76 Absolute Joint9 265.78 -41.98 1032.76 41.17 0.76 Absolute Joint
10 313.80 -41.98 932.43 10.00 -99.24 Absolute Joint11 313.80 -41.98 932.43 10.00 94.33 Absolute Joint
XYZ Coordinates are harder for humans to guess in this case and must be more accurate, but may be easier for a program to calculate.
Some Typical PERI Library Functions:
special-write (writes specific strings to output file which is current communication)
get-initial-setup-from-vision
get-goal-setup-from-vision
alert-piece-changed (vision system status report)
find-piece-orientation
find-piece-location
get-piece-colors
turn-piece-right
turn-piece-left
turn-piece-up
turn-piece-down
move-piece
get-new-vision-input
A portion of the Robot ACL code:
DEFP HM ;defines position HM – the HOME position
DIMP ARR[33] ;defines vector ARR: 33 positions: ARR[1] - ARR[33]
HOME ;drives all robot axes to their home position by
;searching for a microswitch on each axis
SETPV HM ;records joint values for position HM
-13543
-58700
16264
27779
-2
SETPV ARR[1] ;records joint values for position ARR[1]
26318
-58700
16264
27779
-2
PERI VIDEO
Picture CompletionPicture Completion
Picture CompletionPicture Completion
Currently untouchable AI -- but we shall see.
Narratological Reasoning & Narratological Reasoning & Thwarting Terrorism…Thwarting Terrorism…
Terrorists struggle to make stories real.Their behavior can be anticipated, and thusthwarted.
We need computers that can imagine futurecvents in a (twisted) narrative.
Disadvantages without the Vision System
• Blocks must be set-up the same way each time or input differently from a file
•Input file tells set-up of all blocks including color, orientation, position
• No dynamic feedback to Brain-program
• == cannot solve general puzzle YET
Future Goals for PERI
• Combine the CL Program, Vision Software, Robotic Software, and Speech system into one working package
• Tackle the Story Completion Task. What would this mean if we’re successful? And for other tests? (abstract algorithms for any such problems)
• Using PERI for instruction in classes
Object Assembly Task – the General Case
• Want to be able to solve the general object assembly task
• Any number of objects of any shape, color, orientation
• Any goal configuration
General Algorithm for any type of puzzle pieces: (not necessarily a complete alg.) 1) Document the number of original pieces by color, dimension, size, and number of sides. Number the pieces in order when input. Create a flag for each that is initially not flagged. This will be used later to determine if the piece is already used in the solution. (Flagging is for non-vision input)2) Input the goal configuration similarly to the original pieces. Also number each piece and create a flag for each. When a goal piece is not flagged, this will be used to signify whether the piece has been put in the solution already. (Flagging is for non-vision input)3) Partition the goal into pieces that match available pieces in the original. (I.e. If there is a piece that does not match the dimensions of any original piece, try and break it up into pieces that will match smaller original pieces). Depending on the type of puzzle, you may be able to ignore the color of the pieces for now.4) Once all pieces in the goal have been partitioned, make sure the goal is solvable (i.e. there are enough pieces with the right matching colors as the original pieces). If not, it is possible the goal has not been partitioned correctly. Either declare defeat or go back to step 3 and partition differently, making sure not to partition exactly like an earlier partitioning. If a partitioning of the goal is solvable, continue onto step 5.5) Start with the lowest numbered goal piece that is not yet flagged. Now match it to an original piece that is also not yet flagged. Once such a match is found (which is a finite search since coming from step 4 the goal is known to be solvable) set the flag for the original piece and the goal piece and add the piece to the solution array by changing the coordinates of the original piece as well as the angle if this is an option.6) Continue step 5 until no more pieces in the goal exist that are not flagged.