การใช้อัลกอริทึม GSAT - วิธีการเลือกตัวอักษรที่จะพลิก?


20

GSAT อัลกอริทึมส่วนใหญ่ส่งตรง: คุณได้รับสูตรในรูปแบบปกติซึ่งเชื่อมต่อกันและพลิกตัวอักษรของอนุประโยคจนกว่าคุณจะพบวิธีแก้ปัญหาที่ตรงกับสูตรหรือถึงขีด จำกัด สูงสุดของ max_tries / max_flips และไม่พบวิธีแก้ปัญหา

ฉันใช้อัลกอริทึมต่อไปนี้:

procedure GSAT(A,Max_Tries,Max_Flips)
  A: is a CNF formula
  for i:=1 to Max_Tries do
    S <- instantiation of variables
    for j:=1 to Max_Iter do
      if A satisfiable by S then
        return S
      endif
      V <- the variable whose flip yield the most important raise in the number of satisfied clauses;
      S <- S with V flipped;
    endfor
  endfor
  return the best instantiation found
end GSAT

ฉันมีปัญหาในการตีความบรรทัดต่อไปนี้:

V <- the variable whose flip yield the most important raise in the number of satisfied clauses;

จำนวนคำที่พอใจสูงสุดไม่ใช่สิ่งที่เรากำลังมองหาใช่ไหม สำหรับฉันดูเหมือนว่าเรากำลังพยายามใช้วิธีแก้ปัญหาหรือการประมาณเพื่อหาวิธีแก้ปัญหา

ฉันเคยคิดว่าจะทำสิ่งนี้ได้บ้าง แต่มันจะเป็นการดีหากได้ยินมุมมองอื่น ๆ (สมมุติว่าเมื่อตัวแปรถูกเปิดเมื่อเลือกแล้ว):

  • สร้างพื้นที่รัฐด้วยการพลิกที่เป็นไปได้ทั้งหมดและค้นหาพื้นที่สำหรับตัวอักษรที่ให้ผลลัพธ์ที่ดีที่สุดในการประเมินสถานะเป้าหมาย
  • เลือกตัวแปรแบบสุ่มที่ฉันจะพลิกโดยเริ่มจากตัวอักษรที่มีอยู่ทั่วไป
  • เลือกตัวอักษรแบบสุ่ม

คำตอบ:


12

จำนวนคำที่พอใจสูงสุดไม่ใช่สิ่งที่เรากำลังมองหาใช่ไหม

ใช่เรากำลังมองหาการบ้านที่ตรงกับจำนวนสูงสุดของข้อ (นั่นคือทั้งหมดของพวกเขาโดยเฉพาะอย่างยิ่ง) และด้วยเหตุนี้เราจึงถามตัวเองว่า "ตัวแปรตัวใดที่ทำให้เราใกล้เคียงกับเป้าหมายนี้มากที่สุดเมื่อพลิกมัน?" แล้วพลิกมัน

สำหรับฉันดูเหมือนว่าเรากำลังพยายามใช้วิธีแก้ปัญหาหรือการประมาณเพื่อหาวิธีแก้ปัญหา

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

สร้างพื้นที่รัฐด้วยการพลิกที่เป็นไปได้ทั้งหมดและค้นหาพื้นที่สำหรับตัวอักษรที่ให้ผลลัพธ์ที่ดีที่สุดในการประเมินสถานะเป้าหมาย

ขวา.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.