Mini models EECS /74

Size: px
Start display at page:

Download "Mini models EECS /74"

Transcription

1 1/74 Mini models EECS

2 Mini source: Keld Gydum 2/74

3 Mini 3/74 source: Mike Bird

4 Model 4/74

5 Mini model 5/74

6 Hello World! 6/74 public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World"); } } getstatic ldc invokevirtual return

7 Hello World! 7/74

8 Hello World! 8/74 target=helloworld classpath=. listener=gov.nasa.jpf.listener.statespacedot vm.max_transition_length=1

9 Hello World! 9/74 ====================================================== stat choice generators: thread=35 (signal=0,lock=1,sharedref=0,t ====================================================== sear elapsed time: 00:00:02 states: new=35,visited=0,backtracked=35,end=1 search: maxdepth=35,constraints=0 heap: new=348,released=11,maxlive=331,gccycles= instructions: 3198 max memory: 61MB loaded code: classes=56,methods=1220

10 Hello World! 10/74

11 One choice 11/74 Random random = new Random(); if (random.nextboolean()) { System.out.println("1"); } else { System.out.println("2"); }

12 One choice 12/74 target=onechoice classpath=. cg.enumerate_random=true listener=gov.nasa.jpf.listener.statespacedot

13 One choice 13/74

14 One choice 14/74 target=onechoice classpath=. cg.enumerate_random=true listener=gov.nasa.jpf.listener.statespacedot vm.max_transition_length=1

15 One choice 15/74

16 Two choices 16/74 Random random = new Random(); if (random.nextboolean()) { if (random.nextboolean()) { System.out.println("1"); } else { System.out.println("2"); } } else { if (random.nextboolean()) { System.out.println("3"); } else { System.out.println("4"); } }

17 Two choices 17/74 target=twochoices classpath=. cg.enumerate_random=true listener=gov.nasa.jpf.listener.statespacedot

18 Two choices 18/74

19 Two choices 19/74 target=twochoices classpath=. cg.enumerate_random=true listener=gov.nasa.jpf.listener.statespacedot vm.max_transition_length=1

20 Two choices 20/74

21 Many choices 21/74 Random random = new Random(); byte value = 0; while (random.nextboolean()) { value++; } System.out.println(value);

22 Many choices 22/74 How many different executions does the app ManyChoices

23 Many choices 22/74 How many different executions does the app ManyChoices Answer Infinitely many.

24 Many choices 22/74 How many different executions does the app ManyChoices Answer Infinitely many. How many different states does JPF encounter?

25 Many choices 22/74 How many different executions does the app ManyChoices Answer Infinitely many. How many different states does JPF encounter? Answer 257.

26 Not so many choices 23/74 Random random = new Random(); byte value = 0; while (random.nextboolean()) { value = (byte) ((value + 1) % 5); } System.out.println(value);

27 Many choices 24/74 How many different executions does the app ManyChoices

28 Many choices 24/74 How many different executions does the app ManyChoices Answer Infinitely many.

29 Many choices 24/74 How many different executions does the app ManyChoices Answer Infinitely many. How many different states does JPF encounter?

30 Many choices 24/74 How many different executions does the app ManyChoices Answer Infinitely many. How many different states does JPF encounter? Answer 6.

31 Not so many choices 25/74 target=notsomanychoices classpath=. cg.enumerate_random=true listener=gov.nasa.jpf.listener.statespacedot

32 Not so many choices 26/74 ====================================================== sear

33 Not so many choices 27/74

34 Not so many choices 28/74 target=nosomanychoices classpath=. cg.enumerate_random=true listener=gov.nasa.jpf.listener.statespacedot vm.max_transition_length=1

35 Not so many choices 29/74

36 Not so many choices /74

37 Not so many choices /74

38 Not so many choices /74

39 Not so many choices /74

40 Not so many choices /74

41 Not so many choices /74

42 Not so many choices /74

43 Not so many choices /74

44 Not so many choices /74

45 Not so many choices /74

46 Not so many choices /74

47 Not so many choices /74

48 Not so many choices /74

49 Not so many choices /74

50 Not so many choices /74

51 Not so many choices /74

52 Not so many choices /74

53 Not so many choices 47/74 Does this remind you of an algorithm you have seen in the course EECS 2011 Fundamentals of Data Structures and EECS 3101 Design and Analysis of Algorithms?

54 Not so many choices 47/74 Does this remind you of an algorithm you have seen in the course EECS 2011 Fundamentals of Data Structures and EECS 3101 Design and Analysis of Algorithms? Answer Depth-first search of a directed graph.

55 Not so many choices 47/74 Does this remind you of an algorithm you have seen in the course EECS 2011 Fundamentals of Data Structures and EECS 3101 Design and Analysis of Algorithms? Answer Depth-first search of a directed graph. A labelled transition system is similar to a directed graph. state vertex transition edge

56 Depth-first search 48/74 Why do we have to keep track of the vertices that have been visited in depth-first search?

57 Depth-first search 48/74 Why do we have to keep track of the vertices that have been visited in depth-first search? Answer To ensure that the traversal terminates.

58 Depth-first search 48/74 Why do we have to keep track of the vertices that have been visited in depth-first search? Answer To ensure that the traversal terminates. Similarly, when model checking we need to keep track of the states that have already been visited.

59 Exercise 49/74 Write a recursive method that for a given depth d chooses an integer in the range 1 2 d uniformly at random using random.nextboolean. Hint: provide the method with an additional parameter

60 Number of states 50/74 target=choice target.args=2 classpath=.

61 Number of states 51/74 d number of states , ,048,610

62 Number of states 51/74 d number of states , ,048,610 Can you express the number of states in terms of d?

63 Number of states 51/74 d number of states , ,048,610 Can you express the number of states in terms of d? Answer 2 d + 34.

64 Model 52/74 a b a b c a e b a a b c a d b a a b

65 Mini model 53/74 abab cadbaab caebaab

66 What do the model and the mini model in common? 54/74

67 54/74 What do the model and the mini model in common? Answer The initial state. The final states. The branching structure. The language: (finite and infinite) sequences of actions. a a Similar to the language accepted by a finite automaton, as discussed in EECS 2001 Introduction to Theory of Computation.

68 Model 55/74 a b c 3 e 5 d 4 f

69 Model 55/74 a b c 3 e 5 d 4 f Which is the initial state?

70 Model 55/74 a b c 3 e 5 d 4 f Which is the initial state? Answer State 0.

71 Model 56/74 a b c 3 e 5 d 4 f Which are the final states?

72 Model 56/74 a b c 3 e 5 d 4 f Which are the final states? Answer State 5.

73 Model 57/74 a b c 3 e 5 d 4 f Which are the branching states?

74 Model 57/74 a b c 3 e 5 d 4 f Which are the branching states? Answer State 2.

75 Model 58/74 a b c 3 e 5 d 4 f What is the language?

76 Model 58/74 a b c 3 e 5 d 4 f What is the language? Answer {abce, abdf }.

77 Mini model 59/74 What is the corresponding mini model?

78 Mini model 59/74 What is the corresponding mini model? ab ce df

79 Model 60/74 c a b

80 Model 60/74 c a b Which is the initial state?

81 Model 60/74 c a b Which is the initial state? Answer State 0.

82 Model 61/74 c a b Which are the final states?

83 Model 61/74 c a b Which are the final states? Answer There are none.

84 Model 62/74 c a b Which are the branching states?

85 Model 62/74 c a b Which are the branching states? Answer There are none.

86 Model 63/74 c a b What is the language?

87 Model 63/74 c a b What is the language? Answer {abcabcabc...}.

88 Mini model 64/74 What is the corresponding mini model?

89 Mini model 64/74 What is the corresponding mini model? abc 0

90 Model 65/74 c a b d 3 e 4

91 Model 65/74 c a b d 3 e 4 Which is the initial state?

92 Model 65/74 c a b d 3 e 4 Which is the initial state? Answer State 0.

93 Model 66/74 c a b d 3 e 4 Which are the final states?

94 Model 66/74 c a b d 3 e 4 Which are the final states? Answer State 4.

95 Model 67/74 c a b d 3 e 4 Which are the branching states?

96 Model 67/74 c a b d 3 e 4 Which are the branching states? Answer State 0.

97 Model 68/74 c a b d 3 e 4 What is the language?

98 Model 68/74 c a b d 3 e 4 What is the language? Answer {de, abcde, abcabcde,..., abcabcabc...}.

99 Mini model 69/74 What is the corresponding mini model?

100 Mini model 69/74 What is the corresponding mini model? abc 0 de 4

101 Model 70/74 e a b c d 3 4

102 Model 70/74 e a b c d 3 4 Which is the initial state?

103 Model 70/74 e a b c d 3 4 Which is the initial state? Answer State 0.

104 Model 71/74 e a b c d 3 4 Which are the final states?

105 Model 71/74 e a b c d 3 4 Which are the final states? Answer State 4.

106 Model 72/74 e a b c d 3 4 Which are the branching states?

107 Model 72/74 e a b c d 3 4 Which are the branching states? Answer State 2.

108 Model 73/74 e a b c d 3 4 What is the language?

109 Model 73/74 e a b c d 3 4 What is the language? Answer {abd, abcebd, abcebcebd,..., abcebcebce...}.

110 Mini model 74/74 What is the corresponding mini model?

111 Mini model 74/74 What is the corresponding mini model? ceb ab 0 2 d 4

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

DNHI Homework 2 Solutions Recursion

DNHI Homework 2 Solutions Recursion Solutions Recursion Problem 1 Part A Write an iterative method that computes a value of x n for a positive integer n and a real number x. The return value of -1 indicates an error condition. 1 public static

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Finite State Machines 2

Finite State Machines 2 Finite State Machines 2 Joseph Spring School of Computer Science 1COM0044 Foundations of Computation 1 Discussion Points In the last lecture we looked at: 1. Abstract Machines 2. Finite State Machines

More information

COSE312: Compilers. Lecture 17 Intermediate Representation (2)

COSE312: Compilers. Lecture 17 Intermediate Representation (2) COSE312: Compilers Lecture 17 Intermediate Representation (2) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 17 May 31, 2017 1 / 19 Common Intermediate Representations Three-address code

More information

Mohammad Farshi Department of Computer Science Yazd University. Computer Science Theory. (Master Course) Yazd Univ.

Mohammad Farshi Department of Computer Science Yazd University. Computer Science Theory. (Master Course) Yazd Univ. Computer Science Theory (Master Course) and and Mohammad Farshi Department of Computer Science Yazd University 1395-1 1 / 29 Computability theory is based on a specific programming language L. Assumptions

More information

Register machines L2 18

Register machines L2 18 Register machines L2 18 Algorithms, informally L2 19 No precise definition of algorithm at the time Hilbert posed the Entscheidungsproblem, just examples. Common features of the examples: finite description

More information

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Nozha Directorate of Education Form : 2 nd Prep. Nozha Language Schools Ismailia Road Branch

Nozha Directorate of Education Form : 2 nd Prep. Nozha Language Schools Ismailia Road Branch Cairo Governorate Department : Maths Nozha Directorate of Education Form : 2 nd Prep. Nozha Language Schools Sheet Ismailia Road Branch Sheet ( 1) 1-Complete 1. in the parallelogram, each two opposite

More information

Chapter 5. Finite Automata

Chapter 5. Finite Automata Chapter 5 Finite Automata 5.1 Finite State Automata Capable of recognizing numerous symbol patterns, the class of regular languages Suitable for pattern-recognition type applications, such as the lexical

More information

Algebra 1. Predicting Patterns & Examining Experiments. Unit 5: Changing on a Plane Section 4: Try Without Angles

Algebra 1. Predicting Patterns & Examining Experiments. Unit 5: Changing on a Plane Section 4: Try Without Angles Section 4 Examines triangles in the coordinate plane, we will mention slope, but not angles (we will visit angles in Unit 6). Students will need to know the definition of collinear, isosceles, and congruent...

More information

Random Walks on graphs

Random Walks on graphs November 2007 UW Probability Seminar 1 Random Walks on graphs Random walk on G: Simple to analyze: satisfying some natural properties Mixes quickly to stationary distribution. efficient sampling of the

More information

Models of Computation. by Costas Busch, LSU

Models of Computation. by Costas Busch, LSU Models of Computation by Costas Busch, LSU 1 Computation CPU memory 2 temporary memory input memory CPU output memory Program memory 3 Example: f ( x) x 3 temporary memory input memory Program memory compute

More information

Data Structures in Java

Data Structures in Java Data Structures in Java Lecture 21: Introduction to NP-Completeness 12/9/2015 Daniel Bauer Algorithms and Problem Solving Purpose of algorithms: find solutions to problems. Data Structures provide ways

More information

Chapter 4 Number Representations

Chapter 4 Number Representations Chapter 4 Number Representations SKEE2263 Digital Systems Mun im/ismahani/izam {munim@utm.my,e-izam@utm.my,ismahani@fke.utm.my} February 9, 2016 Table of Contents 1 Fundamentals 2 Signed Numbers 3 Fixed-Point

More information

mith College Computer Science CSC231 - Assembly Week #7 Dominique Thiébaut

mith College Computer Science CSC231 - Assembly Week #7 Dominique Thiébaut mith College Computer Science CSC231 - Assembly Week #7 Dominique Thiébaut dthiebaut@smith.edu public class JavaLimits { public static void main(string[] args) { // -----------------------------------------------

More information

15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete

15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete CS125 Lecture 15 Fall 2016 15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete Already know SAT NP, so only need to show SAT is NP-hard. Let L be any language in NP. Let M be a NTM that decides L

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Solutions. Prelim 2[Solutions]

Solutions. Prelim 2[Solutions] Prelim [Solutions]. Short Answer [ pts] (a) [ pts] A traversal of an expression tree produces the string + + 3. i. What kind of traversal is it? Preorder; the operator is printed before the operands. ii.

More information

(b)complete the table to show where the function is positive (above the x axis) or negative (below the x axis) for each interval.

(b)complete the table to show where the function is positive (above the x axis) or negative (below the x axis) for each interval. Lesson 3.4 Graph and Equation of Polynomial Functions Part A: Graph of a Polynomial Function the x intercepts of the graph the zeros of the function the roots of the equation Multiplicity (of a zero) A

More information

(a) Definition of TMs. First Problem of URMs

(a) Definition of TMs. First Problem of URMs Sec. 4: Turing Machines First Problem of URMs (a) Definition of the Turing Machine. (b) URM computable functions are Turing computable. (c) Undecidability of the Turing Halting Problem That incrementing

More information

Operational Semantics

Operational Semantics Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical

More information

Programming Language Concepts, CS2104 Lecture 3

Programming Language Concepts, CS2104 Lecture 3 Programming Language Concepts, CS2104 Lecture 3 Statements, Kernel Language, Abstract Machine 31 Aug 2007 CS2104, Lecture 3 1 Reminder of last lecture Programming language definition: syntax, semantics

More information

CS 410/610, MTH 410/610 Theoretical Foundations of Computing

CS 410/610, MTH 410/610 Theoretical Foundations of Computing CS 410/610, MTH 410/610 Theoretical Foundations of Computing Fall Quarter 2010 Slides 2 Pascal Hitzler Kno.e.sis Center Wright State University, Dayton, OH http://www.knoesis.org/pascal/ CS410/610 MTH410/610

More information

Equivalence of DFAs and NFAs

Equivalence of DFAs and NFAs CS 172: Computability and Complexity Equivalence of DFAs and NFAs It s a tie! DFA NFA Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: L.von Ahn, L. Blum, M. Blum What we ll do today Prove that DFAs

More information

Declarative Programming Techniques

Declarative Programming Techniques Declarative Programming Techniques Accumulators (CTM 3.4.3) Difference Lists (CTM 3.4.4) Carlos Varela RPI Adapted with permission from: Seif Haridi KTH Peter Van Roy UCL December 1, 2015 C. Varela; Adapted

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

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION "Winter" 2018 http://cseweb.ucsd.edu/classes/wi18/cse105-ab/ Today's learning goals Sipser Section 1.4 Explain the limits of the class of regular languages Justify why the

More information

CTL satisfability via tableau A C++ implementation

CTL satisfability via tableau A C++ implementation CTL satisfability via tableau A C++ implementation Nicola Prezza April 30, 2015 Outline 1 Introduction 2 Parsing 3 Data structures 4 Initial sets of labels and edges 5 Cull 6 Examples and benchmarks The

More information

11 th Philippine Mathematical Olympiad Questions, Answers, and Hints

11 th Philippine Mathematical Olympiad Questions, Answers, and Hints view.php3 (JPEG Image, 840x888 pixels) - Scaled (71%) https://mail.ateneo.net/horde/imp/view.php3?mailbox=inbox&inde... 1 of 1 11/5/2008 5:02 PM 11 th Philippine Mathematical Olympiad Questions, Answers,

More information

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS Automata Theory Lecture on Discussion Course of CS2 This Lecture is about Mathematical Models of Computation. Why Should I Care? - Ways of thinking. - Theory can drive practice. - Don t be an Instrumentalist.

More information

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis CMSC 631 Program Analysis and Understanding Spring 2013 Data Flow Analysis Data Flow Analysis A framework for proving facts about programs Reasons about lots of little facts Little or no interaction between

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Theory of Regular Expressions DFAs and NFAs Reminders Project 1 due Sep. 24 Homework 1 posted Exam 1 on Sep. 25 Exam topics list posted Practice homework

More information

Side Channel Analysis Using a Model Counting Constraint Solver and Symbolic Execution

Side Channel Analysis Using a Model Counting Constraint Solver and Symbolic Execution Side Channel Analysis Using a Model Counting Constraint Solver and Symbolic Execution Tevfik Bultan Computer Science Department University of California, Santa Barbara Joint work with: Abdulbaki Aydin,

More information

More About Methods. Hsuan-Tien Lin. Deptartment of CSIE, NTU. OOP Class, March 8-9, 2010

More About Methods. Hsuan-Tien Lin. Deptartment of CSIE, NTU. OOP Class, March 8-9, 2010 More About Methods Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 8-9, 2010 H.-T. Lin (NTU CSIE) More About Methods OOP 03/08-09/2010 0 / 24 Methods: the Basic Method (1/2, Callee s View) 1 p

More information

1.00 Lecture 31. Systems of Linear Equations

1.00 Lecture 31. Systems of Linear Equations 1.00 Lecture 31 Systems of Linear Equations Reading for next time: Numerical Recipes, pp. 129-139 http://www.nrbook.com/a/bookcpdf.php Systems of Linear Equations 3x 0 + x 1-2x 2 = 5 2x 0 + 4x 1 + 3x 2

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Space Complexity. The space complexity of a program is how much memory it uses.

Space Complexity. The space complexity of a program is how much memory it uses. Space Complexity The space complexity of a program is how much memory it uses. Measuring Space When we compute the space used by a TM, we do not count the input (think of input as readonly). We say that

More information

Declarative Programming Techniques

Declarative Programming Techniques Declarative Programming Techniques Accumulators and Difference Lists (CTM 3.4.3-3.4.4) Carlos Varela RPI Adapted with permission from: Seif Haridi KTH Peter Van Roy UCL February 12, 2015 C. Varela; Adapted

More information

Resources Control Graphs

Resources Control Graphs Resources Control Graphs Jean-Yves Moyen LIPN CNRS GeoCal ICC p. Motivations Programs analysis deal about uniform properties: Do all the executions terminate? Are all the executions performed within a

More information

ITI Introduction to Computing II

ITI Introduction to Computing II (with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 11, 2015 Please don t print these lecture notes unless you really need to!

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

MAS275 Probability Modelling Exercises

MAS275 Probability Modelling Exercises MAS75 Probability Modelling Exercises Note: these questions are intended to be of variable difficulty. In particular: Questions or part questions labelled (*) are intended to be a bit more challenging.

More information

Alg. (( Sheet 1 )) [1] Complete : 1) =.. 3) =. 4) 3 a 3 =.. 5) X 3 = 64 then X =. 6) 3 X 6 =... 7) 3

