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

ขั้น​ตอน​วิธีก​ าร​ค้นหา​ข้อมูล 15-9

       2.2 	การค​ น้ หา​แบบฮ​ ิว​ร​ิสต​ิก  พจนานุกรมอ​ อนไลน์ (dict.longdo.com) ให้ค​ วาม​หมาย​ของ ฮิวร​ ิส​ ติก​ ว่า​เป็น​
วิธี​การ​แก้​ปัญหา​ที่​ไม่มี​แนวทาง​หรือ​กฎ​เกณฑ์​ที่​ชัดเจน เช่น ใน​เกม​หมาก​รุก คง​มีแ​ ต่​การ​ทดลอง​หรือ​คาด​เดา​หลายๆ ทาง​
ให้​ตัดสิน​เลือก​ทาง​ที่​คิด​ว่า​จะ​ได้​ผล​ดี​ที่สุด ซึ่ง​มัก​จะ​ใช้​ผล​จาก​ประสบการณ์​ท่ี​ผ่าน​มา ตรง​ข้าม​กับ​สามัญส�ำนึก
(common sense) ตัวอย่าง​วิธี​การ​แบบ​ฮิวร​ ิ​สติก​ ใ​นช​ ีวิต​ประจ�ำ​วัน เ​ช่น ถ​ ้า​แก้​ปัญหา​ท่ี​เป็น​นามธรรม​ยาก​ต่อ​ความ​เข้าใจ
ใหห้ า​ตวั อยา่ ง​ท​เี่ ปน็ ​รปู ​ธรรม​จะ​ได​เ้ ขา้ ใจ​และ​เหน็ ​ปญั หา​ชดั เจน​ขนึ้ การ​คน้ หา​แบบ​ฮวิ ​ร​สิ ต​กิ นนั้ ​เปน็ ​วธิ ​กี าร​คน้ หา​ท​เี่ หมาะ​สม​
กับ​ข้อมูล​จ�ำนวน​มาก พ้ืนท่ี​การ​ค้นหา​ขนาด​ใหญ่ ซึ่ง​ถ้า​ใช้​วิธี​การ​แบบ​พื้น​ฐาน​หรือ​บรูทฟ​อร์ซ​จะ​ใช้​เวลา​นาน​มาก ดัง​น้ัน​
การ​คาด​เดา​หนทาง​ที่​น่า​จะ​น�ำ​ไป​สู่​ค�ำ​ตอบ​จะ​ช่วย​ลด​เวลา​ใน​การ​ประมวล​ผล​ใน​การ​ให้​ได้​มา​ซ่ึง​ค�ำ​ตอบ​ท่ี​ยอมรับ​ได้
ซึ่งข​ ั้นต​ อนว​ ิธแี​ บบน​ ี้น​ ิยมน​ �ำ​มาใ​ชก้​ ับว​ ิธกี​ ารท​ างป​ ัญญาป​ ระดิษฐ์ (Artificial Intelligence) โดยใ​ชค้​ วามร​ ู้เ​กี่ยวก​ ับป​ ัญหา​
มา​ช่วย​ใน​การ​ค้นหา​โดย​ความ​รู้​เกี่ยว​กับ​ปัญหา​จะ​อยู่​ใน​รูป​ของ​ฟัง​ก์ชันท่ี​เรียก​ว่า ฟังก์ชัน​ฮิว​ริ​สติ​ก ซึ่ง​จะ​แปลง​ค่า​สถานะ​
ของ​การ​ค้นหา​ปัจจุบัน​เป็น​ตัวเลข​ที่​ประมาณ​การ​ว่า​เข้า​ใกล้​เป้า​หมาย​ท่ี​ต้องการ​เพียง​ใด และ​ใช้​เป็น​ตัว​ก�ำหนด​ทิศทาง​
ใน​การ​ค้นหา​เช่น​ต้องการ​จะ​เดิน​ทาง​จาก​เมือง A ไป​เมือง Z ด้วย​ระยะ​ทาง​ท่ี​สั้น​ท่ีสุด โดย​เมือง​ระหว่าง A และ Z
ประกอบ​ด้วย​เมือง B, C, ..., X และ Y ฟังก์ชัน​ฮิว​ริ​สติ​ก​ส�ำหรับ​ปัญหา​นี้​อาจ​เป็น​ระยะ​ที่​เป็น​เส้น​ตรง​ที่​ลาก​จาก​แต่ละ​
เมืองถ​ ึง Z โดยที่ร​ ะยะท​ างจ​ ริงต​ ้องข​ ้ึนอ​ ยู่ก​ ับค​ วามค​ ดเ​คี้ยวข​ องถ​ นน ซ่ึงว​ ิธีก​ ารค​ ้นหาท​ ี่​ใช้ฮ​ ิวร​ ิส​ ติก​ ​ได้แก่ การค​ ้นหาแ​ บบ​
เลือก​ดี​ที่สุด (best-first search) การ​ค้นหา​แบบ​ปีน​เขา (hill-climbing search) การ​ค้นหา​โดย​ใช้​การ​จ�ำลอง​การ​อบ​
เหนียว (simulated annealing search) การค​ ้นหา​แบบเ​อส​ ตาร์ (A* search) และการค​ ้นหาโ​ดยใ​ช้ร​ ูปแ​ บบ​พันธุกรรม
(genetic search) เป็นต้น

ตัวอย่างท​ ่ี 15.2 จงแ​ สดงใ​ห้เ​ห็นถ​ ึงร​ ูปแ​ บบข​ ั้นต​ อนว​ ิธีก​ ารค​ ้นหาแ​ บบฮ​ ิวร​ ิ​สติก​ โดยใ​ช้ข​ ั้นต​ อนว​ ิธีค​ ้นหาแ​ บบเ​ลือกด​ ี​ท่ีสุด
ใน​การ​ค้นหา​เส้น​ทาง​จาก​โหนด A ถึง โหนด E จาก​กราฟ​สอง​ทศิ ทาง​ท​่ีม​ีโหนด​ประกอบ​ดว้ ย A B C D E และ​ระยะ​ทาง​
ระหว่าง​โหนด​ก�ำหนด​ให้​มี​ค่าด​ ังน้ี

       ระยะท​ างร​ ะหว่าง​โหนด A และ โหนด C มี​ค่า​เท่ากับ 5
       ระยะท​ าง​ระหว่าง​โหนด A และ โหนด D มีค​ ่าเ​ท่ากับ 3
       ระยะท​ างร​ ะหว่าง​โหนด B และ โหนด D มีค​ ่าเ​ท่ากับ 2
       ระยะท​ างร​ ะหว่างโ​หนด B และ โหนด E มีค​ ่า​เท่ากับ 3
       ระยะท​ างร​ ะหว่าง​โหนด C และ โหนด D มี​ค่า​เท่ากับ 6

                      D     2B     3                                                 E
                 3          6

                 A5         C

ก�ำหนดใ​ห้​ฟังก์ชัน​ฮิวร​ ิส​ ติ​ก​ประมาณ​ค่า​จากโ​หนดท​ ่ี​เลือก​ถึง​โหนด E ดังนี้

โหนด A B C D                                                                               E
                                                                                           0
ค่าฮิวริสติก  4          2      2                                                       3
   14   15   16   17   18   19   20   21   22   23   24