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. Windows Phone Unit Test 环境搭建

    单元测试对工程质量带来的作用就不详细说明了,本文只讨论如何在WP开发环境下搭建测试工程     历史 从WP7时代官方是不支持UnitTest工程的,因此需要采用WPToolkitTest这个工程来实 ...

  2. 基于HTML5坦克大战游戏简化版

    之前我们有分享过不少经典的HTML5游戏,有些还是很有意思的,比如HTML5版切水果游戏和HTML5中国象棋游戏.今天要分享的是一款简化版的HTML5坦克大战游戏,方向键控制坦克的行进方向,空格键发射 ...

  3. python 反编译模块uncompyle2的使用--附破解wingide5 方法

    原来一直用pycharm,无奈它常常无法使用.来訪问一些模块的属性,朋友推荐了wingide,于是去官网下载了wingide5的最新版本号,仅仅有10天的试用期,就想能否用python的uncompy ...

  4. C语言 · 打印1~100间的质数(素数)

    算法提高 c++_ch02_04   时间限制:1.0s   内存限制:256.0MB      问题描述 输出1~100间的质数并显示出来.注意1不是质数. 输出格式 每行输出一个质数. 2 3 . ...

  5. C语言 · 数组查找及替换

    算法训练 数组查找及替换   时间限制:1.0s   内存限制:512.0MB      问题描述 给定某整数数组和某一整数b.要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序. ...

  6. PHP——数组2(数组函数,二维数组,正则表达式)

    <body> <?php //数组函数 $arr=array(1,2,3,4,5,6); print_r($arr); echo "<br />"; ...

  7. Bitmap转灰度字节数组byte[]

    工作中遇到图片转灰度数组的须要,经过研究和大神的指导.终于得到例如以下两个方法.能够实现位图转灰度数组 简单的位图转灰度数组就是:得到位图中的每一个像素点,然后依据像素点得到RGB值,最后对RGB值, ...

  8. asp.net 简单分页打印

    <html> <head> <title>看看</title> <meta http-equiv="Content-Type" ...

  9. selenuim爬虫实战(日lofter.com)

    LOFTER是网易公司2011年8月下旬推出的一款轻博客产品. LOFTER专注于为用户提供简约.易用.有品质.重原创的博客工具.原创社区,以及有品质的手机博客应用. LOFTER首次采用独立域名,口 ...

  10. _BV()

    #define _BV(bit) (1 << (bit)) _BV()是把1左移N位的函数._BV(7)相当于(1<<7) 常用于位的置位或清零 示例解析: PC7=7; PO ...