Top 10 Algorithms of 20th and 21st Century

MATH 595 (Section TTA)

Fall 2014

TR 2:00 pm - 3:20 pm, Room 341 Altgeld Hall
University of Illinois at Urbana-Champaign, Department of Mathematics

Instructors : Yuliy Baryshnikov and Anil N. Hirani


Schedule:
In bold below are the main algorithm lectures. Other lectures are reports on applications/extensions/related topics and algorithms.
08/26 Introduction
08/28 Metropolis
09/02 Integer relations detection
09/04 Simplex algorithm for linear programming
09/09 LU decomposition for solving linear systems
09/11 Quicksort
09/16 Metropolis application to physical problem
09/18 QR decomposition and least squares
09/23 ...
09/25 Conjugate gradients
09/30 LP duality, image segmentation using LP
10/02 Kalman filter
10/07 Interior point methods, max-flow, other LP applications
10/09 Kalman filter contd.
10/14 Particle filters; Bloom filter
10/16 Bloom filter contd.; LLL basis reduction
10/21 LLL basis reduction contd.
10/23 Iterative linear solvers
10/28 QR iteration for eigenvalue computation
10/30 Fast Fourier Transform
11/04 Multi-pivot quicksort
11/06 Metropolis applications
11/11 ...
11/13 FFT applications
11/18 Isospectral domains and spectrum computation
11/20 FFT applications
11/25 [Fall break]
11/27 [Fall break]
12/02 Introduction to parallel algorithms
12/04 Fast multipole method
12/09 Bloom filter applications

Description: In January 2000, Computing in Science and Engineering magazine published a list of 10 algorithms which (in their words) had the "greatest influence on the development and practice of science and engineering in the 20th century". With an eye towards the future we have prepared a slightly modified list of Top 10 algorithms which we will study in this class.

There will be approximately 2-3 sessions (lecture/discussion) on each algorithm. The first session for each algorithm will be a lecture by the instructors. In it we will give an overview of the algorithm and its applications and provide the relevant reading list and programming suggestions. Later sessions on that algorithm will largely be student-led and moderated by the instructors. For each algorithm there will be a team of 3 students working with the instructors : a historian, a programmer and a scribe.

The historian will have primary responsibility for leading the survey of the literature, the programmer will do the computer experiments, and scribe will record the material collected and presented by that team.

List of algorithms:

  • Metropolis algorithm for Monte Carlo (with Gibbs sampler)
  • Integer relation detection (PSLQ, LLL and related algorithms)
  • Simplex method for linear programming (with interior point methods)
  • Matrix factorization algorithms for solving linear systems and least squares
  • Quicksort
  • Conjugate gradients and Krylov subspace methods for solving linear systems
  • Bloom filter
  • QR algorithm for eigen computations
  • Fast Fourier transform
  • Fast multipole method

Readings: Reading material is available on U of I Box. You will need a U of I Box account. (This is different from a general Box account that you might have signed up for directly with Box.) Once you have a U of I box account you can download the readings.

Grading: Grading will be based on class participation and project.

Computing environment: The programmer in each team of 3 will have to do some programming. For a course like this we prefer Python (and occasionally MATLAB). Sage is basically Python so that works too. Any code we provide will be in Python (and perhaps sometimes in MATLAB). Students are free to use any programming environment. In addition to or instead of Python/Sage, students are free to use MATLAB/Octave, C/C++, Java, Fortran, Mathematica or any other programming environment.

Prerequisite: Calculus and linear algebra. Programming is not a prerequisite for everyone (we need about a third of the students to know some programming).

Announcements: will be posted on Compass.

Contacts:
Anil N. Hirani, email
375 Altgeld Hall

Yuliy Baryshnikov, email
302 Altgeld Hall

Top 10 Algorithms of 20th and 21st Century的更多相关文章

  1. Top 10 Algorithms for Coding Interview--reference

    By X Wang Update History:Web Version latest update: 4/6/2014PDF Version latest update: 1/16/2014 The ...

  2. 转:Top 10 Algorithms for Coding Interview

    The following are top 10 algorithms related concepts in coding interview. I will try to illustrate t ...

  3. 18 Candidates for the Top 10 Algorithms in Data Mining

    Classification============== #1. C4.5 Quinlan, J. R. 1993. C4.5: Programs for Machine Learning.Morga ...

  4. Favorites of top 10 rules for success

    Dec. 31, 2015 Stayed up to last minute of 2015, 12:00am, watching a few of videos about top 10 rules ...

  5. 译注(2): How to Write a 21st Century Proof

    原文:Computer Scientist Tells Mathematicians How To Write Proofs 对比一下下面两个证明哪个更好? 版本一: "A square a ...

  6. Top 10 Methods for Java Arrays

    作者:X Wang 出处:http://www.programcreek.com/2013/09/top-10-methods-for-java-arrays/ 转载文章,转载请注明作者和出处 The ...

  7. Top 10 Universities for Artificial Intelligence

    1. Massachusetts Institute of Technology, Cambridge, MA Massachusetts Institute of Technology is a p ...

  8. Top 10 Free Wireless Network hacking/monitoring tools for ethical hackers and businesses

    There are lots of free tools available online to get easy access to the WiFi networks intended to he ...

  9. TOP 10开源的推荐系统简介

    最近这两年推荐系统特别火,本文搜集整理了一些比较好的开源推荐系统,即有轻量级的适用于做研究的SVDFeature.LibMF.LibFM等,也有重量级的适用于工业系统的 Mahout.Oryx.Eas ...

随机推荐

  1. floyd算法&迪杰斯特拉算法

    ; k<=n; k++) ; i<=n; i++) ; j<=n; j++) { gra[i][j]=min(gra[i][j],gra[i][k]+gra[k][j]); } vo ...

  2. 【Code::Blocks】windows 环境下编译 Code::Blocks(已修正)

    Code::Blocks 在2012-11-25发布了最新的12.11版本,相比上一个版本(10.05),Code::Blocks 进行了许多改进和更新(Change log). 引用 Wikiped ...

  3. Delphi之Raise抛出异常

    相关资料: http://blog.csdn.net/a20071426/article/details/10160171 实例代码: unit Unit1; interface uses Windo ...

  4. oracle存储过程函数

    1.函数 create or replace function get_Destroy_no return varchar2 is Result varchar2(50);begin SELECT m ...

  5. MDI多文档窗体续

    private void 加载窗体_Click(object sender, EventArgs e) { Form2 frm = new Form2();//实例化 Form2 frm.MdiPar ...

  6. NAT--Network Address Translator

    定义 Nat用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术.除了转换IP地址外,还出现了可以转换TCP.UDP端口号的NAPT(Network Address Ports Tr ...

  7. Java范型之T extends Comparable<? super T>

    在观察Java源码的时候,发现了这么一个写法T extends Comparable<? super T>.不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着 ...

  8. 2015 Multi-University Training Contest 5 1009 MZL's Border

    MZL's Border Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5351 Mean: 给出一个类似斐波那契数列的字符串序列 ...

  9. ubuntu14.04中安装jdk

    1. 下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 将下载的 .g ...

  10. 360 奇酷行车记录仪12967p 安霸a7

    http://www.qikoo.com/che?utm_source=xingchejiluyi_360daohang_xialareci_0528&utm_medium=inside ht ...