Top 10 Algorithms of 20th and 21st Century
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的更多相关文章
- 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 ...
- 转:Top 10 Algorithms for Coding Interview
The following are top 10 algorithms related concepts in coding interview. I will try to illustrate t ...
- 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 ...
- 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 ...
- 译注(2): How to Write a 21st Century Proof
原文:Computer Scientist Tells Mathematicians How To Write Proofs 对比一下下面两个证明哪个更好? 版本一: "A square a ...
- Top 10 Methods for Java Arrays
作者:X Wang 出处:http://www.programcreek.com/2013/09/top-10-methods-for-java-arrays/ 转载文章,转载请注明作者和出处 The ...
- Top 10 Universities for Artificial Intelligence
1. Massachusetts Institute of Technology, Cambridge, MA Massachusetts Institute of Technology is a p ...
- 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 ...
- TOP 10开源的推荐系统简介
最近这两年推荐系统特别火,本文搜集整理了一些比较好的开源推荐系统,即有轻量级的适用于做研究的SVDFeature.LibMF.LibFM等,也有重量级的适用于工业系统的 Mahout.Oryx.Eas ...
随机推荐
- 《LAMP系统工程师实用教程》读书笔记(一)- linux常用命令
图书馆看到就借回来啦,这本书虽然其貌不扬,对新手还是挺棒的.来学下shell脚本和php. 把书上不熟悉的命令和选项记录下. mkdir -v创建文件夹并返回信息 mkdir -m创建文件夹并设定权限 ...
- 使用Crypto++库的CBC模式实现加密(二)
前面已经有一篇介绍使用Crypto++库实现的加密的文章了,但是代码中考虑的不完全,所以就重新发了个二 C++封装: #include "zyaes.h" #include < ...
- 在容器中使用erase函数,迭代器的处理
在c++编程中,用到迭代器的时候,往往不知道如何删除当前迭代器指向的元素. erase函数: 返回下一个迭代器. 只使用vector的erase函数,记住,该函数是迭代器失效,返回下一个迭代器. ...
- xslt 映射 xml
1.xslt文件映射xml文件中的A节点的时候,如果A节点有属性的话,先把属性值映射出来,然后再映射节点的值,如下: xml文件: <A age="11" sex=" ...
- hadoop onekey_step2
#onekey_step2 # Rrogram: # 安装hadoop简易集群程序 # 使用说明 # History: # -- luoqi v0. release # email: # @qq.co ...
- Android——配置环境变量
注意:跟java相关的目录不要有中文和空格. 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:D:\Java ...
- 调用半截的div
不能引用jquery: <script src="${rootUrl }js/jquery/jquery.js" type="text/javascript&quo ...
- jquery可拖动表格调整列格子的宽度大小(转)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 关于Cocos2d-x开发一个游戏的过程自述
我在2016年12月6号完成了我的第一个自己独立完成的游戏,期间遇到各种各样的问题和困难,但是幸运的是问题都一一被解决了,现在我想总结一个整个的制作游戏的过程 使用的环境是VS2013+cocos2d ...
- 京东阅读PDF导出
适用平台:windows 需要软件:FastStone Capture(截图软件),TinyTask(操作录制软件) 1.打开京东阅读 2.设置截图软件 (1)设置截图区域(FastStone Cap ...