Alg. (( Sheet 1 )) [1] Complete : 1) =.. 3) =. 4) 3 a 3 =.. 5) X 3 = 64 then X =. 6) 3 X 6 =... 7) 3 Cairo Governorate Department : Maths Nozha Directorate of Education Form : 2 nd Prep. Nozha Language Schools Sheet Ismailia Road Branch [1] Complete : 1) 3 216 =.. Alg. (( Sheet 1 )) 1 8 2) 3 ( ) 2 =..

More information

All India Mock GATE Test Series Test series 4 Computer Science and Information Technology. Answer Keys and Explanations.

All India Mock GATE Test Series Test series 4 Computer Science and Information Technology. Answer Keys and Explanations. Test ID: -TS-04-18 All India Mock GATE Test Series Test series 4 Computer Science and Information Technology Answer Keys and Explanations General Aptitude: 1. [Ans. A] Meaning: slow to move or act art

More information

Automatic Verification of Parameterized Data Structures

Automatic Verification of Parameterized Data Structures Automatic Verification of Parameterized Data Structures Jyotirmoy V. Deshmukh, E. Allen Emerson and Prateek Gupta The University of Texas at Austin The University of Texas at Austin 1 Outline Motivation

More information

Carleton University. Final Examination Fall DURATION: 2 HOURS No. of students: 223

