IST 4
Information and Logic
Office hours
moved from Moore 331 to SFL
MQ1 grades
wereemailed
please let the TAs know if you submitted MQ1 and did not get the email
mon tue wed thr fri
31 M1 1
7 M1
14 1 2M2
21 2
28 M2
5 3
12 3 4
19 4 5
26
2 5
IST 4: Planned Schedule – Spring 2014
x= hw#x out x= hw#x due
= today
T
Mx= MQx out Mx= MQx due
midterms
T
oh oh
oh oh
oh oh
oh
oh
oh oh
oh
oh oh oh
oh
oh oh
oh = office hours oh
• You are invited to write short essay on the topic of the
Magenta Question.
• Recommended length is 3 pages (not more)
• Submit the essay in PDF format to ta4@paradise.caltech.edu file name lastname-firstname.pdf
•
No collaboration. No extensions
Memory
MQ2
Deadline Thursday 4/29/2014 at 10pmGrading of MQ:
3 points (out of 103)
50% for content quality, 50% for writing quality Some students will be given an opportunity
to give a short presentation for up to 3 additional points
Building Blocks
finite number of different parts ‘infinitely’ many structures Natural language: the composition of a small number
of parts (letters/words) results in infinitely many conceptual structures
Any language: from parts to systems
life, biology, music, art, physics, chemistry, computing, engineering, mathematics, literature...
The most important idea in Information
Finite Universality
of a Language
Can construct ‘everything’
from a finite set of
building blocks
There is a finite
universal
set of building blocks Can construct‘everything’
Finite Universality
a b
m
a b m
0 0
1 0
1 0
1 1
1 1 1 0
Magic Syntax Boxes
Magic Syntax Boxes
Proof by induction:
Base: Can generate all the s-boxes of size 2 – a single variable:
0 0
0 1
1 0
1 1
Assume true for all s-boxes with n-1 variables Prove true for any s-box with n variables
x y o
0 0
1 0
1 0
1 1
*
*
*
*
0 0
1 0
1 0
1 1
*
*
*
* z
0 0 0 0 1 1 1 1 z= 0 then
z= 1 then
Sub-Boxes
Example: n=3
max(a,b)
min(a,b) min(a,b)
o
z 1-z
Are tables with n-1 variables
General composition of small boxes
z= 0 then z= 1 then
Given a set of building blocks:
What can/cannot be constructed?
Feasibility
Questions about building blocks?
solving equations
Can the solutions be expressed using
Leonardo Fibonacci 1170-1250
solving equations
Found an approximate solution base-60....
Considered:
Source: wikipedia
solving equations
Considered:
Scipione del Ferro 1465-1526
Found a general solution... Did not publish it...
The power of keeping a secret.?.?
Source: wikipedia
Gerolamo Cardano 1501 - 1576 Niccolò Tartaglia
1500-1557
Lodovico Ferrari 1522 –1565
solving equations
Will be posted on the class website
Source: wikipedia
Niels Abel 1802-1826
solving equations
This activity led to the invention of complex numbers, group theory, abstract algebra....
Source: wikipedia
Arithmetic Boxes
0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 10 2 2 3 4 5 6 7 8 9 10 11 3 3 4 5 6 7 8 9 10 11 12 4 4 5 6 7 8 9 10 11 12 13 5 5 6 7 8 9 10 11 12 13 14 6 6 7 8 9 10 11 12 13 14 15 7 7 8 9 10 11 12 13 14 15 16 8 8 9 10 11 12 13 14 15 16 17 9 9 10 11 12 13 14 15 16 17 18
Algorithms – Syntax Manipulation
2 symbol adder
digit 1 digit 2
carry
sum
carry
Algorithms – Syntax Manipulation
2 symbol adder
8 6
digit 1 digit 2
carry
sum
0 carry
Algorithms – Syntax Manipulation
2 symbol adder
8 6
4
digit 1 digit 2
carry
sum
1 0 carry
2 symbol adder c
c
d1 d2
c
1891 + 8709 = ??
2 symbol adder c
c
d1 d2
c c 2 symbol adder c
d1 d2
c c 2 symbol adder c
d1 d2
c
2 symbol adder c
c
1 d2
c c 2 symbol adder c
8 d2
c c 2 symbol adder c
9 d2
c c 2 symbol adder c
1 d2
0
1891 + 8709 = ??
2 symbol adder c
c
1 8
c c 2 symbol adder c
8 7
c c 2 symbol adder c
9 0
c c 2 symbol adder c
1 9
0
1891 + 8709 = ??
2 symbol adder c
c
1 8
c c 2 symbol adder c
8 7
c c 2 symbol adder c
9 0
c 1 2 symbol adder 0
1 9
0
1891 + 8709 = ??
2 symbol adder c
c
1 8
c c 2 symbol adder c
8 7
c 1 2 symbol adder
0
1 9
0 2 symbol adder
1
0
9 0
1
1891 + 8709 = ??
2 symbol adder c
c
1 8
c 1 2 symbol adder 6
8 7
1 1 2 symbol adder 0
9 0
1 1 2 symbol adder 0
1 9
0
1891 + 8709 = ??
2 symbol adder 1
0
1 8
1 1 2 symbol adder 6
8 7
1 1 2 symbol adder 0
9 0
1 1 2 symbol adder 0
1 9
0
1891 + 8709 = ??
2 symbol adder 1
0
1 8
1 1 2 symbol adder 6
8 7
1 1 2 symbol adder 0
9 0
1 1 2 symbol adder 0
1 9
0
1891 + 8709 = 10,600
Algorithms – Syntax Manipulation
0
2 symbol adder c
s
d1 d2
c
How will it look for c=1?
0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 10 2 2 3 4 5 6 7 8 9 10 11 3 3 4 5 6 7 8 9 10 11 12 4 4 5 6 7 8 9 10 11 12 13 5 5 6 7 8 9 10 11 12 13 14 6 6 7 8 9 10 11 12 13 14 15 7 7 8 9 10 11 12 13 14 15 16 8 8 9 10 11 12 13 14 15 16 17 9 9 10 11 12 13 14 15 16 17 18
sum
Algorithms – Syntax Manipulation
1 0
0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 10 2 2 3 4 5 6 7 8 9 10 11 3 3 4 5 6 7 8 9 10 11 12 4 4 5 6 7 8 9 10 11 12 13 5 5 6 7 8 9 10 11 12 13 14 6 6 7 8 9 10 11 12 13 14 15 7 7 8 9 10 11 12 13 14 15 16 8 8 9 10 11 12 13 14 15 16 17 9 9 10 11 12 13 14 15 16 17 18 9 0 1 2 3 4 5 6 7 8
0 10 1 2 3 4 5 6 7 8 9 1 11 2 3 4 5 6 7 8 9 10 2 12 3 4 5 6 7 8 9 10 11 3 13 4 5 6 7 8 9 10 11 12 4 14 5 6 7 8 9 10 11 12 13 5 15 6 7 8 9 10 11 12 13 14 6 16 7 8 9 10 11 12 13 14 15 7 17 8 9 10 11 12 13 14 15 16 8 18 9 10 11 12 13 14 15 16 17 9 19 10 11 12 13 14 15 16 17 18
sum
Algorithms – Syntax Manipulation
1 0
0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 10 2 2 3 4 5 6 7 8 9 10 11 3 3 4 5 6 7 8 9 10 11 12 4 4 5 6 7 8 9 10 11 12 13 5 5 6 7 8 9 10 11 12 13 14 6 6 7 8 9 10 11 12 13 14 15 7 7 8 9 10 11 12 13 14 15 16 8 8 9 10 11 12 13 14 15 16 17 9 9 10 11 12 13 14 15 16 17 18 9 0 1 2 3 4 5 6 7 8
0 10 1 2 3 4 5 6 7 8 9 1 11 2 3 4 5 6 7 8 9 10 2 12 3 4 5 6 7 8 9 10 11 3 13 4 5 6 7 8 9 10 11 12 4 14 5 6 7 8 9 10 11 12 13 5 15 6 7 8 9 10 11 12 13 14 6 16 7 8 9 10 11 12 13 14 15 7 17 8 9 10 11 12 13 14 15 16 8 18 9 10 11 12 13 14 15 16 17 9 19 10 11 12 13 14 15 16 17 18
sum
The Sum Table
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
s
d1 d2
c
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
The Carry Table
2 symbol adder c
s
d1 d2
c
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8 0 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
The Carry Table
2 symbol adder c
s
d1 d2
c
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
1 0 1
0 0 0
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
The Carry Table
2 symbol adder c
s
d1 d2
c
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
s
7 8
0
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
1 2 symbol adder 5
7 8
0
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
c
d1 d2
c
1891 + 8709 = ??
2 symbol adder c
c
d1 d2
c c 2 symbol adder c
d1 d2
c c 2 symbol adder c
d1 d2
c
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
c
1 d2
c c 2 symbol adder c
8 d2
c c 2 symbol adder c
9 d2
c c 2 symbol adder c
1 d2
0
1891 + 8709 = ??
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
c
1 8
c c 2 symbol adder c
8 7
c c 2 symbol adder c
9 0
c c 2 symbol adder c
1 9
0
1891 + 8709 = ??
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
c
1 8
c c 2 symbol adder c
8 7
c c 2 symbol adder c
9 0
c 1 2 symbol adder 0
1 9
0
1891 + 8709 = ??
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
c
1 8
c c 2 symbol adder c
8 7
c 1 2 symbol adder
0
1 9
0
1891 + 8709 = ??
2 symbol adder 1
0
9 0
1
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder c
c
1 8
c 1 2 symbol adder 6
8 7
1 1 2 symbol adder 0
9 0
1 1 2 symbol adder 0
1 9
0
1891 + 8709 = ??
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder 1
0
1 8
1 1 2 symbol adder 6
8 7
1 1 2 symbol adder 0
9 0
1 1 2 symbol adder 0
1 9
0
1891 + 8709 = ??
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 0 2 2 3 4 5 6 7 8 9 0 1 3 3 4 5 6 7 8 9 0 1 2 4 4 5 6 7 8 9 0 1 2 3 5 5 6 7 8 9 0 1 2 3 4 6 6 7 8 9 0 1 2 3 4 5 7 7 8 9 0 1 2 3 4 5 6 8 8 9 0 1 2 3 4 5 6 7 9 9 0 1 2 3 4 5 6 7 8 1 9 0 1 2 3 4 5 6 7 8
2 symbol adder 1
0
1 8
1 1 2 symbol adder 6
8 7
1 1 2 symbol adder 0
9 0
1 1 2 symbol adder 0
1 9
0
1891 + 8709 = 10,600
0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 1 1 1 4 0 0 0 0 0 0 1 1 1 1 5 0 0 0 0 0 1 1 1 1 1 6 0 0 0 0 1 1 1 1 1 1 7 0 0 0 1 1 1 1 1 1 1 8 0 0 1 1 1 1 1 1 1 1 9 0 1 1 1 1 1 1 1 1 1
Algorithm =
a procedure for syntax manipulation Dear Algo and Fibo,
we get confused with those large tables... can we use a
smaller syntax?
The Binary
When was the binary system “invented”?
(11010100111)
2(1703)
10Leibniz – Binary System
Gottfried Leibniz 1646-1716
Algorithm =
a procedure for syntax manipulation
Gottfried Leibniz 1646-1716
Algorithm =
a procedure for syntax manipulation
Gottfried Leibniz 1646-1716
Algorithm =
a procedure for syntax manipulation
Gottfried Leibniz 1646-1716
Algorithm =
a procedure for syntax manipulation
Use the smallest syntax possible Binary – 0 and 1
Gottfried Leibniz 1646-1716
8
??
Binary Addition
carry
Gottfried Leibniz 1646-1716
Binary Multiplication
Addition of shifted versions
3 6
5 5
10 20
Gottfried Leibniz 1646-1716
Leibniz:
No Need for Flash Cards!
Invented the Binary System?
Gottfried Leibniz 1646-1716
Leibniz – Binary System
Gottfried Leibniz 1646-1716
Wen Wang (who flourished in about 1150 BC) is traditionally thought to have been author of the present hexagrams
63
Leibniz – Binary System
Gottfried Leibniz 1646-1716
Arithmetic Boxes
binary
2 symbol adder
digit 1 digit 2
carry
sum
carry
Adding Bits
3 bits to 2 bits
Adding Bits
2 symbol adder
0 0
0
digit 1 digit 2
carry
sum
0 0 carry
3 bits to 2 bits
2 symbol adder
1 0
1
digit 1 digit 2
carry
sum
0 0 carry
Adding Bits
3 bits to 2 bits
2 symbol adder
1 1
0
digit 1 digit 2
carry
sum
1 0 carry
Adding Bits
3 bits to 2 bits
2 symbol adder
1 0
0
digit 1 digit 2
carry
sum
1 1 carry
Adding Bits
3 bits to 2 bits
2 symbol adder
0 1
0
digit 1 digit 2
carry
sum
1 1 carry
Adding Bits
3 bits to 2 bits
2 symbol adder
1 1
1
digit 1 digit 2
carry
sum
1 1 carry
Adding Bits
3 bits to 2 bits
Algorithms – Syntax Manipulation
0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 2 2 3 4 5 6 7 8 9 3 3 4 5 6 7 8 9 4 4 5 6 7 8 9 5 5 6 7 8 9 6 6 7 8 9 7 7 8 9 8 8 9 9 9
2 symbol adder c
s
d1 d2
c
0
Algorithms – Syntax Manipulation
2 symbol adder c
s
d1 d2
c
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
sum
carry
0 1 0 0 1 1 1 2
0 0 1
0 1 2 1 2 3
1
Algorithms – Syntax Manipulation
2 symbol adder 1
0
1 1
0
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
Algorithms – Syntax Manipulation
2 symbol adder 1
0
1 0
1
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder c
c
1 1
c c 2 symbol adder c
1 0
c c 2 symbol adder c
0 0
c c 2 symbol adder c
1 1
0
1101 + 1001 = ??
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder c
c
1 1
c c 2 symbol adder c
1 0
c c 2 symbol adder c
0 0
c 1 2 symbol adder 0
1 1
0
1101 + 1001 = ??
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder c
c
1 1
c c 2 symbol adder c
1 0
c 0 2 symbol adder 1
0 0
1 1 2 symbol adder 0
1 1
0
1101 + 1001 = ??
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder c
c
1 1
c 0 2 symbol adder 1
1 0
0 0 2 symbol adder 1
0 0
1 1 2 symbol adder 0
1 1
0
1101 + 1001 = ??
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder 1
0
1 1
0 0 2 symbol adder 1
1 0
0 0 2 symbol adder 1
0 0
1 1 2 symbol adder 0
1 1
0
1101 + 1001 = ??
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder 1
0
1 1
0 0 2 symbol adder 1
1 0
0 0 2 symbol adder 1
0 0
1 1 2 symbol adder 0
1 1
0
1101 + 1001 = 10110 13 + 9 = 22
0 1 0 0 1 1 1 0
0
0 1 0 1 0 1 0 1
1
0 1 0 0 0 1 0 1
0
0 1 0 0 1 1 1 1
1
2 symbol adder 1
0
1 1
0 0 2 symbol adder 1
1 0
0 0 2 symbol adder 1
0 0
1 1 2 symbol adder 0
1 1
0
1101 + 1001 = 10110 13 + 9 = 22
Magic boxes do not know arithmetic!!
However...
Arithmetic Boxes
meet magic boxes
There is a finite
universal
set of building blocks Can construct‘everything’
Finite Universality
a b
m
a b m
0 0
1 0
1 0
1 1
1 1 1 0
Magic Syntax Boxes
a b
d1 d2 s
0 0
1 0
1 0
1 1
0 1 1 0
m
d1 d2
0 0
1 0
1 0
1 1
s 1 0 0 1
0 1 0 0 1 1 1 0
0 1 0 1 0 1 0 1
2 symbol adder c
s
d1 d2
c
0 1