ทำไมจึงสอนเฉพาะอัลกอริธึมการค้นหาในหลักสูตร AI ระยะสั้นเบื้องต้น?


11

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

  • BFS
  • การค้นหาต้นทุนที่สม่ำเสมอ
  • DFS
  • ค้นหาซ้ำลึกลงไป
  • ค้นหาแบบสองทิศทาง

อัลกอริทึมการค้นหาเหล่านี้มักจะถูกจัดประเภทเป็น "blind" (หรือ "uninformed") เนื่องจากพวกเขาจะไม่พิจารณาข้อมูลใด ๆ เกี่ยวกับเส้นทางที่เหลือไปยังเป้าหมาย

หรืออัลกอริทึมที่ชอบ:

  • ค้นหาแบบฮิวริสติก
  • การค้นหาที่ดีที่สุดครั้งแรก
  • A
  • A *
  • IDA *

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

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

นอกจากนี้เรายังศึกษาอัลกอริธึม min-max สั้น ๆ ที่นำไปใช้กับเกมและ min-max รุ่นที่ปรับปรุงแล้วเช่นการตัดอัลฟ่าเบต้า

หลังจากจบหลักสูตรนี้ฉันรู้สึกว่า AI เป็นเพียงแค่การค้นหาไม่ว่าจะ "โง่" หรือ "ฉลาดกว่า"

คำถามของฉันคือ:

  • เหตุใดอาจารย์คนหนึ่งเพียงสอนอัลกอริทึมการค้นหาในหลักสูตร AI ข้อดี / ข้อเสียคืออะไร? คำถามต่อไปเกี่ยวข้องกับเรื่องนี้มาก

  • มีอะไรมากกว่า "การค้นหา" ใน AI ที่สามารถสอนในหลักสูตรเบื้องต้นได้ คำถามนี้อาจนำไปสู่คำตอบแบบอัตนัย แต่จริง ๆ แล้วฉันถามในบริบทของบุคคลที่พยายามเข้าใจว่า AI คืออะไรและมันครอบคลุมหัวข้อใดบ้าง เห็นได้ชัดและน่าเสียดายหลังจากอ่านไปรอบ ๆ ดูเหมือนว่าเรื่องนี้จะเป็นเรื่องส่วนตัว

  • มีทฤษฎี AI ที่สามารถสอนได้ในหลักสูตรนี้หรือไม่?


คุณควรเปลี่ยนข้อเสนอของคุณว่าอัลกอริทึมการค้นหาที่ระบุไว้เรียกว่า "blind" - เพราะมันผิด "blind" มักจะใช้เป็นคำพ้องความหมายว่า "ไม่รู้แจ้ง" อย่างไรก็ตามการค้นหา A *, IDA * และ Heuristic นั้นใช้อัลกอริธึมการค้นหาที่ "แจ้ง" (เนื่องจากเป็นพื้นฐานของการวิเคราะห์พฤติกรรม) ดังนั้นพวกเขาจึงไม่ได้ตาบอดอีกต่อไปคุณแน่ใจหรือไม่ว่า "อัลกอริทึม" มีอยู่จริง? และฉันไม่สามารถค้นหาการกล่าวถึง algortihm นี้ในเว็บถ้ามีอยู่จริงลิงก์จะดี (อาจจะอยู่ในความคิดเห็น)
Prof.Chaos

@ Prof.Chaos อัลกอริทึมคือ A * เมื่อคุณไม่รู้ว่าฮิวริสติกนั้นเหมาะสมที่สุด อันที่จริง * ใน * ควรทำให้บางสิ่งบางอย่างในหัวของเรา เกี่ยวกับการโต้แย้ง "คนตาบอด" มันอาจไม่ยุติธรรมที่จะพิจารณา A * ว่าตาบอดเป็น BFS หรือ DFS ดังนั้นฉันจึงเห็นด้วยกับคุณ
nbro

คำตอบ:


8

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

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


6

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

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

แม้แต่แชทบ็อตพื้นฐานก็สามารถค้นหาคำตอบที่ 'ถูกต้อง' สำหรับวลีอินพุตที่กำหนดเพื่อเลียนแบบภาษามนุษย์!

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

ตอนนี้อัลกอริทึมการค้นหาไม่ใช่วิธีเดียวที่จะแก้ไขปัญหาเหล่านี้ ฉันขอแนะนำให้ผู้ประกอบการ AI ทุกคนคุ้นเคยกับแนวคิดของวิทยาศาสตร์ข้อมูลและอัลกอริทึมการเรียนรู้ของเครื่อง ML มักเกี่ยวข้องกับอัลกอริธึมการค้นหา แต่เทคนิคที่ใช้อาจแตกต่างกันอย่างมากจากการสร้างซ้ำของลักษณนาม / การถดถอย (เช่น C4.5 สร้างแผนผังการตัดสินใจ), เมตา - ฮิวริสติกตามที่คุณระบุไว้ การวิเคราะห์ข้อมูลการฝึกอบรม (เช่น Naive Bayesian เป็นตัวจําแนกที่สร้างขึ้นบนการวิเคราะห์แบบเบส์ของข้อมูลที่ให้โดยสมมติว่าฟิลด์อินพุตเป็นอิสระ - นี่คือ 'ความไร้เดียงสา' ที่ได้รับชื่อ) บ่อยครั้งที่อัลกอริทึม ML ได้รับการพัฒนาในกลุ่มการวิจัย AI และบางครั้งสามารถออกแบบสำหรับปัญหาเฉพาะแทนที่จะเป็นอัลกอริทึมแบบฟอร์มทั่วไป


4

เหตุใดอาจารย์คนหนึ่งสอนสอนขั้นตอนวิธีการค้นหาในหลักสูตร AI ข้อดี / ข้อเสียคืออะไร?

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

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

มีอะไรมากกว่า "การค้นหา" ใน AI ที่สามารถสอนในหลักสูตรเบื้องต้นได้

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

มีทฤษฎีเบื้องหลัง AI ที่สามารถสอนได้ในหลักสูตรนี้หรือไม่?

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

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