Carleton University. Final Examination Fall DURATION: 2 HOURS No. of students: 223 Carleton University Final Examination Fall 2016 DURATION: 2 HOURS No. of students: 223 Department Name & Course Number: Computer Science COMP 2804A Course Instructor: Michiel Smid Authorized memoranda:

More information

Introduction to Algorithmic Complexity. D. Thiebaut CSC212 Fall 2014

Introduction to Algorithmic Complexity. D. Thiebaut CSC212 Fall 2014 Introduction to Algorithmic Complexity D. Thiebaut CSC212 Fall 2014 http://youtu.be/p0tlbl5lrj8 Case Study: Fibonacci public class RecurseFib {! private static long computefibrecursively( int n ) { if

More information

Fundamental Algorithms 11

Fundamental Algorithms 11 Technische Universität München WS 2013/14 Institut für Informatik Worksheet Scientific Computing in Computer Science 20.01.2014 Fundamental Algorithms 11 Exercise 1 Hypergraphs A hypergraph extends the

More information

Basic Java OOP 10/12/2015. Department of Computer Science & Information Engineering. National Taiwan University

Basic Java OOP 10/12/2015. Department of Computer Science & Information Engineering. National Taiwan University Basic Java OOP 10/12/2015 Hsuan-Tien Lin ( 林軒田 ) htlin@csie.ntu.edu.tw Department of Computer Science & Information Engineering National Taiwan University ( 國立台灣大學資訊工程系 ) Hsuan-Tien Lin (NTU CSIE) Basic

