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

2 \times 2 ... \times 2

Question

What is two to the eighth power?

Answer

256

➡️ 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

2
100000000
256
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) 
INPUT

yes

no

Contrarian (P, x)

HALT

What if the Halting Problem is computable?

TestHalt(Contrarian, Contrarian) 
INPUT

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

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

  • 25