Automata Theory and Formal Languages

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/21

flashcard set

Earn XP

Description and Tags

Flashcards about Automata Theory and Formal Languages, covering computability and complexity theory.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

22 Terms

1
New cards

What is Computability Theory?

Deals with which problems can be solved on a computer in finite time.

2
New cards

What does it mean for a problem to be 'solved by a computer'?

There exists an algorithm for solving the problem.

3
New cards

What is a Turing machine?

A very simplified machine model, which needs only a few instructions.

4
New cards

What does Church's thesis state?

The class of Turing-computable functions corresponds to the class of intuitive computable functions.

5
New cards

Why is the function f(n) = 1 if n is prime, 0 otherwise, computable?

One can specify an algorithm that solves the problem.

6
New cards

Is the Halting Problem computable?

This function is not computable.

7
New cards

How are functions and languages related in the context of computability?

They can be transferred into each other.

8
New cards

What is Complexity Theory?

Deals with the runtime behavior of algorithms.

9
New cards

What is the runtime complexity of sorting natural numbers?

O(N log N)

10
New cards

What does the exact time/memory requirements of complexity theory depend on?

Input Size, Programming Language, Compiler, and Computer

11
New cards

In Complexity Theory, what is the simplification for abstraction of the concrete computer?

Calculate the number of arithmetic operations (*, /, +, -).

12
New cards

What are the two simplifications used in Complexity Theory?

Relate the number of operations to the input size and ignore constant factors.

13
New cards

What are Landau Symbols?

A formal tool for doing complexity estimations and simplifications such that constant factors can be ignored.

14
New cards

Which Landau Symbol is most often used in Computer Science?

O (big O) is used most often.

15
New cards

What is the formal definition of O(f) in O notation?

{g : R -> R | ∃c > 0 ∃N0 ∀N > N0 |g(N)| ≤ c|f(N)|}

16
New cards

What should we consider when using O Notation?

Factors can be ignored, and just the term that increases most strongly needs to be considered.

17
New cards

What is O(1) complexity?

Constant Complexity (accessing a random field in an array).

18
New cards

What is O(log N) complexity?

Logarithmic Complexity (search in a sorted array).

19
New cards

What is O(N) complexity?

Linear Complexity (search in an unsorted array).

20
New cards

What is O(N log N) complexity?

Super Linear Complexity (sort an array).

21
New cards

What is O(N^2) complexity?

Quadratic Complexity (matrix-vector multiplication).

22
New cards

What is O(2^N) complexity?

Exponential Complexity (decrypt an encrypted message).