More information

Unit 8: Sequ. ential Circuits

Unit 8: Sequ. ential Circuits CPSC 121: Models of Computation Unit 8: Sequ ential Circuits Based on slides by Patrice Be lleville and Steve Wolfman Pre-Class Learning Goals By the start of class, you s hould be able to Trace the operation

More information

CSE 311: Foundations of Computing. Lecture 10: Set Operations & Representation, Modular Arithmetic

CSE 311: Foundations of Computing. Lecture 10: Set Operations & Representation, Modular Arithmetic CSE 311: Foundations of Computing Lecture 10: Set Operations & Representation, Modular Arithmetic Definitions A and B are equal if they have the same elements A = B x (x A x B) A is a subset of B if every

More information

The Viterbi Algorithm EECS 869: Error Control Coding Fall 2009

The Viterbi Algorithm EECS 869: Error Control Coding Fall 2009 1 Bacground Material 1.1 Organization of the Trellis The Viterbi Algorithm EECS 869: Error Control Coding Fall 2009 The Viterbi algorithm (VA) processes the (noisy) output sequence from a state machine

More information

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

Regular Expressions and Language Properties

Regular Expressions and Language Properties Regular Expressions and Language Properties Mridul Aanjaneya Stanford University July 3, 2012 Mridul Aanjaneya Automata Theory 1/ 47 Tentative Schedule HW #1: Out (07/03), Due (07/11) HW #2: Out (07/10),

