Quantum Robot for Teenagers Arushi Raghuvanshi Yale Fan Michal Woyke Marek Perkowski Presentation at ISMVL 2007 May 14-16
Outline 1. Introduction to Braitenberg Vehicles 2. Programmable Braitenberg Vehicles 3. Combinational and Quantum Circuits 4. Deterministic, Probabilistic, and Entangled Behaviors 6. Examples or our Robots 7. Next steps
Classic Braitenberg FearAggression
Programmable Braitenberg H A B PQ A = Left Light Sensor B = Right Light Sensor P = Motor for Left Wheel Q = Motor for Right Wheel Circuit Implemented by Program Ultrasonic Sensor Sound/Touch Sensor
Representing Gates via Matrices ABPQBehavior 0000Robot stays stationary. 0101Robot moves left. 1011Robot moves forward. 1110Robot moves right. Input Output
Using Binary Gates ABPQBehavior 0000Robot stays stationary. 0101Robot moves left Robot moves forward. A B Q P Feynman Gate A B Q P And-OR Gates ABPQBehavior 0000Robot stays stationary. 0101Robot moves left. 1011Robot moves forward. 1110Robot moves right. This behavior is deterministic because it can be determined how the robot will react to a given input.
Using Quantum Gates APBehavior 0½ 0 ½ 1 Motor stops or moves. 1½ 0 ½ 1 Motor stops or moves. A P Hadamard H X = Which in Dirac Notation is, Which after Measurement means, ½ probability of ‘0’ & ½ probability of ‘1’ HadamardInput A=0Output
Entanglement Example A B Q P H
Entanglement Example – Step 1 ABPQBehavior Robot stays stationary. Or, moves tight Robot moves left. Or, moves forward Robot stays stationary. Or, moves tight Robot moves left. Or, moves forward A B Q P Hadamard in parallel with wire H A P H APBehavior 0½ 0 ½ 1 Motor stops or moves. 1½ 0 ½ 1 Motor stops or moves. Hadamard A P APBehavior 00Stopped 11Moving Wire 1 √2 =
Entanglement Example – Step 2 ABPQBehavior 00½ 0 ½ 1 ½ 0 ½ 1 Stationary or moves forward. 01½ 0 ½ 1 ½ 0 Turns left or turns right. 10½ 0 ½ 1 ½ 0 ½ 1 Stationary or moves forward. 11½ 0 ½ 1 ½ 0 Turns left or turns right. A B Q P Einstein-Podolsky-Rosen √2 H A B Q P Feynman Gate ABPQBehavior 0000Robot stays stationary. 0101Robot moves left. 1011Robot moves forward. 1110Robot moves right √2 X =
Putting it together H A B PQ AB False True False True Selected Combination PQ False True False True 1 √2 1 Vector ‘I’ Vector ‘O’ Matrix ‘M’ O = M * I Measurement Either the robot will turn left or turn right with equal probability.
RobotC Program Walkthrough
Braitenberg Demo Avoids Light Avoids Objects But.. destroys objects that emit light Light sensors Ultrasonic Sensor PQ Feynman Gate
Braitenberg Demo Goes towards light but turns away before hitting Light sensors Ultrasonic Sensor PQ
Braitenberg Demo Avoids Obstacles Dances with Music But.. Hits obstacles when Music is playing Sound sensor Ultrasonic Sensor PQ
Quantum Potato Head L1 L2 S1S2 M1 M2 M3M4 M5 M6 Confused Face Sad Face Happy Face
Quantum Potato Head Behavior using Einstein-Podolsky-Rosen Circuit Response to Touch Response to Light Response to both Light and Touch
Old Duck Biped
Next: Quantum Automaton Robot
Key Learnings We learned About Braitenberg Vehicles How to program robots to demonstrate probabilistic, deterministic, and entangled behavior About quantum theory and quantum computing How to represent circuits with matrices Programming Robots in C language Trigonometry, complex numbers, matrix and vector multiplication, and digital circuits.
Backup
Video Link to video (5-8 minutes) Video of Quantum Potato head (show Feynman, EPR) Video of Braitenberg Vehicle (show Feynman, EPR)
Selected Circuits A B Q P A B Q P A B Q P A B Q P A B Q P Direct ConnectionSwap Gate Feynman Gate Feynman+SwapEinstein-Podolsky-RosenAnd-OR Gates Identity Matrix √ A B Q P H
Robot Configuration – Additional Sensors Left Light Sensor Right Light Sensor Sound Sensor Ultrasonic Sensor Touch Sensor
Selected Configurations Configuration 1 (classic) A = Left Light Sensor B = Right Light Sensor Configuration 2 (light + distance) A = True, if the sum of both light sensor values > 75; Otherwise False B = True, if close to an obstacle (<50cms), Otherwise False Configuration 3 (sound + distance) A = True, if noisy (value > 50), Otherwise False B = True, if close to an obstacle (<50cms), Otherwise False