180 likes | 222 Views
Automata and Formal Languages. Hongwei Xi University of Cincinnati Fall 2000. Welcome!. 20-ECES-670: Automata and Formal Languages Introduction to automaton theory, computability and computational complexity What is the limitation of a computer?
E N D
Automata and Formal Languages Hongwei Xi University of Cincinnati Fall 2000 Introduction
Welcome! • 20-ECES-670: Automata and Formal Languages • Introduction to automaton theory, computability and computational complexity • What is the limitation of a computer? • What makes some problems inherently more difficult than others? Introduction
Course Overview • Regular Languages: lexical analysis • Example: identifiers: [a-zA-Z][a-zA-Z0-9]* • Nonregular Languages: • Pumping Lemma(s) for regular languages Introduction
Course Overview • Context-free Languages: programming language syntax • Example: expressions: E -> id, E -> E + E, E -> (E) • Non-context-free Languages: • Pumping Lemma(s) for context-free languages Introduction
Course Overview • Computability Theory • The Church-Turing Thesis • Turing machines • Decidability/Undecidabilty • The halting problem • Diagonalization • Reducibility • An approach to establishing undecidabilty results Introduction
Course Overview • Complexity Theory • Time Complexity • The Class P • The Class NP • NP-completeness • Space complexity • The Class PSPACE • PSPACE-completeness Introduction
What is this course like? • Stressing both mathematical reasoning and implementation skill • Prove theorems • Implement algorithms • Emphasizing mathematical rigor and clarity • “If you can’t explain it, you probably don’t understand it ” Introduction
What is this course like? • You will have to work hard in order to keep up! • Many ideas may sound unfamiliar to you. They are often formal and take time to “sink in”. • Assignments often require both mathematical reasoning and implementation skill. Introduction
What this course is like? • There is an excellent textbook for this course. Get it! • Both studying and experimentation are essential to gaining understanding of the material Introduction
What is this course like? • Most of all, it’s a lot fun! • Elegant interplay between theory and practice • Rapid exposure to many fundamental ideas • Enormous potential for pursuing further studies in computer science Introduction
People • Teaching Staff • Instructor: Hongwei Xi hwxi@ececs.uc.edu Rhodes Hall 811 D • Teaching assistant: Monica Martin mmartin@ececs.uc.edu Introduction
Schedules • Lectures: MWF 2-2:50AM Swift 501 • Office Hours: To be announced • Or by appointment • Or stop by 811 D Rhodes Introduction
Programming Languages • Standard ML (preferred) • http://cm.bell-labs.com/cm/cs/what/smlnj • Or one of your favorites (C, C++, Java, etc.) • It is your responsibility to make sure that your code runs under Unix! Introduction
Homework • Approximately 10 assignments • About one every week • Individual work only unless specified otherwise! • Clarity and elegance count • It is not enough to just “work” on test data Introduction
Exams and Grades • Midterm • Monday, Oct 30 • In-class (25%) • Final • Monday, Mar 13 • In-class (50%) • Homework (25%) • All exams are open-book • Participation can make difference on your letter grade Introduction
Academic Integrity • Strict adherence to the university guidelines • All work must be solely your own! • Repeat: all work must be solely your own! • If you have difficulty keeping up, ask for help! • The teaching staff are always willing to help • Ask earlier, rather than later Introduction
A Warning and A Plea • This is my first time to offer such a course • I’m certain to make (many) mistakes • But I’ll do my best to run the course smoothly • Please be patient and ask a lot of questions Introduction
Course Information • Everything is on the web! • Course Homepagehttp://www.ececs.uc.edu/~hwxi/eces670.html • Notes, Slides, Handouts, Assignments, Solutions • Please visit the homepage frequently! Introduction