Cellular ANTomata: Principles and Progress Arnold L. Rosenberg - - PowerPoint PPT Presentation

cellular antomata principles and progress
SMART_READER_LITE
LIVE PREVIEW

Cellular ANTomata: Principles and Progress Arnold L. Rosenberg - - PowerPoint PPT Presentation

Cellular ANTomata: Principles and Progress Arnold L. Rosenberg Computer Science Northeastern University Boston, MA 02115, USA The Cellular ANTomaton Model The parallel component of the model : An n n cellular AUTomaton: the n n mesh


slide-1
SLIDE 1

Cellular ANTomata: Principles and Progress

Arnold L. Rosenberg

Computer Science Northeastern University Boston, MA 02115, USA

slide-2
SLIDE 2

The Cellular ANTomaton Model The parallel component of the model: An n × n cellular AUTomaton: — the n × n mesh Mn with identical FSMs at each cell

slide-3
SLIDE 3

The Cellular ANTomaton Model The parallel component of the model: An n × n cellular AUTomaton The distributed component of the model: A (possibly heterogeneous) team of mobile FSMs — which we call ANTS

slide-4
SLIDE 4

The Cellular ANTomaton Model The parallel component of the model: An n × n cellular AUTomaton The distributed component of the model: A (possibly heterogeneous) team of mobile ANTS The Ants plus the cellular automaton equals — A Cellular ANTomaton

slide-5
SLIDE 5

Our Goals We seek— SCALABLE ALGORITHMS for reality-inspired problems within the

Cellular ANTomaton model

slide-6
SLIDE 6

A “Proof of Concept” Problem THE PARKING PROBLEM FOR ROBOTIC ANTS

slide-7
SLIDE 7

The Parking Problem for Robotic Ants

. . . . . . . . . . . .

Informal Have Ants congregate as compactly as possible in the closest corners of Mn (measured at moment of initiation) Formal (for the southwest quadrant of Mn) Minimize the parking potential function: Π(t)

def

=

2n−2

  • k=0

(k + 1) × (number of Ants on diagonal k at step t).

slide-8
SLIDE 8

The Parking Problem for Robotic Ants Theorem A Cellular ANTomaton can park Ants in Mn in O(n2) steps. This is a very conservative bound: Could O(n) steps be possible? For perspective: Theorem It is impossible for discrete Ants on an unintelligent floor to park.

slide-9
SLIDE 9

The Parking Problem for Robotic Ants Theorem A Cellular ANTomaton can park Ants in Mn in O(n2) steps.

  • 1. The Cellular ANTomaton quadrisects Mn so each Ant knows its quadrant:

Time: O(n) steps

slide-10
SLIDE 10

The Parking Problem for Robotic Ants Theorem A Cellular ANTomaton can park Ants in Mn in O(n2) steps.

  • 1. The Cellular ANTomaton quadrisects Mn so each Ant knows its quadrant:

Time: O(n) steps

  • 2. Ants move in a “wavefront” toward the correct corner:

Time: O(n) steps

slide-11
SLIDE 11

The Parking Problem for Robotic Ants Theorem A Cellular ANTomaton can park Ants in Mn in O(n2) steps.

  • 1. The Cellular ANTomaton quadrisects Mn so each Ant knows its quadrant:

Time: O(n) steps

  • 2. Ants move in a “wavefront” toward the correct corner:

Time: O(n) steps

  • 3. Ants wander around their corner, to achieve a compact configuration

Time: our procedure takes Θ(n2) steps

slide-12
SLIDE 12

A “Proof of Concept” Problem THE FOOD-SEEKING PROBLEM FOR ROBOTIC ANTS

CIRCLE = Ant X = Food Blackened cell = Obstacle

slide-13
SLIDE 13

The Food-Seeking Problem for Robotic Ants Mn contains r Ants and s food items.

  • Goal. Match Ants and food items so that:
  • if r ≥ s, then some Ant will reach every food item;
  • if s ≥ r, then every Ant will get food.
