tournament trees winner trees
play

Tournament Trees Winner Trees Complete binary tree with n external - PDF document

Tournament Trees Winner Trees Complete binary tree with n external nodes and n - 1 internal nodes. External nodes represent tournament players. Winner trees. Each internal node represents a match Loser Trees. played between its two


  1. Tournament Trees Winner Trees Complete binary tree with n external nodes and n - 1 internal nodes. External nodes represent tournament players. Winner trees. Each internal node represents a match Loser Trees. played between its two children; the winner of the match is stored at the internal node. Root has overall winner. Winner Tree For 16 Players Winner Tree For 16 Players 1 1 2 3 1 2 2 3 6 1 3 2 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 Smaller element wins => min winner tree. player match node Complexity Of Initialize Winner Tree For 16 Players 1 • O(1) time to play match at each match node. 1 2 • n - 1 match nodes. • O(n) time to initialize n player winner tree. 3 1 2 2 3 6 1 3 2 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 height is log 2 n (excludes player level)

  2. Applications Sort 16 Numbers 1 Sorting. 1 2 Put elements to be sorted into a winner 3 1 2 2 tree. Repeatedly extract the winner and 3 6 1 3 2 4 2 5 replace by a large value. 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 Sort 16 Numbers Sort 16 Numbers 1 1 1 1 2 2 3 1 2 2 3 1 2 2 3 6 1 3 2 4 2 5 3 6 1 3 2 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 Sorted array. Sort 16 Numbers Sort 16 Numbers 1 1 1 1 2 2 3 1 2 2 3 3 2 2 3 6 5 3 2 4 2 5 3 6 5 3 2 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 1 Sorted array. Sorted array.

  3. Sort 16 Numbers Sort 16 Numbers 1 2 3 3 2 2 3 3 2 2 3 3 2 2 3 6 5 3 2 4 2 5 3 6 5 3 2 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 1 Sorted array. Sorted array. Sort 16 Numbers Sort 16 Numbers 2 2 3 3 2 2 3 3 2 2 3 3 2 2 3 6 5 3 2 4 2 5 3 6 5 3 6 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 2 2 1 2 2 Sorted array. Sorted array. Sort 16 Numbers Sort 16 Numbers 2 2 3 3 2 2 3 3 4 2 3 3 4 2 3 6 5 3 6 4 2 5 3 6 5 3 6 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 2 2 1 2 2 Sorted array. Sorted array.

  4. Sort 16 Numbers Sort 16 Numbers 2 2 3 3 2 2 3 3 4 2 3 3 4 2 3 6 5 3 6 4 2 5 3 6 5 3 6 4 2 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 2 2 1 2 2 Sorted array. Sorted array. Sort 16 Numbers Sort 16 Numbers 2 2 3 3 2 2 3 3 4 2 3 3 4 5 3 6 5 3 6 4 5 5 3 6 5 3 6 4 5 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 2 2 1 2 2 Sorted array. Sorted array. Sort 16 Numbers Sort 16 Numbers 2 3 3 3 4 4 3 3 4 5 3 3 4 5 3 6 5 3 6 4 5 5 3 6 5 3 6 4 5 5 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 1 2 2 1 2 2 Sorted array. Sorted array.

  5. Time To Sort Sort 16 Numbers 3 • Initialize winner tree. 3 4 � O(n) time • Remove winner and replay. 3 3 4 5 � O(log n) time • Remove winner and replay n times. 3 6 5 3 6 4 5 5 � O(n log n) time • Total sort time is O(n log n). 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 • Actually Theta(n log n). 1 2 2 3 Sorted array. Winner Tree Operations Replace Winner And Replay 1 • Initialize 1 2 � O(n) time • Get winner 3 1 2 2 � O(1) time • Remove/replace winner and replay 3 6 1 3 2 4 2 5 � O(log n) time 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 � more precisely Theta(log n) Replace winner with 6. Replace Winner And Replay Replace Winner And Replay 1 1 1 1 2 2 3 1 2 2 3 1 2 2 3 6 1 3 2 4 2 5 3 6 1 3 2 4 2 5 4 3 6 8 6 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 6 5 7 3 2 6 9 4 5 2 5 8 Replay matches on path to root. Replay matches on path to root.

  6. Replace Winner And Replay Loser Tree 1 1 2 Each match node stores the match loser rather than the match winner. 3 1 2 2 3 6 1 3 2 4 2 5 4 3 6 8 6 5 7 3 2 6 9 4 5 2 5 8 Opponent is player who lost last match played at this node. Min Loser Tree For 16 Players Min Loser Tree For 16 Players 3 3 6 1 4 8 4 8 5 7 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 Min Loser Tree For 16 Players Min Loser Tree For 16 Players 1 1 3 3 2 6 3 2 6 3 4 2 4 8 5 7 6 9 4 8 5 7 6 9 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8

  7. Min Loser Tree For 16 Players Min Loser Tree For 16 Players 1 1 3 3 2 2 6 3 4 5 6 3 4 5 4 8 5 7 6 9 5 8 4 8 5 7 6 9 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 Winner Min Loser Tree For 16 Players 1 2 2 3 3 2 2 6 3 4 5 6 3 4 5 4 8 5 7 6 9 5 8 4 8 5 7 6 9 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 4 3 6 8 1 5 7 3 2 6 9 4 5 2 5 8 Complexity Of Loser Tree Winner 1 2 Initialize 3 2 • One match at each match node. 3 3 2 • One store of a left child winner. • Total time is O(n). 6 3 5 4 5 • More precisely Theta(n). 4 8 9 5 7 6 9 5 8 4 3 6 8 9 1 5 7 3 2 6 9 4 5 2 5 8 Replace winner with 9 and replay matches.

  8. More Tournament Tree Complexity Of Replay Applications • One match at each level that has a match • k-way merging of runs during an external node. merge sort • O(log n) • Truck loading • More precisely Theta(log n). Truck Loading Truck Loading n = 5 packages weights [2, 5, 6, 3, 4] truck capacity c = 10 � n packages to be loaded into trucks � each package has a weight Load packages from left to right. If a package � each truck has a capacity of c tons doesn’t fit into current truck, start loading a � minimize number of trucks new truck. Truck Loading Truck Loading n = 5 packages n = 5 packages weights [2, 5, 6, 3, 4] weights [2, 5, 6, 3, 4] truck capacity c = 10 truck capacity c = 10 truck1 = [2, 5] truck1 = [2, 5, 3] truck2 = [6, 3] truck2 = [6, 4] truck3 = [4] uses 3 trucks when 2 trucks suffice

  9. Bin Packing Bin Packing Truck loading is same as bin packing. Truck is a bin that is to be packed (loaded). • n items to be packed into bins Package is an item/element. • each item has a size Bin packing to minimize number of bins is NP-hard. Several fast heuristics have been proposed. • each bin has a capacity of c • minimize number of bins Bin Packing Heuristics First Fit • First Fit. n = 4 � Bins are arranged in left to right order. weights = [4, 7, 3, 6] � Items are packed one at a time in given order. capacity = 10 � Current item is packed into leftmost bin into which it fits. � If there is no bin into which current item fits, start a new bin. Pack red item into first bin. First Fit First Fit n = 4 n = 4 weights = [4, 7, 3, 6] weights = [4, 7, 3, 6] capacity = 10 capacity = 10 Pack blue item next. Doesn’t fit, so start a new bin.

  10. First Fit First Fit n = 4 n = 4 weights = [4, 7, 3, 6] weights = [4, 7, 3, 6] capacity = 10 capacity = 10 Pack green item. Pack yellow item into first bin. Need a new bin. First Fit Bin Packing Heuristics n = 4 • First Fit Decreasing. weights = [4, 7, 3, 6] � Items are sorted into decreasing order. � Then first fit is applied. capacity = 10 Not optimal. 2 bins suffice. Bin Packing Heuristics Bin Packing Heuristics • Best Fit. • Best Fit Decreasing. � Items are packed one at a time in given order. � Items are sorted into decreasing order. � To determine the bin for an item, first � Then best fit is applied. determine set S of bins into which the item fits. � If S is empty, then start a new bin and put item into this new bin. � Otherwise, pack into bin of S that has least available capacity .

  11. Performance Complexity Of First Fit • For first fit and best fit: Use a max tournament tree in which Heuristic Bins <= (17/10)(Minimum Bins) + 2 the players are n bins and the value of a player is the available capacity in the bin. • For first fit decreasing and best fit decreasing: O(n log n), where n is the number of Heuristic Bins <= (11/9)(Minimum Bins) + 4 items.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend