งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Algorithm Design Algorithm Design Techniques Practice Problems 1/93 344-211 Algorithmic Process and Programming, created by Dararat Saelee.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Algorithm Design Algorithm Design Techniques Practice Problems 1/93 344-211 Algorithmic Process and Programming, created by Dararat Saelee."— ใบสำเนางานนำเสนอ:

1 Algorithm Design Algorithm Design Techniques Practice Problems 1/ Algorithmic Process and Programming, created by Dararat Saelee

2 o แก้ปัญหาได้อย่างมี ประสิทธิภาพ o ให้คำตอบที่ถูกต้อง o ใช้เวลาในการปฏิบัติการ น้อย o ชัดเจนและกะทัดรัด 2/93

3 o definition o requirement o strategy o techniques 3/93

4 o Algorithm Definition : a method to solve a problem described as a sequence of steps to be performed in a specific logical order o Several algorithms for solving the same problem may exist, based on very different ideas, performance (efficiency, cost and speed) 4/93 Algorithm หมายถึง กรรมวิธีที่มีขั้นตอนแบบทีละขั้นอย่างชัดเจนในการ แก้ปัญหาใดปัญหาหนึ่ง เพื่อให้ได้คำตอบที่ถูกต้องสำหรับทุกรูปแบบข้อมูล ภายในเวลาและทรัพยากรณ์ที่จำกัด

5 Satisfied Requirements : o unambiguousness o generality o correctness o finiteness 5/93

6 unambiguousness o easier to understand and to program, so contain fewer bugs. o sometimes simpler algorithm are more efficient than more complicated algorithm. 6/93

7 generality o easier to design an algorithm in more general terms. o handle a range of input that is natural for the problem. 7/93

8 correctness must be proved by 1) Mathematical Induction. 2) Testing with sample input data that possibly prove the algorithm failure or give wrong answer. 8/93

9 finiteness–must concern about 1) execution in finite steps. 2) termination in finite time. 9/93

10 o Computational Device o Solving Decision o Data Structure o Efficiency 10/93

11 Computational Device o Von Neumann o sequential algorithm o Multiprocessor o parallel algorithm o network algorithm o distributed algorithm 11/93

12 Solving Decision o choose between solving the problem with approximation or exact algorithm o approximation algorithm - square roots, integrals - shortest path 12/93

13 Solving Decision (cont.) o choose to solve the problem with non-recursive or recursive algorithm o recursion is easy to program, but uses a large number of function calls that affect to execution efficiency. 13/93

14 Data Structure o to solve problems easier, we need to use appropriate data structure. - student id : int or string ? - matrix 10x5 : array 2D or 50 var.? - graph, tree : array or linked list ? 14/93

15 Efficiency o time : how fast the algor. runs o space : how much extra memory the algor. needs o worst / best / average case - sequential search : n / 1 / n/ 2 15/93

16 Efficiency (cont.) o Order of Growth for Input size - when input size is large, how is the run time ? - order of growth : O (big oh) - input size : n 16/93

17 Efficiency (cont.) - O(n 2 ) : n = 10  running time = 100 n = 100  running time = 10,000 - O(2 n ) : n = 10  running time = 1,024 - O(log 2 n) : n = 10  running time = 3.3 n = 100  running time = /93

18 o To provide guidance for designing algorithms for new problems o To make it possible to classify algorithms according to design idea 18/91

19 o No any general technique can solve all problems o e.g. Unsorted data cannot use with Binary search algorithm 19/91

20 An algorithm design technique (or strategy or paradigm) is a general approach to solving problems algorithmically that is applicable to a variety of problems from different areas of computing. 20/93

21 o Greedy Method o Divide and Conquer o Decrease and Conquer / Prune- and-Search o Transform and Conquer 21/93

22 o Dynamic Programming o Randomized Algorithms o Backtracking Algorithms 22/93

23 Algorithmic Process and Programming, created by Dararat Saelee 23/93 Motto Today เพราะแสวงหา มิใช่เพราะรอคอย เพราะเชี่ยวชาญ มิใช่เพราะโอกาส เพราะสามารถ มิใช่เพราะโชคช่วย

24 o “take what you can get now” o make a decision that appears to be good (close to optimal solution) o proceed by searching a sequence of choices iteratively to decide the (seem to be) best solution 24/93 Greedy Algorithms หมายถึง เป็นอัลกอริทึมที่จะหาคาตอบโดยการเลือกทางออก ที่ดีที่สุดที่พบได้ในขณะนั้นเพื่อให้ได้คาตอบที่ดีที่สุด แต่ในบางครั้ง Greedy Algorithms อาจจะไม่สามารถหาคาตอบของปัญหาที่ดีที่สุดได้เสมอไป

