Symmetric Network Computation

Size: px
Start display at page:

Download "Symmetric Network Computation"

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 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 information

1 More finite deterministic automata

1 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 information

Symmetric Rendezvous in Graphs: Deterministic Approaches

Symmetric 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 information

Automata Theory for Presburger Arithmetic Logic

Automata 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 information

Essential facts about NP-completeness:

Essential 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 information

CMPSCI 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 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 information

CISC 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 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 information

Geometric Steiner Trees

Geometric 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 information

Lecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata

Lecture 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 information

Mediated Population Protocols

Mediated 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 information

Motivation. Evolution has rediscovered several times multicellularity as a way to build complex living systems

Motivation. 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 information

Mathematical Preliminaries. Sipser pages 1-28

Mathematical 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 information

Introduction: 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 information

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Dynamic 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 information

Languages, regular languages, finite automata

Languages, 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 information

Part I: Definitions and Properties

Part 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 information

Decision, Computation and Language

Decision, 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 information

CM10196 Topic 2: Sets, Predicates, Boolean algebras

CM10196 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 information

Remarks on Separating Words

Remarks 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 information

Propositional Logic. What is discrete math? Tautology, equivalence, and inference. Applications

Propositional 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 information

The Separating Words Problem

The 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 information

Algebras with finite descriptions

Algebras 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 information

Computational Models #1

Computational 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 information

Advanced topic: Space complexity

Advanced 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 information

Deterministic Finite Automaton (DFA)

Deterministic 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 information

Any live cell with less than 2 live neighbours dies. Any live cell with 2 or 3 live neighbours lives on to the next step.

Any 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 information

Automata, Logic and Games: Theory and Application

Automata, 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 information

Finite Automata. Finite Automata

Finite 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 information

7 The structure of graphs excluding a topological minor

7 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 information

chapter 12 MORE MATRIX ALGEBRA 12.1 Systems of Linear Equations GOALS

chapter 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 information

The Separating Words Problem

The 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 information

Theory of Computation

Theory 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 information

3515ICT: Theory of Computation. Regular languages

3515ICT: 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 information

CSC173 Workshop: 13 Sept. Notes

CSC173 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 information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL 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 information

1 Predicates and Quantifiers

1 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 information

Non-context-Free Languages. CS215, Lecture 5 c

Non-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 information

1 AC 0 and Håstad Switching Lemma

1 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 information

Computational Models - Lecture 1 1

Computational 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 information

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

CSE 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 information

Distributed Systems Byzantine Agreement

Distributed 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 information

Temporal 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 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 information

PS2 - Comments. University of Virginia - cs3102: Theory of Computation Spring 2010

PS2 - 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 information

Operads. Spencer Liang. March 10, 2015

Operads. 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 information

Chapter 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 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 information

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata.

Let 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 information

3 The language of proof

3 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 information

Opleiding Informatica

Opleiding 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 information

Chapter 9: Relations Relations

Chapter 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 information

Computational Models - Lecture 4

Computational 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 information

Min/Max-Poly Weighting Schemes and the NL vs UL Problem

Min/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 information

Fault-Tolerant Consensus

Fault-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 information

REVISION SHEET DECISION MATHS 2 DECISION ANALYSIS

REVISION 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 information

Connectivity and tree structure in finite graphs arxiv: v5 [math.co] 1 Sep 2014

Connectivity 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 information

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Dynamic 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 information

NP-completeness. Chapter 34. Sergey Bereg

NP-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 information

From Liveness to Promptness

From 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 information

1 Counting spanning trees: A determinantal formula

1 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 information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity 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 information

Efficient Enumeration of Regular Languages

Efficient 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 information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. 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 information

Parikh s theorem. Håkan Lindqvist

Parikh 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 information

Theory of Computation p.1/?? Theory of Computation p.2/?? Unknown: Implicitly a Boolean variable: true if a word is

Theory 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 information

Sri vidya college of engineering and technology

Sri 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 information

Chapter 6. Properties of Regular Languages

Chapter 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 information

First order logic on Galton-Watson trees

First 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 information

Formal Verification of Mobile Network Protocols

Formal 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 information

UNIT-III REGULAR LANGUAGES

UNIT-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 information

Automata Theory and Formal Grammars: Lecture 1

Automata 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 information

Chapter 4: Computation tree logic

Chapter 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 information

CS1800: Strong Induction. Professor Kevin Gold

CS1800: 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 information

P(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:

P(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 information

Automata-Theoretic LTL Model-Checking

Automata-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 information

Deterministic (DFA) There is a fixed number of states and we can only be in one state at a time

Deterministic (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 information

A physical analysis of mechanical computability. Answers

A 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 information

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

CDS 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 information

Theory of Computation

Theory 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 information

Closure under the Regular Operations

Closure 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 information

Computational Tasks and Models

Computational 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 information

Introduction to Artificial Life and Cellular Automata. Cellular Automata

Introduction 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 information

Tribhuvan University Institute of Science and Technology Micro Syllabus

Tribhuvan 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 information

FIRST 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 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 information

The State Explosion Problem

The 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 information

Deterministic Finite Automata

Deterministic 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 information

Discrete Structures, Final Exam

Discrete 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 information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. 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 information

Deterministic Finite Automata (DFAs)

Deterministic 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 information

Mathematical or Physical? A physical analysis of mechanical computability. Answers. Abstract model. Mental calculator. Conceptual Outline

Mathematical 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 information

Turing Machines. Nicholas Geis. February 5, 2015

Turing 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 information

DE BRUIJN GRAPHS AND THEIR APPLICATIONS TO FAULT TOLERANT NETWORKS

DE 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 information

Finite-State Machines (Automata) lecture 12

Finite-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 information

Closure 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 of Regular Languages Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties Recall a closure property is a statement

More information

Slides for CIS 675. Huffman Encoding, 1. Huffman Encoding, 2. Huffman Encoding, 3. Encoding 1. DPV Chapter 5, Part 2. Encoding 2

Slides 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 information

Lecture 17: Language Recognition

Lecture 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 information

Search 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. 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)

(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 information

Course Runtime Verification

Course 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 information

Finite Automata. Warren McCulloch ( ) and Walter Pitts ( )

Finite 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 information

Easy Shortcut Definitions

Easy 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 information

Finite-state Machines: Theory and Applications

Finite-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