Algorithmic Complexity and Random Strings

Slides:



Advertisements
Similar presentations
MATH 224 – Discrete Mathematics
Advertisements

Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Problem: Give as many proofs as you can for the Pythagorean Theorem. i.e., a 2 + b 2 = c 2 holds for any right triangle with sides a & b and hypotenuse.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
Complexity 7-1 Complexity Andrei Bulatov Complexity of Problems.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
FLAC Lecture 19 Turing Machines and Real Life * Reductions Mihai Budiu March 3, 2000.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages
Humans, Computers, and Computational Complexity J. Winters Brock Nathan Kaplan Jason Thompson.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Chapter 11: Limitations of Algorithmic Power
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Pseudocode.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
Remaining Topics Decidability Concept 4.1 The Halting Problem 4.2
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
Computability Kolmogorov-Chaitin-Solomonoff. Other topics. Homework: Prepare presentations.
Institute for Experimental Physics University of Vienna Institute for Quantum Optics and Quantum Information Austrian Academy of Sciences Undecidability.
Lecture 18. Unsolvability Before the 1930’s, mathematics was not like today. Then people believed that “everything true must be provable”. (More formally,
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All.
Pseudocode. Simple Program Design, Fourth Edition Chapter 2 2 Objectives In this chapter you will be able to: Introduce common words, keywords, and meaningful.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Chapter 11 Theory of Computation. © 2005 Pearson Addison-Wesley. All rights reserved 11-2 Chapter 11: Theory of Computation 11.1 Functions and Their Computation.
ATM, Halting Problem, P vs. NP Chapter 4, 5 & 7. Russel’s Paradox An Index is a book that lists other books in.
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Module #7: Algorithmic Complexity Rosen 5 th ed., §2.3.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
1 Overview of Programming Principles of Computers.
Bringing Together Paradox, Counting, and Computation To Make Randomness! CS Lecture 21 
Recursively Enumerable and Recursive Languages
Chapter 12 Theory of Computation Introduction to CS 1 st Semester, 2014 Sanghyun Park.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
1 Recursively Enumerable and Recursive Languages.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
The Acceptance Problem for TMs
Applied Discrete Mathematics Week 2: Functions and Sequences
Chapter 12: Theory of Computation
COMPUTER ARCHITECTURE AND THE CYNAIDE COATED APPLE.
Introduction to complexity
CSE 311 Foundations of Computing I
Introduction to Algorithms
Ch. 11 Theory of Computation
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
Enough Mathematical Appetizers!
Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.
Other Models of Computation
CSCE Fall 2013 Prof. Jennifer L. Welch.
Computational Complexity
Decidable Languages Costas Busch - LSU.
Applied Discrete Mathematics Week 6: Computation
Algorithm Discovery and Design
Week 5: INTERNAL CRISIS Armahedi Mahzar ICAS Jacarta 2010
Halting Problem.
The Limitations of Proofs: An Incompressible Resolution
CSCE Fall 2012 Prof. Jennifer L. Welch.
Class 24: Computability Halting Problems Hockey Team Logo
Lecture One: Automata Theory Amjad Ali
CO Games Development 2 Week 21 Turing Machines & Computability
Lecture 23: Computability CS200: Computer Science
Presentation transcript:

Algorithmic Complexity and Random Strings Manfred Denker Wojbor A. Woyczyński Presentation for STAT433 Lawrence Leinweber

Algorithmic Complexity ran•dom adj. Having no specific pattern or objective Statistics Does not produce the same outcome every time Relative frequency approaches a stable limit as the number of events increases Each member has an equal chance 1. Is related to algorithmic complexity, 2. (a) is easy (b) equipartitioning (c) too narrow 4/18/07 Algorithmic Complexity

Algorithmic Complexity Examples from Chapter 1 1111111111111111111111111 10101010101010101010101010 10010011100100111001001110010011 011011100101110111100010011010 10111001011111001000000110101001 (a) Is obviously bad (b) is not good (c,d,e) look promising 4/18/07 Algorithmic Complexity

Algorithmic Complexity Examples in Blocks 1111111111111111111111111 10 10 10 10 10 10 10 10 10 10 10 10 10 10010011 10010011 10010011 10010011 0 1 10 11 100 101 110 111 1000 1001 1010 10111001011111001000000110101001 (b,c) are repetitive blocks, (d) looks suspicious, (e) is really random, by computer 4/18/07 Algorithmic Complexity

Mathematical Randomness Martin-Löf Random No features that make the string stand out from typical strings Von Mises Random Frequencies of 0s and 1s are stable Kolmogorov Random The string has a complex minimal description 1. Is very broad, 2. Equipartitioning, 3. Gets to the issue of descriptions 4/18/07 Algorithmic Complexity

Examples in Descriptions 1111111111111111111111111 Always “1” 10 10 10 10 10 10 10 10 10 10 10 10 10 “10” Repeated Forever 10010011 10010011 10010011 10010011 “10010011” Repeated Forever 0 1 10 11 100 101 110 111 1000 1001 1010 Whole Numbers Expressed in Binary 10111001011111001000000110101001 “10111001011111001000000110101001” a) Describes most succinctly, (b,c) are the same but (c) has a longer block description, (d) is interesting: short but sophisticated (e) has no shorter description than itself, but then no description requires much more than that 4/18/07 Algorithmic Complexity

