Formal Languages and Automata Theory

undefined
Lecturer
Xuandong Li    
lxd@nju.edu.cn
Lei Bu              
bulei@nju.edu.cn
TA
Lezhi
 
Ma
QQ
 
Group
 
462565359
Formal Languages and Automata
This course: A study of
abstract
 
models of computers and computation.
Why theory, when computer field is so practical?
Theory provides concepts and principles, for both hardware
and software that help us understand the general nature of the
field.
3
Why Study Automata?
 
A survey of Stanford grads 5 years out asked
which of their courses did they use in their job.
Basics like intro-programming took the top spots,
of course.
But among optional courses, formal language and
automata stood remarkably high.
4
How Could That Be?
 
Regular expressions are used in many systems.
E.g., UNIX 
a.*b
.
E.g., DTD
s describe XML tags with a RE format like
person (name, addr, child*)
.
Finite automata model protocols, electronic circuits.
5
How? – (2)
 
Context-free grammars are used to describe the
syntax of essentially every programming language.
Not to forget their important role in describing natural
languages.
6
How? – (3)
 
When developing solutions to real problems, we
often confront the limitations of what software can
do.
Undecidable
  things – no program whatever can do it.
Intractable
  things – there are programs, but no fast
programs.
Automata theory gives you the tools.
Outline
Part 1: Preliminaries
Mathematical Knowledge
String and Language
Part 2:
Finite Automata and Regular Expression
Context Free Grammar and Pushdown Automata
Turing Automata
 
Part 3 Modeling:
Transition System
Petri Net
Timed and Hybrid Automata
Message Sequence Chart
Part 4: Tutorials
Computability
Model Checking
Trustworthy Software
 
Textbook
John E. Hopcroft, Rajeev Motwani, Jeffery D.Ullman. Introduction
to Automata Theory, Languages, and Computation, 3/E. Pearson
Education India, 2008.  (The Cinderella Book)
Referred Reading
Michael Sipser. Introduction to the Theory of Computation, 2nd
Edition,Course Technology, 2005.
Derick Wood. Theory of Computation. HAPPER & ROW, 1987.
Doron Peled. Software Reliability Methods. Springer, 2011
WEB
http://cs.nju.edu.cn/bulei/FLA22.html
Grading
Assignment 30%
Distributed in Class, due in next week.
Project
 
20%
Will
 
be announced around middle November
Final Exam 50%
 
卜磊
 
教授
件工程
 
seg.nju.edu.cn    cs.nju.edu.cn/bulei/
研究方向
杂软
件分析
测试
验证
实时
统验证
控与控制生成
奖项
万人
青年拔尖人才
NASAC
青年
中国
算机学会青年人才
MSRA
全国
算机
专业优
秀教
师奖
。。。
招收新生
!!!
 
Slide Note
Embed
Share

This course delves into abstract models of computers and computation, offering essential concepts and principles for understanding the fundamental nature of the computer field. Exploring topics such as regular expressions, context-free grammars, and automata theory, students gain insights into the practical applications of these theoretical foundations in various systems and problem-solving scenarios. The curriculum covers mathematical knowledge, finite automata, context-free grammars, and modeling transition systems, providing a comprehensive exploration of formal languages and automata theory.

  • Formal Languages
  • Automata Theory
  • Computation
  • Abstract Models
  • Computer Science

Uploaded on Apr 19, 2024 | 4 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Formal Languages and Automata Lecturer Xuandong Li lxd@nju.edu.cn Lei Bu bulei@nju.edu.cn TA Lezhi Ma QQ Group 462565359

  2. This course: A study of abstract models of computers and computation. Why theory, when computer field is so practical? Theory provides concepts and principles, for both hardware and software that help us understand the general nature of the field.

  3. Why Study Automata? A survey of Stanford grads 5 years out asked which of their courses did they use in their job. Basics like intro-programming took the top spots, of course. But among optional courses, formal language and automata stood remarkably high. 3

  4. How Could That Be? Regular expressions are used in many systems. E.g., UNIX a.*b. E.g., DTD s describe XML tags with a RE format like person (name, addr, child*). Finite automata model protocols, electronic circuits. 4

  5. How? (2) Context-free grammars are used to describe the syntax of essentially every programming language. Not to forget their important role in describing natural languages. 5

  6. How? (3) When developing solutions to real problems, we often confront the limitations of what software can do. Undecidable things no program whatever can do it. Intractable things there are programs, but no fast programs. Automata theory gives you the tools. 6

  7. Outline Part 1: Preliminaries Mathematical Knowledge String and Language Part 2: Finite Automata and Regular Expression Context Free Grammar and Pushdown Automata Turing Automata

  8. Part 3 Modeling: Transition System Petri Net Timed and Hybrid Automata Message Sequence Chart Part 4: Tutorials Computability Model Checking Trustworthy Software

  9. Textbook John E. Hopcroft, Rajeev Motwani, Jeffery D.Ullman. Introduction to Automata Theory, Languages, and Computation, 3/E. Pearson Education India, 2008. (The Cinderella Book) Referred Reading Michael Sipser. Introduction to the Theory of Computation, 2nd Edition,Course Technology, 2005. Derick Wood. Theory of Computation. HAPPER & ROW, 1987. Doron Peled. Software Reliability Methods. Springer, 2011 WEB http://cs.nju.edu.cn/bulei/FLA22.html

  10. Grading Assignment 30% Distributed in Class, due in next week. Project 20% Will be announced around middle November Final Exam 50%

  11. seg.nju.edu.cn cs.nju.edu.cn/bulei/ NASAC MSRA

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#