slide-14
SLIDE 14

The Food-Seeking Problem for Robotic Ants Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.

We have developed two algorithms that achieve this goal:

  • 1. The Food-Initiated algorithm.

Time: (r + O(1))n steps

slide-15
SLIDE 15

The Food-Seeking Problem for Robotic Ants Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.

We have developed two algorithms that achieve this goal:

  • 1. The Food-Initiated algorithm.

Time: (r + O(1))n steps

  • 2. The Active-Ant algorithm.

Time: O(n√s) steps

slide-16
SLIDE 16

The Food-Seeking Problem for Robotic Ants Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.

We have developed two algorithms that achieve this goal:

  • 1. The Food-Initiated algorithm.

Time: (r + O(1))n steps

  • 2. The Active-Ant algorithm.

Time: O(n√s) steps For perspective: Theorem A single intelligent Ant on an unintelligent floor requires, in the worst case, Ω(n2) steps to find a single food item.

slide-17
SLIDE 17

The Food-Initiated Algorithm Mn contains r Ants and s food items.

  • 1. FSMs with food send food-announcing message to all neighbors.

"Food available"

"W" "SW" "NW" "E" "S" "N" "SE" "NE"

slide-18
SLIDE 18

The Food-Initiated Algorithm Mn contains r Ants and s food items.

  • 1. FSMs with food send food-announcing message to all neighbors.
  • 2. FSMs with Ants send food-seeking message to all neighbors.

"Food needed"

"W" "SW" "NW" "E" "S" "N" "SE" "NE"

slide-19
SLIDE 19

The Food-Initiated Algorithm Mn contains r Ants and s food items.

  • 1. FSMs with food send food-announcing message to all neighbors.
  • 2. FSMs with Ants send food-seeking message to all neighbors.
  • 3. All FSMs relay all messages (combining similar ones).

"NW"

from the west Message relayed eastward

"W" "SW" "W"

Food message received

slide-20
SLIDE 20

The Food-Initiated Algorithm Mn contains r ants and s food items.

  • 1. FSMs with food send food-announcing message to all neighbors.
  • 2. FSMs with Ants send food-seeking message to all neighbors.
  • 3. All FSMs relay all messages (combining similar ones).
  • 4. FSMs send Ants in the direction of a food-announcing message.
slide-21
SLIDE 21

The Active-Ant Algorithm Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.
  • 1. FSMs with food send food-announcing message on NEWS arcs.

"Food available"

"W" "E" "S" "N"

slide-22
SLIDE 22

The Active-Ant Algorithm Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.
  • 1. FSMs with food send food-announcing message on NEWS arcs.
  • 2. All FSMs relay food-announcing messages on NEWS arcs.
slide-23
SLIDE 23

The Active-Ant Algorithm Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.
  • 1. FSMs with food send food-announcing message on NEWS arcs.
  • 2. All FSMs relay food-announcing messages on NEWS arcs.
  • 3. FSMs send Ants clockwise around perimeter of Mn.
slide-24
SLIDE 24

The Active-Ant Algorithm Mn contains r Ants and s food items.

  • Goal. Match Ants and food items.
  • 1. FSMs with food send food-announcing message on NEWS arcs.
  • 2. All FSMs relay food-announcing messages on NEWS arcs.
  • 3. FSMs send Ants clockwise around perimeter of Mn.
  • 4. Ants (a) stay with food they encounter on way to perimeter

(b) follow messages to food from perimeter —they rejoin the perimeter-walk if food has already been taken

slide-25
SLIDE 25

A “Proof of Concept” Problem THREE PATTERN-MATCHING PROBLEMS INSPIRED BY BIOINFORMATICS

slide-26
SLIDE 26

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins.

slide-27
SLIDE 27

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins. Time: n + m steps

slide-28
SLIDE 28

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins. Time: n + m steps Problem 2. C solves a sequence of instances of Problem 1 for pattern Π and a sequence of input patterns, π1, . . . , πr of lengths n ≥ m1 ≥ · · · ≥ mr.

