อะไรคือความแตกต่างระหว่างฮิวริสติกและอัลกอริทึม?


103

อะไรคือความแตกต่างระหว่างฮิวริสติกและอัลกอริทึม?



1
หากคุณมองอัลกอริทึมฮิวริสติกเป็นโครงสร้างแบบต้นไม้ฉันเดาว่าคุณสามารถเรียกมันว่าอัลกอริทึมวัตถุประสงค์พิเศษได้
James P.

ฮิวริสติกคืออัลกอริทึมที่ใช้ไม่ได้ (พิสูจน์ได้)
JeffE

คำตอบ:


99

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

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

ฮิวริสติกยังคงเป็นอัลกอริทึมประเภทหนึ่ง แต่จะไม่สำรวจสถานะที่เป็นไปได้ทั้งหมดของปัญหาหรือจะเริ่มต้นด้วยการสำรวจสิ่งที่เป็นไปได้มากที่สุด

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

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


3
การใช้ฮิวริสติกทั่วไปอีกอย่างหนึ่งคือในการตรวจจับไวรัสซึ่งคุณอาจไม่แน่ใจว่ามีไวรัสอยู่ที่นั่น แต่คุณสามารถค้นหาคุณลักษณะหลักเฉพาะของไวรัสได้
Dana Holt

นั่นเป็นเรื่องจริงและสำหรับการแคร็กโปรแกรม
streetparade

1
@kriss ดังนั้น .. ฮิวริสติกคืออัลกอริทึมชนิดหนึ่ง
Pacerier

1
@Pacerier: ใช่ เป็นอัลกอริทึมที่ช่วยนำทางในพื้นที่แก้ปัญหาของปัญหาหนึ่ง ๆ คุณยังสามารถมองว่าเป็นกลยุทธ์ในการปรับเปลี่ยนอัลกอริทึมเพื่อให้ใช้งานได้จริง (เมตาอัลกอริทึม) ยังคงเป็นอัลกอริทึมวิธีการทั้งหมดและ Heuristic เป็นวิธีการที่แน่นอน
kriss

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

ปัญหามากมายที่ไม่มีอัลกอริทึมที่มีประสิทธิภาพในการค้นหาวิธีการแก้ปัญหาที่ดีที่สุดเป็นที่ทราบกันดีว่ามีวิธีการฮิวริสติกที่ให้ผลลัพธ์ที่ใกล้เคียงที่สุดอย่างรวดเร็ว

มีบางส่วนที่ทับซ้อนกัน: "อัลกอริทึมทางพันธุกรรม" เป็นคำที่ยอมรับได้ แต่พูดตามตรงก็คือฮิวริสติกส์ไม่ใช่อัลกอริทึม


2
ฉันจะไม่บอกว่าอัลกอริทึมได้รับการพิสูจน์แล้วว่าให้ผลลัพธ์ที่ดีที่สุด แต่ขึ้นอยู่กับอัลกอริทึมที่เกี่ยวข้องกับปัญหา
nbro

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

22

ฮิวริสติกโดยสรุปคือ "การเดาที่มีการศึกษา" Wikipedia อธิบายไว้อย่างดี ในตอนท้ายวิธีการ "ยอมรับทั่วไป" จะถูกนำมาใช้เป็นวิธีการแก้ปัญหาที่ดีที่สุดสำหรับปัญหาที่ระบุ

ฮิวริสติกเป็นคำคุณศัพท์สำหรับเทคนิคประสบการณ์ที่ช่วยในการแก้ปัญหาการเรียนรู้และการค้นพบ วิธีการฮิวริสติกใช้เพื่อหาวิธีแก้ปัญหาอย่างรวดเร็วโดยหวังว่าจะใกล้เคียงกับคำตอบที่ดีที่สุดหรือ 'โซลูชันที่ดีที่สุด' Heuristics คือ "กฎง่ายๆ" การคาดเดาที่มีการศึกษาการใช้ดุลยพินิจที่เข้าใจง่ายหรือเพียงแค่สามัญสำนึก ฮิวริสติกเป็นวิธีทั่วไปในการแก้ปัญหา Heuristics เป็นคำนามเป็นอีกชื่อหนึ่งสำหรับวิธีการฮิวริสติก

ในแง่ที่ชัดเจนยิ่งขึ้นฮิวริสติกส์หมายถึงกลยุทธ์ที่ใช้ข้อมูลที่สามารถเข้าถึงได้ง่ายแม้ว่าจะใช้อย่างหลวม ๆ ก็ตามข้อมูลเพื่อควบคุมการแก้ปัญหาในมนุษย์และเครื่องจักร

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

