Computer Science is Largely about Abstractions

Size: px
Start display at page:

Download "Computer Science is Largely about Abstractions"

Transcription

1 Metarouting Timothy G. Griffin João Luís Sobrinho Computer Laboratory Instituto detelecomunicações University of Cambridge Instituto Superior Técnico Cambridge, UK Lisbon, Portugal SIGCOMM ugust 23, 2005

2 Computer Science is Largely about bstractions Instances Capturing (almost) all instances Parsers Yacc Data Management SQL-based systems Systems + application code Routing Protocols Metarouting (??)

3 Why do this? No one-size-fits-all IGP GP is now a widely used IGP! Hard to define, standardize, and deploy new routing protocols (or minor modifications to existing protocols) Just standardize Metarouting language and leave it up to operator community to standardize protocols using high-level specs It s fun!

4 Idea #1 Let s try something radical -- keep these separate! Protocol = Mechanism + Policy +.??? How are routing messages exchanged and propagated? (example: Link- State, Path Vector) How are adjacencies established? How are the attributes of a route described? How does configuration attach path characteristics? How are best routes selected?

5 Idea #2 Use Routing Policy lgebras as basis for Policy Component Network Routing with Path Vector Protocols: Theory and pplications João Sobrinho. SIGCOMM 2003 (to appear in ToN Oct. 2005) m + n m n Generalize Shortest Paths λ σ λ σ

6 Routing Policy lgebras How paths are transformed by application of labels L : link labels : Σ + L Σ = (Σ, <=, L,, O ) How paths are described and compared Σ : path signatures <= is a preference relation over Σ : (complete) x, y in Σ, x <= y or y <= x (or both) (transitive) x, y, z in Σ, if x <= y and y <= z then x <= z subset of signatures that can be associated with originated routes.

7 Example --- ddition (DD) 2 1 DD(3, 6) max signature max label L Σ DD(n, m) is SM if 0 < n <= m

8 Guarantees? We want protocols that are nice! always converge, for every network state unique solution (perhaps modulo some class) no forwarding loops (after convergence)

9 Correctness Monotonicity (M): σ ε Σ/, λ ε L σ <= λ Strict Monotonicity (SM): σ ε Σ/, λ ε L σ < λ σ σ Isotonicity (I): σ,β ε Σ/, λ ε L σ <= β λ σ <= λ β SM I ssoc. vectoring Link-state with generalized Dijkstra Link-state with local vector simulation