25 ตัวอย่างวิธีคิดแบบ Greedy o Coin Changing o Fractional Knapsack o Bin Packing o Task Scheduling 25/93

26 ตัวอย่างวิธีคิดแบบ Greedy o Prim’s o Kruskal’s o Dijkstra’s o Huffman Code 26/93 graph tree

27 Coin Changing สมมุติว่าเรามีเหรียญขนาดดังต่อไปนี้เหรียญ 10 บาท, เหรียญ 5 บาท, และเหรียญ 1 บาทและสมมุติว่าเราต้องการแลกเงิน 89 บาท เราจะได้เงินเหรียญดังนี้ 10 บาท 8 เหรียญ, 5 บาท 1 เหรียญ, 1 บาท 4 เหรียญ จะเห็นว่าอัลกอริทึมที่เราใช้ก็คือ เราเลือก เหรียญที่มีค่ามากที่สุด แต่ไม่มากกว่า 89 บาท ออกมาก่อน ( เหรียญ 10 บาท 8 เหรียญ ) จากนั้นลบค่านี้ออกจาก 89 บาท ก็ จะเหลือ 9 บาท หลังจากนั้นเราเลือกเหรียญ ที่มีค่ามากที่สุดแต่ไม่เกิน 9 บาท นั่นก็คือได้ ( เหรียญ 5 บาท 1 เหรียญ ) แล้วลบค่านี้ออก จาก 9 บาท จะเหลืออยู่อีก 4 บาท และใน ที่สุดเราก็จะได้ ( เหรียญ 1 บาทอีก 4 เหรียญ ) 27/93

28 Fractional Knapsack o มีสิ่งของ n ประเภทซึ่งแต่ละประเภท (i) กำหนดให้มีจำนวน x i ชิ้น มีค่า ความสำคัญ b i และมีน้ำหนัก w i o ต้องการหาจำนวนสิ่งของแต่ละ ประเภทที่บรรจุลงในเป้ที่รับน้ำหนัก ได้ไม่เกิน W กิโลกรัม o ให้เลือกหยิบสิ่งของทีละชิ้นที่มีค่า ดัชนี (v i =b i /w i ) สูงสุดและทำให้ น้ำหนักรวมไม่เกิน W ก่อน 28/93

29 o ตัวอย่างเช่น มีของ 4 ประเภทคือ o หนังสือ 4 เล่ม มี b 1 =10 และ w 1 =0.6 (v 1 =16.7) o ขนม 2 กล่อง มี b 2 =7 และ w 2 =0.4 (v 2 =17.5) o น้ำ 2 ขวด มี b 3 =5 และ w 3 =0.5 (v 3 =10) o ซีดีเพลง 8 แผ่น มี b 4 =3 และ w 4 =0.2 (v 4 =15) o เป้รับน้ำหนักได้ไม่เกิน 4 กิโลกรัม o เลือก ขนม 2 กล่อง หนังสือ 4 เล่ม และ ซีดีเพลง 4 แผ่น o ได้ค่าความสำคัญสูงสุดและน้ำหนักไม่เกิน 4 กิโลกรัม 29/93

30 o Bin Packing o given N items of sizes s 1, s 2, …, s N ; o while 0 < s i < 1 o find a solution to pack these items in the fewest number of bins o 2 algor. versions : o on-line : an item must be placed in a bin before the next item is read o off-line : all item list are read in a bin 30/93

31 Optimal Bin Packing solution given an item list with sizes : 0.2, 0.5, 0.4, 0.7, 0.1, 0.3, / Algorithmic Process and Programming, created by Dararat Saelee Bin 1 Bin 2 Bin 3

32 Bin Packing strategy Next fit : fill items in a bin until the next item can’t fit, then insert a new bin (never look back) [0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8] 32/ empty 0.4 empty Bin 5 Bin 1 Bin 2 Bin 3 Bin 4 Bin 5 empty 0.3 empty Algorithmic Process and Programming, created by Dararat Saelee

33 Bin Packing strategy First fit : fill items in a bin, but if any first previous bin can fit the next item then we can fill in until no any bin can fit, then insert a new bin [0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8] 33/ empty 0.7 empty Bin 1 Bin 2 Bin 3 Bin 4 empty 0.8 empty Algorithmic Process and Programming, created by Dararat Saelee

