Lecture 39. CSE 331 Dec 6, 2017

Similar documents
Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer

Algorithm Design and Analysis

Analyze the obvious algorithm, 5 points Here is the most obvious algorithm for this problem: (LastLargerElement[A[1..n]:

How to Write Fast Numerical Code

How to Write Fast Numerical Code

About this exam review

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA

Design and Analysis of Algorithms

Data Structures and Algorithms CMPSC 465

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures

HADOOP 3.0 is here! Dr. Sandeep Deshmukh Sadepach Labs Pvt. Ltd. - Let us grow together!

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Hashing. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong

CS583 Lecture 01. Jana Kosecka. some materials here are based on Profs. E. Demaine, D. Luebke A.Shehu, J-M. Lien and Prof. Wang s past lecture notes

Questions Total Points Score

Chapter 16: Greedy Algorithm

Data Structures and Algorithms CSE 465

DIVIDE AND CONQUER ALGORITHMS ANALYSIS WITH RECURRENCE EQUATIONS

Introduction to Algorithms Third Edition

Computer and Machine Vision

CHAPTER 11 SETS, AND SELECTION

CSE373: Data Structures & Algorithms Lecture 28: Final review and class wrap-up. Nicki Dell Spring 2014

FAULT TOLERANT SYSTEMS

OUTLINE. Paper Review First Paper The Zero-Error Side Information Problem and Chromatic Numbers, H. S. Witsenhausen Definitions:

CMPSCI 105: Lecture #12 Searching, Sorting, Joins, and Indexing PART #1: SEARCHING AND SORTING. Linear Search. Binary Search.

Sublinear Algorithms for Big Data Analysis

SORTING, SETS, AND SELECTION

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Dynamic Programming I Date: 10/6/16

1 Motivation for Improving Matrix Multiplication

EECE 580B Modern Coding Theory

EE 6900: FAULT-TOLERANT COMPUTING SYSTEMS

ENEE x Digital Logic Design. Lecture 3

Code-Based Cryptography Error-Correcting Codes and Cryptography

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 2

Lecture 18. What we ve done and what s to come

Lecture 1: A Monte Carlo Minimum Cut Algorithm

CSE 380 Computer Operating Systems

Problem. Input: An array A = (A[1],..., A[n]) with length n. Output: a permutation A of A, that is sorted: A [i] A [j] for all. 1 i j n.

EC500. Design of Secure and Reliable Hardware. Lecture 1 & 2

Algorithms and Data Structures

Database Applications (15-415)

Graph Contraction. Graph Contraction CSE341T/CSE549T 10/20/2014. Lecture 14

n 2 ( ) ( ) + n is in Θ n logn

List Ranking. Chapter 4

List Ranking. Chapter 4

Algorithms and Computation in Signal Processing

Massive Data Algorithmics. Lecture 12: Cache-Oblivious Model

Introduction to Algorithms

Randomized Algorithms, Quicksort and Randomized Selection

Algorithms and Data Structures for Mathematicians

UML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM

CSE 332, Spring 2010, Midterm Examination 30 April 2010

Midterm solutions. n f 3 (n) = 3

CSE 451: Operating Systems Spring Module 18 Redundant Arrays of Inexpensive Disks (RAID)

Tracking Frequent Items Dynamically: What s Hot and What s Not To appear in PODS 2003

CSE373 Fall 2013, Final Examination December 10, 2013 Please do not turn the page until the bell rings.

Algorithms and Data Structures, or

Lecture 15: More Iterative Ideas

Quick-Sort fi fi fi 7 9. Quick-Sort Goodrich, Tamassia

Lecture 23: Priority Queues, Part 2 10:00 AM, Mar 19, 2018

Graphs. Data Structures and Algorithms CSE 373 SU 18 BEN JONES 1

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

( ) n 3. n 2 ( ) D. Ο

Problem Set 6. Part A:

21# 33# 90# 91# 34# # 39# # # 31# 98# 0# 1# 2# 3# 4# 5# 6# 7# 8# 9# 10# #

Review for Midterm Exam

Networked Systems and Services, Fall 2018 Chapter 2. Jussi Kangasharju Markku Kojo Lea Kutvonen

CSCE 2014 Final Exam Spring Version A

SORTING AND SELECTION

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

Merge Sort. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Divide and Conquer

CS61BL. Lecture 5: Graphs Sorting

M.C.A. DEGREE EXAMINATION, MAY First Year. Paper I INFORMATION TECHNOLOGY. SECTION A (3 15 = 45 marks) Answer any THREE of the following.

CSE 373 MAY 10 TH SPANNING TREES AND UNION FIND

Rec 8 Notes. 1 Divide-and-Conquer Convex Hull. 1.1 Algorithm Idea. 1.2 Algorithm. Here s another random Divide-And-Conquer algorithm.

Lecture 10: Link layer multicast. Mythili Vutukuru CS 653 Spring 2014 Feb 6, Thursday

Ph.D. Comprehensive Examination Design and Analysis of Algorithms

TOPICS PIPELINE IMPLEMENTATIONS OF THE FAST FOURIER TRANSFORM (FFT) DISCRETE FOURIER TRANSFORM (DFT) INVERSE DFT (IDFT) Consulted work:

Notes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 10 Notes. Class URL:

Notebook Assignments

CS 268: Graduate Computer Networks Spring Overview

) $ f ( n) " %( g( n)

Approximation Algorithms

Query Evaluation Strategies

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Advanced Algorithms and Data Structures

Error correction in Flash memory 1. Error correction in Flash memory. Melissa Worley. California State University Stanislaus.

The resulting array is written as row i + 1 in our matrix:

RELATIONAL OPERATORS #1

Algorithms and Theory of Computation. Lecture 2: Big-O Notation Graph Algorithms

CS 372: Computational Geometry Lecture 3 Line Segment Intersection

Cache-Oblivious Algorithms

Chapter 5 Data Structures Algorithm Theory WS 2016/17 Fabian Kuhn

( D. Θ n. ( ) f n ( ) D. Ο%

Lecture Notes for Advanced Algorithms

Algorithm Design and Analysis

Instructor: Stefan Savev

Design and Analysis of Algorithms

08 A: Sorting III. CS1102S: Data Structures and Algorithms. Martin Henz. March 10, Generated on Tuesday 9 th March, 2010, 09:58

Transcription:

Lecture 39 CSE 331 Dec 6, 2017

Grading back on track

Re-grading request deadlines

Now relax 4

Randomized algorithms What is different? Algorithms can toss coins and make decisions A Representative Problem Hashing http://calculator.mathcaptain.com/coin-toss-probability-calculator.html Further Reading Chapter 13 of the textbook

Approximation algorithms What is different? Algorithms can output a solution that is say 50% as good as the optimal A Representative Problem Vertex Cover Further Reading Chapter 12 of the textbook

Online algorithms What is different? Algorithms have to make decisions before they see all the input A Representative Problem Secretary Problem Further Reading

Data streaming algorithms What is different? One pass on the input with severely limited memory https://www.flickr.com/photos/midom/2134991985/ A Representative Problem Compute the top-10 source IP addresses Further Reading

Distributed algorithms What is different? Input is distributed over a network A Representative Problem Consensus Further Reading

Beyond-worst case analysis What is different? Analyze algorithms in a more instance specific way A Representative Problem Intersect two sorted sets Further Reading http://theory.stanford.edu/~tim/f14/f14.html

Algorithms for Data Science What is different? Algorithms for non-discrete inputs A Representative Problem Compute Eigenvalues Further Reading http://research.microsoft.com/en-us/people/kannan/book-no-solutions-aug-21-2014.pdf

Johnson Lindenstrauss Lemma http://www.scipy-lectures.org/_images/pca_3d_axis.jpg

Questions? Questions?

Ax = y a 0,0 a 0,2.. a 0,N-1 x 0 y 0 a N-1,0 a N-1,1.. a N-1,N-1 x N-1 y N-1 A x y Θ(N 2 ) time in worst-case

In practice A has structure a 0,0 a 0,2.. a 0,N-1 x 0 y 0 a N-1,0 a N-1,1.. a N-1,N-1 x N-1 y N-1 A x y Can we exploit the structure for faster algorithms?

Discrete Fourier Transform a 0,0 a 0,2.. a 0,N-1 b 10 a N-1,0 a N-1,1.. a N-1,N-1 b N-1 A b a x,y = exp(2πi xy/n) FFT (1965) Can compute DFT in O(N log N) time Cooley Tukey

Cauchy Matrix a 0,0 a 0,2.. a 0,N-1 b 10 a N-1,0 a N-1,1.. a N-1,N-1 b N-1 A b Can be computed in O(N log 2 N) time a x,y = 1 r x - s y

Superfast = N poly-log(n)

The main Question What is the largest class of matrices A for which we can have superfast algo to compute Ax?

Structure 1: Recurrence a x,y = exp(2πi xy/n) a 0,0 a 0,2.. a 0,N-1 b 10 a x,y+1 = a x,y exp(2πi x/n) a N-1,0 a N-1,1.. a N-1,N-1 b N-1 Multiplier matrix only depends on x Multiplier only depends a 0,0 a.. 0,2 on ax 0,N-1 a N-1,0 a N-1,1 a x,y.. a N-1,N-1 A b

Structure 2: Low Displacement Rank a x,y = 1 r x - s y r x a x,y - a x,y s y = 1 LA AR has low rank r 0 0 0 A A 1 0 0 s 0 r N-1 s N-1

Known Results Recurrences Low Displacement Rank O(N log 2 N) O(N log 2 N) Driscoll Healy Rockmore FFT OlshevskyShokrollahi

Our Main Result* One Result that recovers all existing results* Recurrences Low Displacement Rank O(N log 2 N) O(N log 2 N) Driscoll Healy Rockmore FFT OlshevskyShokrollahi

Questions? Questions?

Coding Theory 25

Communicating with my 3 year old C(x) x Code C Kiran English C(x) is a codeword y = C(x)+error x Give up 26

The setup C(x) x Mapping C Error-correcting code or just code Encoding: x C(x) Decoding: y x C(x) is a codeword x y = C(x)+error Give up 27

Different Channels and Codes Internet Checksum used in multiple layers of TCP/IP stack Cell phones Satellite broadcast TV Deep space telecommunications Mars Rover 28

Unusual Channels Data Storage CDs and DVDs RAID ECC memory Paper bar codes UPS (MaxiCode) Codes are all around us 29

Redundancy vs. Error-correction Repetition code: Repeat every bit say 100 times Good error correcting properties Too much redundancy Parity code: Add a parity bit 1 1 1 0 0 1 Minimum amount of redundancy Bad error correcting properties Two errors go completely undetected 1 0 0 0 0 1 Neither of these codes are satisfactory 30

Two main challenges in coding theory Problem with parity example Messages mapped to codewords which do not differ in many places Need to pick a lot of codewords that differ a lot from each other Efficient decoding Naive algorithm: check received word with all codewords 31

The fundamental tradeoff Correct as many errors as possible with as little redundancy as possible Can one achieve the optimal tradeoff with efficient encoding and decoding? 32

Interested in more? CSE 545, Spring 2019 33

Whatever your impression of the 331 IT WAS 34

Hopefully it was fun! 35

Thanks! Except of course, HW 10, presentations and the final exam 36

The simplest non-trivial join query Intersection of R and S R A S Assume R and S are sorted Let us concentrate on comparison based algorithms Assume R = S = N

Not all inputs are created equal R S R S 1 3 2 1 2 3 4 4 5 5 6 6 Ω(N) comparisons 1 comparison!

We need a faster/adaptive algorithm

The MERGE algorithm works R S 1 N

An assumption Output of the join is empty

MERGE is (near) instance optimal Benchmark: Minimum number of comparisons (C) to certify output 1 Demaine Lopez-Oritz Munro C logn comparions (and time) R S Value not ruled out yet Need a comparison to rule the value out Each value involved with 2 comparisons Once the pointer moves the value is N never seen again Each move takes log N comparisons