Comp Online Algorithms
|
|
- Buck Hawkins
- 5 years ago
- Views:
Transcription
1 Comp Online Algorithms Assignment 2: Compression, Splay Trees, Caching, and k-server Shahin Kamalli University of Manitoba - Fall 2018 Due: Monday, October 22th at 11:59 pm October 27, 2018 [Computer science] is not really about computers and it s not about computers in the same sense that physics is not really about particle accelerators, and biology is not about microscopes and Petri dishes...and geometry isn t really about using surveying instruments. Now the reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don t really understand it very well, it s very easy to confuse the essence of what you re doing with the tools that you use. Hal Abelson (CS professor at MIT) Please pay attention to the followings when preparing/submitting your assignment: All problems are written problems. There are six problems with a total of 101 marks. The assignment is designed to be shorter than Assignment 1, and hopefully you will find it easier. Most questions require smart observations after which the solution is easy to derive and write. If you have any question related to the assignment, you are encouraged to post it on Piazza. Note that you can submit anonymously. Also, instead of ing me, you can always write a private note in Piazza. It is likely that I drop hints when a question is posted publicly on Piazza (because all students can benefit from it). It is not the case when you ask questions in s or during office hours. You are welcome to discuss the problems with your friends (or enemies). But you should write your answers individually. You might be interviewed about your answers. Be careful not to accidentally copy. Submit your answers electronically using UMLearn. You should submit a single pdf file. You are encouraged to prepare your assignment using L A TEX. The LaTex file for this assignment is posted.
2 Problem 1 Compression [ = 20 marks] a) Apply the Burrows-Wheeler transform on the following string; show your work and the output Assume $ precedes all characters when you sort rotations. BARBAPAPA$ $BARBAPAPA ARBAPAPA$B A$BARBAPAP RBAPAPA$BA APA$BARBAP BAPAPA$BAR = sort APAPA$BARB APAPA$BARB ARBAPAPA$B PAPA$BARBA BAPAPA$BAR APA$BARBAP BARBAPAPA$ PA$BARBAPA PA$BARBAPA A$BARBAPAP PAPA$BARBA $BARBAPAPA RBAPAPA$BA The result will be the last column, i.e., AP P BBR$AAA BARBAP AP A$ b) Assume an initial list $ A B P R, i.e., initially $ is at index 0, A is at index 1, etc. Assume we use Move-To-Front on the above list to encode the outcome of the BWT transform from part (a). Show what numbers will be encoded (you need to show how the list is updated). $ A B P R = A : 1 is encoded A $ B P R = P : 3 is encoded P A $ B R = P : 0 is encoded P A $ B R = B : 3 is encoded B P A $ R = B : 0 is encoded B P A $ R = R : 4 is encoded R B P A $ = $ : 4 is encoded $ R B P A = A : 4 is encoded A $ R B P = A : 0 is encoded A $ R B P = A : 0 is encoded So, the text is encoded as c) Assume an initial list $ A B P R, i.e., initially $ is at index 0, A is at index 1, etc. Assume we use Timestamp on the above list to encode BA$AP BP. Show what numbers will be encoded (you need to show how the list is updated). $ A B P R = BA$ : the first accesses to these items does not change the list, 2, 1, 0 are encoded $ A B P R = A : 1 is encoded A $ B P R = P : 3 is encoded A $ B P R = B : 2 is encoded B A $ P R = P : 3 is encoded P B A $ P R So, the text is encoded as
3 d) Assume an initial list $ A B C D. A compressing scheme that uses Move-To-Front has encoded the following numbers for a text T. Show what the actual text is. The numbers are So, the text is decoded as CC$CA. 3:C is decoded $ A B C D = 0:C is decoded 1:$ is decoded 1:C is decoded $ C A B D = 2:A is decoded A C $ B D Problem 2 Splay Trees [7+7+7 = 21 marks] a) Apply the splay operation on the following splay tree when there is a request to node 30. Show your steps. b) Prove or disprove the following statement: the root of a splay tree has always two children. This is wrong. After the access to the largest/smallest item, that item becomes the root and there will be no node on its right/left. c) Prove or disprove the following statement: after a splay operation, the old root is always at depth 1 or 2 (i.e., it is at distance 1 or 2 of the new root). It is true; the old root s position is changed as a result of the very last rotation; the old root will be at depth 1 in case of the last operation being zig or zig-zag, and at depth 2 in case of the last operatin being zig-zig. Problem 3 Paging & Resource Augmentation [15 marks] Sometimes when we analyse online algorithms, we reduce the power of Opt to be more fair to the online algorithm; it is called resource augmentation. For example, for the paging algorithm, instead of comparing an online algorithm with an optimal algorithm which has the same cache-size, we assume the size of the cache of Opt is smaller than that of algorithm. Clearly, when comparing with a weaker optimal algorithm, the competitive ratio of algorithms is expected to improve. 3
4 Assume the cache of a marking algorithm A has size k and the cache of Opt has size k/2. Prove that the competitive ratio of A is at most 2 under this setting (note that this is a big improvement over the competitive ratio k in the classic setting without resource augmentation). Use a phase partitioning technique as we did for LRU (so that there are k distinct pages in each phase). As discussed in the class, the number of faults by any marking algorithm for each phase is at most k. Opt, however, has a cache of size k/2; each phase contains k distinct pages, and only k/2 of them can be hits by Opt in their first access. So, Opt has to incur a cost of k k/2 = k/2 per phase. This gives a ratio of at most k/(k/2) = 2 for each phase, which can be extended to the whole sequence for an upper bound. Problem 4 Double-Coverage-Algorithm for Cycles [15 marks] Note that the double-coverage algorithm is well-defined for cycles: for each request to a node x, move the two servers on its two sides (in the cycle) with the equal speed towards x. Show that DCA has unbounded competitive ratio for cycles. You might prove this by considering the problem for a cycle of length 5 with k = 3 servers in it. Consider a cycle formed by vertices A, B, C, D, E in the same order. Assume servers are initially at A, C, and E. Assume a sequence starting with requests B, D, E. For these three requests, the algorithm incurs a cost of 6, and its configuration will be as before (i.e., servers at A, C, E). So, repeating these requests n times yields a total cost of 6 for the algorithm, while an optimal algorithm pays a cost of 2 to move servers once to B, D, and E. The competitive ratio of such sequence will be 6n 2 = 3n. Problem 5 Competitive k-server Algorithm for Cactus and Block Graphs [15 marks] From the following two questions, choose one and submit a solution for it. There is no advantage is submitting solutions to both: A block graph is a graph in which every biconnected component (that is, any collection of vertices for which there are at least two paths between any pair of vertices) is a clique (consult Wikipedia to see a picture of a block graph). Prove the k-sever conjecture for block graphs, that is, described that there is a deterministic algorithm that has a competitive ratio of k for these metrics (your solution should include a description on why the algorithm is k-competitive). Just embed the block graph into a tree by replacing each clique with a star in a way that the distances remain the same (the edges of the clique should have length 0.5 OR edges in the original graph have size 2 while the ones in the new stars have length 1). Since the distances are the same (or all scaled similarly), a k-competitive algorithm in the new graph is equivalent to a k-competitive algorithm in the original graph. Apply the Double-Coverage-Algorithm on the resulting tree. A cactus graph is a graph in which every biconnected component (that is, any collection of vertices for which there are at least two paths between any pair of them) is a cycle. In other words, it is a graph in which every edge belongs to at most one cycle (consult Wikipedia to see a picture of a cactus graph). Provide a randomized k-server algorithm with competitive ratio of at most 2k for cactus graphs (your solution should include a description on why the algorithm is at most 2k-competitive). Take a random edge from each cycle and remove it. The result will be a tree on which we can apply Double-Coverage- Algorithm (DCA). We claim the result will be a 2k-competitive randomized algorithm. The analysis is similar to that of Circ algorithm we saw earlier. Assume Opt-Tree be the optimal algorithm for the same sequence but for the resulting tree metric. From DCA analysis, we know cost(alg) k cost(opt-tree) (1) Assume Opt makes moves of lengths d 1,..., d n to serve the input sequence of length n. Consider for the move d i, opt s server moves from cycles c 1, c 2,..., c q. An offline algorithm for the tree metric can mimic these moves except that it pays a penalty of c j when Opt passes a deleted edge at cycle c j (because it might take the other direction). Let d j i be the distance opt server moved on the ith move on cycle c j. The chance of the server passing a deleted edge 4
5 is d j i /c j. So, the penalty incured by the offline algorithm is expected to be at most d j i /c j c j = d j i. Summing up, the penalty of the algorithm is at most d i for the i th move and hence its total cost is at most 2d i. Summing up for all requests, the cost of the offline algorithm, and hence the cost of Opt-Tree is at most twice the cost of Opt, that is cost(opt-tree) 2cost(Opt) (2) From Equations (1), (2), we get the desired results, that is cost(alg) 2kcost(Opt) Problem 6 Balance for Paths [15 marks] We learned in the class that Balance is not a competitive algorithm. The example we saw in the class was based on the metric which was a cycle. A clever student comes to the conclusion that Balance might be competitive when the metric space is a tree or a path. Show that he is wrong. For that, consider a path of length m (assume vertices are labelled from 1 to m) and show a worst-case sequence for the 2-server problem which shows Balance is not competitive. Assume servers s 1 and s 2 are respectively located at vertices 1 and 2, and the request is (m, m 1, 1, 2) n For the first request, s 2 moves a distance of m 1; for the second request, s 1 moves the same distance. The next requests to 1 and 2 are served by respectively by s 1 and s 2 and each move a distance of m 1 to their original location. In total, Balance incurs a cost of 4(m 1), which sums up to 4n(m 1). An optimal algorithm maintains a server on each side of the path and incurs a cost of m + 4n. Hence, the competitive of Balance will be at least 4n(m 1) m+4n, which approaches to m 1 for large values of n. 5
Comp Online Algorithms
Comp 7720 - Online Algorithms Assignment 1: Introduction, Searching & List Update Shahin Kamalli University of Manitoa - Fall 2018 Due: Thursday, Octoer 4th at 11:59 pm Octoer 29, 2018 The real prolem
More informationCOMP Online Algorithms. k-server Problem & Advice. Shahin Kamali. Lecture 13 - Oct. 24, 2017 University of Manitoba
COMP 7720 - Online Algorithms k-server Problem & Advice Shahin Kamali Lecture 13 - Oct. 24, 2017 University of Manitoba COMP 7720 - Online Algorithms k-server Problem & Advice 1 / 20 Review & Plan COMP
More informationCOMP Online Algorithms. Online Graph Problems. Shahin Kamali. Lecture 23 - Nov. 28th, 2017 University of Manitoba
COMP 7720 - Online Algorithms Online Graph Problems Shahin Kamali Lecture 23 - Nov. 28th, 2017 University of Manitoba COMP 7720 - Online Algorithms Online Graph Problems 1 / 13 Review & Plan COMP 7720
More informationICS 691: Advanced Data Structures Spring Lecture 3
ICS 691: Advanced Data Structures Spring 2016 Prof. Nodari Sitchinava Lecture 3 Scribe: Ben Karsin 1 Overview In the last lecture we started looking at self-adjusting data structures, specifically, move-to-front
More informationprinceton univ. F 17 cos 521: Advanced Algorithm Design Lecture 24: Online Algorithms
princeton univ. F 17 cos 521: Advanced Algorithm Design Lecture 24: Online Algorithms Lecturer: Matt Weinberg Scribe:Matt Weinberg Lecture notes sourced from Avrim Blum s lecture notes here: http://www.cs.cmu.edu/
More informationCOMP3121/3821/9101/ s1 Assignment 1
Sample solutions to assignment 1 1. (a) Describe an O(n log n) algorithm (in the sense of the worst case performance) that, given an array S of n integers and another integer x, determines whether or not
More informationComp Online Algorithms
Comp 7720 - Online Algorithms Notes 4: Bin Packing Shahin Kamalli University of Manitoba - Fall 208 December, 208 Introduction Bin packing is one of the fundamental problems in theory of computer science.
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Picture is from the cover of the textbook CLRS. COMP 3170 - Analysis of Algorithms & Data
More informationAlgorithms Exam TIN093/DIT600
Algorithms Exam TIN093/DIT600 Course: Algorithms Course code: TIN 093 (CTH), DIT 600 (GU) Date, time: 22nd October 2016, 14:00 18:00 Building: M Responsible teacher: Peter Damaschke, Tel. 5405 Examiner:
More informationSelf Adjusting Data Structures
Self Adjusting Data Structures Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Self Adjusting Data Structures 2014/2015 1 / 31 What are self adjusting data structures? Data structures that can
More informationPrinciples of Algorithm Design
Principles of Algorithm Design When you are trying to design an algorithm or a data structure, it s often hard to see how to accomplish the task. The following techniques can often be useful: 1. Experiment
More informationCS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem
CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,
More informationCOMP Online Algorithms. List Update with Advice & Bin Packing. Shahin Kamali. Lecture 14 - Oct. 23, 2018 University of Manitoba
COMP 7720 - Online Algorithms List Update with Advice & Bin Packing Shahin Kamali Lecture 14 - Oct. 23, 2018 University of Manitoba COMP 7720 - Online Algorithms List Update with Advice & Bin Packing 1
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Approximation Algorithms CLRS 35.1-35.5 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 30 Approaching
More information3 Competitive Dynamic BSTs (January 31 and February 2)
3 Competitive Dynamic BSTs (January 31 and February ) In their original paper on splay trees [3], Danny Sleator and Bob Tarjan conjectured that the cost of sequence of searches in a splay tree is within
More information6.338 Final Paper: Parallel Huffman Encoding and Move to Front Encoding in Julia
6.338 Final Paper: Parallel Huffman Encoding and Move to Front Encoding in Julia Gil Goldshlager December 2015 1 Introduction 1.1 Background The Burrows-Wheeler transform (BWT) is a string transform used
More informationCs445 Homework #1. Due 9/9/ :59 pm DRAFT
Cs5 Homework #. Due 9/9/06 :59 pm DRAFT Instructions.. Solution may not be submitted by students in pairs.. You may submit a pdf of the homework, either printed or hand-written and scanned, as long as
More informationAdvanced Algorithms. On-line Algorithms
Advanced Algorithms On-line Algorithms 1 Introduction Online Algorithms are algorithms that need to make decisions without full knowledge of the input. They have full knowledge of the past but no (or partial)
More informationOn the Max Coloring Problem
On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive
More informationCS103 Handout 13 Fall 2012 May 4, 2012 Problem Set 5
CS103 Handout 13 Fall 2012 May 4, 2012 Problem Set 5 This fifth problem set explores the regular languages, their properties, and their limits. This will be your first foray into computability theory,
More informationRandomized Splay Trees Final Project
Randomized Splay Trees 6.856 Final Project Robi Bhattacharjee robibhat@mit.edu Ben Eysenbach bce@mit.edu May 17, 2016 Abstract We propose a randomization scheme for splay trees with the same time complexity
More informationSection 1: True / False (1 point each, 15 pts total)
Section : True / False ( point each, pts total) Circle the word TRUE or the word FALSE. If neither is circled, both are circled, or it impossible to tell which is circled, your answer will be considered
More informationAlgorithm 23 works. Instead of a spanning tree, one can use routing.
Chapter 5 Shared Objects 5.1 Introduction Assume that there is a common resource (e.g. a common variable or data structure), which different nodes in a network need to access from time to time. If the
More informationMathematics Masters Examination
Mathematics Masters Examination OPTION 4 March 30, 2004 COMPUTER SCIENCE 2 5 PM NOTE: Any student whose answers require clarification may be required to submit to an oral examination. Each of the fourteen
More informationLecture 6. Binary Search Trees and Red-Black Trees
Lecture Binary Search Trees and Red-Black Trees Sorting out the past couple of weeks: We ve seen a bunch of sorting algorithms InsertionSort - Θ n 2 MergeSort - Θ n log n QuickSort - Θ n log n expected;
More informationSplay Trees. (Splay Trees) Data Structures and Programming Spring / 27
Splay Trees (Splay Trees) Data Structures and Programming Spring 2017 1 / 27 Basic Idea Invented by Sleator and Tarjan (1985) Blind rebalancing no height info kept! Worst-case time per operation is O(n)
More informationApproximation Algorithms for Item Pricing
Approximation Algorithms for Item Pricing Maria-Florina Balcan July 2005 CMU-CS-05-176 Avrim Blum School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 School of Computer Science,
More informationData Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA === Homework submission instructions ===
Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA email: dsa1@csientuedutw === Homework submission instructions === For Problem 1, submit your source code, a Makefile to compile
More informationRed-Black, Splay and Huffman Trees
Red-Black, Splay and Huffman Trees Kuan-Yu Chen ( 陳冠宇 ) 2018/10/22 @ TR-212, NTUST AVL Trees Review Self-balancing binary search tree Balance Factor Every node has a balance factor of 1, 0, or 1 2 Red-Black
More informationLecture Overview. 2 Online Algorithms. 2.1 Ski rental problem (rent-or-buy) COMPSCI 532: Design and Analysis of Algorithms November 4, 2015
COMPSCI 532: Design and Analysis of Algorithms November 4, 215 Lecturer: Debmalya Panigrahi Lecture 19 Scribe: Allen Xiao 1 Overview In this lecture, we motivate online algorithms and introduce some of
More information1 Counting triangles and cliques
ITCSC-INC Winter School 2015 26 January 2014 notes by Andrej Bogdanov Today we will talk about randomness and some of the surprising roles it plays in the theory of computing and in coding theory. Let
More informationPrimality Testing. Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers
Primality Testing Public-Key Cryptography needs large prime numbers How can you tell if p is prime? Try dividing p by all smaller integers Exponential in p (number of bits to represent p) Improvement:
More informationThe divide and conquer strategy has three basic parts. For a given problem of size n,
1 Divide & Conquer One strategy for designing efficient algorithms is the divide and conquer approach, which is also called, more simply, a recursive approach. The analysis of recursive algorithms often
More informationData Structures and Algorithms
Data Structures and Algorithms Session 26. April 29, 2009 Instructor: Bert Huang http://www.cs.columbia.edu/~bert/courses/3137 Announcements Homework 6 due before last class: May 4th Final Review May 4th
More informationCSE 410 Computer Systems. Hal Perkins Spring 2010 Lecture 12 More About Caches
CSE 4 Computer Systems Hal Perkins Spring Lecture More About Caches Reading Computer Organization and Design Section 5. Introduction Section 5. Basics of Caches Section 5. Measuring and Improving Cache
More informationUniversity of Waterloo CS240R Fall 2017 Review Problems
University of Waterloo CS240R Fall 2017 Review Problems Reminder: Final on Tuesday, December 12 2017 Note: This is a sample of problems designed to help prepare for the final exam. These problems do not
More information1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1
Asymptotics, Recurrence and Basic Algorithms 1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1 2. O(n) 2. [1 pt] What is the solution to the recurrence T(n) = T(n/2) + n, T(1)
More informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationCSE 326: Data Structures Splay Trees. James Fogarty Autumn 2007 Lecture 10
CSE 32: Data Structures Splay Trees James Fogarty Autumn 2007 Lecture 10 AVL Trees Revisited Balance condition: Left and right subtrees of every node have heights differing by at most 1 Strong enough :
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 33 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How does the virtual
More informationAlgorithmen II. Peter Sanders, Christian Schulz, Simon Gog. Übungen: Michael Axtmann. Institut für Theoretische Informatik, Algorithmik II.
Schulz, Gog, Sanders: Algorithmen II - 31. Januar 2017 Algorithmen II Peter Sanders, Christian Schulz, Simon Gog Übungen: Michael Axtmann Institut für Theoretische Informatik, Algorithmik II Web: http://algo2.iti.kit.edu/algorithmenii_ws16.php
More informationTreaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19
CSE34T/CSE549T /05/04 Lecture 9 Treaps Binary Search Trees (BSTs) Search trees are tree-based data structures that can be used to store and search for items that satisfy a total order. There are many types
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Lecture 7 - Jan. 17, 2018 CLRS 7.1, 7-4, 9.1, 9.3 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 11 QuickSelect
More informationRecitation 4: Elimination algorithm, reconstituted graph, triangulation
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Recitation 4: Elimination algorithm, reconstituted graph, triangulation
More informationNotebook Assignments
Notebook Assignments These six assignments are a notebook using techniques from class in the single concrete context of graph theory. This is supplemental to your usual assignments, and is designed for
More information8.1. Optimal Binary Search Trees:
DATA STRUCTERS WITH C 10CS35 UNIT 8 : EFFICIENT BINARY SEARCH TREES 8.1. Optimal Binary Search Trees: An optimal binary search tree is a binary search tree for which the nodes are arranged on levels such
More informationGeometric Constructions
HISTORY OF MATHEMATICS Spring 2005 Geometric Constructions Notes, activities, assignment; #3 in a series. Note: I m not giving a specific due date for this somewhat vague assignment. The idea is that it
More information6.001 Notes: Section 1.1
6.001 Notes: Section 1.1 Slide 1.1.1 This first thing we need to do is discuss the focus of 6.001. What is this course all about? This seems quite obvious -- this is a course about computer science. But
More informationCSCI 2200 Foundations of Computer Science (FoCS) Homework 6 (document version 1.0) This homework is due by 11:59:59 PM on Friday, March 23, 2018.
CSCI 2200 Foundations of Computer Science (FoCS) Homework 6 (document version 1.0) Overview This homework is due by 11:59:59 PM on Friday, March 23, 2018. This homework is to be completed individually.
More information4. Non-Adaptive Sorting: Batcher's Algorithm
4. Non-Adaptive Sorting: Batcher's Algorithm The weighing algorithm we found was non-adaptive. We were able to spell out in advance exactly which side each of the balance each coin would be. The weighing
More informationThe k-server problem June 27, 2005
Sanders/van Stee: Approximations- und Online-Algorithmen 1 The k-server problem June 27, 2005 Problem definition Examples An offline algorithm A lower bound and the k-server conjecture The greedy algorithm
More information(Refer Slide Time: 01.26)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture # 22 Why Sorting? Today we are going to be looking at sorting.
More informationFigure 4.1: The evolution of a rooted tree.
106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.
More informationHorn Formulae. CS124 Course Notes 8 Spring 2018
CS124 Course Notes 8 Spring 2018 In today s lecture we will be looking a bit more closely at the Greedy approach to designing algorithms. As we will see, sometimes it works, and sometimes even when it
More informationScribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017
CS6 Lecture 4 Greedy Algorithms Scribe: Virginia Williams, Sam Kim (26), Mary Wootters (27) Date: May 22, 27 Greedy Algorithms Suppose we want to solve a problem, and we re able to come up with some recursive
More informationArguing for program correctness and writing correct programs
Arguing for program correctness and writing correct programs Saying things about states, programs Program state s1: x=4, y=-1.5, A={ me, you, he Assertions about program states x=3 False in s1 (y=x) x>=0
More informationUsability Test Report: Requesting Library Material 1
Usability Test Report: Requesting Library Material 1 Summary Emily Daly and Kate Collins conducted usability testing on the processes of requesting library material. The test was conducted at the temporary
More informationOutline for Today. Euler Tour Trees Revisited. The Key Idea. Dynamic Graphs. Implementation Details. Dynamic connectivity in forests.
Dynamic Graphs Outline for Today Euler Tour Trees Revisited Dynamic connectivity in forests. The Key Idea Maintaining dynamic connectivity in general graphs Dynamic Graphs A data structure for dynamic
More information2013 Association Marketing Benchmark Report
2013 Association Email Marketing Benchmark Report Part I: Key Metrics 1 TABLE of CONTENTS About Informz.... 3 Introduction.... 4 Key Findings.... 5 Overall Association Metrics... 6 Results by Country of
More informationOutline for Today. Why could we construct them in time O(n)? Analyzing data structures over the long term.
Amortized Analysis Outline for Today Euler Tour Trees A quick bug fix from last time. Cartesian Trees Revisited Why could we construct them in time O(n)? Amortized Analysis Analyzing data structures over
More information(Refer Slide Time: 01:25)
Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual
More informationSolutions. (a) Claim: A d-ary tree of height h has at most 1 + d +...
Design and Analysis of Algorithms nd August, 016 Problem Sheet 1 Solutions Sushant Agarwal Solutions 1. A d-ary tree is a rooted tree in which each node has at most d children. Show that any d-ary tree
More informationDiscrete Mathematics and Probability Theory Summer 2016 Dinh, Psomas, and Ye HW 2
CS 70 Discrete Mathematics and Probability Theory Summer 2016 Dinh, Psomas, and Ye HW 2 Due Tuesday July 5 at 1:59PM 1. (8 points: 3/5) Hit or miss For each of the claims and proofs below, state whether
More information1) Complete problems 1-65 on pages You are encouraged to use the space provided.
Dear Accelerated Pre-Calculus Student (017-018), I am excited to have you enrolled in our class for next year! We will learn a lot of material and do so in a fairly short amount of time. This class will
More informationCSE 417 Network Flows (pt 4) Min Cost Flows
CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it
More informationTUTORIAL 10: ARRAYS AND MATRICES. 1. Welcome. Hello. My name is Dr. Christopher Raridan (Dr. R). I want to welcome you to the L A TEX Tutorial Series.
TUTORIAL 10: ARRAYS AND MATRICES CHRISTOPHER RARIDAN Abstract. Upon completion of this tutorial, the author should be able to construct arrays and matrices. 1. Welcome Hello. My name is Dr. Christopher
More informationCSC D84 Assignment 2 Game Trees and Mini-Max
0 The Cats Strike Back Due date: Wednesday, Feb. 21, 9am (electronic submission on Mathlab) This assignment can be completed individually, or by a team of 2 students This assignment is worth 10 units toward
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)
More informationDisjoint Sets and the Union/Find Problem
Disjoint Sets and the Union/Find Problem Equivalence Relations A binary relation R on a set S is a subset of the Cartesian product S S. If (a, b) R we write arb and say a relates to b. Relations can have
More informationLecture 15 Binary Search Trees
Lecture 15 Binary Search Trees 15-122: Principles of Imperative Computation (Fall 2017) Frank Pfenning, André Platzer, Rob Simmons, Iliano Cervesato In this lecture, we will continue considering ways to
More informationCS 4349 Lecture August 21st, 2017
CS 4349 Lecture August 21st, 2017 Main topics for #lecture include #administrivia, #algorithms, #asymptotic_notation. Welcome and Administrivia Hi, I m Kyle! Welcome to CS 4349. This a class about algorithms.
More informationCSE373: Data Structures & Algorithms Lecture 12: Amortized Analysis and Memory Locality. Lauren Milne Spring 2015
CSE373: Data Structures & Algorithms Lecture 12: Amortized Analysis and Memory Locality Lauren Milne Spring 2015 Announcements Homework 3 due on Wednesday at 11pm Catie back Monday Spring 2015 CSE 373
More informationCS103 Handout 39 Winter 2018 February 23, 2018 Problem Set 7
CS103 Handout 39 Winter 2018 February 23, 2018 Problem Set 7 What can you do with regular expressions? What are the limits of regular languages? In this problem set, you'll explore the answers to these
More informationOnline Algorithms. - Lecture 4 -
Online Algorithms - Lecture 4 - Outline Quick recap.. The Cashing Problem Randomization in Online Algorithms Other views to Online Algorithms The Ski-rental problem The Parking Permit Problem 2 The Caching
More informationn = 1 What problems are interesting when n is just 1?
What if n=1??? n = 1 What problems are interesting when n is just 1? Sorting? No Median finding? No Addition? How long does it take to add one pair of numbers? Multiplication? How long does it take to
More informationCSE 417 Practical Algorithms. (a.k.a. Algorithms & Computational Complexity)
CSE 417 Practical Algorithms (a.k.a. Algorithms & Computational Complexity) Outline for Today > Course Goals & Overview > Administrivia > Greedy Algorithms Why study algorithms? > Learn the history of
More informationBalanced Trees Part Two
Balanced Trees Part Two Outline for Today Recap from Last Time Review of B-trees, 2-3-4 trees, and red/black trees. Order Statistic Trees BSTs with indexing. Augmented Binary Search Trees Building new
More informationOnline file caching with rejection penalties
Online file caching with rejection penalties Leah Epstein Csanád Imreh Asaf Levin Judit Nagy-György Abstract In the file caching problem, the input is a sequence of requests for files out of a slow memory.
More informationCS103 Handout 35 Spring 2017 May 19, 2017 Problem Set 7
CS103 Handout 35 Spring 2017 May 19, 2017 Problem Set 7 What can you do with regular expressions? What are the limits of regular languages? In this problem set, you'll explore the answers to these questions
More informationCS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM
CS3114 (Fall 2017) PROGRAMMING ASSIGNMENT #4 Due Thursday, December 7 th @ 11:00 PM for 100 points Due Tuesday, December 5 th @ 11:00 PM for 10 point bonus Last updated: 11/13/2017 Assignment: Update:
More informationAPPM/MATH Problem Set 4 Solutions
APPM/MATH 465 Problem Set 4 Solutions This assignment is due by 4pm on Wednesday, October 16th. You may either turn it in to me in class on Monday or in the box outside my office door (ECOT 35). Minimal
More information!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?
Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!
More information1 Motivation for Improving Matrix Multiplication
CS170 Spring 2007 Lecture 7 Feb 6 1 Motivation for Improving Matrix Multiplication Now we will just consider the best way to implement the usual algorithm for matrix multiplication, the one that take 2n
More informationIntroduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Algorithms and Game Theory Date: 12/3/15
600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Algorithms and Game Theory Date: 12/3/15 25.1 Introduction Today we re going to spend some time discussing game
More informationSenior Math Circles Cryptography and Number Theory Week 1
Senior Math Circles Cryptography and Number Theory Week 1 Dale Brydon Feb. 2, 2014 1 One-Time Pads Cryptography deals with the problem of encoding a message in such a way that only the intended recipient
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17
01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are
More informationOnline Algorithms with Advice
Online Algorithms with Advice Marc Renault Supervisor: Adi Rosén, Algorithms and Complexity LRI August 21, 2010 This report is written in English as the maternal language of Marc Renault is English and
More informationLecture Summary CSC 263H. August 5, 2016
Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.
More informationTuring Machines Part Two
Turing Machines Part Two Recap from Last Time The Turing Machine A Turing machine consists of three parts: A finite-state control that issues commands, an infinite tape for input and scratch space, and
More informationAdvanced Algorithms. Class Notes for Thursday, September 18, 2014 Bernard Moret
Advanced Algorithms Class Notes for Thursday, September 18, 2014 Bernard Moret 1 Amortized Analysis (cont d) 1.1 Side note: regarding meldable heaps When we saw how to meld two leftist trees, we did not
More informationWelcome to the course Algorithm Design
Welcome to the course Algorithm Design Summer Term 2011 Friedhelm Meyer auf der Heide Lecture 12, 8.7.2011 Friedhelm Meyer auf der Heide 1 Randomised Algorithms Friedhelm Meyer auf der Heide 2 Topics -
More informationName: Lirong TAN 1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G.
1. (15 pts) (a) Define what is a shortest s-t path in a weighted, connected graph G. A shortest s-t path is a path from vertex to vertex, whose sum of edge weights is minimized. (b) Give the pseudocode
More informationAn Experimental Assignment on Random Processes
An Experimental Assignment on Random Processes Michael Mitzenmacher* December 27, 2000 1 Introduction Although I still generally use standard problem sets in my theory classes, I find myself experimenting
More informationDue: March 8, 11:59pm. Project 1
COS 433: Cryptography (Spring 2018) Project 1 Princeton University Due: March 8, 11:59pm Project 1 Introduction You are interning at the super secretive SLA (Three Letter Agency). The SLA has intercepted
More informationParallel and Sequential Data Structures and Algorithms Lecture (Spring 2012) Lecture 16 Treaps; Augmented BSTs
Lecture 16 Treaps; Augmented BSTs Parallel and Sequential Data Structures and Algorithms, 15-210 (Spring 2012) Lectured by Margaret Reid-Miller 8 March 2012 Today: - More on Treaps - Ordered Sets and Tables
More informationCS 051 Homework Laboratory #2
CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how
More informationWriteup for first project of CMSC 420: Data Structures Section 0102, Summer Theme: Threaded AVL Trees
Writeup for first project of CMSC 420: Data Structures Section 0102, Summer 2017 Theme: Threaded AVL Trees Handout date: 06-01 On-time deadline: 06-09, 11:59pm Late deadline (30% penalty): 06-11, 11:59pm
More informationCOMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web
COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah
More informationLecture 11. Lecture 11: External Sorting
Lecture 11 Lecture 11: External Sorting Lecture 11 Announcements 1. Midterm Review: This Friday! 2. Project Part #2 is out. Implement CLOCK! 3. Midterm Material: Everything up to Buffer management. 1.
More informationLower Bound on Comparison-based Sorting
Lower Bound on Comparison-based Sorting Different sorting algorithms may have different time complexity, how to know whether the running time of an algorithm is best possible? We know of several sorting
More information