0% found this document useful (0 votes)
57 views12 pages

Key Concepts: Lecture 1: Introduction 3

The document introduces key concepts in computability theory including discreteness, abstraction, and generality. It discusses languages as sets of strings from a finite alphabet and provides examples. Automata like finite automata, pushdown automata, and Turing machines are introduced as models of computation. Formalisms like regular expressions and context-free grammars are discussed for specifying languages. Church's thesis and examples of uncomputable and computationally hard problems like the halting problem are covered. The theory is said to be applicable to areas like circuit design, programming languages, and complexity theory.

Uploaded by

theresa.painter
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views12 pages

Key Concepts: Lecture 1: Introduction 3

The document introduces key concepts in computability theory including discreteness, abstraction, and generality. It discusses languages as sets of strings from a finite alphabet and provides examples. Automata like finite automata, pushdown automata, and Turing machines are introduced as models of computation. Formalisms like regular expressions and context-free grammars are discussed for specifying languages. Church's thesis and examples of uncomputable and computationally hard problems like the halting problem are covered. The theory is said to be applicable to areas like circuit design, programming languages, and complexity theory.

Uploaded by

theresa.painter
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Lecture 1: Introduction

Key Concepts

Discreteness

State of the system can be represented as a nite amount of information

Abstraction

Irrelevant details can be ignored

Generality

A single mathematical model applies to many devices

Lecture 1: Introduction

The (Mathematical) Idea of a Language Underlying Principle: Whatever can be computed can be written down

Alphabet

Ex: a, b, c, . . . , z .

Strings: nite concatenation of alphabet symbols, order matters Ex: qaz, abbab

Language: any set of strings

Lecture 1: Introduction

Examples of Languages All words in the American Heritage Dictionary {a, aah, aardvark, . . . , zyzzva} Mathematically simple, because its nite!

All strings of even length

{e, aa, ab, ba, bb, aaaa, . . . }

Note: e denotes the string of length 0 the empty string Innite but simple membership rule

All strings of as and bs in equal numbers {e, ab, ba, aabb, abab, abba, . . . }

Lecture 1: Introduction

More Examples of Languages All syntactically correct C programs

(counting space and newline as characters)

All C programs that do not go into an innite loop

The binary notation for all even numbers that are the sum of two primes {100, 110, 1000, 1010, . . .?} (2 + 2) (3 + 3) (3 + 5) (5 + 5)

All theorems of Euclidean geometry

Lecture 1: Introduction

First Denition Computing a yes/no answer means Determining if a string is in a language

What, then, is a computer? First try: Mathematical automaton

a a r d v ...
Finite Control Yes No

We dont care how the control is implemented only that it have a nite number of states and change states based on xed rules

Lecture 1: Introduction

Kinds of Automata Finite Automata

a b a
F.C.

Head scans left to right Check simple patterns Finite Table Lookup

Pushdown Automata Input a a b

Cant count without limit

F.C.

a Use stack to count, balance b parentheses a Check many syntax rules a Stack

Turing Machines

b a r
F.C.

Arbitrary computations Control is still nite Head moves left and right, reads, and writes

Lecture 1: Introduction

Generative Formalisms for Specifying Languages Regular Expressions a {e, a, aa, aaa, . . . } = any number of {e, ab, abab, ababab, . . . } {???}

(ab)

(aab)a Context-free grammars S aSb Se

{e, ab, aabb, aaabbb, . . . }

Note: this is not the same as ab!

S S S S

S aSb aaSbb aabb aSb bSa SS e {???}

Lecture 1: Introduction

10

Churchs Thesis (Church-Turing Thesis)

Intuitive notion of computable Formal notion of computable by a Turing Machine

Are there non-computable languages? Yes in fact almost all languages are not computable

What are some examples? [Problems to avoid!]

Lecture 1: Introduction

11

Computationally Unsolvable Problems Innite Jigsaw: Given a nite set of jigsaw puzzle pieces, can the whole plane be covered using replicas of these pieces?

Program Analysis: Given the text of a computer program, will it halt?

Diophantine Equations Given a polynomial equation: x2 + 3xyz 44z 3 = 0 does it have an integer solution?

Lecture 1: Introduction

12

Computational Complexity A problem need not be uncomputable to be practically unsolvable (It may just take too long!)

Theory of relative diculty of problems Based on resources required: Time Tape . .

Some problems are an enigma . . .

Lecture 1: Introduction

13

NP-Complete Problems Travelling Salesman Problem

What is the fastest way to visit these cities?

Integer Linear Program

Is there a solution over the positive integers to a system like this? x1 4x2 + x3 = 0 x1 + x2 + x3 0 x1 + 7x3 0

Boolean Satisability

Are there true/false values for the variables to make this formula true? (x y z ) (x y ) (z y ) [ = or = and = not ]

Lecture 1: Introduction

14

To What Is This Theory Applicable?

Circuit Design Parsing + Compiling

Finite Automata Context-free Languages Pushdown Automata Regular Expressions Formalization in General Uncomputability

Programming Languages Program Analysis + Synthesis Articial Intelligence Algorithm Design Databases

Formal Systems, Logic Complexity Theory Formal Representation + Reasoning Complexity Theory

Cryptography

You might also like