Practical and Theoretical Limits In Computing

Practical and
Theoretical Limits In
Computing
Aleksander Ratzloff and Zachary Andrews
Computational Complexity
•
•
Complexity describes how many resources
are required to solve a problem.
o
These are usually time and space
Problems are categorized into classes
o
o
P complexity
 x2 resources
NP complexity
 2x resources
Practical Problems In
Computing
• Practical problems usually fall under P-
•
•
•
complexity
These include a wide variety of problems
Searching algorithms
Sorting algorithms
Searching Algorithms
• Searching algorithms are used to find a
specific item in a list of items.
Algorithm
Linear
search
Binary
search
Time required
(worst case)
n
Example (worst
case)
1024
Time required (average
case)
n/2
Example (average case)
𝑙𝑜𝑔2 𝑛
10
𝑙𝑜𝑔2 𝑛
10
512
Sorting Algorithms
• Sorting algorithms are used to sort items in a
list in a specific order.
Algorith
m
Selection
sort
Bubble
sort
Insertion
sort
Heap sort
Time required
(worst case)
n²
Example (worst
case)
1024²
Time required (average case)
Example (average case)
n²
1024²
n²
1024²
n²
1024²
n²
1024²
n²
1024²
𝑙𝑜𝑔2 𝑛 ∗ 𝑛
1024 * 10
𝑙𝑜𝑔2 𝑛 ∗ 𝑛
1024 * 10
Merge
sort
Quicksort
𝑙𝑜𝑔2 𝑛 ∗ 𝑛
1024 * 10
𝑙𝑜𝑔2 𝑛 ∗ 𝑛
1024 * 10
n²
1024²
𝑙𝑜𝑔2 𝑛 ∗ 𝑛
1024 * 10
Impractical Problems in
Computing
• Encryption algorithms fall under this
category
o Data encryption standard (DES): 56 bit encryption
o 256
o Advanced encryption standard (AES): 128, 192, or 256 bit
encryption
o 2128 , 2192 , 2256
o
Rivest-Shamir-Adleman (RSA): variable bit size
o
2𝑛
Unsolvable Problem in
Computing
• Problem introduced in 1936 by Alan Turing
• For a given input to a program, it's
impossible to determine if the program will
loop forever or come to a halt.
Computer Architecture
•
Parallel Computing
o
o
Multiple
microprocessors
used to divide up
work of a certain
computational
problem
Problems solved
simultaneously and
put back together
http://www.codeproject.com/Articles/35671/Distributed-andParallel-Processing-using-WCF
Computer Architecture
•
Quantum Computing introduced in 1982 by
Richard Feynman
o
o
o
Qubits hold value of both 0 and 1
Problems able to be solved faster
Cryptographic encryption methods would become
obsolete
Works Cited
•
•
•
•
•
•
•
Rudich, Steven; Wigderson, Avi. Computational Complexity Theory. American Mathematical
Society, Providence, RI, 2004, p. 13, 22.
Sedgewick, Robert; Wayne, Kevin. Algorithms, Fourth Edition. Addison-Wesley Professional,
2011.
Bruen, Aiden A. Cryptography, information theory, and error-correction : a handbook for the 21st
century. Wiley-Interscience, Hoboken, NJ, 2005.
Biham, Eli; Shamir, Adi. Differential Cryptanalysis of the Data Encryption Standard.SpringerVerlag, New York, NY, 1993.
HowStuffWorks Inc. “How Quantum Computers Work”
http://computer.howstuffworks.com/quantum-computer1.htm (Date Accessed 7/26/2012)
Imperial College. "A Brief History of Quantum Computing"
http://www.doc.ic.ac.uk/~nd/surprise_97/journal/vol4/spb3/ (Date Accessed: 7/30/12)
HowStuffWorks Inc. “How Parallel Processing Works” http://www.howstuffworks.com/parallelprocessing.htm (Date Accessed: 7/28/12)
Acknowledgements
Dr. Alexander D. Schwab
Dr. Jennifer Burris
Dr. Barry Kurtz
Dr. Rahman Tashakkori
Appalachian State University
Academy of Science
Summer Bridge Program
National Science Foundation