More information

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA Turing Machines A Turing machine is similar to a finite automaton with supply of unlimited memory. A Turing machine can do everything that any computing device can do. There exist problems that even a

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

1. (A) Factor to get (2x+3)(2x 10) = 0, so the two roots are 3/2 and 5, which sum to 7/2.

1. (A) Factor to get (2x+3)(2x 10) = 0, so the two roots are 3/2 and 5, which sum to 7/2. Solutions 00 53 rd AMC 1 A 1. (A) Factor to get (x+3)(x 10) = 0, so the two roots are 3/ and 5, which sum to 7/.. (A) Let x be the number she was given. Her calculations produce so x 9 3 = 43, x 9 = 19

More information

NP-Completeness. Algorithmique Fall semester 2011/12

NP-Completeness. Algorithmique Fall semester 2011/12 NP-Completeness Algorithmique Fall semester 2011/12 1 What is an Algorithm? We haven t really answered this question in this course. Informally, an algorithm is a step-by-step procedure for computing a

More information

Data Structures for Disjoint Sets

Data Structures for Disjoint Sets Data Structures for Disjoint Sets Advanced Data Structures and Algorithms (CLRS, Chapter 2) James Worrell Oxford University Computing Laboratory, UK HT 200 Disjoint-set data structures Also known as union

