Page 47 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 47

การวัดประสิทธิภาพและความซับซ้อนของขั้นตอนวิธี 2-37
  หมายเหตุ:

          ใน​กิจกรรม​ข้อ 1 นี้ ถ้า​โจทย์​กำ�หนด​ให้​หา​บ๊ิก​โอ สามารถ​ใช้​กฎ​การ​หา​บิ๊ก​โอ จะ​ทำ�ให้​การ​ประ​มาณ​บิ๊ก​โอ​ทำ�ได้​
  รวดเร็ว​และถ​ ูกต​ อ้ ง

          2. 	จากก​ ฎก​ าร​หาบ​ ๊กิ ​โอ ฟังก์ชนั ​เวลา​ของข​ ้ันต​ อนว​ ิธี MinMax เป็น O(n)
          3. 	จาก​กฎ​การห​ าบ​ ิ๊ก​โอ ฟงั กช์ นั ​เวลา​ของ​ขัน้ ต​ อน​วิธี EvenOrOdd เปน็ O(1)
          4. 	จากก​ ฎก​ ารห​ าบ​ กิ๊ โ​อ ฟังก์ชนั ​เวลา​ของ​ขน้ั ​ตอน​วธิ ี Evalutaion ​เป็น O(n)

เรอ่ื ง​ท่ี 2.2.2
การเ​ปรยี บเ​ทยี บ​ประสทิ ธิภาพข​ องข​ ้ัน​ตอนว​ ิธี

       การ​วิเคราะห์​เวลา​ที่​ใช้​ประมวล​ผล​โปรแกรม​นั้น มี​หลาย​ปัจจัย​ท่ี​มี​ผลก​ระ​ทบ​ต่อ​เวลา​ท่ี​ใช้​ประมวล​ผล เช่น
ตัว​คอม​ไพ​เลอ​ร์ (compiler) และ​เคร่ือง​คอมพิวเตอร์ ซ่ึง​ปัจจัย​เหล่า​น้ี​มี​ผล​ต่อ​การ​ประมวล​ผลอ​ย่าง​เห็น​ได้​ชัด แต่​จะ
เกิน​ขอบเขตก​ ารพ​ ิจารณาใ​นท​ างท​ ฤษฎี เน่ืองจากเ​ป็นป​ ัจจัยท​ ี่​จัดการไ​ด้​ยาก ดัง​นั้น ปัจจัยห​ ลักอ​ ีก​อย่างห​ นึ่ง​ท่ี​ส�ำคัญ คือ
ขั้นต​ อน​วิธีท​ ่ีใ​ช้​และ​ข้อมูล​เข้า ที่​สามารถพ​ ิจารณาไ​ด้จ​ าก​ขนาด​ของข​ ้อมูล​เข้า​เป็นห​ ลัก

       การ​วิเคราะห์​เวลา​ใน​บาง​คร้ัง จะ​เห็น​ว่า มี​การ​ประเมิน​เวลา​ที่​เกิน​ความ​จริง ซ่ึง​สามารถ​แบ่ง​การ​วิเคราะห์​เวลา
​ท่ี​ใช้​ประมวล​ผล​ได้​เป็น 3 กรณี ได้แก่ เวลา​ที่​ใช้​ประมวล​ผล​กรณี​ท่ี​ดี​ที่สุด (best-case running time) เวลา​ท่ี​ใช้​
ประมวล-​ผล​กรณี​ท่ี​แย่​ท่ีสุด (worst-case running time) และ​เวลา​ที่​ใช้​ประมวล​ผล​กรณี​เฉล่ีย (average running
time)

       เวลา​ท่ี​ใช้​ประมวล​ผล​กรณี​ท​ี่ดี​ที่สดุ (best-case running time) หมาย​ถึง เวลา​ท่ี​ใช้​ประมวล​ผล​เร็ว​ท่ีสุด
เมื่อข​ ้อมูลม​ ีร​ ูปแ​ บบ​ที่​ท�ำให้​การ​ประมวล​ผล​ของข​ ั้น​ตอนว​ ิธีท​ ่ี​ได้อ​ อกแบบ​ไว้​ส�ำเร็จไ​ด้​อย่างร​ วดเร็ว​ท่ีสุด

       เวลา​ที​่ใช้​ประมวล​ผล​กรณี​ท​ี่แย่​ท่ีสุด (worst-case running time) หมาย​ถึง เวลา​ท่ี​ใช้​ประมวล​ผล​นาน​ท่ีสุด