34 Bin Packing strategy Best fit : fill items in a bin by trying to place the new item in the bin that left the smallest space [0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8] 34/ Bin 1 Bin 2 Bin 3 Bin empty 0.1 empty 0.4 empty Algorithmic Process and Programming, created by Dararat Saelee

35 o ร้านขนมเค้กแห่งหนึ่งรับทำขนมเค้กตามคำสั่งของลูกค้า โดยการสั่งขนมเค้กอาจเป็น 1 ก้อน ½ ก้อน ¼ ก้อน และ ขนมเค้กที่ลูกค้าได้รับต้องเป็นขนาดก้อนที่ไม่มีรอยแบ่ง ภายในก้อน ทั้งนี้ในการทำขนมเค้ก ทางร้านไม่ต้องการ ให้เหลือขนมเค้กมากจึงต้องคำนึงถึงจำนวนก้อนขนมเค้กที่ น้อยที่สุดที่ต้องทำ o ตัวอย่าง ถ้าหากลูกค้า 5 คน มีคำสั่ง 1 ½ ¼ ½ ¼ ดังนั้นทางร้านต้องทำเค้ก 3 ก้อน o จงเขียนโปรแกรมเพื่ออ่านข้อมูลคำสั่งของลูกค้าจากแฟ้ม และหาว่าต้องทำเค้กอย่างน้อยที่สุดกี่ก้อน 35/ Algorithmic Process and Programming, created by Dararat Saelee

36 Task Scheduling o กำหนดงาน n งานด้วย ( เวลาเริ่ม, เวลาเสร็จ ) โดยให้ทำงานทีละงาน บนเครื่อง และจะเอางานใดมาทำบน เครื่องเดียวกันได้ถ้าเวลางานไม่ทับ ซ้อนกัน ทั้งนี้ต้องใช้จำนวนเครื่องใน การทำงานทั้งหมดน้อยที่สุด o ตัวอย่างงาน (1,3), (1,4), (2,5), (3,7), (4,7), (6,9), (7,8) จะได้ผลดังนี้ เครื่องที่ 1 : (1,3), (3,7), (7,8) เครื่องที่ 2 : (1,4), (4,7) และเครื่องที่ 3 : (2,5), (6,9) 36/ Algorithmic Process and Programming, created by Dararat Saelee

37 Job Scheduling (Uniprocessor) 37/93 Job Time j 1 15 j 2 8 j 3 3 j 4 10 j1j1 j2j2 j3j3 j4j j3j3 j2j2 j4j4 j1j First-come-First-serve : avg. completion time = 25 avg. waiting time = 16 Shortest Job First : avg. completion time = avg. waiting time = Algorithmic Process and Programming, created by Dararat Saelee

38 Job Scheduling (Multiprocessor) 38/93 Job Time j 1 3 j 2 5 j 3 6 j 4 10 j 5 11 j 6 14 j 7 15 j 8 18 j 9 20 j1j1 j2j2 j3j3 j4j4 j5j5 j6j6 j7j7 j8j8 j9j FCFS Algorithmic Process and Programming, created by Dararat Saelee

39 Job Scheduling (Multiprocessor) 39/93 Job Time j 1 3 j 2 5 j 3 6 j 4 10 j 5 11 j 6 14 j 7 15 j 8 18 j 9 20 j1j1 j2j2 j3j3 j5j5 j4j4 j6j6 j9j9 j7j7 j8j Optimal # Algorithmic Process and Programming, created by Dararat Saelee

40 Job Scheduling (Multiprocessor) 40/93 Job Time j 1 3 j 2 5 j 3 6 j 4 10 j 5 11 j 6 14 j 7 15 j 8 18 j 9 20 j2j2 j1j1 j3j3 j5j5 j6j6 j4j4 j8j8 j9j9 j7j Optimal #2 – minimize completion time Algorithmic Process and Programming, created by Dararat Saelee

41 o divide : break a given problem into subproblems o recur : try to solve each in recursive way o conquer : derive the final solution from all solutions 41/ Algorithmic Process and Programming, created by Dararat Saelee

42 42/93 Problem of size n Subproblem 1 of size n/m Subproblem 2 of size n/m Subproblem m of size n/m … Solution to Subproblem 1 Solution to Subproblem 2 Solution to Subproblem m Solution to the original problem Algorithmic Process and Programming, created by Dararat Saelee

