Expressive Power and Algorithms

Introduction
Expressive Power
Algorithms
Future Works
Expressive Power and Algorithms
Guillaume Bonfante1 Pierre Boudes2 Jean-Yves Moyen2
[email protected]
1 Université de Lorraine
École des Mines de Nancy
2 Université
Paris 13
Partly supported by the ANR project Complice (ANR-08-BLANC-0211-01)
November 2013
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Motivations
Are “complicated” programming constructions really
useful? We’re still Turing-complete without them.
High-order? Non-determinism? Co-arity? Multiple tapes?
Large alphabets? . . .
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Motivations
Are “complicated” programming constructions really
useful? We’re still Turing-complete without them.
High-order? Non-determinism? Co-arity? Multiple tapes?
Large alphabets? . . .
Which is “the best” ICC system for Ptime?
MPO+QI? DLAL? mwp-polynomials? NSI? . . .
How to even compare them?
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Magic Trick!
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Explaining the Trick
bead = program
color = computed function
small bead = a given syntactical criterion
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Explaining the Trick
bead = program
color = computed function
small bead = a given syntactical criterion
Each set of “programs” computes the same set of “functions”.
But the first one has more things (small black beads) and only
the filter can reveal it.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Explaining the Trick
bead = program
color = computed function
small bead = a given syntactical criterion
Each set of “programs” computes the same set of “functions”.
But the first one has more things (small black beads) and only
the filter can reveal it.
There is no color- and size-preserving function from the first set
to the second.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Life without Cons
First order functional programs are Turing-complete. Why
using high-order?
Libraries
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Life without Cons
First order functional programs are Turing-complete. Why
using high-order?
Libraries
Easier to write, more elegant programs.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Life without Cons
First order functional programs are Turing-complete. Why
using high-order?
Libraries
Easier to write, more elegant programs.
Jones looked at “CONS free” (read only) programs.
First order CONS free: Ptime
Second order CONS free: Exptime
High order CONS free: Elem
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Motivations
Explaining the trick
Life without Cons
First order functional programs are Turing-complete. Why
using high-order?
Libraries
Easier to write, more elegant programs.
Jones looked at “CONS free” (read only) programs.
First order CONS free: Ptime
Second order CONS free: Exptime
High order CONS free: Elem
High order is “more expressive” than first order, but
Turing-completeness hide this.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Expressive Power
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Compilation
Programming language: P
⊃ L, M (syntactic)
L
M
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Compilation
Programming language: P
⊃ L, M (syntactic)
Computable functions: C
L
M
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Compilation
Programming language: P
⊃ L, M (syntactic)
Computable functions: C
Semantics:
J•K
P
C
L
M
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Compilation
Programming language: P
⊃ L, M (syntactic)
Computable functions: C
Semantics:
J•K
P
L
JLK = A = B = JM K
C
J•K
A
id
M
J•K
Bonfante, Boudes, Moyen
B
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Compilation
Programming language: P
⊃ L, M (syntactic)
Computable functions: C
Semantics:
J•K
P
L
JLK = A = B = JM K
C
J•K
A
id
M
J•K
Bonfante, Boudes, Moyen
Hard to prove
B
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Compilation
Programming language: P
⊃ L, M (syntactic)
Computable functions: C
Semantics:
J•K
P
JLK = A = B = JM K
C
Compilation ϕ : L → M , Jϕ(p)K = JpK Semantics preserving
J•K
L
ϕ
M
A
id
J•K
Bonfante, Boudes, Moyen
B
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Filtering
Hypothesis
JLK = A = B = JM K
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Filtering
Hypothesis
JLK = A = B = JM K
“Filter”: set of programs F ⊂ P (syntactic criterion)
Filtering: L0 = L ∩ F , M 0 = M ∩ F
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Filtering
Hypothesis
JLK = A = B = JM K
“Filter”: set of programs F ⊂ P (syntactic criterion)
Filtering: L0 = L ∩ F , M 0 = M ∩ F
Breaking semantic equality: JL0 K = A0 ) B 0 = JM 0 K
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Filtering
Hypothesis
JLK = A = B = JM K
“Filter”: set of programs F ⊂ P (syntactic criterion)
Filtering: L0 = L ∩ F , M 0 = M ∩ F
Breaking semantic equality: JL0 K = A0 ) B 0 = JM 0 K
Conclusion
There is no filter-preserving compilation: p ∈ F ⇒ ϕ(p) ∈ F
Conversely, if there exists a filter preserving compilation, then
A0 = B 0 .
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Expressiveness
J•K
L’
ι
ϕ
ι
J•K
L
A’
A
p ∈ F ⇒ ϕ(p) ∈ F
B 0 ( A0
id
id
ϕ
M’
J•K
B’
ι
M
ι
J•K
B
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Expressiveness
p ∈ F ⇒ ϕ(p) ∈ F
B 0 ( A0
Compilation
J•K
L
A
id
ϕ
M
J•K
B
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Expressiveness
L’
ι
ϕ
p ∈ F ⇒ ϕ(p) ∈ F
B 0 ( A0
Compilation
p ∈ L0 = L ∩ F
⇒ ϕ(p) ∈ M ∩ F = M 0
L
ϕ
M’
ι
M
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Expressiveness
J•K
L’
ι
ι
J•K
L
M’
p ∈ F ⇒ ϕ(p) ∈ F
B 0 ( A0
Compilation
p ∈ L0 = L ∩ F
⇒ ϕ(p) ∈ M ∩ F = M 0
Canonical injection
A
J•K
B’
ι
M
A’
ι
J•K
B
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Expressiveness
J•K
L’
ι
ϕ
A’
ι
L
A
ϕ
M’
J•K
ι
M
ι
J•K
Compilation
id
id
p ∈ F ⇒ ϕ(p) ∈ F
B 0 ( A0
p ∈ L0 = L ∩ F
⇒ ϕ(p) ∈ M ∩ F = M 0
Canonical injection
0
B’ f ∈ A
p ∈ L0 , JpK = f
q = ϕ(p) ∈ M 0 , JqK = f
f ∈ B0
B
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
High Order
(2nd ) \CONS
ι
J•K
EXPtime
ϕ
ι
J•K
(2nd )
C
id
P = high order TRS
L = (2nd )
M = (1st ) F =
\CONS
id
ϕ
J•K
(1st ) \CONS
ι
(1st )
Ptime
ι
J•K
C
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
High Order
(2nd ) \CONS
ι
J•K
EXPtime
ϕ
ι
J•K
(2nd )
C
id
id
ϕ
J•K
(1st ) \CONS
ι
(1st )
Ptime
ι
J•K
C
P = high order TRS
L = (2nd )
M = (1st ) F =
\CONS
J(2nd )K = C = J(1st )K
J(2nd )\CONSK = EXPtime
J(1st )\CONSK = Ptime
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
High Order
(2nd ) \CONS
ι
J•K
EXPtime
ϕ
ι
J•K
(2nd )
C
id
id
ϕ
J•K
(1st ) \CONS
ι
(1st )
Ptime
ι
J•K
C
P = high order TRS
L = (2nd )
M = (1st ) F =
\CONS
J(2nd )K = C = J(1st )K
J(2nd )\CONSK = EXPtime
J(1st )\CONSK = Ptime
EXPtime 6= Ptime, hence there exists no compilation
from (2nd ) to (1st ) preserving \CONS.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
High Order
(2nd ) \CONS
ι
J•K
EXPtime
ϕ
ι
J•K
(2nd )
C
id
id
ϕ
J•K
(1st ) \CONS
ι
(1st )
Ptime
ι
J•K
C
P = high order TRS
L = (2nd )
M = (1st ) F =
\CONS
J(2nd )K = C = J(1st )K
J(2nd )\CONSK = EXPtime
J(1st )\CONSK = Ptime
EXPtime 6= Ptime, hence there exists no compilation
from (2nd ) to (1st ) preserving \CONS.
High order programs are more expressive than first order ones.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Non-Determinism
J•K
(MPO+ND) ∩ (QI)
ι
ϕ
ι
J•K
(MPO+ND)
Pspace
PR
id
P = ND first order TRS
L = (MPO+ND)
M = (MPO)
F = (QI)
id
ϕ
J•K
(MPO) ∩ (QI)
ι
(MPO)
Ptime
ι
J•K
PR
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Non-Determinism
J•K
(MPO+ND) ∩ (QI)
ι
ϕ
ι
J•K
(MPO+ND)
Pspace
PR
id
id
ϕ
J•K
(MPO) ∩ (QI)
ι
(MPO)
Ptime
ι
J•K
PR
P = ND first order TRS
L = (MPO+ND)
M = (MPO)
F = (QI)
J(MPO+ND)K = P R = J(MPO)K
J(MPO+ND) ∩ (QI)K = Pspace
J(MPO) ∩ (QI)K = Ptime
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Non-Determinism
J•K
(MPO+ND) ∩ (QI)
ι
ϕ
ι
J•K
(MPO+ND)
Pspace
PR
id
id
ϕ
J•K
(MPO) ∩ (QI)
ι
(MPO)
Ptime
ι
J•K
PR
P = ND first order TRS
L = (MPO+ND)
M = (MPO)
F = (QI)
J(MPO+ND)K = P R = J(MPO)K
J(MPO+ND) ∩ (QI)K = Pspace
J(MPO) ∩ (QI)K = Ptime
Pspace 6= Ptime (maybe), hence there exists no compilation
from (MPO+ND) to (MPO) preserving (QI).
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
A Generic Framework
Examples
Non-Determinism
J•K
(MPO+ND) ∩ (QI)
ι
ϕ
ι
J•K
(MPO+ND)
Pspace
PR
id
id
ϕ
J•K
(MPO) ∩ (QI)
ι
(MPO)
Ptime
ι
J•K
PR
P = ND first order TRS
L = (MPO+ND)
M = (MPO)
F = (QI)
J(MPO+ND)K = P R = J(MPO)K
J(MPO+ND) ∩ (QI)K = Pspace
J(MPO) ∩ (QI)K = Ptime
Pspace 6= Ptime (maybe), hence there exists no compilation
from (MPO+ND) to (MPO) preserving (QI).
Non-deterministic programs are more expressive than first order
ones.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
What is an Algorithm?
Solid (mathematical) theory of functions.
No good theory of algorithms
(Gurevich’s thesis: ASM ≡ algorithm).
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
What is an Algorithm?
Solid (mathematical) theory of functions.
No good theory of algorithms
(Gurevich’s thesis: ASM ≡ algorithm).
What’s sure:
Two programs may implement the same algorithm.
Two algorithms may compute the same function.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
What is an Algorithm?
Solid (mathematical) theory of functions.
No good theory of algorithms
(Gurevich’s thesis: ASM ≡ algorithm).
What’s sure:
Two programs may implement the same algorithm.
Two algorithms may compute the same function.
Algorithms lay somewhere between programs and functions.
|•|
[•]
P
Z
C
[|p|] = JpK
J•K
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
The Algorithmic Level
Programming language: P
Bonfante, Boudes, Moyen
⊃ L, M , F (syntactic)
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
The Algorithmic Level
Programming language: P
Algorithms (?): Z
⊃ L, M , F (syntactic)
Computable functions: C
|•|
[•]
P
Z
C
Algorithms respect filter: p ∈ F , q 6∈ F ⇒ |p| =
6 |q|
Semantics:
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
The Algorithmic Level
Programming language: P
Algorithms (?): Z
⊃ L, M , F (syntactic)
Computable functions: C
|•|
[•]
P
Z
C
Algorithms respect filter: p ∈ F , q 6∈ F ⇒ |p| =
6 |q|
Semantics:
JLK = A = B = JM K
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
The Algorithmic Level
Programming language: P
Algorithms (?): Z
⊃ L, M , F (syntactic)
Computable functions: C
|•|
[•]
P
Z
C
Algorithms respect filter: p ∈ F , q 6∈ F ⇒ |p| =
6 |q|
Semantics:
JLK = A = B = JM K
Filtering: L0 = L ∩ F , M 0 = M ∩ F
Breaking semantic equality: JL0 K = A0 ) B 0 = JM 0 K
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
Transforming algorithms
Hypothesis
JLK = A = B = JM K
JL0 K = A0 6= B 0 = JM 0 K
Algorithms respect filter: p ∈ F , q 6∈ F ⇒ |p| =
6 |q|
|L| = X
|M | = Y
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
Transforming algorithms
Hypothesis
JLK = A = B = JM K
JL0 K = A0 6= B 0 = JM 0 K
Algorithms respect filter: p ∈ F , q 6∈ F ⇒ |p| =
6 |q|
|L| = X
|M | = Y
Algorithm transformation: τ : X → Y
Conclusion
There is no filter-preserving transformation of algorithms:
x ∈ |F | ⇒ τ (x) ∈ |F |
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
Transforming algorithms
Hypothesis
JLK = A = B = JM K
JL0 K = A0 6= B 0 = JM 0 K
Algorithms respect filter: p ∈ F , q 6∈ F ⇒ |p| =
6 |q|
|L| = X
|M | = Y
Algorithm transformation: τ : X → Y
Conclusion
There is no filter-preserving transformation of algorithms:
x ∈ |F | ⇒ τ (x) ∈ |F |
Conversely, if there exists a filter preserving transformation
(incl. identity), then A0 = B 0 .
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
Magic Trick Again
Suppose that I have written something (an “algorithm”)
inside each bead (text? formula? drawing? . . . )
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
Magic Trick Again
Suppose that I have written something (an “algorithm”)
inside each bead (text? formula? drawing? . . . )
It’s written in white inside black beads, and in black inside
white beads. Hence beads of different colours (computing
different functions) necessarily have different algorithms.
I claim that beads of different size have different algorithms
(respecting the filter).
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
Magic Trick Again
Suppose that I have written something (an “algorithm”)
inside each bead (text? formula? drawing? . . . )
It’s written in white inside black beads, and in black inside
white beads. Hence beads of different colours (computing
different functions) necessarily have different algorithms.
I claim that beads of different size have different algorithms
(respecting the filter).
[Filtering]
There are things written in beads of the first set that are
not written in beads of the second (those in small black
beads).
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
What is an Algorithm?
Extending the Framework
Examples
The big picture
|•|
[•]
L’
X’
ι
ι
τ
|•|
L
ι
[•]
X
A
|•|
id
[•]
M’
Y’
τ
ι
B’
id
ι
|•|
M
A’
ι
[•]
Y
Bonfante, Boudes, Moyen
B
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
High order
|•|
(2nd ) \CONS
[•]
X’
ι
ι
EXPtime
τ
|•|
(2nd )
What is an Algorithm?
Extending the Framework
Examples
ι
[•]
X
|•|
(1st ) \CONS
C
[•]
Y’
id
ι
ι
|•|
Algorithms
respect
cons-free.
Ptime
τ
(1st )
id
ι
[•]
Y
Bonfante, Boudes, Moyen
C
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
High order
|•|
(2nd ) \CONS
[•]
X’
ι
ι
EXPtime
τ
|•|
(2nd )
What is an Algorithm?
Extending the Framework
Examples
ι
[•]
X
|•|
(1st ) \CONS
C
[•]
Y’
id
ι
ι
|•|
Algorithms
respect
cons-free.
Ptime
τ
(1st )
id
ι
[•]
Y
C
There is no transformation from high order algorithms to first
order algorithm preserving cons-free.
There are cons-free high-order algorithms with no first order
counterpart.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
High order
|•|
(2nd ) \CONS
[•]
X’
ι
ι
EXPtime
τ
|•|
(2nd )
What is an Algorithm?
Extending the Framework
Examples
ι
[•]
X
|•|
(1st ) \CONS
C
[•]
Y’
id
ι
ι
|•|
Algorithms
respect
cons-free.
Ptime
τ
(1st )
id
ι
[•]
Y
C
There is no transformation from high order algorithms to first
order algorithm preserving cons-free.
There are cons-free high-order algorithms with no first order
counterpart.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Non Determinism
What is an Algorithm?
Extending the Framework
Examples
|•|
(MPO+ND) ∩ (QI)
[•]
X’
ι
τ
ι
|•|
(MPO+ND)
ι
[•]
X
PR
id
Algorithms
respect QI.
|•|
(MPO) ∩ (QI)
[•]
Y’
τ
Ptime
id
ι
ι
(MPO)
Pspace
|•|
ι
[•]
Y
Bonfante, Boudes, Moyen
PR
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Non Determinism
What is an Algorithm?
Extending the Framework
Examples
|•|
(MPO+ND) ∩ (QI)
[•]
X’
ι
τ
ι
|•|
(MPO+ND)
ι
[•]
X
PR
id
Algorithms
respect QI.
|•|
(MPO) ∩ (QI)
[•]
Y’
τ
Ptime
id
ι
ι
(MPO)
Pspace
|•|
ι
[•]
Y
PR
There is no transformation from non-deterministic algorithms
to first order algorithm preserving Quasi-Interpretations.
There are Non-deterministic algorithms admitting a QuasiInterpretation with no deterministic counterpart.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Non Determinism
What is an Algorithm?
Extending the Framework
Examples
|•|
(MPO+ND) ∩ (QI)
[•]
X’
ι
τ
ι
|•|
(MPO+ND)
ι
[•]
X
PR
id
Algorithms
respect QI.
|•|
(MPO) ∩ (QI)
[•]
Y’
τ
Ptime
id
ι
ι
(MPO)
Pspace
|•|
ι
[•]
Y
PR
There is no transformation from non-deterministic algorithms
to first order algorithm preserving Quasi-Interpretations.
There are Non-deterministic algorithms admitting a QuasiInterpretation with no deterministic counterpart.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Future Works
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Other Examples
The framework is generic and could be applied to many
cases.
But we still need to find a good filter and prove:
JLK = JM K
JL0 K 6= JM 0 K
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Other Examples
The framework is generic and could be applied to many
cases.
But we still need to find a good filter and prove:
JLK = JM K
JL0 K 6= JM 0 K
Fortunately, we have 20 years of ICC with lot of results of
this kind to use!
Linear Logic? Imperative programs? . . .
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Cross-language comparison
Can we compare systems for imperative programs with Linear
Logic systems?
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Cross-language comparison
Can we compare systems for imperative programs with Linear
Logic systems?
The key to the proof is that the filter is “the same” in both
cases.
When dealing with algorithms, if we have two filters F and
G, we need |F | = |G|
Especially, JF K = JGK is not sufficient.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Cross-language comparison
Can we compare systems for imperative programs with Linear
Logic systems?
The key to the proof is that the filter is “the same” in both
cases.
When dealing with algorithms, if we have two filters F and
G, we need |F | = |G|
Especially, JF K = JGK is not sufficient.
But without knowing what an algorithm is, we cannot
prove that.
We have to find another way to circumvent this.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Comparing Systems for Ptime
(1st ) \CONS
Bonfante, Boudes, Moyen
Interp.
MPO+QI
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Comparing Systems for Ptime
(1st ) \CONS
Ptime
Interp.
Ptime
MPO+QI
Ptime
The three ICC systems capture the same functions.
Experiments suggest that it’s easier to write MPO+QI
programs than (1st ) \CONS ones.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Comparing Systems for Ptime
Deterministic
Non-deterministic
(1st ) \CONS
Ptime
Ptime
Interp.
Ptime
NPtime
MPO+QI
Ptime
Pspace
The three ICC systems capture the same functions.
Experiments suggest that it’s easier to write MPO+QI
programs than (1st ) \CONS ones.
Adding Non-determinism reveals a jump in expressiveness.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Comparing Systems for Ptime
Deterministic
Non-deterministic
(1st ) \CONS
Ptime
Ptime
Interp.
Ptime
NPtime
MPO+QI
Ptime
Pspace
The three ICC systems capture the same functions.
Experiments suggest that it’s easier to write MPO+QI
programs than (1st ) \CONS ones.
Adding Non-determinism reveals a jump in expressiveness.
There was more “things” (algorithms) in MPO+QI but we
need the Non-determinism to make them appear.
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Chemistry
A chemical version of this:
Bonfante, Boudes, Moyen
Expressive Power and Algorithms
Conclusion
Introduction
Expressive Power
Algorithms
Future Works
Other Examples
Cross-language comparison
Adding rather than filtrating
Conclusion
Generic framework.
Can tell something about algorithms, under “reasonable”
assumptions (or at least we can argue about the
assumptions).
Reuse 20 years of ICC to get more results.
Can still be extended for more interesting results?
A step toward a theory of algorithms?
Bonfante, Boudes, Moyen
Expressive Power and Algorithms