คำถามติดแท็ก path-finding

วิธีการที่ใช้ในการทำแผนที่เส้นทางการเดินทางจากจุดหนึ่งไปยังอีกจุดหนึ่งโดยทั่วไปจะหลีกเลี่ยงสิ่งกีดขวางระหว่างทาง

3
อัลกอริทึมเพื่อดูว่าสอง voxels เชื่อมต่อกันหรือไม่
ฉันกำลังมองหาอัลกอริทึมที่ดีสำหรับปัญหาต่อไปนี้: กำหนดตาราง voxels แบบ 3 มิติ (ซึ่งอาจว่างเปล่าหรือเติมเต็ม) ถ้าฉันเลือก voxels ที่ไม่ติดกันสองตัวฉันต้องการทราบว่าพวกมันเชื่อมต่อกันด้วยหรือไม่ voxels อื่น ๆ ตัวอย่างเช่น (เพื่อแสดงให้เห็นถึงสถานการณ์ใน 2D) โดยที่ # เป็นสี่เหลี่ยมจัตุรัสที่กรอก: 1 2 3 a # # # b # # c # # # หากฉันเลือก a3 และ c3 ฉันต้องการตรวจสอบโดยเร็วที่สุดหากพวกเขาเชื่อมต่ออยู่ หากมีเส้นทางระหว่าง a3 และ c3 ถึงพิกเซลที่เติม (สถานการณ์จริงอยู่ในตาราง voxel 3D แน่นอน) ฉันดูอัลกอริธึมเติมน้ำท่วมและค้นหาอัลกอริธึมเส้นทาง แต่ฉันไม่แน่ใจว่าจะเลือกแบบใด ทั้งสองทำงานที่ไม่จำเป็น: …

5
การรับรู้สถานการณ์ในการค้นหาเส้นทาง
สมมติว่าคุณต้องหาเส้นทางที่สั้นที่สุดผ่านดันเจี้ยนซึ่งมีบางข้อความที่เปิดให้คุณหลังจากที่รวบรวมสิ่งของบางอย่างเช่นประตูและกุญแจที่ถูกล็อคเป็นต้น ปฏิกิริยาทางเดินอาหารปกติต่อคำว่า "เส้นทางที่สั้นที่สุด" จะเป็น A * อย่างชัดเจน แต่ A * จะล้มเหลวในสภาพแวดล้อมเช่นนี้เนื่องจากฉันเห็นปัญหามากมายที่กำหนดฮิวริสติกที่เชื่อถือได้และยิ่งมีความเป็นไปได้มากที่โหนดจะต้องเข้าชมหลายครั้งซึ่งเป็นไปไม่ได้ใน A * แบบเดิมและก็จะ ทำให้ฮิวริสติกหนักขึ้น สิ่งที่ฉันคิดคือเพียงแค่มองหาเส้นทางจากจุดเริ่มต้นของดันเจี้ยนไปยังจุดสิ้นสุดโดยไม่สนใจประตูที่ถูกบล็อก หลังจากพบเส้นทางนี้สำหรับประตูแต่ละบานที่ขวางทางของเราเส้นทางเพิ่มเติมที่ค้นหาคีย์ที่เหมาะสมและกลับไปที่ประตูจะถูกค้นหาและสำรวจก่อนที่จะถึงประตู ระบบเดียวกันนี้จะใช้ในการจัดการสถานการณ์ที่เส้นทางไปยังกุญแจที่จำเป็นในการเปิดประตูถูกบล็อกอีกครั้งโดยประตูอื่นซึ่งจะต้องเปิดก่อน ปัญหาใหญ่ที่ฉันเห็นด้วยวิธีแก้ปัญหาของฉันคือหลังจากพบเส้นทางทั้งหมดรวมถึงเส้นทางสำหรับการรับไอเท็มระยะทางทั้งหมดที่ตัวแทนเดินทางอาจไม่ได้น้อยที่สุดเนื่องจากอาจมีประตูปิดกั้นอื่น ๆ ที่อยู่ไกลกว่าเป้าหมาย แต่มีรหัสที่เหมาะสมของพวกเขาใช้ได้ง่ายขึ้นมาก A * จะละเลยประตูเหล่านี้ในการผ่านครั้งแรกที่มีการเพิกเฉยต่อประตูที่ถูกบล็อก ฉันแน่ใจว่าฉันไม่ใช่คนแรกที่พยายามแก้ไขปัญหานี้และขอขอบคุณที่ป้อนข้อมูลเกี่ยวกับปัญหา
11 ai  path-finding 

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

