กลับไปหน้าบทความ

อ่าน 3 นาที

วิธีการเดินเร็ว

วิธี การเดินเร็ว [ 1 ] เป็น วิธีการเชิงตัวเลข ที่สร้างขึ้นโดย James Sethian เพื่อแก้ ปัญหาค่าขอบเขต ของ สมการ Eikonal :

วิธีการเดินเร็ว

วิธีการเดินเร็ว[ 1 ]เป็นวิธีการเชิงตัวเลขที่สร้างขึ้นโดยJames Sethianเพื่อแก้ปัญหาค่าขอบเขตของสมการ Eikonal :

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

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

ส่วนขยายสำหรับการแก้ปัญหาโดเมนที่ไม่แบนราบ (แบบสามเหลี่ยม)

สำหรับพื้นผิวและนั้น ได้รับการแนะนำโดยรอน คิมเมลและเจมส์ เซเธีย

อัลกอริทึม

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

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

โหนดต่างๆ จะถูกติดป้ายกำกับเป็นไกล (ยังไม่เคยเยี่ยมชม), พิจารณาแล้ว (เยี่ยมชมแล้วและกำหนดค่าเบื้องต้นแล้ว) และยอมรับแล้ว (เยี่ยมชมแล้วและกำหนดค่าถาวรแล้ว)

  1. กำหนด ค่าให้กับทุกโหนดและติดป้ายกำกับว่าfar ; สำหรับทุกโหนดให้กำหนดค่าและติดป้ายกำกับว่าaccepted
  2. สำหรับโหนดที่อยู่ไกลทุกโหนดให้ใช้สูตรการอัปเดต Eikonalเพื่อคำนวณค่าใหม่สำหรับถ้าเป็นเช่นนั้น ให้ตั้งค่าและติดป้ายกำกับเป็น ค่า ที่พิจารณาแล้ว
  3. ให้เป็นโหนดที่พิจารณาซึ่งมีค่าต่ำที่สุดกำหนดให้ เป็นโหนดที่ ได้รับ การยอมรับ
  4. สำหรับเพื่อนบ้านทุกรายที่ ไม่ได้รับการยอมรับ ให้คำนวณค่าเบื้องต้น
  5. ถ้าตั้งค่าเป็น. ถ้าถูกระบุว่าไกลให้เปลี่ยนป้ายกำกับเป็นพิจารณาแล้ว
  6. หากมี โหนด ที่พิจารณาอยู่ ให้กลับไปที่ขั้นตอนที่ 3 มิฉะนั้น ให้ยุติการทำงาน

ดูเพิ่มเติม

  • วิธีการที่คล้ายกับวิธีของ Dijkstra สำหรับสมการ Eikonal โดย JN Tsitsiklis, 1995
  • วิธีการเดินเร็วและการประยุกต์ใช้ โดย เจมส์ เอ. เซเธียน
  • วิธีการเดินเร็วแบบใช้แม่แบบหลายแบบ
  • การใช้งาน Multi-Stencils Fast Marching ใน Matlab
  • รายละเอียดการนำวิธีการเดินแถวเร็วไปใช้
  • วิธีการ Fast Marching ทั่วไปโดย Forcadel et al. [2008] สำหรับการประยุกต์ใช้ในการแบ่งส่วนภาพ
  • การนำวิธีการ Fast Marching Method มาใช้ในภาษา Python
  • ดูบทที่ 8 ในหนังสือ Design and Optimization of Nano-Optical Elements by Coupling Fabrication to Optical Behavior ที่เก็บถาวรไว้เมื่อวันที่ 20 สิงหาคม 2013 ในWayback Machine

หมายเหตุ

  1. ^ JA Sethian. วิธีการกำหนดระดับการเดินขบวนอย่างรวดเร็วสำหรับแนวหน้าที่ก้าวหน้าอย่างต่อเนื่อง, Proc. Natl. Acad. Sci., 93, 4, หน้า 1591--1595, 1996. [1]
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Fast_marching_method&oldid=1253508517 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ วิธีการเดินเร็ว

วิธี การเดินเร็ว [ 1 ] เป็น วิธีการเชิงตัวเลข ที่สร้างขึ้นโดย James Sethian เพื่อแก้ ปัญหาค่าขอบเขต ของ สมการ Eikonal :

อัลกอริทึม

ขั้นแรก สมมติว่าโดเมนได้ถูกแบ่งออกเป็นตาข่ายแล้ว เราจะเรียกจุดในตาข่ายว่าโหนด แต่ละโหนดจะมีค่าที่สอดคล้องกัน x ฉัน {\displaystyle x_{i}} ยู ฉัน = ยู ( x ฉัน ) ≈ คุณ ( x ฉัน ) {\displaystyle U_{i}=U(x_{i})\approx u(x_{i})}

ดูเพิ่มเติม

วิธีการกำหนดระดับ วิธีการกวาดอย่างรวดเร็ว อัลกอริทึมเบลล์แมน-ฟอร์ด

ลิงก์ภายนอก

วิธีการที่คล้ายกับวิธีของ Dijkstra สำหรับสมการ Eikonal โดย JN Tsitsiklis, 1995 วิธีการเดินเร็วและการประยุกต์ใช้ โดย เจมส์ เอ.