Review of Basic Computer Science Background. Computer Science You’ll Need Some models of computationSome models of computation –Finite state machines.

Slides:



Advertisements
Similar presentations
Turing Machines January 2003 Part 2:. 2 TM Recap We have seen how an abstract TM can be built to implement any computable algorithm TM has components:
Advertisements

Program Efficiency & Complexity Analysis
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Lecture 24 MAS 714 Hartmut Klauck
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
Programming Languages Wrap-up. Your Toolkit Object-oriented Imperative Functional Logic.
Fundamentals of Python: From First Programs Through Data Structures
Recap CS605: The Mathematics and Theory of Computer Science.
Turing Machines (At last!). Designing Universal Computational Devices Was Not The Only Contribution from Alan Turing… Enter the year 1940: The world is.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
University of Queensland
1 Other Models of Computation. 2 Models of computation: Turing Machines Recursive Functions Post Systems Rewriting Systems.
CS1001 Lecture 23. Overview Incompleteness and the Halting Problem Incompleteness and the Halting Problem Methods in Artificial Intelligence Methods in.
EECS 598: Background in Theory of Computation Igor L. Markov and John P. Hayes
CS294-6 Reconfigurable Computing Day 3 September 1, 1998 Requirements for Computing Devices.
Turing Machines CS 105: Introduction to Computer Science.
1 Lecture 11 Studying structure of REC –Complexity theory overview –Automata theory preview Motivating Problem –string searching.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
More Theory of Computing
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Overview of Computing. Computer Science What is computer science? The systematic study of computing systems and computation. Contains theories for understanding.
Course Outline Mathematical Preliminaries Turing Machines
Class 37: Computability in Theory and Practice cs1120 Fall 2011 David Evans 21 November 2011 cs1120 Fall 2011 David Evans 21 November 2011.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Unit III : Introduction To Data Structures and Analysis Of Algorithm 10/8/ Objective : 1.To understand primitive storage structures and types 2.To.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan.
Analysis of Algorithms CSCI Previous Evaluations of Programs Correctness – does the algorithm do what it is supposed to do? Generality – does it.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
Models of Computation. Computation: Computation is a general term for any type of information processing information processing CPU memory.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
9.7: Chomsky Hierarchy.
CST229 Week 8 Questions or concerns? Hand back Homework #6 & #5 Reading: Chapter 14 Comment about Lab1 Getting started with Lab2 Chapter 14 – Regular Grammar.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 7 Time Complexity Some slides are in courtesy.
CS130: Theory of Computation An introductory course on the theory of automata and formal languages: models of machines, languages and grammars, relationship.
Models of Computing Regular Expressions 1. Formal models of computation What can be computed? What is a valid program? What is a valid name of a variable.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
ICC Module 3 Lesson 1 – Computer Architecture 1 / 11 © 2015 Ph. Janson Information, Computing & Communication Module 3 : Systems.
Quantum Computation Stephen Jordan. Church-Turing Thesis ● Weak Form: Anything we would regard as “computable” can be computed by a Turing machine. ●
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Copyright © Curt Hill Other Automata Pushdown through Turing machines.
1 8.4 Extensions to the Basic TM Extended TM’s to be studied: Multitape Turing machine Nondeterministic Turing machine The above extensions make no increase.
Recall last lecture and Nondeterministic TMs Ola Svensson.
CS 154 Formal Languages and Computability May 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
Turing Machines CS 130 Theory of Computation HMU Textbook: Chap 8.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Attendance Syllabus Textbook (hardcopy or electronics) Groups s First-time meeting.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Review : Theory of Computation. Regular Language and Finite Automata Context-free Language and Pushdown Automata Turing Machine and Recursive Enumerable.
Why Study Automata Theory and Formal Languages?
Formal Foundations-II [Theory of Automata]
Review : Theory of Computation
Chapter 3: The CHURCH-Turing thesis
Jaya Krishna, M.Tech, Assistant Professor
Objective of This Course
Theory of Computation Turing Machines.
CS21 Decidability and Tractability
Recall last lecture and Nondeterministic TMs
Lecture One: Automata Theory Amjad Ali
Presentation transcript:

Review of Basic Computer Science Background

Computer Science You’ll Need Some models of computationSome models of computation –Finite state machines –Recursive functions / Turing machines –Logic circuit models –Cellular automata Computability theoryComputability theory –Universal vs. non-universal models Computational complexity theoryComputational complexity theory –Polynomial vs. exponential problem classes Computer architecture/engineering conceptsComputer architecture/engineering concepts –functional units, CPUs, instruction sets, etc...

Models of Computation Non-universal models:Non-universal models: –Finite state machines (w. read-only inputs) Related to regular expression languagesRelated to regular expression languages –Pushdown automata (FSM w. a stack) Relation to context-free grammar languagesRelation to context-free grammar languages Universal models:Universal models: –Recursive function theory (Church) –“File clerk model” / Turing machines (Turing) FSM with unbounded-size read-write external memoryFSM with unbounded-size read-write external memory –Logic circuits (Shannon) –RAM machines (von Neumann) –Cellular automata (von Neumann)

Church-Turing thesis All the “universal” models were proved early on to be able to simulate each otherAll the “universal” models were proved early on to be able to simulate each other –Straightforward to write “emulator” programs “Church-Turing thesis”:“Church-Turing thesis”: –Anything that can be computed physically (in any way whatsoever) can be computed by machines in these models Hence the term “universal”Hence the term “universal” –This is in the form of a physical postulate. Note that universality & the Church-Turing thesis say nothing about efficiency.Note that universality & the Church-Turing thesis say nothing about efficiency.

Computational Complexity Theory Characterizes the “complexity” (defined in terms of resource usage) of computationsCharacterizes the “complexity” (defined in terms of resource usage) of computations –This “complexity” can be viewed as essentially the reciprocal of computational efficiency efficiency would be amount of computation completed per unit resources consumedefficiency would be amount of computation completed per unit resources consumed Traditional focus in complexity theory only on either of two resources, in isolation:Traditional focus in complexity theory only on either of two resources, in isolation: –“Time” (most popular) Number of primitive ops. or parallel steps performedNumber of primitive ops. or parallel steps performed –“Space” Max. number of bits of storage needed at any timeMax. number of bits of storage needed at any time

Cost-Efficiency Resources (time, space, hardware, energy, etc.) have some associated cost for their expenditureResources (time, space, hardware, energy, etc.) have some associated cost for their expenditure –Resource usage should be minimized A 100% efficient process is one that wastes no resources. Want to maximize efficiency.A 100% efficient process is one that wastes no resources. Want to maximize efficiency. –Let $ min be the minimum cost required to carry out a process, $ the actual cost. –So % $ = $ min /$, or cost-efficiency, is the fraction of cost that is well spent. Note that % $ is inversely proportional to cost $ (or “complexity”), even if $ min is unknown.Note that % $ is inversely proportional to cost $ (or “complexity”), even if $ min is unknown.

Complexity Classes In complexity theory, it is useful to classify computational problems or tasks on a given machine in terms of the asymptotic order of growth of the complexity.In complexity theory, it is useful to classify computational problems or tasks on a given machine in terms of the asymptotic order of growth of the complexity. –Allows ignoring the effects of minor implementation details Further, similar orders of growth are often grouped together, e.g.:Further, similar orders of growth are often grouped together, e.g.: –P - The class of problems solvable in polynomial (O(n k ) for some k) time This class was thought to be independent of the machine model used, until the discovery of quantum computing!This class was thought to be independent of the machine model used, until the discovery of quantum computing!

Order of Growth Notation