This is an audio version of the Wikipedia Article:
https://en.wikipedia.org/wiki/Computational_complexity_theory
00:01:56 1 Computational problems
00:02:06 1.1 Problem instances
00:03:39 1.2 Representing problem instances
00:04:37 1.3 Decision problems as formal languages
00:05:51 1.4 Function problems
00:06:38 1.5 Measuring the size of an instance
00:06:49 2 Machine models and complexity measures
00:08:16 2.1 Turing machine
00:08:27 2.2 Other machine models
00:10:55 2.3 Complexity measures
00:12:00 2.4 Best, worst and average case complexity
00:13:36 2.5 Upper and lower bounds on the complexity of problems
00:15:25 3 Complexity classes
00:16:48 3.1 Defining complexity classes
00:17:07 3.2 Important complexity classes
00:17:16 3.3 Hierarchy theorems
00:19:26 3.4 Reduction
00:19:57 4 Important open problems
00:20:45 4.1 P versus NP problem
00:23:26 4.2 Problems in NP not known to be in P or NP-complete
00:25:36 4.3 Separations between other complexity classes
00:26:17 5 Intractability
00:26:27 6 History
00:27:51 7 See also
00:31:00 8 References
00:32:39 8.1 Citations
00:32:42 8.2 Textbooks
00:35:44 8.3 Surveys
Listening is a more natural way of learning, when compared to reading. Written language only began at around 3200 BC, but spoken language has existed long ago.
Learning by listening is a great way to:
- increases imagination and understanding
- improves your listening skills
- improves your own spoken accent
- learn while on the move
- reduce eye strain
Now learn the vast amount of general knowledge available on Wikipedia through audio (audio article). You could even learn subconsciously by playing the audio while you are sleeping! If you are planning to listen a lot, you could try using a bone conduction headphone, or a standard speaker instead of an earphone.
Listen on Google Assistant through Extra Audio:
https://assistant.google.com/services/invoke/uid/0000001a130b3f91
Other Wikipedia audio articles at:
https://www.youtube.com/results?search_query=wikipedia+tts
Upload your own Wikipedia articles through:
https://github.com/nodef/wikipedia-tts
"There is only one good, knowledge, and one evil, ignorance."
- Socrates
SUMMARY
=======
Computational complexity theory focuses on classifying computational problems according to their inherent difficulty, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm.
A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition, by introducing mathematical models of computation to study these problems and quantifying their computational complexity, i.e., the amount of resources needed to solve them, such as time and storage. Other measures of complexity are also used, such as the amount of communication (used in communication complexity), the number of gates in a circuit (used in circuit complexity) and the number of processors (used in parallel computing). One of the roles of computational complexity theory is to determine the practical limits on what computers can and cannot do. The P versus NP problem, one of the seven Millenium Prize Problems, is dedicated to the field of computational complexity.Closely related fields in theoretical computer science are analysis of algorithms and computability theory. A key distinction between analysis of algorithms and computational complexity theory is that the former is devoted to analyzing the amount of resources needed by a particular algorithm to solve a problem, whereas the latter asks a more general question about all possible algorithms that could be used to solve the same problem. More precisely, computational complexity theory tries to classify problems that can or cannot be solved with appropriately restricted resources. In turn, imposing restrictions on the available resources is what distinguishes computational complexity from computability theory: the latter theory asks what kind of problems can, in principle, be solved algorithmically.