10 n algebra for OSPF? (hand-coded from careful reading of RFC 2328) ε (1, ε, σ) (1, (1, v), σ) (1, (2, v), σ) (2, ε, σ) (2, (1, v), σ) (2, (2, v), σ) (1, λ) (1, ε, λ ε) (1, ε, λ σ) (1, (1, v), λ σ) (1, (2, v), λ σ) (2, ε, λ σ) (2, (1, v), λ σ) (2, (2, v), λ σ) (1, (1, v), λ) (1, (1, v), λ ε) (1, (2, v), λ) (1, (2, v), λ ε) (2, λ) (2, ε, λ ε) (2, ε, λ σ) (2, (1, v), λ σ) (2, (2, v), λ σ) (2, (1, v), λ) (2, (1, v), λ ε) (2, (2, v), λ) (2, (2, v), λ ε) <1, > = intra-area route <2, > = inter-area route <{1,2, λ> = normal route <{1,2, <1, v>, λ> = type I external <{1,2, <2, v>, λ> = type II external

11 Routing lgebras are a good start, but The algebraic framework does not, by itself, provide a way of constructing new and complex algebras. lgebra definition is hard Proofs are tedious Modifications to an algebra s definitions are difficult to manage

12 Idea #3 Routing lgebra Meta-Language (RML) ::= (base algebras) Op() (unary operator) Op (binary operators) bstract syntax for generating new lgebras Goals Want to automatically derive properties (M, SM, ) of the algebra represented by an RML expression from properties of base algebras and preservation properties of operators Simplicity Expressiveness

13 Lexical Product Preservation properties (σ1, σ2) (λ1, λ2) (λ1 σ1, λ2 σ2) M M M SM SM (, _) = (_, ) = M SM SM Preference is Lexical order This suggests a design pattern for SM: 1 2 i (i+1) n all M SM don t care SM

14 Point-wise application? Preservation properties (σ1, σ2) SM SM M λ1 (λ1 σ1, σ2) λ2 (σ1, λ2 σ2) SM M M M SM M M M M κ() λ σ1 λ1 σ1 κ() M M = κ() κ() κ σ1 SM M

15 Scoped Product Preservation properties (σ1, σ2) SM SM SM (λ1, σ3) (λ1 σ1, σ3) SM M M λ2 (σ1, λ2 σ2) Can be used to implement IGP/EGP-like information hiding

16 Programmatic Labels = (Σ, 8, L,,0 ) prog() = (Σ, 8, L,,0 ) λ ::= λ λ1; λ2 reject if π then λ1 else λ2 λ σ = λ σ (λ1; λ2) σ = λ1 (λ2 σ) reject σ = (if π then λ1 else λ2) σ λ1 σ if π(σ) = λ2 σ o.w. prog() M M SM SM

17 MyFirstIGP prog( distance : DD(2000, 2000) router-path: SimpleSeq(1000, 30) bandwidth: WIDTH(10000) tags: TGS(string[100])) metapolicy MyIGP { programatic { lex { attribute distance { label link-weight { mode local; default: 1 data { addition ; attribute router-path { label router-id { mode local nodal; data { Sequence IPv4; This is SM attribute bandwidth { label link-bandwidth { mode local; data { WIDTH 1000; attribute tags { data { TGS string[100];

18 Using MyIGP policy my-export { metapolicy MyIGP; if (empty(router-path)) { insert tags sales center NE GP-17 { router-id ; mechanism link-state hard-state neighbor { metapolicy MyIGP; import [set link-bandwidth OC-12; my-import]; export my-export; policy my-import { metapolicy MyIGP; if ( data center in tags) { if (bandwidth < OC-12) { set link-weight 100; else { set link-weight 10 else { set link-weight 20;

19 Metarouting Specification, n RML expression Label Modalities RP = <E, M, LM> set of mechanisms that can be bound to adjacencies

20 Ongoing, Future Work RML More operators t the protocol level Inter-operation operators Implementation Using XORP ( With Mark Handley (UCL) and others Hijack GP Routing Metaprotocol

21 Disjuntion ( Injection ) Preservation properties τ τ σ1 σ2 SM SM SM λ1 λ2 λ1 σ1 λ2 σ2 SM M M M SM M M M M ι τ(σ)

22 at the protocol level? <, M1, LM1> τ <, M2, LM2> = < τ, M1 + M2, LM1 + LM2> Not sure what + means Nice way of thinking about administrative distance Perhaps OSPF is really something like <RES, Path-Vector, LM1> <DD, Link-State, LM2>

23 Migration operators

Asynchronous Convergence of Policy-Rich Distributed Bellman-Ford Routing Protocols

Asynchronous Convergence of Policy-Rich Distributed Bellman-Ford Routing Protocols Asynchronous Convergence of Policy-Rich Distributed Bellman-Ford Routing Protocols SIGCOMM 2018 Matthew Daggitt 1 Alexander Gurney 2 Timothy Grin 1 21st of August 2018 1 University of Cambridge 2 Comcast

More information

What Have We Learned from Reverse-Engineering the Internet s Inter-domain Routing Protocol?

What Have We Learned from Reverse-Engineering the Internet s Inter-domain Routing Protocol? What Have We Learned from Reverse-Engineering the Internet s Inter-domain Routing Protocol? Timothy G. Griffin Computer Laboratory University of Cambridge, UK timothy.griffin@cl.cam.ac.uk Advanced Networks

More information

An algebraic framework for a unified view of route-vector protocols

An algebraic framework for a unified view of route-vector protocols An algebraic framework for a unified view of route-vector protocols João Luís Sobrinho Instituto Superior Técnico, Universidade de Lisboa Instituto de Telecomunicações Portugal 1 Outline 1. ontext for

More information

Lexicographic products in metarouting

Lexicographic products in metarouting Lexicographic products in metarouting Alexander J. T. Gurney Computer Laboratory University of Cambridge Email: Alexander.Gurney@cl.cam.ac.uk Timothy G. Griffin Computer Laboratory University of Cambridge

More information

Math 231E, Lecture 25. Integral Test and Estimating Sums

Math 231E, Lecture 25. Integral Test and Estimating Sums Math 23E, Lecture 25. Integral Test and Estimating Sums Integral Test The definition of determining whether the sum n= a n converges is:. Compute the partial sums s n = a k, k= 2. Check that s n is a convergent

More information

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam Compilers Lecture 3 Lexical analysis Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Big picture Source code Front End IR Back End Machine code Errors Front end responsibilities Check

More information

Turing Machines Part Three

Turing Machines Part Three Turing Machines Part Three What problems can we solve with a computer? What kind of computer? Very Important Terminology Let M be a Turing machine. M accepts a string w if it enters an accept state when

More information

Absorbing Lexicographic Products in Metarouting

Absorbing Lexicographic Products in Metarouting Absorbing Lexicographic Products in Metarouting Eric Parsonage, Hung X. Nguyen, Matthew Roughan University of Adelaide, Australia {eric.parsonage,hung.nguyen,matthew.roughan}@adelaide.edu.au Abstract Modern

More information

Introduction to Kleene Algebras

Introduction to Kleene Algebras Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)

More information

L11: Algebraic Path Problems with applications to Internet Routing Lecture 9

L11: Algebraic Path Problems with applications to Internet Routing Lecture 9 L11: Algebraic Path Problems with applications to Internet Routing Lecture 9 Timothy G. Griffin timothy.griffin@cl.cam.ac.uk Computer Laboratory University of Cambridge, UK Michaelmas Term, 2017 tgg22

More information

Computability Crib Sheet

Computability Crib Sheet Computer Science and Engineering, UCSD Winter 10 CSE 200: Computability and Complexity Instructor: Mihir Bellare Computability Crib Sheet January 3, 2010 Computability Crib Sheet This is a quick reference

More information

Reductions in Computability Theory

Reductions in Computability Theory Reductions in Computability Theory Prakash Panangaden 9 th November 2015 The concept of reduction is central to computability and complexity theory. The phrase P reduces to Q is often used in a confusing

More information

cs/ee/ids 143 Communication Networks

cs/ee/ids 143 Communication Networks cs/ee/ids 143 Communication Networks Chapter 5 Routing Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech Warning These notes are not self-contained, probably not understandable, unless you also

More information

FFTs in Graphics and Vision. Groups and Representations

FFTs in Graphics and Vision. Groups and Representations FFTs in Graphics and Vision Groups and Representations Outline Groups Representations Schur s Lemma Correlation Groups A group is a set of elements G with a binary operation (often denoted ) such that

More information

A non-turing-recognizable language

A non-turing-recognizable language CS 360: Introduction to the Theory of Computing John Watrous, University of Waterloo A non-turing-recognizable language 1 OVERVIEW Thus far in the course we have seen many examples of decidable languages

More information

Turing Machines Part III

Turing Machines Part III Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's

More information

Compiler Construction Lent Term 2015 Lectures (of 16)

Compiler Construction Lent Term 2015 Lectures (of 16) Compiler Construction Lent Term 2015 Lectures 13 --- 16 (of 16) 1. Return to lexical analysis : application of Theory of Regular Languages and Finite Automata 2. Generating Recursive descent parsers 3.

More information

CFLs and Regular Languages. CFLs and Regular Languages. CFLs and Regular Languages. Will show that all Regular Languages are CFLs. Union.

CFLs and Regular Languages. CFLs and Regular Languages. CFLs and Regular Languages. Will show that all Regular Languages are CFLs. Union. We can show that every RL is also a CFL Since a regular grammar is certainly context free. We can also show by only using Regular Expressions and Context Free Grammars That is what we will do in this half.

More information

Proving languages to be nonregular

Proving languages to be nonregular Proving languages to be nonregular We already know that there exist languages A Σ that are nonregular, for any choice of an alphabet Σ. This is because there are uncountably many languages in total and

More information

Compiler Construction Lent Term 2015 Lectures (of 16)

Compiler Construction Lent Term 2015 Lectures (of 16) Compiler Construction Lent Term 2015 Lectures 13 --- 16 (of 16) 1. Return to lexical analysis : application of Theory of Regular Languages and Finite Automata 2. Generating Recursive descent parsers 3.

More information

Interactive protocols & zero-knowledge

Interactive protocols & zero-knowledge Interactive protocols & zero-knowledge - interactive protocols formalize what can be recognized by polynomial time restricted verifiers in arbitrary protocols - generalizes NP - zero-knowledge formalizes

More information

Lecture Notes: The Halting Problem; Reductions

Lecture Notes: The Halting Problem; Reductions Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings

More information

Topics in Computer Mathematics

Topics in Computer Mathematics Random Number Generation (Uniform random numbers) Introduction We frequently need some way to generate numbers that are random (by some criteria), especially in computer science. Simulations of natural

More information

One Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC. MSR 3.0:

One Year Later. Iliano Cervesato. ITT Industries, NRL Washington, DC.  MSR 3.0: MSR 3.0: The Logical Meeting Point of Multiset Rewriting and Process Algebra MSR 3: Iliano Cervesato iliano@itd.nrl.navy.mil One Year Later ITT Industries, inc @ NRL Washington, DC http://www.cs.stanford.edu/~iliano

More information

Maximizable Routing Metrics

Maximizable Routing Metrics Maximizable Routing Metrics Mohamed G. Gouda Department of Computer Sciences The University of Texas at Austin Austin, Texas 78712-1188, USA gouda@cs.utexas.edu Marco Schneider SBC Technology Resources

More information

Limitations of OCAML records

Limitations of OCAML records Limitations of OCAML records The record types must be declared before they are used; a label e can belong to only one record type (otherwise fun x x.e) would have several incompatible types; we cannot

More information

A Weak Bisimulation for Weighted Automata

A Weak Bisimulation for Weighted Automata Weak Bisimulation for Weighted utomata Peter Kemper College of William and Mary Weighted utomata and Semirings here focus on commutative & idempotent semirings Weak Bisimulation Composition operators Congruence

More information

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018 CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts

More information

Nondeterministic finite automata

Nondeterministic finite automata Lecture 3 Nondeterministic finite automata This lecture is focused on the nondeterministic finite automata (NFA) model and its relationship to the DFA model. Nondeterminism is an important concept in the

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction to Turing Machines. Reading: Chapters 8 & 9 Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages

More information

False. They are the same language.

False. They are the same language. CS 3100 Models of Computation Fall 2010 Notes 8, Posted online: September 16, 2010 These problems will be helpful for Midterm-1. More solutions will be worked out. The midterm exam itself won t be this

More information

Lecture 20: conp and Friends, Oracles in Complexity Theory

Lecture 20: conp and Friends, Oracles in Complexity Theory 6.045 Lecture 20: conp and Friends, Oracles in Complexity Theory 1 Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode:

More information

1 Cryptographic hash functions

1 Cryptographic hash functions CSCI 5440: Cryptography Lecture 6 The Chinese University of Hong Kong 24 October 2012 1 Cryptographic hash functions Last time we saw a construction of message authentication codes (MACs) for fixed-length

More information

Introduction to Computers & Programming

Introduction to Computers & Programming 16.070 Introduction to Computers & Programming Theory of computation: What is a computer? FSM, Automata Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Models of Computation What is a computer? If you

More information

Rules and derivations in an elementary logic course arxiv: v1 [cs.lo] 7 Jan 2016

Rules and derivations in an elementary logic course arxiv: v1 [cs.lo] 7 Jan 2016 Rules and derivations in an elementary logic course arxiv:160101483v1 [cslo] 7 Jan 2016 Gilles Dowek Inria, 23 avenue d Italie, CS 81321, 75214 Paris Cedex 13, France gillesdowek@inriafr When teaching

More information

Surface Reasoning Lecture 2: Logic and Grammar

Surface Reasoning Lecture 2: Logic and Grammar Surface Reasoning Lecture 2: Logic and Grammar Thomas Icard June 18-22, 2012 Thomas Icard: Surface Reasoning, Lecture 2: Logic and Grammar 1 Categorial Grammar Combinatory Categorial Grammar Lambek Calculus

More information

Feature selection. Micha Elsner. January 29, 2014

Feature selection. Micha Elsner. January 29, 2014 Feature selection Micha Elsner January 29, 2014 2 Using megam as max-ent learner Hal Daume III from UMD wrote a max-ent learner Pretty typical of many classifiers out there... Step one: create a text file

More information

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October 21, 2002 ee249

More information

Privacy of Numeric Queries Via Simple Value Perturbation. The Laplace Mechanism

Privacy of Numeric Queries Via Simple Value Perturbation. The Laplace Mechanism Privacy of Numeric Queries Via Simple Value Perturbation The Laplace Mechanism Differential Privacy A Basic Model Let X represent an abstract data universe and D be a multi-set of elements from X. i.e.

More information

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Presented by Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October

More information

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages COMP/MATH 300 Topics for Spring 2017 June 5, 2017 Review and Regular Languages Exam I I. Introductory and review information from Chapter 0 II. Problems and Languages A. Computable problems can be expressed

More information

(work to be done!) Ronnie Brown () Higher Structures Lisbon July 24-27, 2017 Instituto Superior Técnico, Lisbon Homotopical 1 / 19

(work to be done!) Ronnie Brown () Higher Structures Lisbon July 24-27, 2017 Instituto Superior Técnico, Lisbon Homotopical 1 / 19 Higher Structures Lisbon July 24-27, 2017 Instituto Superior Técnico, Lisbon Homotopical Excision: (work to be done!) Ronnie Brown Higher Structures Lisbon July 24-27, 2017 Instituto Superior Técnico,

More information

CMSC 858F: Algorithmic Game Theory Fall 2010 BGP and Interdomain Routing

CMSC 858F: Algorithmic Game Theory Fall 2010 BGP and Interdomain Routing CMSC 858F: Algorithmic Game Theory Fall 2010 BGP an Interomain Routing Instructor: Mohamma T. Hajiaghayi Scribe: Yuk Hei Chan November 3, 2010 1 Overview In this lecture, we cover BGP (Borer Gateway Protocol)

More information

b. N/kerF = { {x x is an even number}, {x x is an odd number} } This will be the carrier set of the algebra.

b. N/kerF = { {x x is an even number}, {x x is an odd number} } This will be the carrier set of the algebra. 1. a. The homomorphism from N to Parity will map all even numbers (including 0) to even, and all odd numbers to odd. The kernel equivalence relation will therefore consist of all pairs of natural numbers

More information

Classes of Boolean Functions

Classes of Boolean Functions Classes of Boolean Functions Nader H. Bshouty Eyal Kushilevitz Abstract Here we give classes of Boolean functions that considered in COLT. Classes of Functions Here we introduce the basic classes of functions

More information

Relations on Hypergraphs

Relations on Hypergraphs Relations on Hypergraphs John Stell School of Computing, University of Leeds RAMiCS 13 Cambridge, 17th September 2012 Relations on a Set Boolean algebra Converse R = R Complement R = R Composition & residuation

More information

Lab 2 Worksheet. Problems. Problem 1: Geometry and Linear Equations

Lab 2 Worksheet. Problems. Problem 1: Geometry and Linear Equations Lab 2 Worksheet Problems Problem : Geometry and Linear Equations Linear algebra is, first and foremost, the study of systems of linear equations. You are going to encounter linear systems frequently in

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

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types

More information

Unary negation: T F F T

Unary negation: T F F T Unary negation: ϕ 1 ϕ 1 T F F T Binary (inclusive) or: ϕ 1 ϕ 2 (ϕ 1 ϕ 2 ) T T T T F T F T T F F F Binary (exclusive) or: ϕ 1 ϕ 2 (ϕ 1 ϕ 2 ) T T F T F T F T T F F F Classical (material) conditional: ϕ 1

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 10 February 19, 2013 CPSC 467b, Lecture 10 1/45 Primality Tests Strong primality tests Weak tests of compositeness Reformulation

More information

1 Cryptographic hash functions

1 Cryptographic hash functions CSCI 5440: Cryptography Lecture 6 The Chinese University of Hong Kong 23 February 2011 1 Cryptographic hash functions Last time we saw a construction of message authentication codes (MACs) for fixed-length

More information

CSE 322, Fall 2010 Nonregular Languages

CSE 322, Fall 2010 Nonregular Languages Cardinality CSE 322, Fall 2010 Nonregular Languages Two sets have equal cardinality if there is a bijection ( 1-to-1 and onto function) between them A set is countable if it is finite or has the same cardinality

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

6.302 Feedback Systems Recitation 16: Compensation Prof. Joel L. Dawson

6.302 Feedback Systems Recitation 16: Compensation Prof. Joel L. Dawson Bode Obstacle Course is one technique for doing compensation, or designing a feedback system to make the closed-loop behavior what we want it to be. To review: - G c (s) G(s) H(s) you are here! plant For

More information

PRACTICE AP SECTION II, PART A. Time 1 hour and 15 minutes Part A: 30 minutes, 2 problems Part B: 45 minutes, 3 problems

PRACTICE AP SECTION II, PART A. Time 1 hour and 15 minutes Part A: 30 minutes, 2 problems Part B: 45 minutes, 3 problems HW: Page 129 #1,3,4,5,6,8,10,12,19 DO NOW: Questions from HW? Page 111 #68 PRACTICE AP SECTION II, PART A Time 1 hour and 15 minutes Part A: 30 minutes, 2 problems Part B: 45 minutes, 3 problems PART A

More information

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007 Lecture 1 Introduction 1 Introduction 1.1 The Problem Domain Today, we are going to ask whether a system can recover from perturbation. Consider a children s top: If it is perfectly vertically, you can

More information

1 Maintaining a Dictionary

1 Maintaining a Dictionary 15-451/651: Design & Analysis of Algorithms February 1, 2016 Lecture #7: Hashing last changed: January 29, 2016 Hashing is a great practical tool, with an interesting and subtle theory too. In addition

More information

Compiler Construction Lectures 13 16

Compiler Construction Lectures 13 16 Compiler Construction Lectures 13 16 Lent Term, 2013 Lecturer: Timothy G. Griffin 1 Generating Lexical Analyzers Source Program Lexical Analyzer tokens Parser Lexical specification Scanner Generator LEX

More information

Interactive protocols & zero-knowledge

Interactive protocols & zero-knowledge Interactive protocols & zero-knowledge - interactive protocols formalize what can be recognized by polynomial time restricted verifiers in arbitrary protocols - generalizes NP - zero-knowledge formalizes

More information

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures CS 6110 S18 Lecture 21 Products, Sums, and Other Datatypes 1 Introduction In this lecture, we add constructs to the typed λ-calculus that allow working with more complicated data structures, such as pairs,

More information

Tasks of lexer. CISC 5920: Compiler Construction Chapter 2 Lexical Analysis. Tokens and lexemes. Buffering

Tasks of lexer. CISC 5920: Compiler Construction Chapter 2 Lexical Analysis. Tokens and lexemes. Buffering Tasks of lexer CISC 5920: Compiler Construction Chapter 2 Lexical Analysis Arthur G. Werschulz Fordham University Department of Computer and Information Sciences Copyright Arthur G. Werschulz, 2017. All

More information

Structure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts

Structure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts Introduction 3 Background functionals factor out common behaviour map applies a function to every element of a list fun map [ ] = [ ] map f ( x : : xs ) = f x : : map f xs filter keeps only those elements

More information

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Lecture 02 Groups: Subgroups and homomorphism (Refer Slide Time: 00:13) We looked

More information

ClC (X ) : X ω X } C. (11)

ClC (X ) : X ω X } C. (11) With each closed-set system we associate a closure operation. Definition 1.20. Let A, C be a closed-set system. Define Cl C : : P(A) P(A) as follows. For every X A, Cl C (X) = { C C : X C }. Cl C (X) is

More information

Prove that if not fat and not triangle necessarily means not green then green must be fat or triangle (or both).

Prove that if not fat and not triangle necessarily means not green then green must be fat or triangle (or both). hapter : oolean lgebra.) Definition of oolean lgebra The oolean algebra is named after George ool who developed this algebra (854) in order to analyze logical problems. n example to such problem is: Prove

More information

Congestion Control. Need to understand: What is congestion? How do we prevent or manage it?

Congestion Control. Need to understand: What is congestion? How do we prevent or manage it? Congestion Control Phenomenon: when too much traffic enters into system, performance degrades excessive traffic can cause congestion Problem: regulate traffic influx such that congestion does not occur

More information

CMPUT651: Differential Privacy

CMPUT651: Differential Privacy CMPUT65: Differential Privacy Homework assignment # 2 Due date: Apr. 3rd, 208 Discussion and the exchange of ideas are essential to doing academic work. For assignments in this course, you are encouraged

More information

We introduce one more operation on sets, perhaps the most important

We introduce one more operation on sets, perhaps the most important 11. The power set Please accept my resignation. I don t want to belong to any club that will accept me as a member. Groucho Marx We introduce one more operation on sets, perhaps the most important one:

More information

CMPSCI 250: Introduction to Computation. Lecture #23: Finishing Kleene s Theorem David Mix Barrington 25 April 2013

CMPSCI 250: Introduction to Computation. Lecture #23: Finishing Kleene s Theorem David Mix Barrington 25 April 2013 CMPSCI 250: Introduction to Computation Lecture #23: Finishing Kleene s Theorem David Mix Barrington 25 April 2013 Finishing Kleene s Theorem A Normal Form for λ-nfa s Building λ-nfa s by Induction Why

More information

CS481F01 Solutions 6 PDAS

CS481F01 Solutions 6 PDAS CS481F01 Solutions 6 PDAS A. Demers 2 November 2001 1. Give a NPDAs that recognize the following languages: (a) The set of all strings in {0, 1} that contain twice as many 1s as 0s. (answer a) We build

More information

Computational complexity

Computational complexity COMS11700 Computational complexity Department of Computer Science, University of Bristol Bristol, UK 2 May 2014 COMS11700: Computational complexity Slide 1/23 Introduction If we can prove that a language

More information

Rotational Motion. Figure 1: Torsional harmonic oscillator. The locations of the rotor and fiber are indicated.

Rotational Motion. Figure 1: Torsional harmonic oscillator. The locations of the rotor and fiber are indicated. Rotational Motion 1 Purpose The main purpose of this laboratory is to familiarize you with the use of the Torsional Harmonic Oscillator (THO) that will be the subject of the final lab of the course on

More information

Canonical Forms Some questions to be explored by high school investigators William J. Martin, WPI

Canonical Forms Some questions to be explored by high school investigators William J. Martin, WPI MME 529 June 2017 Canonical Forms Some questions to be explored by high school investigators William J. Martin, WPI Here are some exercises based on various ideas of canonical form in mathematics. Perhaps

More information

The Bianchi Identity in Path Space

The Bianchi Identity in Path Space The Bianchi Identity in Path Space Matt Noonan January 15, 2007 this is a test. Abstract 1 Two Geometric Problems Throughout this paper, we will be interested in local problems; therefore, we will take

More information

34.1 Polynomial time. Abstract problems

34.1 Polynomial time. Abstract problems < Day Day Up > 34.1 Polynomial time We begin our study of NP-completeness by formalizing our notion of polynomial-time solvable problems. These problems are generally regarded as tractable, but for philosophical,

More information

Pr[X = s Y = t] = Pr[X = s] Pr[Y = t]

Pr[X = s Y = t] = Pr[X = s] Pr[Y = t] Homework 4 By: John Steinberger Problem 1. Recall that a real n n matrix A is positive semidefinite if A is symmetric and x T Ax 0 for all x R n. Assume A is a real n n matrix. Show TFAE 1 : (a) A is positive

More information

Algebra and Algorithms for QoS Path Computation and Hop-by-Hop Routing in the Internet

Algebra and Algorithms for QoS Path Computation and Hop-by-Hop Routing in the Internet Algebra and Algorithms for QoS Path Computation and Hop-by-Hop Routing in the Internet João Luís Sobrinho Instituto de Telecomunicações, Instituto Superior Técnico Torre Norte, Av. Rovisco Pais 1 1049-001

More information

MATH 433 Applied Algebra Lecture 14: Functions. Relations.

MATH 433 Applied Algebra Lecture 14: Functions. Relations. MATH 433 Applied Algebra Lecture 14: Functions. Relations. Cartesian product Definition. The Cartesian product X Y of two sets X and Y is the set of all ordered pairs (x,y) such that x X and y Y. The Cartesian

More information

Building Algebraic Structures with Combinators

Building Algebraic Structures with Combinators Building Algebraic Structures with Combinators Vilius Naudžiūnas Timothy G. Griffin Vilius.Naudziunas@cl.cam.ac.uk timothy.griffin@cl.cam.ac.uk Computer Laboratory University of Cambridge, UK Model-Based

More information

Lecture 3: Reductions and Completeness

Lecture 3: Reductions and Completeness CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic

More information

Lexical Analysis: DFA Minimization & Wrap Up

Lexical Analysis: DFA Minimization & Wrap Up Lexical Analysis: DFA Minimization & Wrap Up Automating Scanner Construction PREVIOUSLY RE NFA (Thompson s construction) Build an NFA for each term Combine them with -moves NFA DFA (subset construction)

More information

Notes on ordinals and cardinals

Notes on ordinals and cardinals Notes on ordinals and cardinals Reed Solomon 1 Background Terminology We will use the following notation for the common number systems: N = {0, 1, 2,...} = the natural numbers Z = {..., 2, 1, 0, 1, 2,...}

More information

for some n i (possibly infinite).

for some n i (possibly infinite). Homology with coefficients: The chain complexes that we have dealt with so far have had elements which are Z-linear combinations of basis elements (which are themselves singular simplices or equivalence

More information

Lecture 5: Clustering, Linear Regression

Lecture 5: Clustering, Linear Regression Lecture 5: Clustering, Linear Regression Reading: Chapter 10, Sections 3.1-3.2 STATS 202: Data mining and analysis October 4, 2017 1 / 22 .0.0 5 5 1.0 7 5 X2 X2 7 1.5 1.0 0.5 3 1 2 Hierarchical clustering

More information

6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch

6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch 6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch Today Probabilistic Turing Machines and Probabilistic Time Complexity Classes Now add a new capability to standard TMs: random

More information

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11.

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11. Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 1 Overview We ll develop proof rules, such as: { I b } S { I } { I } while b do S end { I b } That allow us to verify

More information

The tensor product of commutative monoids

The tensor product of commutative monoids The tensor product of commutative monoids We work throughout in the category Cmd of commutative monoids. In other words, all the monoids we meet are commutative, and consequently we say monoid in place

More information

NOTES FOR 197, SPRING 2018

NOTES FOR 197, SPRING 2018 NOTES FOR 197, SPRING 2018 We work in ZFDC, Zermelo-Frankel Theory with Dependent Choices, whose axioms are Zermelo s I - VII, the Replacement Axiom VIII and the axiom DC of dependent choices; when we

More information

A* Search. 1 Dijkstra Shortest Path

A* Search. 1 Dijkstra Shortest Path A* Search Consider the eight puzzle. There are eight tiles numbered 1 through 8 on a 3 by three grid with nine locations so that one location is left empty. We can move by sliding a tile adjacent to the

More information

Ambiguity, Precedence, Associativity & Top-Down Parsing. Lecture 9-10

Ambiguity, Precedence, Associativity & Top-Down Parsing. Lecture 9-10 Ambiguity, Precedence, Associativity & Top-Down Parsing Lecture 9-10 (From slides by G. Necula & R. Bodik) 2/13/2008 Prof. Hilfinger CS164 Lecture 9 1 Administrivia Team assignments this evening for all

More information

Designing Information Devices and Systems I Fall 2018 Lecture Notes Note Positioning Sytems: Trilateration and Correlation

Designing Information Devices and Systems I Fall 2018 Lecture Notes Note Positioning Sytems: Trilateration and Correlation EECS 6A Designing Information Devices and Systems I Fall 08 Lecture Notes Note. Positioning Sytems: Trilateration and Correlation In this note, we ll introduce two concepts that are critical in our positioning

More information

L11: Algebraic Path Problems with applications to Internet Routing Lectures 7 and 8

L11: Algebraic Path Problems with applications to Internet Routing Lectures 7 and 8 L: Algebraic Path Problems with applications to Internet Routing Lectures 7 and 8 Timothy G. Grifn timothy.grifn@cl.cam.ac.uk Computer Laboratory University of Cambridge, UK Michaelmas Term, 27 tgg22 (cl.cam.ac.uk)

More information

Constant Space and Non-Constant Time in Distributed Computing

Constant Space and Non-Constant Time in Distributed Computing Constant Space and Non-Constant Time in Distributed Computing Tuomo Lempiäinen and Jukka Suomela Aalto University, Finland OPODIS 20th December 2017 Lisbon, Portugal 1 / 19 Time complexity versus space

More information

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) September,

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever.  ETH Zürich (D-ITET) September, Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) September, 24 2015 Last week was all about Deterministic Finite Automaton We saw three main

More information

CSCE 551 Final Exam, Spring 2004 Answer Key

CSCE 551 Final Exam, Spring 2004 Answer Key CSCE 551 Final Exam, Spring 2004 Answer Key 1. (10 points) Using any method you like (including intuition), give the unique minimal DFA equivalent to the following NFA: 0 1 2 0 5 1 3 4 If your answer is

More information

Designing Information Devices and Systems I Spring 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way

Designing Information Devices and Systems I Spring 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way EECS 16A Designing Information Devices and Systems I Spring 018 Lecture Notes Note 1 1.1 Introduction to Linear Algebra the EECS Way In this note, we will teach the basics of linear algebra and relate

More information

Lexical Analysis Part II: Constructing a Scanner from Regular Expressions

Lexical Analysis Part II: Constructing a Scanner from Regular Expressions Lexical Analysis Part II: Constructing a Scanner from Regular Expressions CS434 Spring 2005 Department of Computer Science University of Alabama Joel Jones Copyright 2003, Keith D. Cooper, Ken Kennedy

More information

Group Isomorphisms - Some Intuition

Group Isomorphisms - Some Intuition Group Isomorphisms - Some Intuition The idea of an isomorphism is central to algebra. It s our version of equality - two objects are considered isomorphic if they are essentially the same. Before studying

More information

6.001 Recitation 22: Streams

6.001 Recitation 22: Streams 6.001 Recitation 22: Streams RI: Gerald Dalley, dalleyg@mit.edu, 4 May 2007 http://people.csail.mit.edu/dalleyg/6.001/sp2007/ The three chief virtues of a programmer are: Laziness, Impatience and Hubris

More information