43 o Merge sort o Quick sort o Binary Tree Traversal o Closest-Pair and Convex-Hall o Selection problem 43/ Algorithmic Process and Programming, created by Dararat Saelee

44 o Factorial o Fibonacci o Binary search o Strassen’s Matrix Multiplication o Big Integer Multiplication 44/ Algorithmic Process and Programming, created by Dararat Saelee

45 Factorial o n! = n * (n-1)! o (n-1)! = (n-1) * (n-2)! o … o 1! = 1 o 0! = 1 45/93 ตัวอย่าง 4! = ? 4! = 4 * 3! 4! = 4 * 3! 3! = 3 * 2! 3! = 3 * 2! 2! = 2 * 1! 2! = 2 * 1! 1! = 1 * 0! 1! = 1 * 0! 0! = 1 0! = 1 Describe with Tree structure Algorithmic Process and Programming, created by Dararat Saelee

46 Fibonacci num.: 1,1,2,3,5,8,13,… o fibo (n) = fibo (n-1) + fibo (n- 2) o fibo (n-1) = fibo (n-2) + fibo (n-3) o fibo (n-2) = fibo (n-3) + fibo (n-4) o … o fibo (3) = fibo (2) + fibo (1) o fibo (2) = 1 o fibo (1) = 1 46/ Algorithmic Process and Programming, created by Dararat Saelee

47 Binary search 47/ mid Search = Algorithmic Process and Programming, created by Dararat Saelee

48 Strassen’s Matrix Multiplication o Z = X * Y ; matrix n x n o o I = A x E + B x G, J = A x F + B x H o K = C x E + D x G, L = C x F + D x H 48/93 I J K L A B C D E F G H = x Algorithmic Process and Programming, created by Dararat Saelee

49 Big Integer Multiplication o multiply 2 N-digit numbers : X, Y o XY = X L Y L 10 N + (X L Y R + X R Y L )10 N/2 + X R Y R o X L Y R +X R Y L = (X L -X R )(Y R -Y L ) + X L Y L + X R Y R o require : 2 subtraction, 3 multiplication o D 1 = X L -X R, D 2 = Y R -Y L o X L Y L, X R Y R, D 1 D 2 o D 3 = D 1 D 2 + X L Y L + X R Y R 49/ Algorithmic Process and Programming, created by Dararat Saelee

50 Big Integer Multiplication o X = 61,438,521 & Y = 94,736,407 o X L = 6143, X R = 8521 o Y L = 9473, Y R = 6407 o D 1 = X L -X R = -2378, D 2 = Y R -Y L = o X L Y L = , X R Y R = o D 1 D 2 = o D 3 = D 1 D 2 + X L Y L + X R Y R = o XY = X L Y L D X R Y R 50/ Algorithmic Process and Programming, created by Dararat Saelee

51 51 Motto Today ในการอยู่ร่วมกันกับผู้อื่น ควร มองโลกในแง่ดี และ คิด ในทางสร้างสรร มีน้ำใจ เอาใจเขามาใส่ใจ เรา และรู้จักให้อภัย

52 o based on exploiting the relationship between a solution to a given instance of a problem and a solution to a smaller instance of the same problem. o it can be exploited either top down (recursively) or bottom up (without a recursion). 52/ Algorithmic Process and Programming, created by Dararat Saelee

53 3 major variations : o decrease-by-a-constant o decrease-by-a-constant-factor o variable-size-decrease 53/93 From Anany Algorithmic Process and Programming, created by Dararat Saelee

54 o decrease-by-a-constant o the size of instance is reduced by the same constant on each iteration o decrease-by-a-constant-factor o the size of instance is reduced by the same constant factor on each iteration 54/93

55 o Insertion sort o Depth-First search and Breadth- First search (graph) o Topological sorting (graph) o Generating Combinatorial Objects 55/ Algorithmic Process and Programming, created by Dararat Saelee

56 Insertion sort o use the decrease-by-one o sorted-side unsorted-side o the size of unsorted data is reduced by 1 on each loop 56/ Algorithmic Process and Programming, created by Dararat Saelee

57 57/ Algorithmic Process and Programming, created by Dararat Saelee

58 o Jasephus Problem o Fake-Coin problem o Multiplication à la Russe 58/ Algorithmic Process and Programming, created by Dararat Saelee

59 Josephus problem o to determine the survivor by eliminating every second person (stand in circle) until only one survivor is left o e.g. J(6) = 5, J(7) = 7, J(9) = 3 o use the decrease-by-half (=2 ) 59/ Algorithmic Process and Programming, created by Dararat Saelee

