Bubble Sort & Insertion Sort Algorithms ICS 141: Discrete Mathematics I – Fall 2011 13-3 Practice Exercises University of Hawaii

Total Page:16

File Type:pdf, Size:1020Kb

Bubble Sort & Insertion Sort Algorithms ICS 141: Discrete Mathematics I – Fall 2011 13-3 Practice Exercises University of Hawaii University of Hawaii ICS141: Discrete Mathematics for Computer Science I Dept. Information & Computer Sci., University of Hawaii Jan Stelovsky based on slides by Dr. Baek and Dr. Still Originals by Dr. M. P. Frank and Dr. J.L. Gross Provided by McGraw-Hill ICS 141: Discrete Mathematics I – Fall 2011 13-1 University of Hawaii Lecture 14 Chapter 3. The Fundamentals 3.1 Algorithms ICS 141: Discrete Mathematics I – Fall 2011 13-2 Algorithms University of Hawaii n Previously… n Characteristics of algorithms n Pseudocode n Examples: Max algorithm n Today… n Examples: Sum algorithm n Problem of searching an ordered list n Linear search & binary search algorithms n Sorting problem n Bubble sort & insertion sort algorithms ICS 141: Discrete Mathematics I – Fall 2011 13-3 Practice Exercises University of Hawaii n Devise an algorithm that finds the sum of all the integers in a list. n procedure sum(a1, a2, …, an: integers) s := 0 {sum of elements so far} for i := 1 to n {go thru all elements} s := s + ai {add current item} {now s is the sum of all items} return s ICS 141: Discrete Mathematics I – Fall 2011 13-4 Searching Algorithms University of Hawaii n Problem of searching an ordered list. n Given a list L of n elements that are sorted into a definite order (e.g., numeric, alphabetical), n And given a particular element x, n Determine whether x appears in the list, n And if so, return its index (position) in the list. n Problem occurs often in many contexts. n Let’s find an efficient algorithm! ICS 141: Discrete Mathematics I – Fall 2011 13-5 Linear Search (Naïve) University of Hawaii {Given a list of integers and an integer x to look up, returns the index of x within the list or 0 if x is not in the list} procedure linear_search (x: integer, a1, a2, …, an: distinct integers) i := 1 {start at beginning of list} while (i ≤ n ∧ x ≠ ai) {not done and not found} i := i + 1 {go to the next position} if i ≤ n then index := i {it was found} else index := 0 {it wasn’t found} return index {index where found or 0 if not found} ICS 141: Discrete Mathematics I – Fall 2011 13-6 Alg. #2: Binary Search University of Hawaii n Basic idea: At each step, look at the middle element of the remaining list to eliminate half of it, and quickly zero in on the desired element. <x <x <x >x ICS 141: Discrete Mathematics I – Fall 2011 13-7 Search Alg. #2: Binary SearchUniversity of Hawaii procedure binary_search (x: integer, a1, a2, …, an: increasing integers) i := 1 {left endpoint of search interval} j := n {right endpoint of search interval} while i < j begin {while interval has > 1 item} m := ⎣(i + j)/2⎦ {midpoint} if x > am then i := m + 1 else j := m end if x = ai then location := i else location := 0 return location {index or 0 if not found} ICS 141: Discrete Mathematics I – Fall 2011 13-8 Search Example University of Hawaii n Search for 19 in the list Index: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1, 2, 3, 5, 6, 7, 8, 10, 12, 13, 15, 16, 18, 19, 20, 22 i i i j j n using linear search i n using binary search n Entering while loop: i = 1, j = 16 n m = ⎣(i+j)/2⎦ = ⎣(1+16)/2⎦ = ⎣8.5⎦ = 8, i = 9, j = 16 n m = ⎣(i+j)/2⎦ = ⎣(9+16)/2⎦ = ⎣12.5⎦ = 12, i = 13, j = 16 n m = ⎣(i+j)/2⎦ = ⎣(13+16)/2⎦ = ⎣14.5⎦ = 14, i = 13, j = 14 n m = ⎣(i+j)/2⎦ = ⎣(13+14)/2⎦ = ⎣13.5⎦ = 13, i = 14, j = 14 n Exit loop ICS 141: Discrete Mathematics I – Fall 2011 13-9 Sorting Algorithms University of Hawaii n Sorting is common in many applications. n E.g. spreadsheets and databases n We can search quickly when data is odrered! n Sorting is also widely used as a subroutine in other data-processing algorithms. n Two sorting algorithms shown in textbook: However, these are not n Bubble sort very efficient, and you should n Insertion sort not use them on large data sets! We’ll see some more efficient algorithms later in the course. ICS 141: Discrete Mathematics I – Fall 2011 13-10 Bubble Sort University of Hawaii n Smaller elements “float” up to the top of the list, like bubbles in a container of liquid, and the larger elements “sink” to the bottom. ICS 141: Discrete Mathematics I – Fall 2011 13-11 Bubble Sort Algorithm University of Hawaii procedure bubble_sort (a1, a2, …, an: real numbers, n ≥ 2) for i := 1 to n – 1 {iterate n – 1 passes} for j := 1 to n – i if aj > aj+1 then interchange aj and aj+1 {an-i+1, …, an is sorted and ≤ a1, …, an-i} {a1, a2, …, an is sorted} n Example 4: Use the bubble sort to put 3, 2, 4, 1, 5 into increasing order. (See previous slide) ICS 141: Discrete Mathematics I – Fall 2011 13-12 Insertion Sort University of Hawaii n English description of algorithm: n Start with the second element, for each item in the input list: n “Insert” it into the correct place in the sorted output list generated so far. Like so: n Find the location where the new item should be inserted using linear or binary search. n Then, shift the items from that position onwards up by one position. n Put the new item in the remaining hole. ICS 141: Discrete Mathematics I – Fall 2011 13-13 Insertion Sort Example University of Hawaii n Use the insertion sort to put 3, 2, 4, 1, 5 into increasing order nd n Insert the 2 element 2 in the right position: n 3 > 2 ⇒ put 2 in front of 3. ⇒ 2, 3, 4, 1, 5 rd n Insert the 3 element 4 in the right position: n 4 > 2 ⇒ do nothing. Move to the next comparison. n 4 > 3 ⇒ do nothing. Done. ⇒ 2, 3, 4, 1, 5 th n Insert the 4 element 1 in the right position: n 2 > 1 ⇒ put 1 in front of 2. ⇒ 1, 2, 3, 4, 5 th n Insert the 5 element 5 in the right position: n 5 > 1 ⇒ do nothing. Move to the next comparison. n 5 > 2 ⇒ do nothing. Move to the next comparison. n 5 > 3 ⇒ do nothing. Move to the next comparison. n 5 > 4 ⇒ do nothing. Done. ⇒ 1, 2, 3, 4, 5 ICS 141: Discrete Mathematics I – Fall 2011 13-14 Insertion Sort Algorithm University of Hawaii procedure insertion_sort (a1, a2, …, an: real numbers, n ≥ 2) for i := 2 to n begin m := ai {the element to be inserted} j := 1 while aj < m {look for the index of the hole with j } j := j + 1 {now a1, …, aj-1 < m ≤ aj, …, ai } {the hole is at j; j ≤ i, i.e. possibly j = i } for k := j + 1 to i ak := ak+1 ai := m {a1, a2, …, ai are sorted in increasing order} end {a1, a2, …, an are sorted in increasing order} ICS 141: Discrete Mathematics I – Fall 2011 13-15 Efficiency of Algorithms University of Hawaii n Intuitively we see that binary search is much faster than linear search, n Also, we may see that insertion sort is better than bubblesort in some cases (why? when?), n But how do we analyze the efficiency of algorithms formally? n Use methods of algorithmic complexity, which utilize the order-of-growth concepts ICS 141: Discrete Mathematics I – Fall 2011 13-16 .
Recommended publications
  • Simulating Quantum Field Theory with a Quantum Computer
    Simulating quantum field theory with a quantum computer John Preskill Lattice 2018 28 July 2018 This talk has two parts (1) Near-term prospects for quantum computing. (2) Opportunities in quantum simulation of quantum field theory. Exascale digital computers will advance our knowledge of QCD, but some challenges will remain, especially concerning real-time evolution and properties of nuclear matter and quark-gluon plasma at nonzero temperature and chemical potential. Digital computers may never be able to address these (and other) problems; quantum computers will solve them eventually, though I’m not sure when. The physics payoff may still be far away, but today’s research can hasten the arrival of a new era in which quantum simulation fuels progress in fundamental physics. Frontiers of Physics short distance long distance complexity Higgs boson Large scale structure “More is different” Neutrino masses Cosmic microwave Many-body entanglement background Supersymmetry Phases of quantum Dark matter matter Quantum gravity Dark energy Quantum computing String theory Gravitational waves Quantum spacetime particle collision molecular chemistry entangled electrons A quantum computer can simulate efficiently any physical process that occurs in Nature. (Maybe. We don’t actually know for sure.) superconductor black hole early universe Two fundamental ideas (1) Quantum complexity Why we think quantum computing is powerful. (2) Quantum error correction Why we think quantum computing is scalable. A complete description of a typical quantum state of just 300 qubits requires more bits than the number of atoms in the visible universe. Why we think quantum computing is powerful We know examples of problems that can be solved efficiently by a quantum computer, where we believe the problems are hard for classical computers.
    [Show full text]
  • Geometric Algorithms
    Geometric Algorithms primitive operations convex hull closest pair voronoi diagram References: Algorithms in C (2nd edition), Chapters 24-25 http://www.cs.princeton.edu/introalgsds/71primitives http://www.cs.princeton.edu/introalgsds/72hull 1 Geometric Algorithms Applications. • Data mining. • VLSI design. • Computer vision. • Mathematical models. • Astronomical simulation. • Geographic information systems. airflow around an aircraft wing • Computer graphics (movies, games, virtual reality). • Models of physical world (maps, architecture, medical imaging). Reference: http://www.ics.uci.edu/~eppstein/geom.html History. • Ancient mathematical foundations. • Most geometric algorithms less than 25 years old. 2 primitive operations convex hull closest pair voronoi diagram 3 Geometric Primitives Point: two numbers (x, y). any line not through origin Line: two numbers a and b [ax + by = 1] Line segment: two points. Polygon: sequence of points. Primitive operations. • Is a point inside a polygon? • Compare slopes of two lines. • Distance between two points. • Do two line segments intersect? Given three points p , p , p , is p -p -p a counterclockwise turn? • 1 2 3 1 2 3 Other geometric shapes. • Triangle, rectangle, circle, sphere, cone, … • 3D and higher dimensions sometimes more complicated. 4 Intuition Warning: intuition may be misleading. • Humans have spatial intuition in 2D and 3D. • Computers do not. • Neither has good intuition in higher dimensions! Is a given polygon simple? no crossings 1 6 5 8 7 2 7 8 6 4 2 1 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 2 18 4 18 4 19 4 19 4 20 3 20 3 20 1 10 3 7 2 8 8 3 4 6 5 15 1 11 3 14 2 16 we think of this algorithm sees this 5 Polygon Inside, Outside Jordan curve theorem.
    [Show full text]
  • Research Statement
    D. A. Williams II June 2021 Research Statement I am an algebraist with expertise in the areas of representation theory of Lie superalgebras, associative superalgebras, and algebraic objects related to mathematical physics. As a post- doctoral fellow, I have extended my research to include topics in enumerative and algebraic combinatorics. My research is collaborative, and I welcome collaboration in familiar areas and in newer undertakings. The referenced open problems here, their subproblems, and other ideas in mind are suitable for undergraduate projects and theses, doctoral proposals, or scholarly contributions to academic journals. In what follows, I provide a technical description of the motivation and history of my work in Lie superalgebras and super representation theory. This is then followed by a description of the work I am currently supervising and mentoring, in combinatorics, as I serve as the Postdoctoral Research Advisor for the Mathematical Sciences Research Institute's Undergraduate Program 2021. 1 Super Representation Theory 1.1 History 1.1.1 Superalgebras In 1941, Whitehead dened a product on the graded homotopy groups of a pointed topological space, the rst non-trivial example of a Lie superalgebra. Whitehead's work in algebraic topol- ogy [Whi41] was known to mathematicians who dened new graded geo-algebraic structures, such as -graded algebras, or superalgebras to physicists, and their modules. A Lie superalge- Z2 bra would come to be a -graded vector space, even (respectively, odd) elements g = g0 ⊕ g1 Z2 found in (respectively, ), with a parity-respecting bilinear multiplication termed the Lie g0 g1 superbracket inducing1 a symmetric intertwining map of -modules.
    [Show full text]
  • Introduction to Computational Social Choice
    1 Introduction to Computational Social Choice Felix Brandta, Vincent Conitzerb, Ulle Endrissc, J´er^omeLangd, and Ariel D. Procacciae 1.1 Computational Social Choice at a Glance Social choice theory is the field of scientific inquiry that studies the aggregation of individual preferences towards a collective choice. For example, social choice theorists|who hail from a range of different disciplines, including mathematics, economics, and political science|are interested in the design and theoretical evalu- ation of voting rules. Questions of social choice have stimulated intellectual thought for centuries. Over time the topic has fascinated many a great mind, from the Mar- quis de Condorcet and Pierre-Simon de Laplace, through Charles Dodgson (better known as Lewis Carroll, the author of Alice in Wonderland), to Nobel Laureates such as Kenneth Arrow, Amartya Sen, and Lloyd Shapley. Computational social choice (COMSOC), by comparison, is a very young field that formed only in the early 2000s. There were, however, a few precursors. For instance, David Gale and Lloyd Shapley's algorithm for finding stable matchings between two groups of people with preferences over each other, dating back to 1962, truly had a computational flavor. And in the late 1980s, a series of papers by John Bartholdi, Craig Tovey, and Michael Trick showed that, on the one hand, computational complexity, as studied in theoretical computer science, can serve as a barrier against strategic manipulation in elections, but on the other hand, it can also prevent the efficient use of some voting rules altogether. Around the same time, a research group around Bernard Monjardet and Olivier Hudry also started to study the computational complexity of preference aggregation procedures.
    [Show full text]
  • Introduction to Computational Social Choice Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D
    Introduction to Computational Social Choice Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D. Procaccia To cite this version: Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D. Procaccia. Introduction to Computational Social Choice. Felix Brandt, Vincent Conitzer, Ulle Endriss, Jérôme Lang, Ariel D. Procaccia, Handbook of Computational Social Choice, Cambridge University Press, pp.1-29, 2016, 9781107446984. 10.1017/CBO9781107446984. hal-01493516 HAL Id: hal-01493516 https://hal.archives-ouvertes.fr/hal-01493516 Submitted on 21 Mar 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. 1 Introduction to Computational Social Choice Felix Brandta, Vincent Conitzerb, Ulle Endrissc, J´er^omeLangd, and Ariel D. Procacciae 1.1 Computational Social Choice at a Glance Social choice theory is the field of scientific inquiry that studies the aggregation of individual preferences towards a collective choice. For example, social choice theorists|who hail from a range of different disciplines, including mathematics, economics, and political science|are interested in the design and theoretical evalu- ation of voting rules. Questions of social choice have stimulated intellectual thought for centuries. Over time the topic has fascinated many a great mind, from the Mar- quis de Condorcet and Pierre-Simon de Laplace, through Charles Dodgson (better known as Lewis Carroll, the author of Alice in Wonderland), to Nobel Laureates such as Kenneth Arrow, Amartya Sen, and Lloyd Shapley.
    [Show full text]
  • Randnla: Randomized Numerical Linear Algebra
    review articles DOI:10.1145/2842602 generation mechanisms—as an algo- Randomization offers new benefits rithmic or computational resource for the develop ment of improved algo- for large-scale linear algebra computations. rithms for fundamental matrix prob- lems such as matrix multiplication, BY PETROS DRINEAS AND MICHAEL W. MAHONEY least-squares (LS) approximation, low- rank matrix approxi mation, and Lapla- cian-based linear equ ation solvers. Randomized Numerical Linear Algebra (RandNLA) is an interdisci- RandNLA: plinary research area that exploits randomization as a computational resource to develop improved algo- rithms for large-scale linear algebra Randomized problems.32 From a foundational per- spective, RandNLA has its roots in theoretical computer science (TCS), with deep connections to mathemat- Numerical ics (convex analysis, probability theory, metric embedding theory) and applied mathematics (scientific computing, signal processing, numerical linear Linear algebra). From an applied perspec- tive, RandNLA is a vital new tool for machine learning, statistics, and data analysis. Well-engineered implemen- Algebra tations have already outperformed highly optimized software libraries for ubiquitous problems such as least- squares,4,35 with good scalability in par- allel and distributed environments. 52 Moreover, RandNLA promises a sound algorithmic and statistical foundation for modern large-scale data analysis. MATRICES ARE UBIQUITOUS in computer science, statistics, and applied mathematics. An m × n key insights matrix can encode information about m objects ˽ Randomization isn’t just used to model noise in data; it can be a powerful (each described by n features), or the behavior of a computational resource to develop discretized differential operator on a finite element algorithms with improved running times and stability properties as well as mesh; an n × n positive-definite matrix can encode algorithms that are more interpretable in the correlations between all pairs of n objects, or the downstream data science applications.
    [Show full text]
  • Mechanism, Mentalism, and Metamathematics Synthese Library
    MECHANISM, MENTALISM, AND METAMATHEMATICS SYNTHESE LIBRARY STUDIES IN EPISTEMOLOGY, LOGIC, METHODOLOGY, AND PHILOSOPHY OF SCIENCE Managing Editor: JAAKKO HINTIKKA, Florida State University Editors: ROBER T S. COHEN, Boston University DONALD DAVIDSON, University o/Chicago GABRIEL NUCHELMANS, University 0/ Leyden WESLEY C. SALMON, University 0/ Arizona VOLUME 137 JUDSON CHAMBERS WEBB Boston University. Dept. 0/ Philosophy. Boston. Mass .• U.S.A. MECHANISM, MENT ALISM, AND MET AMA THEMA TICS An Essay on Finitism i Springer-Science+Business Media, B.V. Library of Congress Cataloging in Publication Data Webb, Judson Chambers, 1936- CII:J Mechanism, mentalism, and metamathematics. (Synthese library; v. 137) Bibliography: p. Includes indexes. 1. Metamathematics. I. Title. QA9.8.w4 510: 1 79-27819 ISBN 978-90-481-8357-9 ISBN 978-94-015-7653-6 (eBook) DOl 10.1007/978-94-015-7653-6 All Rights Reserved Copyright © 1980 by Springer Science+Business Media Dordrecht Originally published by D. Reidel Publishing Company, Dordrecht, Holland in 1980. Softcover reprint of the hardcover 1st edition 1980 No part of the material protected by this copyright notice may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording or by any informational storage and retrieval system, without written permission from the copyright owner TABLE OF CONTENTS PREFACE vii INTRODUCTION ix CHAPTER I / MECHANISM: SOME HISTORICAL NOTES I. Machines and Demons 2. Machines and Men 17 3. Machines, Arithmetic, and Logic 22 CHAPTER II / MIND, NUMBER, AND THE INFINITE 33 I. The Obligations of Infinity 33 2. Mind and Philosophy of Number 40 3. Dedekind's Theory of Arithmetic 46 4.
    [Show full text]
  • A Mathematical Analysis of Student-Generated Sorting Algorithms Audrey Nasar
    The Mathematics Enthusiast Volume 16 Article 15 Number 1 Numbers 1, 2, & 3 2-2019 A Mathematical Analysis of Student-Generated Sorting Algorithms Audrey Nasar Let us know how access to this document benefits ouy . Follow this and additional works at: https://scholarworks.umt.edu/tme Recommended Citation Nasar, Audrey (2019) "A Mathematical Analysis of Student-Generated Sorting Algorithms," The Mathematics Enthusiast: Vol. 16 : No. 1 , Article 15. Available at: https://scholarworks.umt.edu/tme/vol16/iss1/15 This Article is brought to you for free and open access by ScholarWorks at University of Montana. It has been accepted for inclusion in The Mathematics Enthusiast by an authorized editor of ScholarWorks at University of Montana. For more information, please contact [email protected]. TME, vol. 16, nos.1, 2&3, p. 315 A Mathematical Analysis of student-generated sorting algorithms Audrey A. Nasar1 Borough of Manhattan Community College at the City University of New York Abstract: Sorting is a process we encounter very often in everyday life. Additionally it is a fundamental operation in computer science. Having been one of the first intensely studied problems in computer science, many different sorting algorithms have been developed and analyzed. Although algorithms are often taught as part of the computer science curriculum in the context of a programming language, the study of algorithms and algorithmic thinking, including the design, construction and analysis of algorithms, has pedagogical value in mathematics education. This paper will provide an introduction to computational complexity and efficiency, without the use of a programming language. It will also describe how these concepts can be incorporated into the existing high school or undergraduate mathematics curriculum through a mathematical analysis of student- generated sorting algorithms.
    [Show full text]
  • Discrete Mathematics Discrete Probability
    Introduction Probability Theory Discrete Mathematics Discrete Probability Prof. Steven Evans Prof. Steven Evans Discrete Mathematics Introduction Probability Theory 7.1: An Introduction to Discrete Probability Prof. Steven Evans Discrete Mathematics Introduction Probability Theory Finite probability Definition An experiment is a procedure that yields one of a given set os possible outcomes. The sample space of the experiment is the set of possible outcomes. An event is a subset of the sample space. Laplace's definition of the probability p(E) of an event E in a sample space S with finitely many equally possible outcomes is jEj p(E) = : jSj Prof. Steven Evans Discrete Mathematics By the product rule, the number of hands containing a full house is the product of the number of ways to pick two kinds in order, the number of ways to pick three out of four for the first kind, and the number of ways to pick two out of the four for the second kind. We see that the number of hands containing a full house is P(13; 2) · C(4; 3) · C(4; 2) = 13 · 12 · 4 · 6 = 3744: Because there are C(52; 5) = 2; 598; 960 poker hands, the probability of a full house is 3744 ≈ 0:0014: 2598960 Introduction Probability Theory Finite probability Example What is the probability that a poker hand contains a full house, that is, three of one kind and two of another kind? Prof. Steven Evans Discrete Mathematics Introduction Probability Theory Finite probability Example What is the probability that a poker hand contains a full house, that is, three of one kind and two of another kind? By the product rule, the number of hands containing a full house is the product of the number of ways to pick two kinds in order, the number of ways to pick three out of four for the first kind, and the number of ways to pick two out of the four for the second kind.
    [Show full text]
  • Why Theory of Quantum Computing Should Be Based on Finite Mathematics Felix Lev
    Why Theory of Quantum Computing Should be Based on Finite Mathematics Felix Lev To cite this version: Felix Lev. Why Theory of Quantum Computing Should be Based on Finite Mathematics. 2018. hal-01918572 HAL Id: hal-01918572 https://hal.archives-ouvertes.fr/hal-01918572 Preprint submitted on 11 Nov 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Why Theory of Quantum Computing Should be Based on Finite Mathematics Felix M. Lev Artwork Conversion Software Inc., 1201 Morningside Drive, Manhattan Beach, CA 90266, USA (Email: [email protected]) Abstract We discuss finite quantum theory (FQT) developed in our previous publica- tions and give a simple explanation that standard quantum theory is a special case of FQT in the formal limit p ! 1 where p is the characteristic of the ring or field used in FQT. Then we argue that FQT is a more natural basis for quantum computing than standard quantum theory. Keywords: finite mathematics, quantum theory, quantum computing 1 Motivation Classical computer science is based on discrete mathematics for obvious reasons. Any computer can operate only with a finite number of bits, a bit represents the minimum amount of information and the notions of one half of the bit, one third of the bit etc.
    [Show full text]
  • A History of Modern Numerical Linear Algebra
    Gene Golub, Stanford University 1 A History of Modern Numerical Linear Algebra Gene H. Golub Stanford University Gene Golub, Stanford University 2 What is Numerical Analysis? (a.k.a Scientific Computing) The definitions are becoming shorter... Webster’s New Collegiate Dictionary (1973): • ”The study of quantitative approximations to the solutions of mathematical problems including consideration of the errors and bounds to the errors involved.” The American Heritage Dictionary (1992): • ”The study of approximate solutions to mathematical problems, taking into account the extent of possible errors.” L. N. Trefethen, Oxford University (1992): • ”The study of algorithms for the problems of continuous mathematics.” Gene Golub, Stanford University 3 Numerical Analysis: How It All Started Numerical analysis motivated the development of the earliest computers. Ballistics • Solution of PDE’s • Data Analysis • Early pioneers included: J. von Neumann, A. M. Turing In the beginning... von Neumann & Goldstine (1947): ”Numerical Inversion of Matrices of High Order” Gene Golub, Stanford University 4 Numerical Linear Algebra Numerical Linear Algebra (NLA) is a small but active area of research: Less than 200 active, committed persons. But the community involves many scientists. Gene Golub, Stanford University 5 Top Ten Algorithms in Science (Jack Dongarra, 2000) 1. Metropolis Algorithm for Monte Carlo 2. Simplex Method for Linear Programming 3. Krylov Subspace Iteration Methods 4. The Decompositional Approach to Matrix Computations 5. The Fortran Optimizing Compiler 6. QR Algorithm for Computing Eigenvalues 7. Quicksort Algorithm for Sorting 8. Fast Fourier Transform 9. Integer Relation Detection 10. Fast Multipole Method Red: Algorithms within the exclusive domain of NLA research. • Blue: Algorithms strongly (though not exclusively) connected to NLA research.
    [Show full text]
  • Complexity of Some Problems from the Theory of Automata
    INFORMATION AND CONTROL 66, 163-176 (1985) Complexity of Some Problems from the Theory of Automata JACQUES STERN DOpartement de Mathdmatiques, UniversitO de Caen, Caen, France INTRODUCTION 1.1. Given a finite alphabet L', the regular events over X are those accepted by a finite-state automaton. By Kleene's theorem, a subset W of S* is a regular event if and only if it can be constructed from the finite- word sets by boolean operations together with concatenation and *- operation. In some sense, the regular events are quite simple because they are accepted by a machine with no storage capacity. Nevertheless, in recent years, much attention has been paid to special subclasses of the class of regular events; in this paper, we shall be concerned with star-free events, events of dot-depth one and piecewise testable events. Star-free events are constructed like regular events from the finite-word sets but with the restriction that the *-operation is not allowed; .events of dot-depth one and piecewise testable events are star free of a very simple form and will be defined below; star-free events have been characterized in the work of Schiitzenberger (1965) in terms of their syntactic monoid; algebraic characterizations of the other two classes have been given (Simon, 1975; Knast, 1983). From an algorithmic point of view, these algebraic characterizations do not yield efficient procedures because computing the syntactic monoid of a regular event given, e.g., by an automaton is obviously time consuming. In this paper, we investigate the complexity of three problems which we now describe in the style of (Garey and Johnson, 1979).
    [Show full text]