อัลกอริทึมฮิวริสติกเป็นอัลกอริทึมที่สามารถสร้างวิธีแก้ปัญหาที่ยอมรับได้สำหรับปัญหาในสถานการณ์จริงหลาย ๆ แบบตามแบบฮิวริสติกทั่วไป แต่ไม่มีการพิสูจน์อย่างเป็นทางการถึงความถูกต้อง


8

อัลกอริทึมเป็นชุดที่ตนเองมีขั้นตอนโดยขั้นตอนของการดำเนินงานที่จะดำเนินการ4ตีความมักจะเป็นลำดับ จำกัด (คอมพิวเตอร์หรือมนุษย์) คำแนะนำในการกำหนดวิธีการแก้ปัญหาเช่น: มีเส้นทางจาก A ไป B หรือเส้นทางที่เล็กที่สุดระหว่าง A และ B คืออะไรในกรณีหลังคุณอาจพอใจกับโซลูชันทางเลือกที่ 'ใกล้เคียงพอสมควร'

มีบางประเภทของอัลกอริทึมซึ่งอัลกอริทึมฮิวริสติกเป็นหนึ่งเดียว ขึ้นอยู่กับคุณสมบัติ (พิสูจน์แล้ว) ของอัลกอริทึมในกรณีนี้จะอยู่ในหนึ่งในสามประเภทนี้ (หมายเหตุ 1):

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

โปรดสังเกตว่าอัลกอริทึมการประมาณค่าก็เป็นฮิวริสติกเช่นกัน แต่ด้วยคุณสมบัติที่แข็งแกร่งกว่าที่มีการพิสูจน์แล้วว่ามีผลผูกพันกับโซลูชัน (ค่า) จึงส่งออก

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

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

โดยทั่วไปแล้วฮิวริสติกจะใช้เพื่อปรับปรุงเวลาในการทำงานของอัลกอริทึมโดยการเพิ่ม "ข้อมูลผู้เชี่ยวชาญ" หรือ "การคาดเดาที่มีการศึกษา" เพื่อเป็นแนวทางในการค้นหา ในทางปฏิบัติการแก้ปัญหาก็อาจจะเป็นย่อยประจำสำหรับขั้นตอนวิธีการที่ดีที่สุดที่จะกำหนดว่าจะมองครั้งแรก

(หมายเหตุ 1) : นอกจากนี้อัลกอริทึมยังมีลักษณะเฉพาะว่าประกอบด้วยองค์ประกอบแบบสุ่มหรือไม่ได้กำหนด อัลกอริทึมที่ดำเนินการในลักษณะเดียวกันเสมอและให้คำตอบเดียวกันเรียกว่าดีเทอร์มินิสติก

(หมายเหตุ 2) : สิ่งนี้เรียกว่าปัญหา P vs NP และปัญหาที่จัดประเภทเป็น NP-complete และ NP-hard ไม่น่าจะมีอัลกอริทึม 'ประสิทธิภาพ' บันทึก; ตามที่ @Kriss กล่าวไว้ในความคิดเห็นยังมีปัญหาประเภทที่ 'แย่กว่า' ซึ่งอาจต้องใช้เวลาหรือพื้นที่ในการคำนวณ

มีหลายคำตอบที่ตอบคำถามบางส่วน ฉันถือว่าคำตอบเหล่านี้ไม่สมบูรณ์และไม่แม่นยำเพียงพอและตัดสินใจที่จะไม่แก้ไขคำตอบที่ยอมรับโดย @Kriss


ฉันเชื่อว่าคำจำกัดความของอัลกอริทึมคำของคุณมีข้อ จำกัด เกินไป การใช้ลำดับคำแสดงถึงการไม่ขนานกันหรือไม่? อัลกอริทึม Parallell นั้นใช้ได้ดีและเป็นปกติในตอนนี้ แล้วการแก้ปัญหาโดยใช้โครงข่ายประสาทเทียมล่ะ? หรือเครื่องมือเผยแพร่ข้อ จำกัด ? อัลกอริทึม? เมตาอัลกอริทึม?
kriss

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

ขอบคุณสำหรับความคิดเห็น! ฉันได้อัปเดตวลีเล็กน้อยและเข้าหามันต่างออกไป ในมุมมองของฉันการเผยแพร่ข้อ จำกัด เป็นเทคนิคในการเข้าถึงบางสิ่ง แต่ยังไม่ใช่อัลกอริทึมที่อธิบายถึงวิธีการที่ชาญฉลาดมาสู่โซลูชันที่อธิบายไว้ในการขยายพันธุ์แบบ จำกัด คุณมีความถูกต้องเกี่ยวกับคลาสของ expspace และ 'แย่กว่า' ฉันได้เพิ่มบันทึกไว้ด้วย BTW: โปรดเขียน NP-Complete และ / หรือ NP-Hard ให้ครบถ้วนเนื่องจากส่วนย่อยของ NP ยังมีปัญหาที่แก้ไขได้ 'อย่างมีประสิทธิภาพ' ซึ่งไม่ (คาดว่าจะเป็น) คลาสเดียวกัน
Joost