60 use the decrease-by-half (=2) o can consider J(n) o if n is even (n=2k), o J(2k) = 2 J(k) -1 o if n is odd (n=2k+1), o J(2k+1) = 2 J(k) +1 o J(6) = 2 J(3) -1, J(3) = 2 J(1) + 1, o J(1) = 1  J(3) = 3  J(6) = 5 60/ Algorithmic Process and Programming, created by Dararat Saelee

61 use the decrease-by-half (=2) o can be obtained by rotate left 1 bit o J(6) = J(110 2 )  = 5 o J(7) = J(111 2 )  = 7 o J(9) = J( )  = 3 61/ Algorithmic Process and Programming, created by Dararat Saelee

62 use the decrease-by-3 (=3) o eliminate every 3 person o J(6) = 1 o J(7) = 4 o J(9) = 1 62/ Algorithmic Process and Programming, created by Dararat Saelee

63 3 major variations : o decrease-by-a-constant o decrease-by-a-constant-factor o variable-size-decrease o a size reduction pattern varies from one iteration to another 63/ Algorithmic Process and Programming, created by Dararat Saelee

64 o Euclid algor. o Computing a median and the selection problem o Interpolation search o Binary search tree 64/ Algorithmic Process and Programming, created by Dararat Saelee

65 Euclidean algor.: o finding gcd(a,b) recursively a,if b=0 gcd(a,b) = b,if a=0 gcd (b,a%b),otherwise e.g. gcd(124,40) = gcd(40,4) = 4 65/ Algorithmic Process and Programming, created by Dararat Saelee

66 66/93 Problem’s instance Simpler instance Change representation Change to Another problem instance solution Algorithmic Process and Programming, created by Dararat Saelee

67 o Horner’s Rule o Presorting o Gaussian Elimination o Balanced Search tree o Heap sort (tree) o Problem Reduction 67/ Algorithmic Process and Programming, created by Dararat Saelee

68 Horner’s rules o p(x) = a n x n + a n-1 x n-1 + … + a 1 x 1 + a 0 o use the representation change technique  p(x) = (…(a n x + a n-1 )x +…)x + a o e.g. p(x) = 2x 4 – x 3 + 3x 2 + x – 5 = x(x(x(2x–1) +3) +1) – 5 68/ Algorithmic Process and Programming, created by Dararat Saelee

69 Problem Reduction o reduce the problem to another problem that solving algor. is known o Problem1  Problem2  Solution o Problem : counting paths in a graph, linear programming, the Least Common Multiple (lcm) 69/ Algorithmic Process and Programming, created by Dararat Saelee

70 o the Least Common Multiple (lcm) o lcm(24,60) = = 120 o 24 = o 60 = o lcm(11,5) = 55 70/ Algorithmic Process and Programming, created by Dararat Saelee

71 o the Least Common Multiple (lcm) o lcm (m,n) = o lcm(24,60) = 120  gcd(24,60) = 12 o lcm(11,5) = 55  gcd(11,5) = 1 71/ Algorithmic Process and Programming, created by Dararat Saelee

72 Characterizing subproblems using a small set of integer indices – to allow an optimal solution to a subproblem to be defined by the combination of solutions to even smaller subproblems 72/ Algorithmic Process and Programming, created by Dararat Saelee

73 o Binomial Coefficient o Warshall’s & Floyd’s  Directed Graph o Optimal Binary Search tree  Tree o Ordering Matrix Multiplication or Matrix Chain-Product (ABCD  A(BC)D, (AB)(CD)) o All-pair Shortest Path  Directed Graph 73/ Algorithmic Process and Programming, created by Dararat Saelee

74 o Solving each of smaller subproblems only once and recording the results in a table from which can obtain a solution to the original problem o Using a table instead of recursion o Factorial o Fibonacci numbers 74/ Algorithmic Process and Programming, created by Dararat Saelee

75 0-1 Knapsack problem o 0-1 : reject or accept o given n items of weights w 1, w 2,…, w n and values v 1, v 2,…, v n and a knapsack of capacity W o find the best solution that gives maximum weight and value 75/ Algorithmic Process and Programming, created by Dararat Saelee

76 o use table to fill in by applying formulas B[k-1,w], if w k > w B [k,w] = max{B[k- 1,w],B[k-1,w-w k ]+b k }, else o e.g. let W = 5 and data : (item,weight,value)  (1,2,12) (2,1,10) (3,3,20) (4,2,15) 76/ Algorithmic Process and Programming, created by Dararat Saelee

