Presentation is loading. Please wait.

Presentation is loading. Please wait.

Transform & Conquer Replacing One Problem With Another Saadiq Moolla.

Similar presentations


Presentation on theme: "Transform & Conquer Replacing One Problem With Another Saadiq Moolla."— Presentation transcript:

1 Transform & Conquer Replacing One Problem With Another Saadiq Moolla

2 Introduction Two Stage Solution −Transform into Another Problem −Solve New Problem Three Variations −Instance Simplification −Representation Change −Problem Reduction Initial Problem 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 a 11 x + a 12 x + … + a 1n x = b 1 a 21 x + a 22 x + … + a 2n x = b 2 … a n1 x + a n2 x + … + a nn x = b 1 a’ 11 x + a’ 12 x + … + a’ 1n x = b’ 1 a’ 22 x + … + a’ 2n x = b 2 … a’ nn x = b 1

7 Binary Search Trees 8 415 791 5

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

9 Heaps Type of Binary Tree Requirements: −Essentially Complete −Parental Dominance 9 57 421

10 Properties of Heaps Height is log 2 n 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 57 421 8 9 5 7 421 8

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^1010 2 = 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


Download ppt "Transform & Conquer Replacing One Problem With Another Saadiq Moolla."

Similar presentations


Ads by Google