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

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

การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)

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


งานนำเสนอเรื่อง: "การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)"— ใบสำเนางานนำเสนอ:

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: อัลกอริธึมที่ใช้เวลาในการประมวลผลเฉลี่ยมีค่าประมาณที่สามารถระบุได้


ดาวน์โหลด ppt การวิเคราะห์ประสิทธิภาพของอัลกอริธึม (Performance Analysis)

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


Ads by Google