More information

LTL Model Checking. Wishnu Prasetya.

LTL Model Checking. Wishnu Prasetya. LTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Overview This pack : Abstract model of programs Temporal properties Verification (via model checking) algorithm Concurrency

More information

right angle an angle whose measure is exactly 90ᴼ

right angle an angle whose measure is exactly 90ᴼ right angle an angle whose measure is exactly 90ᴼ m B = 90ᴼ B two angles that share a common ray A D C B Vertical Angles A D C B E two angles that are opposite of each other and share a common vertex two

More information

3130CIT Theory of Computation

3130CIT Theory of Computation GRIFFITH UNIVERSITY School of Computing and Information Technology 3130CIT Theory of Computation Final Examination, Semester 2, 2006 Details Total marks: 120 (40% of the total marks for this subject) Perusal:

More information

CSC Design and Analysis of Algorithms. Lecture 1

CSC Design and Analysis of Algorithms. Lecture 1 CSC 8301- Design and Analysis of Algorithms Lecture 1 Introduction Analysis framework and asymptotic notations What is an algorithm? An algorithm is a finite sequence of unambiguous instructions for solving

More information

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 43

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 43 Finite Automata Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2018 Dantam (Mines CSCI-561) Finite Automata Fall 2018 1 / 43 Outline Languages Review Traffic Light Example Deterministic Finite

More information

Irrational Numbers Study Guide

Irrational Numbers Study Guide Square Roots and Cube Roots Positive Square Roots A positive number whose square is equal to a positive number b is denoted by the symbol b. The symbol b is automatically denotes a positive number. The

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

