Symmetric Network Computation
|
|
- Blaise Copeland
- 5 years ago
- Views:
Transcription
1 Symmetric Network Computation and the Finite-State Symmetric Graph Automaton (FSSGA) Model David Pritchard, with Santosh Vempala Theory of Distributed Systems Group at MIT, July David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
2 Overview The standard model puts only weak restrictions on the computational power of each node. We will look at simple models of distributed computation. Motivation: can a simpler model automatically ensure fault-tolerance? What if the network elements are like finite-state automata? Old models: web automata, graph grammars, cellular automata. We call our new model Finite-State Symmetric Graph Automata (FSSGA) uses some qualitative principles that are common to many fault-tolerant algorithms. We don t exactly get what we want (automatic fault tolerance) but the models have some power and are interesting. motivated by unpredictability and leads to algebraic characterization. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
3 Overview The standard model puts only weak restrictions on the computational power of each node. We will look at simple models of distributed computation. Motivation: can a simpler model automatically ensure fault-tolerance? What if the network elements are like finite-state automata? Old models: web automata, graph grammars, cellular automata. We call our new model Finite-State Symmetric Graph Automata (FSSGA) uses some qualitative principles that are common to many fault-tolerant algorithms. We don t exactly get what we want (automatic fault tolerance) but the models have some power and are interesting. motivated by unpredictability and leads to algebraic characterization. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
4 Overview The standard model puts only weak restrictions on the computational power of each node. We will look at simple models of distributed computation. Motivation: can a simpler model automatically ensure fault-tolerance? What if the network elements are like finite-state automata? Old models: web automata, graph grammars, cellular automata. We call our new model Finite-State Symmetric Graph Automata (FSSGA) uses some qualitative principles that are common to many fault-tolerant algorithms. We don t exactly get what we want (automatic fault tolerance) but the models have some power and are interesting. motivated by unpredictability and leads to algebraic characterization. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
5 Outline 1 Background and History Motivating Principles Computing the Network Size An Agent-Based Bridge-Finding Algorithm Some Existing Finite-State Distributed Models 2 Finite-State Symmetric Graph Automata Symmetric Multi-Input Automata The FSSGA Model and Algorithms 2 Afterword Infimum and Passive Mobility Models Further FSSGA Issues David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
6 Problem Statement Computing the Network Size Here s a toy problem to introduce three different computing paradigms: tree-based, agent-based, and decentralized. Problem. Given a network of unknown size and topology, compute the number of nodes in the network. You may assume a leader exists. Note: only one node needs to know the answer, since we could broadcast the information across the network afterwards. This problem is simple but typical for sensor and ad-hoc networks. Also it generalizes to other forms of aggregation such as sums and averages. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
7 Problem Statement Computing the Network Size Here s a toy problem to introduce three different computing paradigms: tree-based, agent-based, and decentralized. Problem. Given a network of unknown size and topology, compute the number of nodes in the network. You may assume a leader exists. Note: only one node needs to know the answer, since we could broadcast the information across the network afterwards. This problem is simple but typical for sensor and ad-hoc networks. Also it generalizes to other forms of aggregation such as sums and averages. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
8 Trees Are Bad Consider the following algorithm for counting the number of nodes: 1 Distributively construct a spanning tree 2 Each leaf node reports 1 to its parent 3 Each other node (from the bottom up) sums the values reported to it, adds 1 (for itself) and reports that number to its parent 4 The number reported by the root is V Tree-based algorithms have too fragile a structure to work in a faulty environment. For concreteness in this talk we only consider benign edge/node failures. Even in this model of relatively weak failures, if any edge in the spanning tree fails before the lower node reports to its parent (say right after step 1), then the algorithm fails. There can be Θ( V ) tree edges! David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
9 Trees Are Bad Consider the following algorithm for counting the number of nodes: 1 Distributively construct a spanning tree 2 Each leaf node reports 1 to its parent 3 Each other node (from the bottom up) sums the values reported to it, adds 1 (for itself) and reports that number to its parent 4 The number reported by the root is V Tree-based algorithms have too fragile a structure to work in a faulty environment. For concreteness in this talk we only consider benign edge/node failures. Even in this model of relatively weak failures, if any edge in the spanning tree fails before the lower node reports to its parent (say right after step 1), then the algorithm fails. There can be Θ( V ) tree edges! David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
10 Agent-Based Census An agent may be thought of as a stateful entity that inhabits different nodes of the network and moves from node to adjacent node. Agent-Based Census: we place a single agent in the network. Each node keeps a flag indicating whether the agent has ever been there. The agent counts the number of distinct nodes it has visited. Rule used by agent to determine next destination: take a shortest path to the nearest unvisited node, possibly revisiting some other nodes along the way. We skip details, but the shortest paths can be determined in a simple, fault-tolerant distributed way. Entire traversal takes O(n log n) steps 1. This improves the situation: even if some nodes/edges die, as long as the agent is not in the midst of a failure, and the graph remains connected, the algorithm works. 1 In this talk n = V David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
11 Agent-Based Census An agent may be thought of as a stateful entity that inhabits different nodes of the network and moves from node to adjacent node. Agent-Based Census: we place a single agent in the network. Each node keeps a flag indicating whether the agent has ever been there. The agent counts the number of distinct nodes it has visited. Rule used by agent to determine next destination: take a shortest path to the nearest unvisited node, possibly revisiting some other nodes along the way. We skip details, but the shortest paths can be determined in a simple, fault-tolerant distributed way. Entire traversal takes O(n log n) steps 1. This improves the situation: even if some nodes/edges die, as long as the agent is not in the midst of a failure, and the graph remains connected, the algorithm works. 1 In this talk n = V David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
12 A Decentralized Census Algorithm [Flajolet and Martin, 1985] The agent algorithm still has one critical node whose failure is disastrous. Some algorithms completely avoid having any fragile structure, with no node more important than any other. Often called decentralized. Here s an algorithm to approximately count the number of nodes in a faulty network. Suppose each node has k log 2 V bits of memory, initially all 0. Each node independently sets its ith bit to 1 with probability 2 i, and leaves all bits 0 with the remaining probability 2 k By each node iterating OR with its neighbours, all set bits are broadcast. At end, let l be the minimum unset bit index. Estimate V = 2 l nodes. Can show that this gives Θ(1)-approximation with high probability. Algorithm can tolerate any reasonable failure pattern. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
13 A Decentralized Census Algorithm [Flajolet and Martin, 1985] The agent algorithm still has one critical node whose failure is disastrous. Some algorithms completely avoid having any fragile structure, with no node more important than any other. Often called decentralized. Here s an algorithm to approximately count the number of nodes in a faulty network. Suppose each node has k log 2 V bits of memory, initially all 0. Each node independently sets its ith bit to 1 with probability 2 i, and leaves all bits 0 with the remaining probability 2 k By each node iterating OR with its neighbours, all set bits are broadcast. At end, let l be the minimum unset bit index. Estimate V = 2 l nodes. Can show that this gives Θ(1)-approximation with high probability. Algorithm can tolerate any reasonable failure pattern. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
14 A Decentralized Census Algorithm [Flajolet and Martin, 1985] The agent algorithm still has one critical node whose failure is disastrous. Some algorithms completely avoid having any fragile structure, with no node more important than any other. Often called decentralized. Here s an algorithm to approximately count the number of nodes in a faulty network. Suppose each node has k log 2 V bits of memory, initially all 0. Each node independently sets its ith bit to 1 with probability 2 i, and leaves all bits 0 with the remaining probability 2 k By each node iterating OR with its neighbours, all set bits are broadcast. At end, let l be the minimum unset bit index. Estimate V = 2 l nodes. Can show that this gives Θ(1)-approximation with high probability. Algorithm can tolerate any reasonable failure pattern. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
15 Sensitivity To quantify we mean by more fault-tolerant, we will define the sensitivity of a distributed algorithm. If large parts of the network become disconnected, it is unreasonable to expect a correct answer. At best each connected component can get an answer about itself. At each instant in time, as a function of the network state X, let S(X) (V E) be a set of critical nodes/edges. A critical failure is either the failure of a critical component, or a failure that disconnects two critical nodes. If non-critical failures are harmless, then the sensitivity of the algorithm is the best upper bound that we can ensure on the size of S. Formally, start with G 0 = G. When the ith failure occurs, let G i be a connected component of G i 1 that contains all critical nodes at that time. Let the final answer computed in the nodes of G f be A. By harmless we mean that A is correct for some graph G with G 0 G G f. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
16 Sensitivity To quantify we mean by more fault-tolerant, we will define the sensitivity of a distributed algorithm. If large parts of the network become disconnected, it is unreasonable to expect a correct answer. At best each connected component can get an answer about itself. At each instant in time, as a function of the network state X, let S(X) (V E) be a set of critical nodes/edges. A critical failure is either the failure of a critical component, or a failure that disconnects two critical nodes. If non-critical failures are harmless, then the sensitivity of the algorithm is the best upper bound that we can ensure on the size of S. Formally, start with G 0 = G. When the ith failure occurs, let G i be a connected component of G i 1 that contains all critical nodes at that time. Let the final answer computed in the nodes of G f be A. By harmless we mean that A is correct for some graph G with G 0 G G f. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
17 What Properties are Essential? Tree-based counting has sensitivity Θ(n), agent-based census has sensitivity Θ(1), and the Flajolet-Martin algorithm has sensitivity 0. Do the best decentralized algorithms have some similarities? We isolated three properties. (P1) Global Symmetry: the computation proceeds via a single operation that is performed repeatedly by every node. (P2) Local Symmetry: every node acts symmetrically on its neighbours. (P3) Steady State Convergence: the network is brought to a steady state when all nodes perform their operation repeatedly. (Examples: Flajolet-Martin, preflow-push, α synchronizer, harmonic functions, self-stabilizing model) We d like to construct a distributed model with these three properties. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
18 Outline 1 Background and History Motivating Principles Computing the Network Size An Agent-Based Bridge-Finding Algorithm Some Existing Finite-State Distributed Models 2 Finite-State Symmetric Graph Automata Symmetric Multi-Input Automata The FSSGA Model and Algorithms 2 Afterword Infimum and Passive Mobility Models Further FSSGA Issues David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
19 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
20 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
21 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
22 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
23 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
24 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
25 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
26 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
27 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
28 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
29 Symmetric (Agent-Based) Bridge-Finding In a connected network, a bridge is an edge whose deletion disconnects the network. Identifying which edges are bridges is potentially useful in determining the robustness of a network. Consider putting an agent on the graph. Orient each edge arbitrarily and give it a counter initialized to 0. When the agent traverses an edge, change the counter by +1 if the step was in agreement with its orientation, and change the counter by -1 otherwise David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
30 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 0 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
31 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 0 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
32 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 1 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
33 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 1 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
34 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 1 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
35 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 0 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
36 Give the Agent a Drink First, no matter how the agent moves, the counter of a bridge will always remain in { 1, 0, 1}. 0 Second, if the agent performs a random walk, it can be shown that each non-bridge edge is expected to exceed ±1 in O( V E ) steps. Proof idea: make a new graph that represents the walker s position and also the counter s value. A special node indicates that the value on the counter exceeds 1 in absolute value. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
37 New graph, nodes are pairs of (position, value of e s counter): The original graph, and non-bridge edge e highlighted: Random walk on the new graph corresponds to old process on original graph. It is known that a random walk on a connected graph (V, E) hits every vertex in expected O( V E ) time. New graph only constant factor larger than old graph. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
38 New graph, nodes are pairs of (position, value of e s counter): counter=+1 counter=0 counter=±2 counter= 1 Random walk on the new graph corresponds to old process on original graph. It is known that a random walk on a connected graph (V, E) hits every vertex in expected O( V E ) time. New graph only constant factor larger than old graph. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
39 New graph, nodes are pairs of (position, value of e s counter): counter=+1 counter=0 counter=±2 counter= 1 Random walk on the new graph corresponds to old process on original graph. It is known that a random walk on a connected graph (V, E) hits every vertex in expected O( V E ) time. New graph only constant factor larger than old graph. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
40 Outline 1 Background and History Motivating Principles Computing the Network Size An Agent-Based Bridge-Finding Algorithm Some Existing Finite-State Distributed Models 2 Finite-State Symmetric Graph Automata Symmetric Multi-Input Automata The FSSGA Model and Algorithms 2 Afterword Infimum and Passive Mobility Models Further FSSGA Issues David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
41 Review of Finite-State Automata (FSAs) A finite-state automaton consists of a finite set Q of states, an input alphabet Σ, an initial state q 0 Q, a transition function p : Q Σ Q, and an output function β : Q R where R is a finite set of outputs. Traditionally R = {accept, reject}. Let Σ denote the set of strings over Σ. The finite-state automaton defines a function Σ R in the following way. Consider input σ = (σ 1,σ 2,...,σ k ) Σ. Let q denote the current state, initialized to q 0. Then for i from 1 to k, replace q by p(q,σ i ). The output corresponding to input σ is β(q), where q is the automaton s final state. In other words the automaton maps σ to β(p( p(p(q 0,σ 1 ),σ 2 ),σ k )). David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
42 Example of an FSA Picture of an automaton that accepts decimal strings divisible by 3: 0,3,6,9 0,3,6,9 2,5,8 1,4,7 q 2 2,5,8 1,4,7 1,4,7 q 0 q 1 2,5,8 0,3,6,9 For the function f : Σ R defined by the FSA, each set f 1 (r) for r R is called a regular language. (Traditionally a regular language is the set of strings accepted by an FSA). Regular languages can equivalently be defined by regular expressions. When Σ = 1, each language over Σ corresponds (via the length of the strings) to a subset of {0, 1, 2,... }. One can show that such a language is regular iff the subset is a finite union of infinite arithmetic progressions and individual elements. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
43 Graph Grammars, Web Automata In the 60-70s a number of generalizations of FSAs to graphs were proposed, e.g., by Rosenstiehl, Rosenfeld, Milgram, Mylopoulos. We review some, keeping symmetry in mind. We still assume a finite set of states, but each graph element (node and/or edge, depending on the exact model) maintains a state. Think of a labelled graph, with labels drawn from a finite alphabet. Communication takes place only by elements reading each others states. Can sometimes emulate message-passing by using buffers. Sometimes it is not possible to have pointers to neighbours. In a web automaton we have a single locus of control, like an agent. Depending on the model, one uses existential and/or counting rules like if the agent is in state q 1, and has a l 1 -labelled neighbour v, then it may relabel its node l 2, change to state q 2 and move to v. A graph grammar consists of transition rules of the form labeled subgraph F can be replaced by labeled subgraph H. A language is the family of labeled graphs which can be transformed into some fixed target graph. Generalizes web automata. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
44 Graph Grammars, Web Automata In the 60-70s a number of generalizations of FSAs to graphs were proposed, e.g., by Rosenstiehl, Rosenfeld, Milgram, Mylopoulos. We review some, keeping symmetry in mind. We still assume a finite set of states, but each graph element (node and/or edge, depending on the exact model) maintains a state. Think of a labelled graph, with labels drawn from a finite alphabet. Communication takes place only by elements reading each others states. Can sometimes emulate message-passing by using buffers. Sometimes it is not possible to have pointers to neighbours. In a web automaton we have a single locus of control, like an agent. Depending on the model, one uses existential and/or counting rules like if the agent is in state q 1, and has a l 1 -labelled neighbour v, then it may relabel its node l 2, change to state q 2 and move to v. A graph grammar consists of transition rules of the form labeled subgraph F can be replaced by labeled subgraph H. A language is the family of labeled graphs which can be transformed into some fixed target graph. Generalizes web automata. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
45 Graph Grammars, Web Automata In the 60-70s a number of generalizations of FSAs to graphs were proposed, e.g., by Rosenstiehl, Rosenfeld, Milgram, Mylopoulos. We review some, keeping symmetry in mind. We still assume a finite set of states, but each graph element (node and/or edge, depending on the exact model) maintains a state. Think of a labelled graph, with labels drawn from a finite alphabet. Communication takes place only by elements reading each others states. Can sometimes emulate message-passing by using buffers. Sometimes it is not possible to have pointers to neighbours. In a web automaton we have a single locus of control, like an agent. Depending on the model, one uses existential and/or counting rules like if the agent is in state q 1, and has a l 1 -labelled neighbour v, then it may relabel its node l 2, change to state q 2 and move to v. A graph grammar consists of transition rules of the form labeled subgraph F can be replaced by labeled subgraph H. A language is the family of labeled graphs which can be transformed into some fixed target graph. Generalizes web automata. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
46 Cellular Automata, Lattices, Cayley Graphs Life (Conway) is a highly popularized example of a cellular automaton in 2D. Q = {alive, dead}; all nodes compute synchronously, with the same rule, based on own state and number of of live neighbours. Cellular automata: network topology is an arbitrary lattice. Uses a state space and a set of transition rules telling each node how to evolve based on its neighbourhood. Idea goes back to at least von Neumann. Further generalized by Cayley Graph automata: nodes are group elements, and a generating set S = {s 1,..., s S } defines the edges, Nodes compute as follows: (a, b) E ab 1 S. newstate(a) := transition-function(state(a), state(s 1 a),..., state(s S a)). David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
47 Cellular Automata, Lattices, Cayley Graphs Life (Conway) is a highly popularized example of a cellular automaton in 2D. Q = {alive, dead}; all nodes compute synchronously, with the same rule, based on own state and number of of live neighbours. Cellular automata: network topology is an arbitrary lattice. Uses a state space and a set of transition rules telling each node how to evolve based on its neighbourhood. Idea goes back to at least von Neumann. Further generalized by Cayley Graph automata: nodes are group elements, and a generating set S = {s 1,..., s S } defines the edges, Nodes compute as follows: (a, b) E ab 1 S. newstate(a) := transition-function(state(a), state(s 1 a),..., state(s S a)). David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
48 Cellular Automata, Lattices, Cayley Graphs Life (Conway) is a highly popularized example of a cellular automaton in 2D. Q = {alive, dead}; all nodes compute synchronously, with the same rule, based on own state and number of of live neighbours. Cellular automata: network topology is an arbitrary lattice. Uses a state space and a set of transition rules telling each node how to evolve based on its neighbourhood. Idea goes back to at least von Neumann. Further generalized by Cayley Graph automata: nodes are group elements, and a generating set S = {s 1,..., s S } defines the edges, Nodes compute as follows: (a, b) E ab 1 S. newstate(a) := transition-function(state(a), state(s 1 a),..., state(s S a)). David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
49 Regular and Bounded-Degree Symmetric Models Even if graph doesn t have automorphisms, in the case of -regular graphs we can still make all nodes run identically and symmetrically. Let Q be the set of states. Given an arbitrary -regular graph, we may think of the transition function as f : Q Q Q where we may insist that f is symmetric in its second argument. Generalizes to -bounded degree graphs; add a special deficient symbol ǫ and have f : Q (Q {ǫ}) Q and symmetric as before. But the restriction to bounded degrees seems artificial. We want our new model to be simple, and to work in graphs of unbounded degree. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
50 Outline 1 Background and History Motivating Principles Computing the Network Size An Agent-Based Bridge-Finding Algorithm Some Existing Finite-State Distributed Models 2 Finite-State Symmetric Graph Automata Symmetric Multi-Input Automata The FSSGA Model and Algorithms 2 Afterword Infimum and Passive Mobility Models Further FSSGA Issues David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
51 Multi-Input Automata We want each node to act symmetrically on its neighbours (local symmetry). We also want all nodes to be the same (global symmetry), regardless of differing degree. Further, we d like to be able to process arbitrarily many neighbours using only finite space. The transition function operates as Q Q Q. For now focus on functions Q Q. Our distributed model will be: with each state q associate a symmetric function f[q] : Q Q; when a node in state q activates, its state is replaced by the output of f[q] using its neighbours states as input. We came up with two reasonable FSA-based models with these properties: sequential and parallel symmetric multi-input automata. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
52 Multi-Input Automata We want each node to act symmetrically on its neighbours (local symmetry). We also want all nodes to be the same (global symmetry), regardless of differing degree. Further, we d like to be able to process arbitrarily many neighbours using only finite space. The transition function operates as Q Q Q. For now focus on functions Q Q. Our distributed model will be: with each state q associate a symmetric function f[q] : Q Q; when a node in state q activates, its state is replaced by the output of f[q] using its neighbours states as input. We came up with two reasonable FSA-based models with these properties: sequential and parallel symmetric multi-input automata. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
53 Multi-Input Automata We want each node to act symmetrically on its neighbours (local symmetry). We also want all nodes to be the same (global symmetry), regardless of differing degree. Further, we d like to be able to process arbitrarily many neighbours using only finite space. The transition function operates as Q Q Q. For now focus on functions Q Q. Our distributed model will be: with each state q associate a symmetric function f[q] : Q Q; when a node in state q activates, its state is replaced by the output of f[q] using its neighbours states as input. We came up with two reasonable FSA-based models with these properties: sequential and parallel symmetric multi-input automata. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
54 Sequential Multi-Input Automata Idea behind the sequential multi-input automaton: when a node activates, it should read each of its neighbours in one-at-a-time; each neighbour causes a state transition. Formal definition, take A finite set W of working states An initial working state w0 A processing function p : W Q W An output function β : W R (output set) If for all q Q, where q = k, for all π S k, the expression β(p(p p(p(w 0, q π(1) ), q π(2) ),, q π(k) )) is independent of π, then (W, w 0, p,β) defines a sequential multi-input automaton. Call (W, w 0, p,β) a sequential program. Computational power is precisely the following: can distinguish between a finite number of symmetric regular languages. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
55 Sequential Multi-Input Automata Idea behind the sequential multi-input automaton: when a node activates, it should read each of its neighbours in one-at-a-time; each neighbour causes a state transition. Formal definition, take A finite set W of working states An initial working state w0 A processing function p : W Q W An output function β : W R (output set) If for all q Q, where q = k, for all π S k, the expression β(p(p p(p(w 0, q π(1) ), q π(2) ),, q π(k) )) is independent of π, then (W, w 0, p,β) defines a sequential multi-input automaton. Call (W, w 0, p,β) a sequential program. Computational power is precisely the following: can distinguish between a finite number of symmetric regular languages. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
56 Sequential Multi-Input Automata Idea behind the sequential multi-input automaton: when a node activates, it should read each of its neighbours in one-at-a-time; each neighbour causes a state transition. Formal definition, take A finite set W of working states An initial working state w0 A processing function p : W Q W An output function β : W R (output set) If for all q Q, where q = k, for all π S k, the expression β(p(p p(p(w 0, q π(1) ), q π(2) ),, q π(k) )) is independent of π, then (W, w 0, p,β) defines a sequential multi-input automaton. Call (W, w 0, p,β) a sequential program. Computational power is precisely the following: can distinguish between a finite number of symmetric regular languages. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
57 Parallel Multi-Input Automata We thought of another reasonable model by which a symmetric multi-input function could be realized: parallel, not sequential. Basic idea: each neighbour contributes a single datum and they are reduced pairwise. result = β(p(, )) p(, ) p(, ) p(, ) α(q 3 ) α(q 2 ) α(q 5 ) α(q 1 ) α(q 4 ) David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
58 Parallel Multi-Input Automata Formally, a parallel multi-input automaton is defined by A finite set W of working states, An input function α : Q W A combining function p : W W W An output function β : W R (output set). On input q, apply α to each element of q, obtaining a multiset of working states. As long as two or more working states remain, remove two of them (say w 1, w 2 ) from the multiset and replace them with p(w 1, w 2 ). When only one working state w remains, output β(w). If the final answer is independent of the order in which the multiset of working states are combined, this defines a parallel multi-input automaton. We call (W, α, p, β) a parallel program. Empty input is a special case which we ignore here. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
59 Parallel Multi-Input Automata Formally, a parallel multi-input automaton is defined by A finite set W of working states, An input function α : Q W A combining function p : W W W An output function β : W R (output set). On input q, apply α to each element of q, obtaining a multiset of working states. As long as two or more working states remain, remove two of them (say w 1, w 2 ) from the multiset and replace them with p(w 1, w 2 ). When only one working state w remains, output β(w). If the final answer is independent of the order in which the multiset of working states are combined, this defines a parallel multi-input automaton. We call (W, α, p, β) a parallel program. Empty input is a special case which we ignore here. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
60 Sequential Can Simulate Parallel Lemma Each sequential symmetric multi-input automaton can be simulated by a parallel one. Proof. Idea: if we can divide and conquer, then conquer just one input at a time. Consider a symmetric multi-input function with parallel program (W, α, p, β). Then sequential program (W, w 0, p,β) computes the same function, where W = W {NIL}; w 0 = NIL; p : (w, q) { α(q), p(α(q), w), if w = NIL, otherwise. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
61 Sequential Can Simulate Parallel Lemma Each sequential symmetric multi-input automaton can be simulated by a parallel one. Proof. Idea: if we can divide and conquer, then conquer just one input at a time. Consider a symmetric multi-input function with parallel program (W, α, p, β). Then sequential program (W, w 0, p,β) computes the same function, where W = W {NIL}; w 0 = NIL; p : (w, q) { α(q), p(α(q), w), if w = NIL, otherwise. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
62 Sequential Can Simulate Parallel Lemma Each sequential symmetric multi-input automaton can be simulated by a parallel one. Proof. Idea: if we can divide and conquer, then conquer just one input at a time. Consider a symmetric multi-input function with parallel program (W, α, p, β). Then sequential program (W, w 0, p,β) computes the same function, where W = W {NIL}; w 0 = NIL; p : (w, q) { α(q), p(α(q), w), if w = NIL, otherwise. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
63 Sequential-Parallel Equivalence In fact, we can show that the sequential and parallel models are equivalent. That is, if we can compute a symmetric multi-input function sequentially, we can also do so in parallel. To prove it, define a third model called mod-thresh as follows: Denote Q by {q 1,..., q Q }. Denote by µ i ( q) the multiplicity of q i in q. Atoms are logical statements in the unqualified variable q. mod atom: µi ( q) r (mod m) thresh atom: µi ( q)< t The set of mod-thresh propositions is the closure, under (finite) logical conjunction, disjunction, and negation, of the union of all mod atoms and all thresh atoms. (Side note. Recall characterization of regular languages over single-element alphabets; regular subsets of Z + are exactly those that can be expressed using mod-thresh propositions.) David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
64 Sequential-Parallel Equivalence In fact, we can show that the sequential and parallel models are equivalent. That is, if we can compute a symmetric multi-input function sequentially, we can also do so in parallel. To prove it, define a third model called mod-thresh as follows: Denote Q by {q 1,..., q Q }. Denote by µ i ( q) the multiplicity of q i in q. Atoms are logical statements in the unqualified variable q. mod atom: µi ( q) r (mod m) thresh atom: µi ( q)< t The set of mod-thresh propositions is the closure, under (finite) logical conjunction, disjunction, and negation, of the union of all mod atoms and all thresh atoms. (Side note. Recall characterization of regular languages over single-element alphabets; regular subsets of Z + are exactly those that can be expressed using mod-thresh propositions.) David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
65 Sequential-Parallel Equivalence In fact, we can show that the sequential and parallel models are equivalent. That is, if we can compute a symmetric multi-input function sequentially, we can also do so in parallel. To prove it, define a third model called mod-thresh as follows: Denote Q by {q 1,..., q Q }. Denote by µ i ( q) the multiplicity of q i in q. Atoms are logical statements in the unqualified variable q. mod atom: µi ( q) r (mod m) thresh atom: µi ( q)< t The set of mod-thresh propositions is the closure, under (finite) logical conjunction, disjunction, and negation, of the union of all mod atoms and all thresh atoms. (Side note. Recall characterization of regular languages over single-element alphabets; regular subsets of Z + are exactly those that can be expressed using mod-thresh propositions.) David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
66 Sequential-Parallel Equivalence In fact, we can show that the sequential and parallel models are equivalent. That is, if we can compute a symmetric multi-input function sequentially, we can also do so in parallel. To prove it, define a third model called mod-thresh as follows: Denote Q by {q 1,..., q Q }. Denote by µ i ( q) the multiplicity of q i in q. Atoms are logical statements in the unqualified variable q. mod atom: µi ( q) r (mod m) thresh atom: µi ( q)< t The set of mod-thresh propositions is the closure, under (finite) logical conjunction, disjunction, and negation, of the union of all mod atoms and all thresh atoms. (Side note. Recall characterization of regular languages over single-element alphabets; regular subsets of Z + are exactly those that can be expressed using mod-thresh propositions.) David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
67 Mod-Thresh Functions Definition Let P 1,...,P c 1 be mod-thresh propositions, and r 1,...,r c be elements of R, not necessarily distinct. The function f : Q R described procedurally by procedure f ( q) if P 1 is true then return r 1 else if P 2 is true then return r 2 else return r c is a mod-thresh symmetric multi-input function. Note that a mod-thresh function is automatically symmetric, since it depends on the input q only via the symmetric functions µ i. We have shown Parallel Sequential; will show Mod-Thresh Parallel and then Sequential Mod Thresh, establishing equivalence of all three. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
68 Mod-Thresh Functions Definition Let P 1,...,P c 1 be mod-thresh propositions, and r 1,...,r c be elements of R, not necessarily distinct. The function f : Q R described procedurally by procedure f ( q) if P 1 is true then return r 1 else if P 2 is true then return r 2 else return r c is a mod-thresh symmetric multi-input function. Note that a mod-thresh function is automatically symmetric, since it depends on the input q only via the symmetric functions µ i. We have shown Parallel Sequential; will show Mod-Thresh Parallel and then Sequential Mod Thresh, establishing equivalence of all three. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
69 Proof that Mod-Thresh Parallel Need to show that every mod-thresh rule can be evaluated via parallel processing. Key: for every fixed mod-thresh function, there is an integer X such that the function can be evaluated using only the atoms mod X, there are k neighbours in state q i and there are less than X neighbours in state S. Take for example (using the Chinese Remainder Theorem) X = lcm ({all moduli} {max{all thresholds}}). Then to parallel-process, we count multiplicities of all input states. Recall tree picture; each intermediate working state gives a count of the subtree rooted there. Construction: each working state is a Q -tuple of integers in [0, 2X 1]. Input function α maps state q i to (0,..., 0, 1, 0,..., 0). }{{} i 1 The processing function p is addition of vectors, wrapping around 2X + l to X + l. Determine β by evaluating mod-thresh function at specified tuple. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
70 Proof that Mod-Thresh Parallel Need to show that every mod-thresh rule can be evaluated via parallel processing. Key: for every fixed mod-thresh function, there is an integer X such that the function can be evaluated using only the atoms mod X, there are k neighbours in state q i and there are less than X neighbours in state S. Take for example (using the Chinese Remainder Theorem) X = lcm ({all moduli} {max{all thresholds}}). Then to parallel-process, we count multiplicities of all input states. Recall tree picture; each intermediate working state gives a count of the subtree rooted there. Construction: each working state is a Q -tuple of integers in [0, 2X 1]. Input function α maps state q i to (0,..., 0, 1, 0,..., 0). }{{} i 1 The processing function p is addition of vectors, wrapping around 2X + l to X + l. Determine β by evaluating mod-thresh function at specified tuple. David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
71 Proof that Sequential Mod-Thresh Fix a sequential rule. Fix q i Q. By symmetry-invariance of sequential model, we may always choose to process first all copies of state q i that occur in the input. Define x 0 = w 0 and x j = p(x j 1, q i ) for j > 0. After processing all µ i ( q) copies of q i, the working state is x µi ( q). The (infinite) trajectory through the working state space is illustrated below Forms a rho (like Pollard s ρ factoring algorithm) Since x 15 = x 7, mod-thresh behaviour for this example is (x a = x b )&(a b) (a, b 7)&(a b mod (15 7). David Pritchard (U Waterloo) Symmetric Network Computation TDS at MIT, 7/7/ / 49
REVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms
REVIEW QUESTIONS Chapter 1: Foundations: Sets, Logic, and Algorithms 1. Why can t a Venn diagram be used to prove a statement about sets? 2. Suppose S is a set with n elements. Explain why the power set
More information1 More finite deterministic automata
CS 125 Section #6 Finite automata October 18, 2016 1 More finite deterministic automata Exercise. Consider the following game with two players: Repeatedly flip a coin. On heads, player 1 gets a point.
More informationSymmetric Rendezvous in Graphs: Deterministic Approaches
Symmetric Rendezvous in Graphs: Deterministic Approaches Shantanu Das Technion, Haifa, Israel http://www.bitvalve.org/~sdas/pres/rendezvous_lorentz.pdf Coauthors: Jérémie Chalopin, Adrian Kosowski, Peter
More informationAutomata Theory for Presburger Arithmetic Logic
Automata Theory for Presburger Arithmetic Logic References from Introduction to Automata Theory, Languages & Computation and Constraints in Computational Logic Theory & Application Presented by Masood
More informationEssential facts about NP-completeness:
CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions
More informationCMPSCI 250: Introduction to Computation. Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013
CMPSCI 250: Introduction to Computation Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013 λ-nfa s to NFA s to DFA s Reviewing the Three Models and Kleene s Theorem The Subset
More informationCISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata
CISC 4090: Theory of Computation Chapter Regular Languages Xiaolan Zhang, adapted from slides by Prof. Werschulz Section.: Finite Automata Fordham University Department of Computer and Information Sciences
More informationGeometric Steiner Trees
Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015
More informationLecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata
CS/Math 24: Introduction to Discrete Mathematics 4/2/2 Lecture 23 : Nondeterministic Finite Automata Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we designed finite state automata
More informationMediated Population Protocols
Othon Michail Paul Spirakis Ioannis Chatzigiannakis Research Academic Computer Technology Institute (RACTI) July 2009 Michail, Spirakis, Chatzigiannakis 1 / 25 Outline I Population Protocols 1 Population
More informationMotivation. Evolution has rediscovered several times multicellularity as a way to build complex living systems
Cellular Systems 1 Motivation Evolution has rediscovered several times multicellularity as a way to build complex living systems Multicellular systems are composed by many copies of a unique fundamental
More informationMathematical Preliminaries. Sipser pages 1-28
Mathematical Preliminaries Sipser pages 1-28 Mathematical Preliminaries This course is about the fundamental capabilities and limitations of computers. It has 3 parts 1. Automata Models of computation
More informationIntroduction: Computer Science is a cluster of related scientific and engineering disciplines concerned with the study and application of computations. These disciplines range from the pure and basic scientific
More informationDynamic Programming: Shortest Paths and DFA to Reg Exps
CS 374: Algorithms & Models of Computation, Spring 207 Dynamic Programming: Shortest Paths and DFA to Reg Exps Lecture 8 March 28, 207 Chandra Chekuri (UIUC) CS374 Spring 207 / 56 Part I Shortest Paths
More informationLanguages, regular languages, finite automata
Notes on Computer Theory Last updated: January, 2018 Languages, regular languages, finite automata Content largely taken from Richards [1] and Sipser [2] 1 Languages An alphabet is a finite set of characters,
More informationPart I: Definitions and Properties
Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States
More informationDecision, Computation and Language
Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata
More informationCM10196 Topic 2: Sets, Predicates, Boolean algebras
CM10196 Topic 2: Sets, Predicates, oolean algebras Guy McCusker 1W2.1 Sets Most of the things mathematicians talk about are built out of sets. The idea of a set is a simple one: a set is just a collection
More informationRemarks on Separating Words
Remarks on Separating Words Erik D. Demaine, Sarah Eisenstat, Jeffrey Shallit 2, and David A. Wilson MIT Computer Science and Artificial Intelligence Laboratory, 32 Vassar Street, Cambridge, MA 239, USA,
More informationPropositional Logic. What is discrete math? Tautology, equivalence, and inference. Applications
What is discrete math? Propositional Logic The real numbers are continuous in the senses that: between any two real numbers there is a real number The integers do not share this property. In this sense
More informationThe Separating Words Problem
The Separating Words Problem Jeffrey Shallit School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1 Canada shallit@cs.uwaterloo.ca http://www.cs.uwaterloo.ca/~shallit 1 / 48 An Advertisement
More informationAlgebras with finite descriptions
Algebras with finite descriptions André Nies The University of Auckland July 19, 2005 Part 1: FA-presentability A countable structure in a finite signature is finite-automaton presentable (or automatic)
More informationComputational Models #1
Computational Models #1 Handout Mode Nachum Dershowitz & Yishay Mansour March 13-15, 2017 Nachum Dershowitz & Yishay Mansour Computational Models #1 March 13-15, 2017 1 / 41 Lecture Outline I Motivation
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationDeterministic Finite Automaton (DFA)
1 Lecture Overview Deterministic Finite Automata (DFA) o accepting a string o defining a language Nondeterministic Finite Automata (NFA) o converting to DFA (subset construction) o constructed from a regular
More informationAny live cell with less than 2 live neighbours dies. Any live cell with 2 or 3 live neighbours lives on to the next step.
2. Cellular automata, and the SIRS model In this Section we consider an important set of models used in computer simulations, which are called cellular automata (these are very similar to the so-called
More informationAutomata, Logic and Games: Theory and Application
Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June
More informationFinite Automata. Finite Automata
Finite Automata Finite Automata Formal Specification of Languages Generators Grammars Context-free Regular Regular Expressions Recognizers Parsers, Push-down Automata Context Free Grammar Finite State
More information7 The structure of graphs excluding a topological minor
7 The structure of graphs excluding a topological minor Grohe and Marx [39] proved the following structure theorem for graphs excluding a topological minor: Theorem 7.1 ([39]). For every positive integer
More informationchapter 12 MORE MATRIX ALGEBRA 12.1 Systems of Linear Equations GOALS
chapter MORE MATRIX ALGEBRA GOALS In Chapter we studied matrix operations and the algebra of sets and logic. We also made note of the strong resemblance of matrix algebra to elementary algebra. The reader
More informationThe Separating Words Problem
The Separating Words Problem Jeffrey Shallit School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1 Canada shallit@cs.uwaterloo.ca https://www.cs.uwaterloo.ca/~shallit 1/54 The Simplest
More informationTheory of Computation
Theory of Computation (Feodor F. Dragan) Department of Computer Science Kent State University Spring, 2018 Theory of Computation, Feodor F. Dragan, Kent State University 1 Before we go into details, what
More information3515ICT: Theory of Computation. Regular languages
3515ICT: Theory of Computation Regular languages Notation and concepts concerning alphabets, strings and languages, and identification of languages with problems (H, 1.5). Regular expressions (H, 3.1,
More informationCSC173 Workshop: 13 Sept. Notes
CSC173 Workshop: 13 Sept. Notes Frank Ferraro Department of Computer Science University of Rochester September 14, 2010 1 Regular Languages and Equivalent Forms A language can be thought of a set L of
More informationFINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)
FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except
More information1 Predicates and Quantifiers
1 Predicates and Quantifiers We have seen how to represent properties of objects. For example, B(x) may represent that x is a student at Bryn Mawr College. Here B stands for is a student at Bryn Mawr College
More informationNon-context-Free Languages. CS215, Lecture 5 c
Non-context-Free Languages CS215, Lecture 5 c 2007 1 The Pumping Lemma Theorem. (Pumping Lemma) Let be context-free. There exists a positive integer divided into five pieces, Proof for for each, and..
More information1 AC 0 and Håstad Switching Lemma
princeton university cos 522: computational complexity Lecture 19: Circuit complexity Lecturer: Sanjeev Arora Scribe:Tony Wirth Complexity theory s Waterloo As we saw in an earlier lecture, if PH Σ P 2
More informationComputational Models - Lecture 1 1
Computational Models - Lecture 1 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. February 29/ March 02, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames
More informationCSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits
CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits Chris Calabro January 13, 2016 1 RAM model There are many possible, roughly equivalent RAM models. Below we will define one in the fashion
More informationDistributed Systems Byzantine Agreement
Distributed Systems Byzantine Agreement He Sun School of Informatics University of Edinburgh Outline Finish EIG algorithm for Byzantine agreement. Number-of-processors lower bound for Byzantine agreement.
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationPS2 - Comments. University of Virginia - cs3102: Theory of Computation Spring 2010
University of Virginia - cs3102: Theory of Computation Spring 2010 PS2 - Comments Average: 77.4 (full credit for each question is 100 points) Distribution (of 54 submissions): 90, 12; 80 89, 11; 70-79,
More informationOperads. Spencer Liang. March 10, 2015
Operads Spencer Liang March 10, 2015 1 Introduction The notion of an operad was created in order to have a well-defined mathematical object which encodes the idea of an abstract family of composable n-ary
More informationChapter 0 Introduction. Fourth Academic Year/ Elective Course Electrical Engineering Department College of Engineering University of Salahaddin
Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College of Engineering University of Salahaddin October 2014 Automata Theory 2 of 22 Automata theory deals
More informationLet us first give some intuitive idea about a state of a system and state transitions before describing finite automata.
Finite Automata Automata (singular: automation) are a particularly simple, but useful, model of computation. They were initially proposed as a simple model for the behavior of neurons. The concept of a
More information3 The language of proof
3 The language of proof After working through this section, you should be able to: (a) understand what is asserted by various types of mathematical statements, in particular implications and equivalences;
More informationOpleiding Informatica
Opleiding Informatica Tape-quantifying Turing machines in the arithmetical hierarchy Simon Heijungs Supervisors: H.J. Hoogeboom & R. van Vliet BACHELOR THESIS Leiden Institute of Advanced Computer Science
More informationChapter 9: Relations Relations
Chapter 9: Relations 9.1 - Relations Definition 1 (Relation). Let A and B be sets. A binary relation from A to B is a subset R A B, i.e., R is a set of ordered pairs where the first element from each pair
More informationComputational Models - Lecture 4
Computational Models - Lecture 4 Regular languages: The Myhill-Nerode Theorem Context-free Grammars Chomsky Normal Form Pumping Lemma for context free languages Non context-free languages: Examples Push
More informationMin/Max-Poly Weighting Schemes and the NL vs UL Problem
Min/Max-Poly Weighting Schemes and the NL vs UL Problem Anant Dhayal Jayalal Sarma Saurabh Sawlani May 3, 2016 Abstract For a graph G(V, E) ( V = n) and a vertex s V, a weighting scheme (w : E N) is called
More informationFault-Tolerant Consensus
Fault-Tolerant Consensus CS556 - Panagiota Fatourou 1 Assumptions Consensus Denote by f the maximum number of processes that may fail. We call the system f-resilient Description of the Problem Each process
More informationREVISION SHEET DECISION MATHS 2 DECISION ANALYSIS
REVISION SHEET DECISION MATHS 2 DECISION ANALYSIS The main ideas are covered in AQA Edexcel MEI OCR D2 Before the exam you should know The meaning of the different kinds of node. Be able to construct a
More informationConnectivity and tree structure in finite graphs arxiv: v5 [math.co] 1 Sep 2014
Connectivity and tree structure in finite graphs arxiv:1105.1611v5 [math.co] 1 Sep 2014 J. Carmesin R. Diestel F. Hundertmark M. Stein 20 March, 2013 Abstract Considering systems of separations in a graph
More informationDynamic Programming: Shortest Paths and DFA to Reg Exps
CS 374: Algorithms & Models of Computation, Fall 205 Dynamic Programming: Shortest Paths and DFA to Reg Exps Lecture 7 October 22, 205 Chandra & Manoj (UIUC) CS374 Fall 205 / 54 Part I Shortest Paths with
More informationNP-completeness. Chapter 34. Sergey Bereg
NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems
More informationFrom Liveness to Promptness
From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every
More information1 Counting spanning trees: A determinantal formula
Math 374 Matrix Tree Theorem Counting spanning trees: A determinantal formula Recall that a spanning tree of a graph G is a subgraph T so that T is a tree and V (G) = V (T ) Question How many distinct
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationEfficient Enumeration of Regular Languages
Efficient Enumeration of Regular Languages Margareta Ackerman and Jeffrey Shallit University of Waterloo, Waterloo ON, Canada mackerma@uwaterloo.ca, shallit@graceland.uwaterloo.ca Abstract. The cross-section
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationParikh s theorem. Håkan Lindqvist
Parikh s theorem Håkan Lindqvist Abstract This chapter will discuss Parikh s theorem and provide a proof for it. The proof is done by induction over a set of derivation trees, and using the Parikh mappings
More informationTheory of Computation p.1/?? Theory of Computation p.2/?? Unknown: Implicitly a Boolean variable: true if a word is
Abstraction of Problems Data: abstracted as a word in a given alphabet. Σ: alphabet, a finite, non-empty set of symbols. Σ : all the words of finite length built up using Σ: Conditions: abstracted as a
More informationSri vidya college of engineering and technology
Unit I FINITE AUTOMATA 1. Define hypothesis. The formal proof can be using deductive proof and inductive proof. The deductive proof consists of sequence of statements given with logical reasoning in order
More informationChapter 6. Properties of Regular Languages
Chapter 6 Properties of Regular Languages Regular Sets and Languages Claim(1). The family of languages accepted by FSAs consists of precisely the regular sets over a given alphabet. Every regular set is
More informationFirst order logic on Galton-Watson trees
First order logic on Galton-Watson trees Moumanti Podder Georgia Institute of Technology Joint work with Joel Spencer January 9, 2018 Mathematics Seminar, Indian Institute of Science, Bangalore 1 / 20
More informationFormal Verification of Mobile Network Protocols
Dipartimento di Informatica, Università di Pisa, Italy milazzo@di.unipi.it Pisa April 26, 2005 Introduction Modelling Systems Specifications Examples Algorithms Introduction Design validation ensuring
More informationUNIT-III REGULAR LANGUAGES
Syllabus R9 Regulation REGULAR EXPRESSIONS UNIT-III REGULAR LANGUAGES Regular expressions are useful for representing certain sets of strings in an algebraic fashion. In arithmetic we can use the operations
More informationAutomata Theory and Formal Grammars: Lecture 1
Automata Theory and Formal Grammars: Lecture 1 Sets, Languages, Logic Automata Theory and Formal Grammars: Lecture 1 p.1/72 Sets, Languages, Logic Today Course Overview Administrivia Sets Theory (Review?)
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationCS1800: Strong Induction. Professor Kevin Gold
CS1800: Strong Induction Professor Kevin Gold Mini-Primer/Refresher on Unrelated Topic: Limits This is meant to be a problem about reasoning about quantifiers, with a little practice of other skills, too
More informationP(t w) = arg maxp(t, w) (5.1) P(t,w) = P(t)P(w t). (5.2) The first term, P(t), can be described using a language model, for example, a bigram model:
Chapter 5 Text Input 5.1 Problem In the last two chapters we looked at language models, and in your first homework you are building language models for English and Chinese to enable the computer to guess
More informationAutomata-Theoretic LTL Model-Checking
Automata-Theoretic LTL Model-Checking Arie Gurfinkel arie@cmu.edu SEI/CMU Automata-Theoretic LTL Model-Checking p.1 LTL - Linear Time Logic (Pn 77) Determines Patterns on Infinite Traces Atomic Propositions
More informationDeterministic (DFA) There is a fixed number of states and we can only be in one state at a time
CS35 - Finite utomata This handout will describe finite automata, a mechanism that can be used to construct regular languages. We ll describe regular languages in an upcoming set of lecture notes. We will
More informationA physical analysis of mechanical computability. Answers
A physical analysis of mechanical computability Steven Lindell Department of Computer Science Haverford College Answers Most talks: questions answers This talk: answers questions Popular misconception
More informationCDS 270 (Fall 09) - Lecture Notes for Assignment 8.
CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete
More informationTheory of Computation
Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 3: Finite State Automata Motivation In the previous lecture we learned how to formalize
More informationClosure under the Regular Operations
Closure under the Regular Operations Application of NFA Now we use the NFA to show that collection of regular languages is closed under regular operations union, concatenation, and star Earlier we have
More informationComputational Tasks and Models
1 Computational Tasks and Models Overview: We assume that the reader is familiar with computing devices but may associate the notion of computation with specific incarnations of it. Our first goal is to
More informationIntroduction to Artificial Life and Cellular Automata. Cellular Automata
Introduction to Artificial Life and Cellular Automata CS405 Cellular Automata A cellular automata is a family of simple, finite-state machines that exhibit interesting, emergent behaviors through their
More informationTribhuvan University Institute of Science and Technology Micro Syllabus
Tribhuvan University Institute of Science and Technology Micro Syllabus Course Title: Discrete Structure Course no: CSC-152 Full Marks: 80+20 Credit hours: 3 Pass Marks: 32+8 Nature of course: Theory (3
More informationFIRST ORDER SENTENCES ON G(n, p), ZERO-ONE LAWS, ALMOST SURE AND COMPLETE THEORIES ON SPARSE RANDOM GRAPHS
FIRST ORDER SENTENCES ON G(n, p), ZERO-ONE LAWS, ALMOST SURE AND COMPLETE THEORIES ON SPARSE RANDOM GRAPHS MOUMANTI PODDER 1. First order theory on G(n, p) We start with a very simple property of G(n,
More informationThe State Explosion Problem
The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis
More informationDeterministic Finite Automata
Deterministic Finite Automata COMP2600 Formal Methods for Software Engineering Ranald Clouston Australian National University Semester 2, 2013 COMP 2600 Deterministic Finite Automata 1 Pop quiz What is
More informationDiscrete Structures, Final Exam
Discrete Structures, Final Exam Monday, May 11, 2009 SOLUTIONS 1. (40 pts) Short answer. Put your answer in the box. No partial credit. [ ] 0 1 (a) If A = and B = 1 0 [ ] 0 0 1. 0 1 1 [ 0 1 1 0 0 1 ],
More informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
More informationDeterministic Finite Automata (DFAs)
CS/ECE 374: Algorithms & Models of Computation, Fall 28 Deterministic Finite Automata (DFAs) Lecture 3 September 4, 28 Chandra Chekuri (UIUC) CS/ECE 374 Fall 28 / 33 Part I DFA Introduction Chandra Chekuri
More informationMathematical or Physical? A physical analysis of mechanical computability. Answers. Abstract model. Mental calculator. Conceptual Outline
Mathematical or Physical? A physical analysis of mechanical computability Steven Lindell Department of Computer Science Haverford College 1 Are computing machines abstract models or concrete devices? Both!
More informationTuring Machines. Nicholas Geis. February 5, 2015
Turing Machines Nicholas Geis February 5, 2015 Disclaimer: This portion of the notes does not talk about Cellular Automata or Dynamical Systems, it talks about turing machines, however this will lay the
More informationDE BRUIJN GRAPHS AND THEIR APPLICATIONS TO FAULT TOLERANT NETWORKS
DE BRUIJN GRAPHS AND THEIR APPLICATIONS TO FAULT TOLERANT NETWORKS JOEL BAKER Abstract. The goal of this expository paper is to introduce De Bruijn graphs and discuss their applications to fault tolerant
More informationFinite-State Machines (Automata) lecture 12
Finite-State Machines (Automata) lecture 12 cl a simple form of computation used widely one way to find patterns 1 A current D B A B C D B C D A C next 2 Application Fields Industry real-time control,
More informationClosure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism
Closure Properties of Regular Languages Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties Recall a closure property is a statement
More informationSlides for CIS 675. Huffman Encoding, 1. Huffman Encoding, 2. Huffman Encoding, 3. Encoding 1. DPV Chapter 5, Part 2. Encoding 2
Huffman Encoding, 1 EECS Slides for CIS 675 DPV Chapter 5, Part 2 Jim Royer October 13, 2009 A toy example: Suppose our alphabet is { A, B, C, D }. Suppose T is a text of 130 million characters. What is
More informationLecture 17: Language Recognition
Lecture 17: Language Recognition Finite State Automata Deterministic and Non-Deterministic Finite Automata Regular Expressions Push-Down Automata Turing Machines Modeling Computation When attempting to
More informationSearch and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012
Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:
More information(Refer Slide Time: 0:21)
Theory of Computation Prof. Somenath Biswas Department of Computer Science and Engineering Indian Institute of Technology Kanpur Lecture 7 A generalisation of pumping lemma, Non-deterministic finite automata
More informationCourse Runtime Verification
Course Martin Leucker (ISP) Volker Stolz (Høgskolen i Bergen, NO) INF5140 / V17 Chapters of the Course Chapter 1 Recall in More Depth Chapter 2 Specification Languages on Words Chapter 3 LTL on Finite
More informationFinite Automata. Warren McCulloch ( ) and Walter Pitts ( )
2 C H A P T E R Finite Automata Warren McCulloch (898 968) and Walter Pitts (923 969) Warren S. McCulloch was an American psychiatrist and neurophysiologist who co-founded Cybernetics. His greatest contributions
More informationEasy Shortcut Definitions
This version Mon Dec 12 2016 Easy Shortcut Definitions If you read and understand only this section, you ll understand P and NP. A language L is in the class P if there is some constant k and some machine
More informationFinite-state Machines: Theory and Applications
Finite-state Machines: Theory and Applications Unweighted Finite-state Automata Thomas Hanneforth Institut für Linguistik Universität Potsdam December 10, 2008 Thomas Hanneforth (Universität Potsdam) Finite-state
More information