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

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

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

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


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

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) = [log 2 n] เช่น I = 1 loop ( I <= 2000)... … I = I * 2 I = 1000 loop ( I >= 1) … I = I / 2

11 จำนวนรอบการประมวลผลของ Logarithmic Loop รอบที่ค่าของ i รอบที่ค่าของ i End end การคูณการหาร

12 Operation counts (cont.) 3. Nested Loops: เป็นอัลกอริธึมที่มี loop ซ้อนใน loop ทำให้ Time complexity มี ค่า = จำนวนลูปทั้งหมดที่ต้องประมวลผล # รอบทั้งหมด = # loop ชั้นนอก x # loop ชั้นใน Linear LogarithmicDependent QuadraticQuadratic I =1 Loop (I <= 20) j =1 loop ( j <= 10) another code j = j* 2 I = I + 1 I =1 Loop (I <= 10) k =1 loop ( k <= i) another code k = k + 1 I = I + 1 I =1 Loop (I <= 10) k =1 loop ( k<= 10) another code k = k+ 1 I = I + 1 F(n) = [nlog 2 n]F(n) = n((n+1)/2)F(n) = n 2

13 สภาวะประสิทธิภาพของอัลกอริธึม 1. Best-Case น้อย 1. Best-Case : อัลกอริธึมที่ใช้เวลาในการ ประมวลผลน้อยที่สุด 2. Worst-Case มาก 2. Worst-Case : อัลกอริธึมที่ใช้เวลาในการ ประมวลผลมากที่สุด 3. Average-Case เฉลี่ย 3. Average-Case : อัลกอริธึมที่ใช้เวลาในการ ประมวลผลเฉลี่ยมีค่าประมาณที่สามารถระบุ ได้


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

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


Ads by Google