highlights CSE 311: Foundations of Computing highlights 1 in third position from end Fall 2013 Lecture 25: Non-regularity and limits of FSMs

highlights CSE 311: Foundations of Computing highlights 1 in third position from end Fall 2013 Lecture 25: Non-regularity and limits of FSMs CSE 3: Foundations of Computing Fall 23 Lecture 25: Non-regularity and limits of FSMs highlights NFAs from Regular Epressions ( )* highlights in third position from end Subset construction : NFA to DFA

More information

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012)

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) 1 Streams Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) Streams provide a very simple abstraction for determinate parallel computation. The intuition for streams is already present in

More information

Algebra 1 Semester 2. Instructional Materials for the WCSD Math Common Finals

Algebra 1 Semester 2. Instructional Materials for the WCSD Math Common Finals 014-015 Algebra 1 Semester Instructional Materials for the WCSD Math Common Finals The Instructional Materials are for student and teacher use and are aligned to the Math Common Final blueprint for this

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

7.4 Off on a Tangent. A Develop and Solidify Understanding Task. tan(%) = Recall that the right triangle definition of the tangent ratio is:

7.4 Off on a Tangent. A Develop and Solidify Understanding Task. tan(%) = Recall that the right triangle definition of the tangent ratio is: 7.4 Off on a Tangent A Develop and Solidify Understanding Task Recall that the right triangle definition of the tangent ratio is: tan(%) = ()*+,- /0 123) /44/12,) 5*+() 6 ()*+,- /0 123) 53758)*,,/ 5*+()

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Sipser Ch 1.4 Explain the limits of the class of regular languages Justify why the Pumping

More information

Multi-threading model

Multi-threading model Multi-threading model High level model of thread processes using spawn and sync. Does not consider the underlying hardware. Algorithm Algorithm-A begin { } spawn Algorithm-B do Algorithm-B in parallel

More information

ITI Introduction to Computing II

ITI Introduction to Computing II (with contributions from R. Holte) School of Electrical Engineering and Computer Science University of Ottawa Version of January 9, 2019 Please don t print these lecture notes unless you really need to!

More information

Stat 451: Solutions to Assignment #1

Stat 451: Solutions to Assignment #1 Stat 451: Solutions to Assignment #1 2.1) By definition, 2 Ω is the set of all subsets of Ω. Therefore, to show that 2 Ω is a σ-algebra we must show that the conditions of the definition σ-algebra are

More information

2.3. Solving Absolute Value Inequalities. Inequalities ENGAGE. 2.3 Solving Absolute Value

2.3. Solving Absolute Value Inequalities. Inequalities ENGAGE. 2.3 Solving Absolute Value Resource Locker LESSO N 2.3 Solving Absolute Value Inequalities Name Class Date 2.3 Solving Absolute Value Inequalities Texas Math Standards The student is expected to: A2.6.F Solve absolute value linear

More information

MATH c UNIVERSITY OF LEEDS Examination for the Module MATH2210 (May/June 2004) INTRODUCTION TO DISCRETE MATHEMATICS. Time allowed : 2 hours