Algorithmic Complexity The Minimum Cost Algorithm to Solve a Problem or Express a Result A Measure of the Difficulty in Time and Storage Space Not Practical to Measure: 1, n, n2, en Leads to Paradoxes 4/18/07 Algorithmic Complexity

Algorithmic Complexity Algorithms as Data John von Neumann Von Neumann Architecture Programs and Data in the Same Kind of Memory Compilers Translate Programs Treat Programs as Data A Suitable Machine Can Read a Text Description of an Algorithm then Perform the Algorithm’s Actions 4/18/07 Algorithmic Complexity

Algorithmic Complexity Turing Machine Machine Consists of: A Tape and a Current Position on the Tape A Program and a Current Step in the Program Machine Can Run Each Step of the Program Depending on the Program Step and Reading the Tape: Move the Position on the Tape Write the Tape Change the Step in the Program Halt Alan Turing 4/18/07 Algorithmic Complexity

Elements of a Turing Machine Tape Storage Device Input / Output Program Executes: In Discrete Steps Loops Decisions 4/18/07 Algorithmic Complexity

Computational Complexity Not Algorithmic Complexity Measure of the Execution Time per n Input Items Big-O Notation: Sorting Requires O(n log n) Time t: t < k n log n, k, n P Class – Polynomial Time: O(nm), m NP Class – Non-Polynomial: O(en), “Intractable” 4/18/07 Algorithmic Complexity

Universal Turing Machine A Turing Machine, Running Any Particular Program, Can Be Simulated on a Universal Turing Machine, by Inputting an Encoding of That Program Model of a General Purpose Computer Programs Can Run on Any Suitable “Platform” 4/18/07 Algorithmic Complexity

Halting Problem (Simplified) Does Program p Halt or Does It Loop Forever? H(p) Begin If p halts then H = true else H = false End Try This Program: Z(p) Begin If H(p) then loop forever else Z = false End If Z(Z) loops, H(Z) = true,  Z halts If Z(Z) halts, H(Z) = false,  Z loops 4/18/07 Algorithmic Complexity

Algorithmic Complexity Gödel Numbering Function That Assigns a Unique Natural Number to Each Symbol and Formula A = { A, … , Z, 0, … , 9, , , , , … } Code(n) Begin While n > 0 Begin n = n – 1; Code = Code + A(n mod |A| + 1); n = n  |A| End End Gödel Numbering of Code(n) is n Kurt Gödel 4/18/07 Algorithmic Complexity

Kolmogorov Complexity Andrey Kolmogorov Kolmogorov Compexity of a Number is the Length of the Shortest Description of the Number Shortdef(i) Begin n = 0; While UTM(Shortdef)  i Begin n = n + 1; ShortDef = Code(n) End End Kolmogorov Complexity of i is |Shortdef(i)| 4/18/07 Algorithmic Complexity

Richard-Berry Paradox “The smallest number that cannot be defined in less than twenty words.” = 12 words Lilbigdef(i) Begin Lilbigdef = 0; While |Shortdef(Lilbigdef)| < i Begin Lilbigdef = Lilbigdef + 1 End End Lilbigdef(1000) Is Defined in < 1000 Symbols 4/18/07 Algorithmic Complexity

Gödel Incompleteness Theorem Turing’s Halting Problem – 1936 Some Problems Are Undecidable Gödel’s Incompleteness Theorem – 1931 In a Mathematical System, Some True Statements about the System That Cannot Be Proven from the System’s Axioms 4/18/07 Algorithmic Complexity

The Fall of Determinism Heisenberg Uncertainty Principle – 1927 Can’t Observe Electron’s Position, Momentum Simultaneously Einstein’s Theory of Special Relativity – 1905 No Simultaneity of Frames of Reference Michelson & Morley – 1887 No Ether Medium for Electromagnetic Waves 4/18/07 Algorithmic Complexity

Algorithmic Complexity Summary Random Phenomena Can Be Characterized by Their Algorithmic Complexity The Minimum Length Algorithm to Describe a Number or Result Leads to Paradoxes Algorithmic Complexity is Related to Important Developments in the History of Computers 4/18/07 Algorithmic Complexity