1
อัลกอริธึมการหาเส้นทางแบบสามเหลี่ยม A * (TA *)
ฉันต้องการความช่วยเหลือในการทำความเข้าใจอัลกอริทึม Triangle A * (TA *) ที่อธิบายโดย Demyen ในการหาเส้นทางแบบอิงสามเหลี่ยมที่มีประสิทธิภาพของกระดาษในหน้า 76-81 เขาอธิบายถึงวิธีการปรับอัลกอริทึม A * ปกติสำหรับการหาสมการเพื่อค้นหาเส้นทางที่เหมาะสมที่สุดที่อาจเป็นไปได้แม้หลังจากที่ถึง / ขยายโหนดสุดท้ายแล้ว ปกติ A *จะหยุดเมื่อโหนดสุดท้ายถูกขยาย แต่นี่ไม่ใช่เส้นทางที่ดีที่สุดเสมอเมื่อใช้ในกราฟที่วิเคราะห์ตำแหน่ง นี่คือปัญหาที่ฉันมี ปัญหานี้แสดงไว้ในหน้า 78 รูปที่ 5.4: ฉันเข้าใจวิธีการคำนวณค่า g และ h ที่แสดงในกระดาษ (หน้า 80) และฉันคิดว่าเงื่อนไขการหยุดการค้นหาคือ: if (currentNode.fCost > shortestDistanceFound) { // stop break; } โดย currentNode คือโหนดการค้นหาที่ผุดจากรายการที่เปิด (ลำดับความสำคัญคิว) ซึ่งมีคะแนน f ต่ำสุด shortestDistanceFound …

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

3
ค้นหาการเคลื่อนไหวที่เป็นไปได้สำหรับเอนทิตีในเกม 2d ที่เรียงต่อกัน
ฉันมีปัญหาที่จะเกิดขึ้นกับคำค้นหาที่เฉพาะเจาะจงสำหรับเรื่องนี้ แต่จะมีวิธีการอย่างไรในการค้นหาความเคลื่อนไหวที่เป็นไปได้ในเกมวางแผนกลยุทธ์แบบเลี้ยว 2 มิติ (เช่น FF: Tactics, Fire Emblem, Advance Wars) ฉันไม่ได้คิดมากเกี่ยวกับภูมิประเทศ (หรือแม้แต่การปะทะกัน) ณ จุดนี้ ฉันแค่สงสัยว่าอัลกอริธึมที่ฉันสามารถใช้เพื่อหาว่าเอนทิตี X สามารถย้าย 5 ไทล์และโจมตี 2 ไทล์ไกลกว่านั้น ฉันรู้ว่าฉันสามารถใช้บางอย่างเช่น Dijkstra เพื่อค้นหาระยะห่างระหว่างจุดสองจุด การนำไปใช้งานอย่างหนึ่งที่เป็นไปได้คือเริ่มต้นที่ตำแหน่งของผู้เล่นแล้วแยกออกจากที่นั่นจนกระทั่งระยะทางที่ Dijkstra กลับมามีค่ามากกว่าจำนวนการย้าย แค่สงสัยว่ามีใครบางคนชี้ให้ฉันในทิศทางที่ถูกต้อง (เช่นชื่อของอัลกอริทึมเทคนิคบทความ ฯลฯ )

2
การหาเส้นทาง 2D - การค้นหาเส้นทางที่ราบรื่น
ฉันพยายามที่จะใช้การบอกทางแบบง่าย ๆ แต่ผลลัพธ์ก็น่าพอใจน้อยกว่าที่ฉันตั้งใจจะทำ สิ่งที่เป็นหน่วยในเกมเช่น Starcraft 2 ย้ายไปทุกทิศทางในขณะที่หน่วยในกรณีของฉันย้ายได้มากที่สุด 8 ทิศทาง (Warcraft 1 สไตล์) เนื่องจาก 8 ทิศทางเหล่านี้ตรงไปยังโหนดที่มีอยู่ถัดไป (พวกเขาย้ายจากไทล์ . ฉันควรทำอย่างไรเพื่อให้ได้ผลลัพธ์เช่นเดียวกับ Starcraft 2 ลดขนาดของกระเบื้อง? ในภาพคุณสามารถเห็นแนวกระเบื้องในแนวนอนเป็นอุปสรรคและเส้นทางที่พบที่ระบุว่าเป็นกระเบื้องสีเขียว เส้นสีแดงคือเส้นทางที่ฉันต้องการบรรลุ

3
จะค้นหาเส้นทางผ่านสิ่งกีดขวางได้อย่างไร
วิธีแสดงสถานการณ์ต่อไปนี้ดีที่สุด - agent ( @) จำเป็นต้องไปถึงเป้าหมาย ( $) เส้นทางถูกบล็อกโดยคูเมือง ( ~~~) มีคราด (หรืออุปกรณ์อื่น ๆ เช่นรองเท้าบูทน้ำ) ที่จะทำให้สามารถข้ามสิ่งกีดขวางได้ .....~~~... . ground ...=.~~~... = rake .....~~~.$. ~ water .@...~~~... @ agent .....~~~... $ goal วิธีการหาเส้นทางอย่างถูกต้องจาก@ไปยังที่$ระบุไม่มีเส้นทางที่พร้อมใช้งานทันทีหรือไม่ เส้นทางของฉันควรมีค่าใช้จ่ายไม่เพียง แต่ยังจำเป็นต้องมี? UPD : ปัญหาคือเป้าหมายไม่สามารถเข้าถึงได้และเรคเป็นเพียงหนึ่งในวัตถุที่เป็นไปได้มากมายบนแผนที่ คำถามคือ "ทำอย่างไรให้ตัวแทนเข้าใจว่าต้องการคราด"
10 ai  path-finding 

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

7
ฉันควรเปลี่ยน A * อย่างไร
ฉันมีศัตรูหัวหน้าที่น่าสงสารที่แสวงหาผู้เล่นโดยใช้อัลกอริทึม A * มันเป็นสภาพแวดล้อมที่ค่อนข้างซับซ้อนและฉันทำใน Flash ดังนั้นการค้นหาอาจช้าลงเล็กน้อยเมื่อค้นหาในระยะทางไกล หากผู้เล่นอยู่กับที่ฉันจะค้นหาเพียงครั้งเดียว แต่ในขณะนี้ฉันค้นหาทุกเฟรม สิ่งนี้ใช้เวลานานพอสมควรที่ framerate ของฉันกำลังทรมาน อะไรคือวิธีการแก้ปัญหาปกตินี้? มีวิธีการ "replan" A * โดยไม่ต้องทำการค้นหาซ้ำทั้งหมดหรือไม่ ฉันควรค้นหาบ่อยครั้งกว่า (ทุกครึ่งวินาทีหรือสองวินาที) และยอมรับว่าเส้นทางนั้นมีความคลาดเคลื่อนเล็กน้อยหรือไม่?

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

5
อัลกอริธึมเส้นทางที่ยาวที่สุดสำหรับการสร้างเขาวงกต roguelike
ฉันมีแผนที่แบบกริดที่เรียบง่ายประกอบด้วยห้องพักเช่นนี้ (ทางเข้า A =, B = ออก): 0 1 2 3 ######### 0 # B # ##### ######### 1 # ### # ######### 2 # # # # # # 3 # # # ######### 4 # ### # ######### 5 ### A # ### # 6 ### # ######### …

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

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

4
วิธีปรับอัลกอริธึม pathfinding ให้สอดคล้องกับการเคลื่อนไหวที่ จำกัด ?
ลองนึกภาพการเคลื่อนไหวของรถที่ซึ่งเอนทิตี้ไม่สามารถเปิดสิบเซนต์ได้ พูดเพื่อประโยชน์ของการสนทนาว่าเมื่อความเร็วพวกเขาสามารถหมุน 90 องศาต่อวินาที ในหลายกรณีนี้จะเปลี่ยนเส้นทางที่ดีที่สุดและทำให้การหาเส้นทาง มันอาจทำให้เส้นทาง 'ปกติ' เป็นไปไม่ได้อย่างสิ้นเชิงที่จะสำรวจ มีอัลกอริทึมการค้นพบเส้นทางหรืออัลกอริทึมการวางแผนการเคลื่อนไหวที่สามารถจำได้หรือไม่หรือมีวิธีง่ายๆในการปรับตัวที่เป็นที่นิยม?
10 path-finding  car 

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