Introducing fractal computation Introducing fractal computation Jérôme Durand-Lose Joint work with Denys Duchier and Maxime Senot Laboratoire d'Informatique Fondamentale d'Orléans, Université d'Orléans, Orléans, FRANCE COPCOM '11 Cluj Napoca 1 / 27 Introducing fractal computation Brute force search easy check (too) many to check Physical limitations classical parallelism unconventional computation Fractal parallelism continuous space and time idealization using a fractal to broadcast 2 / 27 Introducing fractal computation 1 2 3 4 5 Introduction Physical limitations Signal machines Fractal parallelism Conclusion 3 / 27 Introducing fractal computation Introduction 1 2 3 4 5 Introduction Physical limitations Signal machines Fractal parallelism Conclusion 4 / 27 Introducing fractal computation Introduction Hard to nd but easy to check Very important in, e.g., asymmetric cryptography Example: nd 3 integers a, b, and c such that... 10 < a < b < c < 100 and a2 + b 2 = c 2 5 / 27 Introducing fractal computation Introduction Hard to nd but easy to check Very important in, e.g., asymmetric cryptography Example: nd 3 integers a, b, and c such that... 10 < a < b < c < 100 and Easy a2 + b 2 = c 2 30 + 40 = 50 2 2 2 5 / 27 Introducing fractal computation Introduction Hard to nd but easy to check Very important in, e.g., asymmetric cryptography Example: nd 3 integers a, b, and c such that... 10 < a < b < c < 100 and Easy a2 + b 2 = c 2 30 + 40 = 50 2 Indeed 2 2 900 + 1600 = 2500 5 / 27 Introducing fractal computation Introduction Link with NP problems NP: class of decision problems YES : easily proved (polynomial time) with the right certicate NO : there is no certicate 6 / 27 Introducing fractal computation Introduction Link with NP problems NP: class of decision problems YES : easily proved (polynomial time) with the right certicate NO : there is no certicate Trivial algorithm try all certicates 6 / 27 Introducing fractal computation Introduction Link with NP problems NP: class of decision problems YES : easily proved (polynomial time) with the right certicate NO : there is no certicate Trivial algorithm try all certicates BUT there are too many to try 6 / 27 Introducing fractal computation Introduction SAT : Boolean formula with free variables x , x , ..., xn . Is there a way to set the free variables such that φ is true? Example Instance φ 1 2 Question φ = (x1 ∨ ¬x2 ) ∧ x3 7 / 27 Introducing fractal computation Introduction SAT : Boolean formula with free variables x , x , ..., xn . Is there a way to set the free variables such that φ is true? Example Instance φ 1 2 Question φ = (x1 ∨ ¬x2 ) ∧ x3 x1 x2 x3 7 / 27 Introducing fractal computation Introduction SAT : Boolean formula with free variables x , x , ..., xn . Is there a way to set the free variables such that φ is true? Example Instance φ 1 2 Question φ = (x1 ∨ ¬x2 ) ∧ x3 x1 x2 x3 Complexity according to n, the number of variables Test a valuation: linear in the length of the formula easy Number of valuations: 2n exponential growth 7 / 27 Introducing fractal computation Introduction Brute force parallelism Try them all! A few... easy Polynomially many... might take a while Exponentially many... not feasible ...unless exponentially many computing units 8 / 27 Introducing fractal computation Physical limitations 1 2 3 4 5 Introduction Physical limitations Signal machines Fractal parallelism Conclusion 9 / 27 Introducing fractal computation Physical limitations Classical computation Parallelism/grid/cloud 1 microprocessor ⇒ 1 unit of space ≈ d processor at distance d exponential diameter for exponentially many processors exponential communication time 3 10 / 27 Introducing fractal computation Physical limitations Unconventional Computation and Natural Computation (UC NC) DNA computation very small totally uncentralized computation still at some (faraway) point the soup will be too big 11 / 27 Introducing fractal computation Physical limitations Unconventional Computation and Natural Computation (UC NC) DNA computation very small totally uncentralized computation still at some (faraway) point the soup will be too big Quantum computation superposition of exponentially many states big decoherence/stability problem limited set of operations (unitary operators and projections) 11 / 27 Introducing fractal computation Physical limitations Idealized model Wanted properties no space nor time granularity can work at any scale can compute 12 / 27 Introducing fractal computation Signal machines 1 2 3 4 5 Introduction Physical limitations Signal machines Fractal parallelism Conclusion 13 / 27 Introducing fractal computation Signal machines Time (R) continuous space continuous time Vocabulary Signal (meta-signal) Collision (rule) dimensionless Space (R) deterministic uniform 14 / 27 Introducing fractal computation Signal machines Example: nd the middle Meta-signals, speed M, S (M) = 0 Collision rules M M 15 / 27 Introducing fractal computation Signal machines Example: nd the middle Meta-signals, speed M, S (M) = 0 div, S (div) = 3 Collision rules div M M 15 / 27 Introducing fractal computation Signal machines Example: nd the middle Meta-signals, speed M, S (M) = 0 div, S (div) = 3 hi, S (hi) = 1 lo, S (lo) = 3 M div hi lo M M Collision rules { div, M } → { M, hi, lo } 15 / 27 Introducing fractal computation Signal machines Example: nd the middle back M hi M lo M div M Meta-signals, speed M, S (M) = 0 div, S (div) = 3 hi, S (hi) = 1 lo, S (lo) = 3 back, S (back) = −3 Collision rules { div, M } → { M, hi, lo } { lo, M } → { back, M } 15 / 27 Introducing fractal computation Signal machines Example: nd the middle M M back hi M lo M div M Meta-signals, speed M, S (M) = 0 div, S (div) = 3 hi, S (hi) = 1 lo, S (lo) = 3 back, S (back) = −3 Collision rules { div, M } → { M, hi, lo } { lo, M } → { back, M } { hi, back } → { M } 15 / 27 Introducing fractal computation Signal machines Complex dynamics 16 / 27 Introducing fractal computation Signal machines Complex dynamics 16 / 27 Introducing fractal computation Signal machines Complex dynamics 16 / 27 Introducing fractal computation Signal machines Fractal space-time diagrams 17 / 27 Introducing fractal computation Fractal parallelism 1 2 3 4 5 Introduction Physical limitations Signal machines Fractal parallelism Conclusion 18 / 27 Introducing fractal computation Fractal parallelism Using a fractal to compute Scheme Use the structure to dispatch the computation 19 / 27 Introducing fractal computation Fractal parallelism QSat: quantied satisfaction problem Quantied boolean formula (without free variable) Find its logical value PSPACE-complete problem Example φ = ∃x1 ∀x2 ∀x3 (x1 ∧ ¬x2 ) ∨ x3 20 / 27 Introducing fractal computation Fractal parallelism QSat: quantied satisfaction problem Quantied boolean formula (without free variable) Find its logical value PSPACE-complete problem Example φ = ∃x1 ∀x2 ∀x3 (x1 ∧ ¬x2 ) ∨ x3 20 / 27 Introducing fractal computation Fractal parallelism Building the tree / combinatorial comb 21 / 27 Introducing fractal computation Fractal parallelism Lens and variables assignment 22 / 27 Introducing fractal computation Fractal parallelism Formula evaluation −t ← t =c ⇒ φ = ∃x1 ∀x2 ∀x3 (x1 ∧ ¬x2 ) ∨ x3 a ⇒◦ = ¬ − ← γ+ ⇒◦ = ¬ − ← γ+ =t ⇒ γ←− + a =t ⇒ =t ⇒ ← T− =t ⇒ γ←− + a a = ⇒ ¬ ← T− a = ⇒ f ← T− γ←− + =t ⇒ =t ⇒ a =t ⇒ − ← γ+ γ←− + − ← γ+ =γ ⇒ a =γ ⇒ =γ ⇒ a = ⇒ ¬ − ← T =t ⇒ −F ← γ←− + =t ⇒ =t ⇒ =t ⇒ − ← T ⇒ = ∧◦ ⇒ = f+ ← − F =∧ ⇒ − ← T =∨ ⇒ =∧ ⇒ ⇒ = t+ a =s ⇒ − ← T Case here (true ∧ ¬true) ∨ true = ⇒ T← T− =t ⇒ ← − F = ⇒ f 23 / 27 Introducing fractal computation Conclusion 1 2 3 4 5 Introduction Physical limitations Signal machines Fractal parallelism Conclusion 24 / 27 Introducing fractal computation Conclusion Fractal computation continuous media (time and space) structure automaticaly unfold structure used to dispatch and to collect generic machine modular programming 25 / 27 Introducing fractal computation Conclusion Complexities Time constant (as a duration) cubic (as max length of collision chain) Space constant (as a width) exponential (as max number of independant signals, antichain) 26 / 27 Introducing fractal computation Conclusion Complexities Time constant (as a duration) cubic (as max length of collision chain) Space constant (as a width) exponential (as max number of independant signals, antichain) NB: Super-Turing Model with accumulations decide Halt in nite duration and width... 26 / 27 Introducing fractal computation Conclusion Future work Fractal computation non deterministic processes higher complexity classes Automatic discretization into a cellular automata nice properties are lost easy way to dene a CA 27 / 27 Introducing fractal computation Conclusion Future work Fractal computation non deterministic processes higher complexity classes Automatic discretization into a cellular automata nice properties are lost easy way to dene a CA Thank you for your attention 27 / 27