Download presentation

1
**Formal Languages: main findings so far**

A problem can be formalised as a formal language A formal language can be defined in various ways, e.g.: the language accepted by a given DFSA the language accepted by a given NDFSA the language denoted by a given Regular Expression We stated without proof: DFSA=NDFSA We proved: FSA = Regular Expression think about what “=“ means

2
**You have seen two equivalence results **

Formal Languages FSAs and Regular Expressions are just two methods for defining a formal language. Many others exist. You have seen two equivalence results But some methods allow us to define languages that FSAs (and Regular Expressions) cannot define In fact, an entire series of increasingly complex formal languages is known: the Chomsky hierarchy Each requires a more complex type of automaton to define/accept the language in question. At the top of this hierarchy: Turing Machines

3
Chomsky’s hierarchy Languages Automatons Recursively enumerable = Turing machine Context-sensitive = LB non-deterministic Turing machine Context-free = Non-deterministic pushdown automaton Regular = Finite state automaton

4
**Remainder of the course**

Mechanisms higher up in the hierarchy can recognize more languages Turing Machines resemble FSAs, but are more powerful. In particular, they can write as well as read symbols can move left as well as rightward along a string have “failure” states as well as “success” states We’ll turn to Turing Machines in the third part of this course

5
A full course on formal languages and computability would tell you about all the elements of the hierarchy (e.g. context free languages and pushdown automata) The plan of this course is different: we now turn to a different model of computation

6
**It is believed that TMs can do anything that any computer could ever do (Lectures 16-24)**

How can we know what any computer could ever do? Let’s broaden our view by looking at a class of programming languages entirely different from JAVA, Pascal, Fortran, Basic, ...

7
**We kill two birds with one stone:**

The name of this programming paradigm: the functional model of programming Mathematical basis: the calculus The programming language: Haskell We kill two birds with one stone: we get a better view of what programming means you learn about an up-and-coming programming language particularly useful for maths

Similar presentations

OK

Discrete Structures ICS252 Chapter 5 Lecture 2. Languages and Grammars prepared By sabiha begum.

Discrete Structures ICS252 Chapter 5 Lecture 2. Languages and Grammars prepared By sabiha begum.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on as 14 amalgamation define Ppt on ip address classes and range Ppt on financial markets and institutions Download ppt on respiration in animals Ppt on image compression using different types of wavelets Ppt on job evaluation template Ppt on diversity in our society Ppt on service level agreement Ppt on file system interface Ppt on building bye laws