What is computation?
By Ian Horswill
Presented by Sheng Long
Week 3: Automation of Law
Overview
- What do computer scientists mean by "computation"?
- Program-data duality
- Self-reference
- Universality
The Functional Model
INPUTS
Question
OUTPUTS
Answer
The Imperative Model ...
- Imperative: an operation that works by modifying the internal state of the machine.
- Computations are sequences of imperatives that manipulate representations.
✅ More inclusive than the functional model
❌ hard to reason about programs
What are computers? 💻
A unified meta-representation
Industrial Revolution
Automation of production
Human physical labor \(\rightarrow\) Machine
Information Revolution
Automation of production
Human intellectual labor \(\rightarrow\) Machine
VS
Computation as question-answering
Question
What is two to the eighth power?
Answer
➡️ Does it matter which representation of computation we use to obtain the final answer?
math.pow(2, 8)
Behavioral Equivalence
No, it doesn't matter, as long as you have the same behavior.
INPUTS
Question
OUTPUTS
Answer
OUTPUTS
Answer
INPUT
math.pow(2, 8)
10
010010...
Program-Data Duality
- Input to programs is represented and stored as bit strings.
- Programs are also represented and stored as bit strings
OUTPUT
100000000
math.pow(2, 8)
Program-Data Duality
👉 We can write meta-programs that examine, manipulate, and even create other programs.
meta-program
010010...
OUTPUT
OUTPUT
INPUT
Simulation
Simulation
❓ How can we do that?
Simulation
instruction 1 instruction 2 instruction 3 ...
instruction 1 instruction 2 instruction 3 ...
emulator
behaviorally equivalent
Simulation
Is there a machine that's sufficient for simulating any kind of computer with any kind of instruction set?
Universality
- A Turing Machine \(TM\) can simulate other computers 🖥️ \(\rightarrow TM\) ✔️
- A Universal Turing Machine \( U_{TM}\)takes in representations of other \(TM\) and simulates them \(TM \rightarrow U_{TM}\) ✔️
- 🖥️ \(\rightarrow TM \rightarrow U_{TM}\)
- 🖥️ \(\rightarrow TM \rightarrow U_{TM} \rightarrow \) 🖥️
The Liar's Paradox
This statement is false.
👉 Is "this statement is false" true?
- If it is true \(\rightarrow\) what it asserts must be true \(\rightarrow\) statement must be false
- If it is false \(\rightarrow\) what it asserts must be false \(\rightarrow\) statement must be true
The above statement is self-referential.
Can a computer detect infinite loops?
The Halting Problem
Given a program and a potential input for it, determine whether the program would ever halt if it were run on the input.
program(input)
INPUT
What if the Halting Problem is computable?
TestHalt(P, x)
yes
no
INPUT
\( P, x\)
INPUT
\( P, x \)
TestHalt(P, x)
yes
no
Contrarian (P, x)
HALT
What if the Halting Problem is computable?
TestHalt(Contrarian, Contrarian)
yes
no
Contrarian (Contrarian, Contrarian)
HALT
This statement is false.
True
False
False
True
Self-reference and the limits of computation
- The existence of uncomputable problems is due to the capacity for meta-computation (self-reference + program-data duality)
- There are some problems that are uncomputable by Turing Machines \(\rightarrow\) any mechanical system we've ever been able to devise
example taken from http://su17.eecs70.org/static/notes/n11.html
Returning to "what is computation"
- A pragmatic definition: computation is what (modern, digital) computers do
- A system is "computational" if ideas from computers are useful for understanding it
Conclusions
- Program-data duality
- Self-reference
- Behavioral equivalence
- Simulation
- Universality
Rule by Rules
by Michael A. Livermore
Presented by Sheng Long
Week 3: Automation of Law
Overview
- The history of viewing law as computation
- Is law-as-computation possible?
- Is law-as-computation desirable? \(\rightarrow\) Pros and Cons
- Implications of a fully functioning Artificial Neural Network (ANN)-based statute?
Leibniz's View
- Law is a formal system of rules
- "there is a unique correct answer to all legal questions." - Law is determinate.
Gottfried Wilhelm Leibniz
Problems of implementing Leibniz’s view
- Law fails as a formal system because it lacks internal coherence
- Machines are less flexible than humans
Problems of implementing Leibniz’s view
- Law fails as a formal system because it lacks internal coherence
- Machines are less flexible than humans
- Solution: create a legal ontology
Problems of implementing Leibniz’s view
- Law fails as a formal system because it lacks internal coherence
- Machines are less flexible than humans
Solution: create a legal ontology
- Law is inscribed in natural language, which is characterized by its vagueness
Hart-Fuller Debate
Suppose you have a statute that bans vehicles from a park.
👉 What counts as a "vehicle"?
🚗
🏎️ ✔️
🏍️
🛹
🚲 ❓
Hart
Fuller
decommissioned truck on a pedestal
The problem of open-texture
- Cannot account for unanticipated future circumstances
- Exists even for a well-structured legal ontology
Is law-as-computation possible?
- Early attempts - knowledge representation
- Recent attempts - Aritifical Neural Network (ANN)
- technically yes.
Machine Categorization
- Vectors of features, weights, activation functions
Example ANN-based Statute
Statute No. 1123 for City of Annsville
Sec 1. Vehicles are prohibited in the park
Sec 2. Vehicles are to be defined through the application of an artificial neural network with the following characteristics:
- input layers generated by the color images of size \(400 \times 400\) pixles; weight, volume, number of wheels, maximum speed;
- Activation functions
- Weights
Advantages of using ANN-based statute
- Complete - every case can be categorized
- Explicit and Transparent
- Potential for gaming the law
- Capable of out-performing the judges
- Eliminates randomness of assignment
- Achieves goals of the legislature
Disadvantages of using ANN-based statute
- Potential linguistic open-texture \(\rightarrow\) legal open-texture
-
Raises concern for participatory objection
- The right of participation is necessary for the legitimacy of a legal proceeding
- ANN-based statutes prohibit participation
- Eliminates educative function of legal process
Conclusions
- Law-as-computation is technically possible, but not necessarily desirable
- Whether, when, and how to automate the execution of the law remains to be debated
What is computation? by Ian Horswill
By Sheng Long
What is computation? by Ian Horswill
- 37