Practical and Theoretical Limits In Computing Aleksander Ratzloff and Zachary Andrews.

Slides:



Advertisements
Similar presentations
Chapter 12 Sorting and searching. This chapter discusses n Two fundamental list operations. u Sorting u Searching n Sorted lists. n Selection/bubble sort.
Advertisements

College of Information Technology & Design
Garfield AP Computer Science
Class 25: Security through Complexity? Karsten Nohl cs302: Theory of Computation University of Virginia, Computer Science PS6 is due today. Lorenz cipher.
CompSci 102 Discrete Math for Computer Science
Computational Complexity 1. Time Complexity 2. Space Complexity.
Computer Science CS 330: Algorithms Pre-Quiz Summary Gene Itkis.
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
Parallel Merging Advanced Algorithms & Data Structures Lecture Theme 15 Prof. Dr. Th. Ottmann Summer Semester 2006.
CSE115/ENGR160 Discrete Mathematics 03/10/11
Circuits CSE 373 Data Structures Lecture 22. 3/12/03Circuits - Lecture 222 Readings Reading ›Sections and 9.7.
1 Section 2.3 Complexity of Algorithms. 2 Computational Complexity Measure of algorithm efficiency in terms of: –Time: how long it takes computer to solve.
Chapter Complexity of Algorithms –Time Complexity –Understanding the complexity of Algorithms 1.
Chapter 19: Searching and Sorting Algorithms
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
Algorithm Evaluation. What’s an algorithm? a clearly specified set of simple instructions to be followed to solve a problem a way of doing something What.
ECE 250 Algorithms and Data Structures Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo,
Brief Introduction of Algorithm. What is Algorithm A method with several definite steps to effectively complete a task. In general, it starts from the.
Asymptotic Notation (O, Ω, )
Chapter Algorithms 3.2 The Growth of Functions 3.3 Complexity of Algorithms 3.4 The Integers and Division 3.5 Primes and Greatest Common Divisors.
CS 61B Data Structures and Programming Methodology July 21, 2008 David Sun.
New Mexico Computer Science For All Algorithm Analysis Maureen Psaila-Dombrowski.
Example { 1 – –1} Use Bubble Sort (sort in increasing order} After first pass { –1 50} After Second Pass { } After.
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.
3.3 Complexity of Algorithms
+ Selection Sort Method Joon Hee Lee August 12, 2012.
Sorting.
Module #7: Algorithmic Complexity Rosen 5 th ed., §2.3.
Sorting Algorithm Analysis. Sorting  Sorting is important!  Things that would be much more difficult without sorting: –finding a phone number in the.
Computer Science/Ch. Algorithmic Foundation of CS 4-1 Chapter 4 Chapter 4 Algorithmic Foundation of Computer Science.
Lecture 6 Analysis of Iterative Algorithms Sorting Algorithms.
Course Code #IDCGRF001-A 5.1: Searching and sorting concepts Programming Techniques.
Experimental Study on the Five Sort Algorithms You Yang, Ping Yu, Yan Gan School of Computer and Information Science Chongqing Normal University Chongqing,
QUANTUM COMPUTERS, COMPUTING AND INFORMATION ALAN DURNEV, PHYSICS.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Copyright © 2014 Curt Hill Algorithm Analysis How Do We Determine the Complexity of Algorithms.
Sorting  Selection Sort  Bubble Sort  Insertion Sort  Merge Sort (chap. 14)  Quick Sort (chap. 14)  Heap Sort (chap. 9)
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Lecture S1: Sample Lecture.
Artificial Intelligence and Human Intelligence By: Zully Castaneda and Carol Kohl.
Taxol and the Pacific Yew Tree
CSE15 Discrete Mathematics 03/13/17
Why do we study Theory of Computation ?
Internet Censorship Hazards & Benefits
Big-O notation.
Sorting by Tammy Bailey
Unsolvable Problems December 4, 2017.
Ch. 11 Theory of Computation
Big Ideas in Computer Science
Asynchronous Cryptology: Implementations and Applications
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Objective of This Course
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I
Binary Search and Intro to Sorting
Module #7: Algorithmic Complexity
COSC 320 Advanced Data Structures and Algorithm Analysis
Sorting.
Discrete Mathematics CS 2610
Algorithmic Complexity
Algorithmic Complexity and Random Strings
Discrete Mathematics and its Applications
Module #7: Algorithmic Complexity
Intro to Computer Science CS1510 Dr. Sarah Diesburg
Analysis of Algorithms Growth Rates
Array operations Dr. T. Kokilavani Assistant Professor
Elijah Hursey & Austin Keener Academy of Science Summer Bridge 2013
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
the fourth iteration of this loop is shown here
Algorithms and Data Structures
Presentation transcript:

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 P complexity  x 2 resources o NP complexity  2 x 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 Time required (worst case) Example (worst case) Time required (average case) Example (average case) Linear search n1024n/2512 Binary search 10

Sorting Algorithms Sorting algorithms are used to sort items in a list in a specific order. Algorith m Time required (worst case) Example (worst case) Time required (average case)Example (average case) Selection sort n²n²1024²n²n² Bubble sort n²n²1024²n²n² Insertion sort n²n²1024²n²n² Heap sort1024 * 10 Merge sort 1024 * 10 Quicksortn²n²1024²1024 * 10

Impractical Problems in Computing

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 Multiple microprocessors used to divide up work of a certain computational problem o Problems solved simultaneously and put back together Parallel-Processing-using-WCF

Computer Architecture Quantum Computing introduced in 1982 by Richard Feynman o Qubits hold value of both 0 and 1 o Problems able to be solved faster o 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, Bruen, Aiden A. Cryptography, information theory, and error-correction : a handbook for the 21st century. Wiley-Interscience, Hoboken, NJ, Biham, Eli; Shamir, Adi. Differential Cryptanalysis of the Data Encryption Standard.Springer- Verlag, New York, NY, HowStuffWorks Inc. “How Quantum Computers Work” (Date Accessed 7/26/2012) Imperial College. "A Brief History of Quantum Computing" (Date Accessed: 7/30/12) HowStuffWorks Inc. “How Parallel Processing Works” processing.htm (Date Accessed: 7/28/12) processing.htm

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