เม่ือ​ข้อมูล​มี​รูป​แบบ​ท่ี​ท�ำให้​การ​ประมวล​ผล​ของ​ข้ัน​ตอน​วิธี​ท่ี​ได้​ออกแบบ​ไว้​ส�ำเร็จ​ได้​ช้า อาจ​เป็น​เพราะ​การ​จัด​เรียง​ข้อมูล​
ท่ี​ไม่เ​อ้ือ​ประโยชน์​แก่ก​ าร​ประมวล​ผล​ของข​ ั้นต​ อนว​ ิธีท​ ่ี​ได้​ออกแบบ​ไว้

       เวลาท​ ใ​ี่ ช​ป้ ระมวล​ผลก​ รณ​เี ฉลย่ี (average-case running time) หมาย​ถึง เวลาท​ ่ีใ​ช้​ประมวลผ​ ลโ​ดย​เฉลี่ย​ส�ำหรับ​
ข้อ​มูล​ใดๆ ท่ีส​ ามารถค​ าด​หวังไ​ด้ เม่ือข​ ้อมูล​มีร​ ูปแ​ บบ​ต่างๆ

       กรณี​เฉลี่ย​อาจ​ถือว่า​เป็นการ​วิเคราะห์​ท่ี​ใกล้​เคียง​ความ​เป็น​จริง​มาก​ที่สุด ซึ่ง​โดย​ปกติ​จะ​ได้​ค่า​ประมาณ​ท่ี​อาจ​
จะ​มากกว่า​กรณี​ท่ี​ดี​ท่ีสุดแ​ ละ​จะ​น้อยก​ ว่าก​ รณี​ท่ีแ​ ย่ท​ ่ีสุด​เสมอ แต่​กรณี​ท่ี​แย่​ท่ีสุด​ถือเ​ป็นการป​ ระมาณเ​วลา​ที่ใ​ช้ม​ ากท​ ี่สุด​
ที่​อาจจ​ ะเ​ป็นไ​ปไ​ด้ข​ องข​ ้ันต​ อนว​ ิธีน​ ้ันๆ น่ันเอง ส�ำหรับข​ ั้นต​ อนว​ ิธีท​ ี่ม​ ี​ความซ​ ับซ​ ้อนท​ ั้งห​ ลาย ขอบเขตข​ องเ​วลาท​ ่ี​ใช้ใ​นก​ าร​
ประมวลผ​ ลใ​น​กรณี​ที่​แย่​ที่สุด สามารถห​ า​ได้โ​ดยก​ าร​ใช้​ข้อมูล​เข้า​ท่ี​ไม่​ดี ซึ่งโ​ดยป​ กติ​แล้ว​จะ​เป็นการ​ประเมิน​ค่า​เกิน​จริง
แต่​ปัญหาส​ ่วนใ​หญ่ การ​วิเคราะห์​กรณีเ​ฉลี่ย​จะ​มีค​ วาม​ซับ​ซ้อน เช่น มีห​ ลายก​ รณีท​ ่ีไ​ม่ส​ ามารถห​ าไ​ด้ ท�ำให้​การ​วิเคราะห​์
ขอบเขต​ใน​กรณีท​ ี่​แย่​ที่สุดเ​ป็น​ผลก​ าร​วิเคราะห์​ที่​ดี​ท่ีสุด​ท่ีจ​ ะท​ �ำได้ใ​น​การ​ประเมินป​ ระสิทธิภาพข​ อง​ขั้น​ตอนว​ ิธี

       ใน​เร่ือง​นี้​จะ​อธิบาย​การ​เปรียบ​เทียบ​ประ​สิทธิ​ภาพของ​ข้ัน​ตอน​วิธี​ท่ี​แตก​ต่าง​กัน​ที่​ใช้​ใน​การ​แก้​ปัญหา​เดียวกัน
โดย​พิจารณา​การ​หาข​ อบเขต​ในก​ รณี​เฉลี่ย​ของแ​ ต่ละ​ขั้น​ตอน​วิธี เพ่ือ​ให้เ​ห็น​ตัวอย่าง​ที่​ชัดเจน​ว่าป​ ัญหาห​ น่ึงๆ อาจ​แก้ได้​
ด้วย​วิธี​การ​หลาก​หลาย​วิธี และ​วิธี​การ​ไหน​จะ​ให้การ​ประมวล​ผล​ท่ี​รวดเร็ว​ท่ีสุด (มี​ประสิทธิภาพ​ท่ีสุด) เมื่อ​ขนาด​ของ​
   42   43   44   45   46   47   48   49   50   51   52