MATH c UNIVERSITY OF LEEDS Examination for the Module MATH2210 (May/June 2004) INTRODUCTION TO DISCRETE MATHEMATICS. Time allowed : 2 hours This question paper consists of 5 printed pages, each of which is identified by the reference MATH221001 MATH221001 No calculators allowed c UNIVERSITY OF LEEDS Examination for the Module MATH2210 (May/June

More information

Accumulators. A Trivial Example in Oz. A Trivial Example in Prolog. MergeSort Example. Accumulators. Declarative Programming Techniques

Accumulators. A Trivial Example in Oz. A Trivial Example in Prolog. MergeSort Example. Accumulators. Declarative Programming Techniques Declarative Programming Techniques Accumulators, Difference Lists (VRH 3.4.3-3.4.4) Carlos Varela RPI Adapted with permission from: Seif Haridi KTH Peter Van Roy UCL September 13, 2007 Accumulators Accumulator

More information

Plan for Today and Beginning Next week (Lexical Analysis)

Plan for Today and Beginning Next week (Lexical Analysis) Plan for Today and Beginning Next week (Lexical Analysis) Regular Expressions Finite State Machines DFAs: Deterministic Finite Automata Complications NFAs: Non Deterministic Finite State Automata From

More information

Determining an Optimal Parenthesization of a Matrix Chain Product using Dynamic Programming

Determining an Optimal Parenthesization of a Matrix Chain Product using Dynamic Programming Determining an Optimal Parenthesization of a Matrix Chain Product using Dynamic Programming Vivian Brian Lobo 1, Flevina D souza 1, Pooja Gharat 1, Edwina Jacob 1, and Jeba Sangeetha Augestin 1 1 Department

More information

Simply Typed Lambda Calculus

Simply Typed Lambda Calculus Simply Typed Lambda Calculus Language (ver1) Lambda calculus with boolean values t ::= x variable x : T.t abstraction tt application true false boolean values if ttt conditional expression Values v ::=

More information

Powerful tool for sampling from complicated distributions. Many use Markov chains to model events that arise in nature.

Powerful tool for sampling from complicated distributions. Many use Markov chains to model events that arise in nature. Markov Chains Markov chains: 2SAT: Powerful tool for sampling from complicated distributions rely only on local moves to explore state space. Many use Markov chains to model events that arise in nature.

More information

Intersecting curves (variation on an observation of Maxim Kontsevich) by Étienne GHYS

Intersecting curves (variation on an observation of Maxim Kontsevich) by Étienne GHYS Intersecting curves (variation on an observation of Maxim Kontsevich) by Étienne GHYS Abstract Consider the graphs of n distinct polynomials of a real variable intersecting at some point. In the neighborhood

More information

1 What is the solution of the system of equations graphed below? y = 2x + 1

1 What is the solution of the system of equations graphed below? y = 2x + 1 1 What is the solution of the system of equations graphed below? y = 2x + 1 3 As shown in the diagram below, when hexagon ABCDEF is reflected over line m, the image is hexagon A'B'C'D'E'F'. y = x 2 + 2x

More information

Analysis of Algorithms

Analysis of Algorithms October 1, 2015 Analysis of Algorithms CS 141, Fall 2015 1 Analysis of Algorithms: Issues Correctness/Optimality Running time ( time complexity ) Memory requirements ( space complexity ) Power I/O utilization

More information

CHAPTER 1. Relations. 1. Relations and Their Properties. Discussion

CHAPTER 1. Relations. 1. Relations and Their Properties. Discussion CHAPTER 1 Relations 1. Relations and Their Properties 1.1. Definition of a Relation. Definition 1.1.1. A binary relation from a set A to a set B is a subset R A B. If (a, b) R we say a is Related to b

More information

ASSOCIATION ANALYSIS FREQUENT ITEMSETS MINING. Alexandre Termier, LIG

ASSOCIATION ANALYSIS FREQUENT ITEMSETS MINING. Alexandre Termier, LIG ASSOCIATION ANALYSIS FREQUENT ITEMSETS MINING, LIG M2 SIF DMV course 207/208 Market basket analysis Analyse supermarket s transaction data Transaction = «market basket» of a customer Find which items are

More information

Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function

Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function E-mail: shimada@is.naist.jp Outline Combinational logical circuit Logic gate (logic element) Definition of combinational

More information

Junior Secondary. A. Errors 1. Absolute error = Estimated value - Exact value

Junior Secondary. A. Errors 1. Absolute error = Estimated value - Exact value Junior Secondary A. Errors. Absolute error = Estimated value - Exact value. Maximum absolute error = Scale interval of the measuring tool 3. Maximum absolute error Absolute error Relative error = or Measured

More information

Prelim 2[Solutions] Solutions. 1. Short Answer [18 pts]

Prelim 2[Solutions] Solutions. 1. Short Answer [18 pts] Prelim [Solutions]. Short Answer [8 pts] (a) [3 pts] In a model/view/controller, Swing is likely to be part of (there may be more than one): i. the model ii. the view iii. the controller The view and the

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

Lecture Notes on Emptiness Checking, LTL Büchi Automata

Lecture Notes on Emptiness Checking, LTL Büchi Automata 15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen

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

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

Context-Aware Statistical Debugging

Context-Aware Statistical Debugging Context-Aware Statistical Debugging From Bug Predictors to Faulty Control Flow Paths Lingxiao Jiang and Zhendong Su University of California at Davis Outline Introduction Context-Aware Statistical Debugging

More information

CS 61B Asymptotic Analysis Fall 2017

CS 61B Asymptotic Analysis Fall 2017 CS 61B Asymptotic Analysis Fall 2017 1 More Running Time Give the worst case and best case running time in Θ( ) notation in terms of M and N. (a) Assume that slam() Θ(1) and returns a boolean. 1 public

More information

Apache Quarks for Developers April 13, 2016

Apache Quarks for Developers April 13, 2016 Apache Quarks for Developers April 13, 2016 Apache Quarks is currently undergoing Incubation at the Apache Software Foundation. Quarks Development Console - Topics Who am I? Susan Cline, Quarks committer,

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