ฮิวริสติกที่ยอมรับได้ช่วยให้มั่นใจได้ว่าเป็นทางออกที่ดีที่สุดได้อย่างไร


16

เมื่อใช้ A * (หรืออัลกอริทึมการค้นหาเส้นทางที่ดีที่สุดอื่น ๆ ) เราบอกว่าการฮิวริสติกที่ใช้ควรยอมรับได้นั่นคือไม่ควรประเมินค่าความยาวของเส้นทางการแก้ปัญหาที่แท้จริง (หรือย้าย)

ฮิวริสติกที่ยอมรับได้ช่วยให้มั่นใจได้ว่าเป็นทางออกที่ดีที่สุดได้อย่างไร ฉันกำลังมองหาคำอธิบายที่ใช้งานง่าย

หากคุณต้องการคุณสามารถอธิบายการใช้ฮิวริสติกระยะทางแบบแมนฮัตตันของปริศนา 8 ตัว


2
@Ashwin สังหรณ์ใจเพราะเมื่อขั้นตอนวิธีการพบเส้นทางของความยาวจะได้พยายามแล้วทุกเส้นทางอื่น ๆ ที่อาจจะมีความยาวมากที่สุด kนั่นเป็นเหตุผลที่ฟังก์ชั่นแก้ปัญหาของคุณต้องไม่ประเมินค่าสูงไปกว่าเป้าหมาย ลองด้วยตัวคุณเองโดยใช้ฟังก์ชั่นแก้ปัญหาที่อาจประเมินค่าสูงไป kkk
Pål GD

คำตอบ:


7

ในขณะที่คำตอบของ Anton นั้นสมบูรณ์แบบจริง ๆ ขอให้ฉันพยายามหาคำตอบทางเลือก: การยอมรับหมายความว่าฮิวริสติกไม่ได้ประเมินค่าสูงเกินความพยายามที่จะบรรลุเป้าหมายนั่นคือสำหรับnทั้งหมดในพื้นที่ของรัฐ (ใน 8 ปริศนานี้หมายถึงเฉพาะการเรียงสับเปลี่ยนของกระเบื้องและเป้าหมายที่คุณกำลังพิจารณา) โดยที่h ( n )เป็นค่าใช้จ่ายที่เหมาะสมที่สุดในการเข้าถึงเป้าหมายh(n)h(n)nh(n)

ฉันคิดว่าคำตอบที่มีเหตุผลที่สุดเพื่อดูว่าทำไมให้คำตอบที่ดีที่สุดถ้าh ( n )ยอมรับได้เพราะมันจะเรียงลำดับโหนดทั้งหมดใน OPEN ตามลำดับจากน้อยไปมากf ( n ) = g ( n ) + h ( n )และยัง เพราะมันไม่หยุดเมื่อสร้างเป้าหมาย แต่เมื่อขยาย:Ah(n)f(n)=g(n)+h(n)

  1. เนื่องจากโหนดถูกขยายตามลำดับจากน้อยไปหามากของคุณจึงรู้ว่าไม่มีโหนดอื่นที่มีแนวโน้มดีกว่าโหนดปัจจุบัน ข้อควรจำ: h ( n )ยอมรับได้ดังนั้นการมีค่าต่ำสุดf ( n )หมายความว่ามีโอกาสเข้าถึงเป้าหมายผ่านเส้นทางที่ถูกกว่าที่โหนดอื่น ๆ ใน OPEN ไม่มี และนี่เป็นความจริงเว้นแต่ว่าคุณสามารถพิสูจน์ได้ในทางตรงกันข้ามคือโดยการขยายโหนดปัจจุบันf(n)h(n)f(n)
  2. เนื่องจากจะหยุดก็ต่อเมื่อมันขยายโหนดเป้าหมาย (เป็น oppossed เพื่อหยุดเมื่อสร้างมัน) คุณแน่ใจ (จากจุดแรกด้านบน) ว่าไม่มีโหนดอื่นที่นำไปสู่เส้นทางที่ถูกกว่าA

และนี่คือทั้งหมดที่คุณจะพบในหลักฐานดั้งเดิมโดย Nilsson และคณะ

หวังว่าจะช่วยได้


