มาร์คอฟเชนเป็นแบบจำลองของระบบที่เปลี่ยนไปมาระหว่างสถานะทีละก้าว เช่น แดดออกและฝนตก กฎสำคัญคือก้าวถัดไปขึ้นอยู่กับสถานะปัจจุบันเท่านั้น ถ้าสมมตินี้สมเหตุสมผลสำหรับระบบที่คุณกำลังสร้างแบบจำลอง
ความน่าจะเป็นแบบหนึ่งก้าวเหล่านี้จะถูกรวบรวมไว้ในเมทริกซ์การเปลี่ยนสถานะ ถ้ากระบวนการอยู่ในสถานะ ตอนนี้ และย้ายไปสถานะ ถัดไปด้วยความน่าจะเป็น จะได้ว่า
สำหรับมาร์คอฟเชนแบบจำกัด แต่ละแถวของ จะมีผลรวมเป็น เพราะกระบวนการต้องย้ายไปยังหนึ่งในสถานะถัดไปที่อนุญาตเสมอ
สมบัติมาร์คอฟหมายถึงอะไร
แนวคิดอย่างเป็นทางการคือ
นี่หมายความว่า เมื่อคุณรู้สถานะปัจจุบัน แล้ว ประวัติที่เก่ากว่านั้นจะไม่เปลี่ยนความน่าจะเป็นของก้าวถัดไปในแบบจำลอง
เงื่อนไขนี้สำคัญมาก ระบบจริงบางระบบมีความจำ มีแนวโน้ม หรือมีผลกระทบที่ล่าช้า ดังนั้นมาร์คอฟเชนจะเหมาะก็ต่อเมื่อการมองว่า "รู้สถานะปัจจุบันก็พอ" เป็นการประมาณที่สมเหตุสมผล
วิธีอ่านเมทริกซ์การเปลี่ยนสถานะ
สมมติว่าแบบจำลองสภาพอากาศอย่างง่ายมี 2 สถานะ:
- แดดออก
- ฝนตก
ใช้เมทริกซ์การเปลี่ยนสถานะนี้:
ให้อ่านแต่ละแถวเป็นสถานะปัจจุบัน และแต่ละคอลัมน์เป็นสถานะถัดไป
ดังนั้นถ้าวันนี้แดดออก แบบจำลองบอกว่าพรุ่งนี้จะมีแดดออกด้วยความน่าจะเป็น และฝนตกด้วยความน่าจะเป็น ถ้าวันนี้ฝนตก พรุ่งนี้จะมีแดดออกด้วยความน่าจะเป็น และฝนตกด้วยความน่าจะเป็น
ตัวอย่างคำนวณ: สภาพอากาศในช่วงสองวัน
สมมติว่าการแจกแจงของวันนี้คือ
นี่หมายความว่าแบบจำลองเริ่มต้นที่สถานะแดดออกด้วยความน่าจะเป็น
การแจกแจงของวันพรุ่งนี้คือ
ดังนั้นหลังจากหนึ่งก้าว แบบจำลองให้โอกาสแดดออก และโอกาสฝนตก
หลังจากอีกหนึ่งก้าว
ตอนนี้ความน่าจะเป็นของแดดออกคือ และของฝนตกคือ
ประเด็นสำคัญไม่ได้มีแค่การคำนวณ เมทริกซ์นี้อัปเดตการแจกแจงความน่าจะเป็นทั้งชุดทีละก้าว ซึ่งเป็นเหตุผลว่าทำไมมาร์คอฟเชนจึงมีประโยชน์สำหรับกระบวนการที่เกิดซ้ำ
มาร์คอฟเชนถูกใช้ที่ไหน
มาร์คอฟเชนมีประโยชน์เมื่อระบบเปลี่ยนแปลงเป็นลำดับขั้น และคุณต้องการหาความน่าจะเป็นของสิ่งที่จะเกิดขึ้นต่อไป
ตัวอย่างที่พบบ่อย ได้แก่ แบบจำลองสภาพอากาศ การเคลื่อนที่ในเกมกระดาน แบบจำลองคิว และการนำทางบนเว็บแบบอย่างง่าย ในแต่ละกรณี แบบจำลองจะช่วยได้ก็ต่อเมื่อเลือกสถานะได้เหมาะสมและความน่าจะเป็นของการเปลี่ยนสถานะสมจริง
ข้อผิดพลาดที่พบบ่อยเกี่ยวกับมาร์คอฟเชน
คิดว่ากระบวนการสุ่มทุกแบบเป็นมาร์คอฟ
กระบวนการหนึ่งไม่ได้เป็นมาร์คอฟเชนโดยอัตโนมัติเพียงเพราะมันเป็นกระบวนการสุ่ม แบบจำลองต้องมีพฤติกรรมของก้าวถัดไปที่ถูกกำหนดโดยสถานะปัจจุบันตามนิยามของสถานะที่คุณใช้
ลืมว่าแต่ละแถวหมายถึงอะไร
หลายคนมักสลับแถวกับคอลัมน์ คุณต้องใช้ข้อตกลงให้สอดคล้องกัน ในหน้านี้ แถวคือสถานะปัจจุบัน และคอลัมน์คือสถานะถัดไป
ใช้ค่าความน่าจะเป็นที่ไม่ถูกต้อง
แต่ละค่าในเมทริกซ์ต้องอยู่ระหว่าง ถึง และแต่ละแถวต้องมีผลรวมเป็น สำหรับเมทริกซ์การเปลี่ยนสถานะแบบมาตรฐานของมาร์คอฟเชนแบบจำกัด
คิดว่าแบบจำลองทำนายอนาคตที่แน่นอนได้เพียงแบบเดียว
โดยทั่วไปมาร์คอฟเชนให้ผลเป็นความน่าจะเป็น ไม่ใช่ความแน่นอน แม้ว่าสถานะหนึ่งจะมีโอกาสมากกว่า แต่ก็ยังอาจมีหลายสถานะถัดไปที่เป็นไปได้
พฤติกรรมระยะยาวขึ้นอยู่กับตัวเชน
มาร์คอฟเชนบางตัวจะค่อย ๆ เข้าสู่การแจกแจงระยะยาวที่คงที่ ซึ่งมักเรียกว่าการแจกแจงคงตัว แต่สิ่งนี้ไม่ได้เกิดขึ้นกับทุกเชน และรายละเอียดขึ้นอยู่กับสมบัติของเชน เช่น สถานะต่าง ๆ ติดต่อถึงกันได้อย่างไร และรูปแบบการเคลื่อนที่มีคาบหรือไม่
ดังนั้นการมองว่าการคูณซ้ำ ๆ ด้วย เป็นวิธีศึกษาพฤติกรรมระยะยาวนั้นทำได้ แต่คุณไม่ควรสมมติว่าจะลู่เข้าโดยไม่ตรวจสอบเงื่อนไขก่อน
เมื่อใดมาร์คอฟเชนจึงเป็นแบบจำลองที่ดี
ใช้มาร์คอฟเชนเมื่อเงื่อนไขทั้งหมดต่อไปนี้เป็นจริงอย่างสมเหตุสมผล:
- กระบวนการสามารถอธิบายได้ด้วยชุดของสถานะที่มีจำนวนจัดการได้
- เวลาเดินไปเป็นขั้น ๆ แบบไม่ต่อเนื่อง หรือคุณเลือกจะสร้างแบบจำลองในลักษณะนั้น
- ความน่าจะเป็นของก้าวถัดไปถูกกำหนดอย่างมีความหมายจากสถานะปัจจุบัน
ถ้าเงื่อนไขเหล่านี้ไม่เป็นจริง แบบจำลองอาจยังใช้เป็นการประมาณคร่าว ๆ ได้ แต่คุณควรระบุเรื่องนั้นอย่างชัดเจน
ลองสร้างแบบของคุณเอง
สร้างแบบจำลองที่มี 3 สถานะ เช่น อุปสงค์ต่ำ อุปสงค์ปานกลาง และอุปสงค์สูง เลือกความน่าจะเป็นในแต่ละแถวให้มีผลรวมเป็น กำหนดการแจกแจงเริ่มต้น แล้วคำนวณก้าวถัดไปด้วย ถ้าต้องการไปต่อ ลองอัปเดตอีกหนึ่งรอบแล้วดูว่าการแจกแจงเริ่มเข้าสู่รูปแบบบางอย่างหรือไม่
ต้องการความช่วยเหลือในการแก้โจทย์?
อัปโหลดคำถามของคุณแล้วรับคำตอบแบบทีละขั้นตอนที่ผ่านการตรวจสอบในไม่กี่วินาที
เปิด GPAI Solver →