slide-29
SLIDE 29

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins. Time: n + m steps Problem 2. C solves a sequence of instances of Problem 1 for pattern Π and a sequence of input patterns, π1, . . . , πr of lengths n ≥ m1 ≥ · · · ≥ mr. Time: n + m1 + · · · + mr steps.

slide-30
SLIDE 30

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins. Time: n + m steps Problem 2. C solves a sequence of instances of Problem 1 for pattern Π and a sequence of input patterns, π1, . . . , πr of lengths n ≥ m1 ≥ · · · ≥ mr. Time: n + m1 + · · · + mr steps. Problem 3. Expand Problem 1: Allow occurrences of π to wrap around Π.

slide-31
SLIDE 31

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins. Time: n + m steps Problem 2. C solves a sequence of instances of Problem 1 for pattern Π and a sequence of input patterns, π1, . . . , πr of lengths n ≥ m1 ≥ · · · ≥ mr. Time: n + m1 + · · · + mr steps. Problem 3. Expand Problem 1: Allow occurrences of π to wrap around Π (as if Π were a ring of symbols).

slide-32
SLIDE 32

Bio-Inspired Pattern-Matching Problem 1. A CA C has:

  • length-n master pattern Π along row 0
  • length-(m ≤ n) input pattern π left-justified along row n − 1

C identifies all positions in Π where a copy of π begins. Time: n + m steps Problem 2. C solves a sequence of instances of Problem 1 for pattern Π and a sequence of input patterns, π1, . . . , πr of lengths n ≥ m1 ≥ · · · ≥ mr. Time: n + m1 + · · · + mr steps. Problem 3. Expand Problem 1: Allow occurrences of π to wrap around Π. (as if Π were a ring of symbols). Time: O(n) steps.

slide-33
SLIDE 33

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching

slide-34
SLIDE 34

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching The motivating challenge: As C searches for all positions in Π where π begins, partial data “piles up.” σ0 σ1 σ2 σ3 · · · τ0 τ1 · · · τ0 τ1 · · · τ0 τ1 · · · Each column represents one parallel comparison-step.

slide-35
SLIDE 35

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching The motivating challenge: As C searches for all positions in Π where π occurs, partial data “piles up.” Zip-matching avoids this congestion

σ0 σ1 σ2 σ3 σ4 σ5 τ (0) τ (0)

1

τ (0)

2

= ⇒ · · · = ⇒ σ0 σ1 σ2 σ3 σ4 σ5 τ (0)

2

τ (1)

2

τ (2)

2

τ (3)

2

τ (0)

1

τ (1)

1

τ (2)

1

τ (3)

1

τ (0) τ (1) τ (2) τ (3)

slide-36
SLIDE 36

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching The motivating challenge: As C searches for all positions in Π where π occurs, partial data “piles up” Zip-matching avoids this congestion

σ0 σ1 σ2 σ3 σ4 σ5 τ (0)

2

τ (1)

2

τ (2)

2

τ (3)

2

τ (0)

1

τ (1)

1

τ (2)

1

τ (3)

1

τ (0) τ (1) τ (2) τ (3) = ⇒ () () () () σ0 σ1 σ2 σ3 σ4 σ5 τ (0)

2

τ (1)

2

τ (2)

2

τ (3)

2

τ (0)

1

τ (1)

1

τ (2)

1

τ (3)

1

τ (0) τ (1) τ (2) τ (3)

slide-37
SLIDE 37

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching The motivating challenge: As C searches for all positions in Π where π occurs, partial data “piles up” Zip-matching avoids this congestion

() () () () σ0 σ1 σ2 σ3 σ4 σ5 τ (0)

2

τ (1)

2

τ (2)

2

τ (3)

2

τ (0)

1

τ (1)

1

τ (2)

1

τ (3)

1

τ (0) τ (1) τ (2) τ (3) = ⇒ ε220 ε321 ε422 ε523 σ0 σ1 σ2 σ3 σ4 σ5 τ (0)