3
ขอบคุณ มันช่วยได้ คุณอ้างถึงการพิสูจน์โดย Nilsson และคณะ นั่นใคร? และฉันจะหาหลักฐานได้จากที่ใด
Ashwin

1
@Ashwin ดูหนังสือ " หลักการปัญญาประดิษฐ์ " (ประมาณ 80 หน้า) โดย Nils J. Nilsson (1982)
nbro

11

หากฟังก์ชันฮิวริสติกไม่สามารถยอมรับได้เราสามารถประมาณค่าได้ว่าใหญ่กว่าต้นทุนเส้นทางจริงจากบางโหนดไปยังโหนดเป้าหมาย หากการประมาณการต้นทุนเส้นทางที่สูงกว่านี้อยู่บนเส้นทางต้นทุนที่น้อยที่สุด (ที่เรากำลังค้นหา) อัลกอริทึมจะไม่สำรวจและอาจพบเส้นทางอื่น (ไม่ใช่ต้นทุนต่ำสุด) ไปยังเป้าหมาย

ดูตัวอย่างง่ายๆนี้

ป้อนคำอธิบายรูปภาพที่นี่

ให้และGเป็นโหนดเริ่มต้นและเป้าหมายตามลำดับ ให้h ( N )เป็นค่าประมาณความยาวของเส้นทางจากโหนดNถึงG , Nในกราฟ นอกจากนี้ให้( N , X ฉัน )เป็นฟังก์ชั่นค่าใช้จ่ายขั้นตอนจากโหนดNกับเพื่อนบ้านของX ฉัน , Nและฉัน= 1 .. ม.ที่ม.AGh(N)NGNc(N,Xi)NXiNi=1..mmคือจำนวนเพื่อนบ้านของ (เช่นฟังก์ชั่นที่ส่งคืนต้นทุนของขอบระหว่างโหนดNและหนึ่งในเพื่อนบ้าน)NN

ให้ฮิวริสติกเป็นไปได้

  • h(B)=3

  • h(C)=4

ฟังก์ชันฮิวริสติกนี้ไม่สามารถยอมรับได้เนื่องจากh ( C ) = 4 > c ( C , G ) = 2H

h(C)=4>c(C,G)=2

AABGABG4ACG3


1
ตกลง. แต่ฮิวริสติกที่ยอมรับได้จะช่วยให้แน่ใจว่าได้ทางออกที่ดีที่สุดได้อย่างไร
Ashwin

มันสามารถเกิดขึ้นได้ - h (b) <h (c) กับทั้ง h (b) และ h (c) ถูกยอมรับได้ แต่ real_cost (b)> real_cost (c) ใช่ไหม? ดังนั้นขจะถูกเลือกให้เป็นเส้นทางต่อไปที่ซึ่งในความเป็นจริงคจะได้รับเส้นทางที่ดีที่สุด
Ashwin

สำหรับความคิดเห็นที่ 1: การวิเคราะห์พฤติกรรมที่ยอมรับเพื่อให้แน่ใจว่าจะหาวิธีการแก้ปัญหาที่สั้นที่สุด path.The ตัวเองเป็นดีที่สุดถ้าแก้ปัญหาเป็นที่สอดคล้องกัน
Anton

สำหรับความคิดเห็นที่ 2: หากฮิวริสติกที่ยอมรับได้สามารถเลือก A-> B สำหรับโหนดถัดไปเพื่อขยาย แต่หลังจากนั้น A * จะเลือก A-> C และไม่ใช่ A-> B-> G และท้ายที่สุดมันจะจบลงด้วย A-> C-> G
Anton

1
เพราะ A * ทำงานเช่นนี้ มันจะขยายโหนดโดยรวมระยะทางน้อยที่สุดไปยังการประมาณค่าของโหนด + ฮิวริสติกจากโหนดนั้น d (A, G) + h (G) = 4 + 0 = 4 และ d (A, C) + h (C) = 1 + บางสิ่งบางอย่าง <= 2 (เพราะยอมรับได้) ดังนั้น C จึงต่ำกว่าผลรวมและ A * จะเลือก เช่นเดียวกับที่มันจะขยาย G และค้นหาเส้นทางที่น้อยที่สุด
Anton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.