แน่นอนคุณพูดถูกฉันควรเขียน NP-Complete ความผิดฉันเอง.
kriss

มันดีกว่าเพื่อนร่วมงานคนหนึ่งของฉันชื่ออะไร: NP-ness (ซึ่งฟังดูแย่และแย่มาก ... )
Joost

6

อันที่จริงฉันไม่คิดว่าจะมีอะไรเหมือนกันมากมายระหว่างพวกเขา อัลกอริทึมบางตัวใช้ฮิวริสติกในตรรกะของตน (มักจะคำนวณน้อยลงหรือได้ผลลัพธ์เร็วขึ้น) โดยปกติแล้วฮิวริสติกจะใช้ในอัลกอริทึมโลภที่เรียกว่า

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


4

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

ตัวอย่างที่ดีคือคุณมีปัญหาที่ยากมาก (อ่าน NP-complete) ที่คุณต้องการวิธีแก้ปัญหา แต่ไม่มีเวลามาถึงมันดังนั้นคุณต้องใช้วิธีแก้ปัญหาที่ดีพอตามอัลกอริทึมฮิวริสติกเช่น การหาวิธีแก้ปัญหาพนักงานขายเดินทางโดยใช้อัลกอริทึมทางพันธุกรรม


4

อัลกอริทึมคือลำดับของการดำเนินการบางอย่างที่กำหนดให้อินพุตคำนวณบางสิ่งบางอย่าง (ฟังก์ชัน) และแสดงผลลัพธ์

อัลกอริทึมอาจให้ค่าที่แน่นอนหรือโดยประมาณ

นอกจากนี้ยังอาจคำนวณค่าสุ่มที่มีความเป็นไปได้สูงใกล้เคียงกับค่าที่แน่นอน

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


3

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

ดังนั้นหากคุณรู้วิธีแก้ปัญหาให้ใช้อัลกอริทึม หากคุณต้องการพัฒนาโซลูชันนั่นก็คือการวิเคราะห์พฤติกรรม


2

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


2

ฉันคิดว่า Heuristic เป็นข้อ จำกัด ที่ใช้ใน Learning Based Model ใน Artificial Intelligent เนื่องจากสถานะของโซลูชันในอนาคตนั้นยากที่จะคาดเดา

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

http://en.wikipedia.org/wiki/Stochastic_optimization


โอ๊ะ !! สะกดผิดควรเป็น "ปัญญาประดิษฐ์"
A_tanA

2

หนึ่งในคำอธิบายที่ดีที่สุดที่ฉันอ่านมาจากCode Completeหนังสือเล่มใหญ่ซึ่งตอนนี้ฉันอ้างถึง:

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

นี่คืออัลกอริทึมสำหรับการขับรถไปที่บ้านของใครบางคน: ใช้ทางหลวงหมายเลข 167 ทางใต้ไปยัง Puy-allup ใช้ทางออก South Hill Mall และขับรถขึ้นเขา 4.5 ไมล์ เลี้ยวขวาที่ไฟข้างร้านขายของชำจากนั้นเลี้ยวซ้ายแรก เลี้ยวเข้าทางรถแล่นของบ้านสีแทนหลังใหญ่ทางซ้ายมือที่ 714 North Cedar

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

ความแตกต่างระหว่างอัลกอริทึมและฮิวริสติกนั้นมีความละเอียดอ่อนและคำทั้งสองแบบโอเวอร์แลปค่อนข้าง สำหรับวัตถุประสงค์ของหนังสือเล่มนี้ความแตกต่างที่สำคัญระหว่างทั้งสองคือระดับของทิศทางจากการแก้ปัญหา อัลกอริทึมให้คำแนะนำโดยตรง ฮิวริสติกจะบอกคุณถึงวิธีค้นหาคำแนะนำสำหรับตัวคุณเองหรืออย่างน้อยที่สุดก็ควรหาคำแนะนำเหล่านั้น


การระบุว่ามีความแตกต่างระหว่างอัลกอริทึมและฮิวริสติกเหมือนกับการระบุว่ามีความแตกต่างระหว่างนกกับไก่ ฮิวริสติกเป็นอัลกอริทึมประเภทหนึ่ง
Joost

0

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

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