1

τ (1)

1

τ (2)

1

τ (3)

1

τ (0) τ (1) τ (2) τ (3)

slide-38
SLIDE 38

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching The motivating challenge: As C searches for all positions in Π where π occurs, partial data “piles up” Zip-matching avoids this congestion

ε220 ε321 ε422 ε523 σ0 σ1 σ2 σ3 σ4 σ5 τ (0)

1

τ (1)

1

τ (2)

1

τ (3)

1

τ (0) τ (1) τ (2) τ (3) = ⇒ ε220 ∧ ε110 ε321 ∧ ε211 ε422 ∧ ε312 ε523 ∧ ε413 σ0 σ1 σ2 σ3 σ4 σ5 τ (0) τ (1) τ (2) τ (3)

slide-39
SLIDE 39

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching The motivating challenge: As C searches for all positions in Π where π occurs, partial data “piles up” Zip-matching avoids this congestion

ε220 ∧ ε110 ε321 ∧ ε211 ε422 ∧ ε312 ε523 ∧ ε413 σ0 σ1 σ2 σ3 σ4 σ5 τ (0) τ (1) τ (2) τ (3) = ⇒ ε220 ∧ ε110 ∧ ε000 ε321 ∧ ε211 ∧ ε101 ε422 ∧ ε312 ∧ ε202 ε523 ∧ ε413 ∧ ε303 σ0 σ1 σ2 σ3 σ4 σ5

slide-40
SLIDE 40

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Zip-matching on length-n Π and length-(m ≤ n) π can be done in n + m steps.

slide-41
SLIDE 41

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers

slide-42
SLIDE 42

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers The symbols within FSMs’ memories can have structure

slide-43
SLIDE 43

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers The symbols within FSMs’ memories can have structure e.g., they can be tuples of atomic symbols: α = β1, β2, β3

slide-44
SLIDE 44

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers The symbols within FSMs’ memories can have structure e.g., they can be tuples of atomic symbols: α = β1, β2, β3 Thereby, we can endow a mesh’s rows and columns with tracks

slide-45
SLIDE 45

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers The symbols within FSMs’ memories can have structure e.g., they can be tuples of atomic symbols: α = β1, β2, β3 Thereby, we can endow a mesh’s rows and columns with tracks —even to the point of endowing Mn with complete layers: α0, β0 α1, β1 = ⇒ α0 α1 ... ... β0 β1

slide-46
SLIDE 46

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps C can implement Tracks and Layers on rows, columns, or all of Mn by performing a barrier synchronization. The Firing Squad Protocol achieves this in time O(n).

slide-47
SLIDE 47

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations

slide-48
SLIDE 48

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations When one cyclically rotates a pattern, intersymbol distances can change a lot:

slide-49
SLIDE 49

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations When one cyclically rotates a pattern, intersymbol distances can change a lot: cf., σn−1 and σn−2 within Π = σ0 · · · σn−2σn−1 and ρ(Π) = σn−1σ0 · · · σn−2

slide-50
SLIDE 50

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations When one cyclically rotates a pattern, inter-symbol distance can change a lot: The Linear-Cyclic (L-C) transformation avoids this: distances stay small!

slide-51
SLIDE 51

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations When one cyclically rotates a pattern, inter-symbol distance can change a lot: The L-C transformation: Write σ0 · · · σn−1 by selecting symbols from alternating ends: λ(σ0σ1 · · · σn−2σn−1) = σ0σn−1σ1σn−2 · · ·

slide-52
SLIDE 52

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations When one cyclically rotates a pattern, inter-symbol distance can change a lot: The L-C transformation: Write σ0 · · · σn−1 by selecting symbols from alternating ends. The interplay between the rotation operator ρ and the L-C operator λ (for both odd- and even- n): ξ = σ0σ1σ2σ3σ4σ5 η = τ0τ1τ2τ3τ4τ5τ6 λ(ξ) = σ0σ5σ1σ4σ2σ3 λ(η) = τ0τ6τ1τ5τ2τ4τ3 ρ(ξ) = σ5σ0σ1σ2σ3σ4 ρ(η) = τ6τ0τ1τ2τ3τ4τ5 λ(ρ(ξ)) = σ5σ4σ0σ3σ1σ2 λ(ρ(η)) = τ6τ5τ0τ4τ1τ3τ2

slide-53
SLIDE 53

Bio-Inspired Pattern-Matching Underlying Algorithmic Ideas Idea 1. Zip-matching: Time: n + m steps Idea 2. Tracks and Layers: Time: O(n) steps Idea 3. The L-C transformation: Fast Cyclic Rotations: Time: O(n) steps The L-C transformation can be done and undone to a pattern Π in linear time.

slide-54
SLIDE 54

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. The enabling tool is Zip-Matching

slide-55
SLIDE 55

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. The enabling tool is Zip-Matching Turning π “on its head” and replicating it along row 0 is “tailor-made” for cellular automata.

slide-56
SLIDE 56

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps

slide-57
SLIDE 57

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. The enabling tool is Pipelined Zip-Matching

slide-58
SLIDE 58

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. The enabling tool is Pipelined Zip-Matching Time the pipeline must be done carefully — a straightforward challenge for cellular automata

slide-59
SLIDE 59

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + m1 + · · · + mr steps

slide-60
SLIDE 60

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + Σimi steps Problem 3. (the most complex problem)

  • 1. Establish 3 layers in Mn: π-layer, Π-layer, flow-layer
slide-61
SLIDE 61

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + Σimi steps Problem 3. (the most complex problem)

  • 1. Establish 3 layers in Mn: π-layer, Π-layer, flow-layer
  • 2. Populate the Π-layer with all cyclic rotations of Π, one per row
slide-62
SLIDE 62

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + Σimi steps Problem 3. (the most complex problem)

  • 1. Establish 3 layers in Mn: π-layer, Π-layer, flow-layer
  • 2. Populate the Π-layer with all cyclic rotations of Π, one per row
  • 3. Prepare π for Zip-Matching at row 0 within the π-layer
slide-63
SLIDE 63

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + Σimi steps Problem 3. (the most complex problem)

  • 1. Establish 3 layers in Mn: π-layer, Π-layer, flow-layer
  • 2. Populate the Π-layer with all cyclic rotations of Π, one per row
  • 3. Prepare π for Zip-Matching at row 0 within the π-layer
  • 4. Inductively:

(a) as n−m copies of π (in the π-layer) get Zip-Matched to a cyclic rotation

  • f Π (say at row k of the Π-layer),

(b) C sends a replica of the n − m copies of π (in the flow layer) southward to the cyclic rotation of Π at row k + 1

slide-64
SLIDE 64

Bio-Inspired Pattern-Matching Solving the Three Problems Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + Σimi steps Problem 3. (the most complex problem)

  • 1. Establish 3 layers in Mn: π-layer, Π-layer, flow-layer
  • 2. Populate the Π-layer with all cyclic rotations of Π, one per row
  • 3. Prepare π for Zip-Matching at row 0 within the π-layer
  • 4. Inductively:

(a) as n−m copies of π (in the π-layer) get Zip-Matched to a cyclic rotation

  • f Π (say at row k of the Π-layer),

(b) C sends a replica of the n − m copies of π (in the flow layer) southward to the cyclic rotation of Π at row k + 1 C enhances parallelism by orchestrating step 4 in the manner of a Systolic Array. Therefore, the entire solution of Problem 3 is accomplished within O(n) steps.

slide-65
SLIDE 65

Bio-Inspired Pattern-Matching Summing Up Problem 1. Enabling tool: Zip-Matching; Time: n + m steps Problem 2. Enabling tool: Pipelined Zip-Matching; Time: n + Σimi steps Problem 3. Several tools; Time: O(n) steps