77 capacity j (W=5) weight, value i w 1 =2, v 1 = w 2 =1, v 2 = w 3 =3, v 3 = w 4 =2, v 4 = /93 Select 1, 2, Algorithmic Process and Programming, created by Dararat Saelee

78 Ordering Matrix Multiplication or Matrix Chain-Product o find the best solution that gives minimum times of multiplication o e.g. ABCD, A(BC)D, (AB)(CD) 78/ Algorithmic Process and Programming, created by Dararat Saelee

79 79/91

80 o a random number is used to make a decision in some situation o e.g. giving a quiz by using a coin o a good randomized algor. has no bad inputs and no relative to the particular input, e.g. data testing 80/ Algorithmic Process and Programming, created by Dararat Saelee

81 Random Number Generator a method to generate true randomness is impossible to do on computer since numbers, called pseudorandom numbers, will depend on the algorithm e.g. linear congruential generator x i+1 = Ax i % M, given seed (x 0 ) value 81/ Algorithmic Process and Programming, created by Dararat Saelee

82 Skip Lists (in searching & insertion) o e.g. use random number generator to determine which node to be traversed within the expected time Primality Testing o e.g. to determine a large N-digit number is prime or not by factoring into N/2-digit primes, then a random generator is needed 82/ Algorithmic Process and Programming, created by Dararat Saelee

83 o there are many possibilities to try, if not succeed then step back to try another way o the elimination of a large group of possibilities in one step is known as pruning o e.g. arranging furniture in a new house, never place sofa, bed & closet in the kitchen 83/ Algorithmic Process and Programming, created by Dararat Saelee

84 o n-Queens o Hamiltonian Circuit o Subset-Sum o Goal Seeking o Turnpike Reconstruction 84/ Algorithmic Process and Programming, created by Dararat Saelee

85 o Games : chess n-Queens checker Tic-Tac-Toe o Minimax strategy 85/ Algorithmic Process and Programming, created by Dararat Saelee

86 When confronted with a problem, it is worthwhile to see if any method of algor. design can apply properly together with data structure that will lead to efficient solution. 86/91

87 o Knapsack problem o Bin packing o Task scheduling o Strassen’s matrix multiplication o Big Integer multiplication o Josephus problem o a n 87/91 Greedy Divide &conquer Decrease&conquer Algorithmic Process and Programming, created by Dararat Saelee

88 o Non-recursive : o a n, fibonacci o Recursive exponentiation : o a n, Horner’s Rule o LCM & GCD – Euclid Algor. o 0-1 Knapsack Problem 88/ Algorithmic Process and Programming, created by Dararat Saelee transform Dynamic programming

89 Algorithmic Process and Programming, created by Dararat Saelee 89 ทำเดี๋ยวนี้ คือหนทางสู่ความสำเร็จ คิดแต่ไม่ทำ เท่ากับไม่ได้คิด Motto Today

90 Fractional Knapsack : W= 5 หนังสือ 4 เล่ม มี b 1 =10 และ w 1 =0.5 ขนม 3 กล่อง มี b 2 =5 และ w 2 =0.4 น้ำ 2 ขวด มี b 3 =7 และ w 3 =0.5 โน้ตบุ้ค 1 เครื่อง มี b 4 =15 และ w 4 =1.8 Bin Packing : 0.25, 0.5, 1.0, 0.75, 0.125, 0.25, /93

91 Task Scheduling : act# start finish a1 1 4, a2 2 5, a3 1 5, a4 5 8 a5 4 6, a6 6 10, a7 7 9 Big Integer Multiplication X = 4,123,450,732 Y = 8,159,324,570 a n  (decrease-by-2) Josephus Problem : J(82) decrease- by-3 91/93

92 Euclidean : gcd (2039,113), gcd (1548,204) Horner’s Rule : p(x) = 7x 9 + 4x 6 - 3x 5 - x 4 + 5x Least Common Multiple : lcm (2039,113), lcm (1548,204) 0-1 knapsack Problem : W = 6, (1,2,12) (2,1,10) (3,4,20) (4,3,15) (5,2,14) 92/93


ดาวน์โหลด ppt Algorithm Design Algorithm Design Techniques Practice Problems 1/93 344-211 Algorithmic Process and Programming, created by Dararat Saelee.

งานนำเสนอที่คล้ายกัน


Ads by Google