1 / 18

Transform & Conquer

Transform & Conquer. Replacing One Problem With Another. Saadiq Moolla. Introduction. Initial Problem. Two Stage Solution Transform into Another Problem Solve New Problem Three Variations Instance Simplification Representation Change Problem Reduction. New Representation. Solution.

ethornton
Download Presentation

Transform & Conquer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Transform & Conquer Replacing One Problem With Another Saadiq Moolla

  2. Introduction Initial Problem • Two Stage Solution • Transform into Another Problem • Solve New Problem • Three Variations • Instance Simplification • Representation Change • Problem Reduction New Representation Solution

  3. Instance Simplification • Reducing the Problem to a Simpler One • Techniques: • Presorting • Gaussian Elimination • Search Trees

  4. Presorting • Example: Given a random list of numbers, determine if there are any duplicates. • Brute Force: Compare Every Pair • Transform and Conquer: • Sort the List • Compare A [i] with A [i + 1] i A

  5. Presorting (Analysis) • Old Idea, Many Different Ways • Efficiency Dependant on Algorithm • Compare Benefits vs Time Required • Useful if Operation Repeated

  6. Gaussian Elimination a11x + a12x + … + a1nx = b1 a’11x + a’12x + … + a’1nx = b’1 a21x + a22x + … + a2nx = b2 a’22x + … + a’2nx = b2 … … an1x + an2x + … + annx = b1 a’nnx = b1

  7. Binary Search Trees 8 4 15 1 7 9 5

  8. Binary Search Trees (Analysis) • Time Efficiency • Slow • Methods to Balance • Special Trees: • AVL Trees • B-trees

  9. Heaps 9 • Type of Binary Tree • Requirements: • Essentially Complete • Parental Dominance 5 7 4 2 1

  10. Properties of Heaps • Height is log2n • Root is largest element • Node + Descendents = Heap • Stored in Array: • Children of A [i] are A [2i] and A [2i + 1]

  11. Heap Insertion 9 5 7 9 8 4 2 1 5 8 7 4 2 1

  12. Heaps (Analysis) • Sorting • Priority Queue • O (n log n)

  13. Representation Change • Change One Problem Into Another • Steps: • Identify • Transform • Solve • Mathematical Modeling

  14. Problem Reduction • Reduce to a Known Problem • Use Known Algorithms: • Dijkstra’s algorithm • Horner’s Rule • Karp – Rabin algorithm • etc.

  15. Horner’s Rule • Used to Evaluate Polynomials • 5x^2 – 3x + 8 » (5x + 3)x + 8 • 7x^3 + x^2 – 9x – 2 » ((7x+ 1)x – 9)x – 2 • Linear

  16. Horner’s Algorithm algorithm Horner (x, P []) // Evaluates a polynomial with coefficients P [] at x for i ← n – 1 downto 0 do v← x * v + P [i] return v

  17. Fast Exponentiation • Evaluate x^n • 2^10 = 2^10102 = 2^8 * 2^2

  18. Fast Exponentiation Algorithm Algorithm FastExp (x, n) // Returns x^n term ← x product ← 1 while n > 0 do if n mod 2 = 1 then product ← product * term term ← term * term n ← └ n/2 ┘ return product

More Related