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 ...
随机推荐
- 对redis深入理解
1.Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet.如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog. ...
- 基于vitamio的网络电视直播源代码
这个项目是基于vitamio的网络电视直播源代码.也是一个使用了vitamio的基于安卓的网络直播项目源代码,可能如今网上已经有非常多类似这种视频播放应用了.只是这个还是相对来说比較完整的,希望这个案 ...
- 十大Intellij IDEA快捷键<转>
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...
- springboot集成模板引擎freemarker和thymeleaf
freemarkder和thymeleaf都是java的模板引擎,这里只介绍这两种模板引擎如何在sprongboot中配置: 1. freemarkder 1.1 在pom.xml中添加依赖包 < ...
- 【2015/7/22】SqlServer卸载重装全攻略!
请大家大声地告诉我,哪个软件最恶心. 装了之后跟在电脑里面糊了一层泥,甩都甩不干净.之前手贱,重装系统后装了sqlserver2014的试用版.可惜过了半年试用期就到了.然后重装2012.2014卸载 ...
- 关于webRTC中video的使用实践
此次demo使用chrome49调试测试 前端在操作视频输入,音频输入,输出上一直是比较弱的,或者说很难进行相关的操作,经过我最近的一些研究发现,在PC上实际上是可以实现这一系列的功能的,其实现原理主 ...
- Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程
1.入门 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑.要查看Laravel中所有的Artisan命令,可以通过在项目根目录运行: php artisan list 对 ...
- sql 追踪 神器
http://www.thinkphp.cn/download/690.html 一个中国人开发的php工具箱此工具能几秒钟追踪出sql 数据库操作, 能分析出 Thinkphp3.2 的任意sql ...
- Hadoop2.x Yarn作业提交(客户端)
转自:http://blog.csdn.net/lihm0_1/article/details/22186833 YARN作业提交的客户端仍然使用RunJar类,和MR1一样,可参考 http://b ...
- 工具类之Mutex
Mutex在Android4.4的源代码包的./system/core/include/utils/Mutex.h中定义并且实现. 我们先复习一下Mutex在Linux中功能: Mutex出生的意义就 ...