ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยAmpawn Tomson ได้เปลี่ยน 10 ปีที่แล้ว
1
การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)
Apirada Thadadech
2
Performance Analysis แบ่งออกเป็น 2 ส่วน
วิเคราะห์หน่วยความจำที่ใช้ในการประมวลผล (Space Complexity) วิเคราะห์เวลาที่ใช้ในการประมวลผล (Time Complexity )
3
วิเคราะห์หน่วยความจำที่ใช้ในการประมวลผล (Space Complexity)
ช่วยให้เราทราบว่า อัลกอริธึม นั้นๆสามารถรองรับข้อมูลที่ใช้ในการประมวลผลได้ใหญ่สุดขนาดไหน การประมวลผลบนระบบเครือข่าย หน่วยความจำ เป็นเรื่องสำคัญ พิจารณาสเป็กเครื่องที่ใช้ ประกอบกับ อัลกอริธึมของงาน
4
องค์ประกอบของ Space Complexity
ประกอบด้วย 3 ส่วน Instruction Space: memory for compiler use Data Space: memory for Data each type, constant and variable Static memory Dynamic memory Environment Stack Space: Processing result memory and return back to next process.
5
Example for Space Complexity
Swap between 2 values Procedure Swap (num1, num2 : integer); var temp : integer; Begin temp := num1; num1 := num2; num2 := temp; end
6
Function Factorial by recursive
Function Factorial ( n : integer): integer; Begin If n = 0 then factorial := 1 Else Factorial := n * Factorial ( n -1) End;
7
วิเคราะห์เวลาที่ใช้ในการประมวลผล(Time Complexity )
สามารถประมาณเวลาที่ใช้ในการประมวลผลได้ เพิ่มประสิทธิภาพ จะได้พิจารณาเฉพาะส่วนที่ใช้ เวลาในการประมวลผล
8
องค์ประกอบของ Time Complexity
เครื่องที่มีความเร็วสูง ขนาดของ Program code ขนาดของตัวแปร เวลาที่ใช้ Compile time Run time/execute time
9
Operation counts 1. Linear Loops การเพิ่มค่า ในลูปแบบคงที่ ทำให้ Time complexity มีค่า = จำนวนรอบของลูป นั้นคือ f(n) = nเช่น I = 1 loop ( I <= 2000) ….. I = I +1
10
Operation counts (cont.)
2. Logarithmic Loops: เป็นอัลกอริธึมที่มีการเพิ่ม ลดค่า ในลูปแบบเท่าตัว ทำให้ Time complexity มีค่า = จำนวนรอบของลูป นั้นคือ f(n) = [log2n] เช่น I = 1000 loop ( I >= 1) … I = I / 2 I = 1 loop ( I <= 2000) ... … I = I * 2
11
จำนวนรอบการประมวลผลของ Logarithmic Loop
การคูณ การหาร รอบที่ ค่าของ i 1 2 3 4 5 6 7 8 9 10 End 16 32 64 128 256 512 1024 end 1000 500 250 125 62 31 15
12
Operation counts (cont.)
3. Nested Loops: เป็นอัลกอริธึมที่มี loop ซ้อนใน loop ทำให้ Time complexity มีค่า = จำนวนลูปทั้งหมดที่ต้องประมวลผล # รอบทั้งหมด = # loop ชั้นนอก x # loop ชั้นใน Linear Logarithmic Dependent Quadratic Quadratic I =1 Loop (I <= 20) j =1 loop ( j <= 10) another code j = j* 2 I = I + 1 Loop (I <= 10) k =1 loop ( k <= i) k = k + 1 loop ( k<= 10) k = k+ 1 F(n) = [nlog2n] F(n) = n((n+1)/2) F(n) = n2
13
สภาวะประสิทธิภาพของอัลกอริธึม
Best-Case: อัลกอริธึมที่ใช้เวลาในการประมวลผลน้อยที่สุด Worst-Case: อัลกอริธึมที่ใช้เวลาในการประมวลผลมากที่สุด Average-Case: อัลกอริธึมที่ใช้เวลาในการประมวลผลเฉลี่ยมีค่าประมาณที่สามารถระบุได้
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.