Lecture 0 (Kani) - Course introduction and languages

Date Pre-lecture slides Post-lecture scribbles Async video Lecture recording
August 27 2024 Lecture 0 (Kani) - Course introduction and languages Lecture 0 (Kani) - Course introduction and languages Lecture 0 (Kani) - Course introduction and languages Lecture 0 (Kani) - Course introduction and languages
 

Notes

Course policies can be found on the website ecealgo.com.

Big Questions

This course is focused on answering three big questions:

 

Two types of complexity

 

Computational Complexity Algorithmic Complexity
Chomsky Hierachy Algorithmic Complexity

 

Why Languages?

Problems need to be represented as languages to be comparable. A language is a set of strings and each string represents and instance of the problem (a specific set of inputs and their corresponding output). For example, the problem of adding two numbers together can be represented by the language:

Problem: Multiplying two integers together

Language: \(L_{MULT2} = \begin{bmatrix} 1 \times 1|1, & 1 \times 2|2, & 1 \times 3|3, \ldots\\ 2 \times 1|2, & 2 \times 2|4, & 2 \times 3|6, \ldots \\ \vdots & \vdots & \vdots \\ n \times 1|n, & n \times 2|2n, & n \times 3|3n, \ldots \\ \end{bmatrix}\)

 

Additional Resources

Contributors

Nickvash Kani