ความมั่งคั่งหาทางออกในเขาวงกตใดก็ได้ Path of Exile ทางเดินของเขาวงกตของผู้ปกครอง

มีวิธีที่ง่ายมากในการเข้าไปในเขาวงกตโดยไม่ต้องกลัวว่าจะหลงทาง เมื่อใช้กฎนี้ คุณจะหาทางออกจากเขาวงกตได้เสมอ ไม่ว่าการเปลี่ยนผ่านจะสับสนเพียงใด นี่คือกฎของการหลงทางอย่างปลอดภัยในเขาวงกต:

จำเป็นต้องเดินผ่านเขาวงกตตลอดเวลาโดยใช้มือเดียวกันแตะกำแพง

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

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

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

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

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

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

หลังจากที่ผู้เล่นพบว่าตัวเองอยู่ในเขาวงกตนี้ เขาจะพบกับอิซาร์อย่างต่อเนื่อง การกระทำแต่ละอย่างของคุณจะส่งผลต่อการต่อสู้ครั้งต่อไป ที่การต่อสู้ครั้งแรกจะดำเนินต่อไปจนกว่าแถบสุขภาพของศัตรูของคุณถึง 2/3 หลังจาก 1/3 จากนั้นคุณจะต้องชนะอย่างสมบูรณ์ แต่ในการต่อสู้ครั้งสุดท้ายอย่าลืมว่าจะมีกับดักและต้องปฏิบัติอย่างระมัดระวัง

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

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

วิธีการเปิดและเข้าไปในเขาวงกต?

เพื่อที่จะอยู่ในเขาวงกตหลักที่เราต้องการ ก่อนอื่นคุณต้องหาเขาวงกตเล็กๆ หกวง ซึ่งจะต้องพบและผ่านไปก่อน

  • ด่าน 1: คุกใต้ดิน (เรือนจำล่าง);
  • ด่าน 2: ห้องแห่งบาป ระดับ 2;
  • ด่าน 2: Crypt ระดับ 1 (The Crypt ระดับ 1);
  • ขั้นที่ 3: เมรุเผาศพ;
  • ด่าน 3: Catacombs (The Catacombs);
  • ด่าน 3: The Hedge Maze - เดิมทีแผนที่นี้ไม่ได้มีการเทเลพอร์ตเต็มรูปแบบ แต่คุณยังสามารถไปถึงที่นั่นได้หากคุณเข้าไปในนั้นผ่าน The Imperial Gardens

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

คำแนะนำ - วิธีผ่านเขาวงกตของผู้ปกครอง Path of Exile

บอสสู้ๆ

ในเขาวงกตหลัก มีการต่อสู้ที่ยากลำบาก 3 ครั้งกับ Izar ซึ่งมีความเก่งกาจและการเปลี่ยนภาพ นั่นคือ ในการต่อสู้แต่ละครั้ง เขาจะมีผู้ช่วย แต่แตกต่างกันอย่างต่อเนื่อง

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

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

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

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

กับดักใน Path of Exile ของ Ruler's Labyrinth

ไม่ต้องสงสัยเลยว่ามีกับดักอยู่ในเขาวงกต แต่ไม่ใช่กับดักชนิดหนึ่ง แต่มีหลายชนิด ซึ่งไม่เพียงแต่อันตรายเท่านั้น แต่ยังรวมถึงสิ่งอันตรายด้วย ที่ซึ่งพวกเขาสามารถกำจัดไม่เพียง แต่สถานะของเกราะ แต่ยังรวมถึงสุขภาพด้วย กับดักส่วนใหญ่สามารถพบได้ใน Trials of Ascension ซึ่งมีการแสดงกับดักจำนวนมาก

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

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

เลื่อยสามารถเคลื่อนที่ไปตามเส้นทางที่กำหนด ทำซ้ำการกระทำของพวกเขาซ้ำแล้วซ้ำอีก ที่ซึ่งความเสียหายสามารถทำได้เมื่อเวลาผ่านไป แต่มีประสิทธิภาพมากกว่าหนามแหลมทั่วไป โดยที่ความเสียหายไม่สำคัญในกรณีนี้ บางครั้งสามารถปิดเลื่อยชั่วคราวได้โดยการค้นหาและปิดคันโยก หากต้องการทราบวิธีการทำงาน ให้ไปที่แผนที่ของด่านที่สองใน Chamber of Sins 2

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

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

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

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

Watchmen กับดักเหล่านั้นที่มีกับคุณและ สิ่งแวดล้อมความเสียหายที่เป็นอันตรายซึ่งคงอยู่ชั่วระยะเวลาหนึ่ง และกับดักดังกล่าวพบได้ที่ระดับ 75 เท่านั้น

กับดัก (ความลับ) เพิ่มเติมในเขาวงกต

แน่นอนว่ายังมีกับดักอีกจำนวนมากที่คนไม่ค่อยรู้จัก หนึ่งในกับดักเหล่านี้คือใบมีดหมุนที่หมุนในแนวตั้งที่ประตู

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

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

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

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

คุณเคยลองเขาวงกตนี้หรือไม่?

ลองหาข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้

แม้จะเอ่ยถึงเขาวงกตนี้ก็ตาม ระบุไว้ว่า " บุคคลออทิสติกสามารถประมวลผลข้อมูลที่เป็นภาพและข้อความได้เร็วกว่าผู้ที่ไม่มีความผิดปกติของออทิสติกหลายเท่า คุณสมบัติของพวกเขากลายเป็นสิ่งที่ขาดไม่ได้ในเทคโนโลยีชั้นสูง ที่ Specialisterne บริษัทที่ปรึกษาด้านเทคโนโลยีของเดนมาร์ก พนักงาน 75% เป็นออทิสติกและมีอาการ Asperger's syndrome เช่นกัน พวกเขาแตกต่างจากคนงานทั่วไปในการใส่ใจในรายละเอียดอย่างไม่น่าเชื่อ มีสมาธิเหนือมนุษย์ และความสามารถในการประมวลผลข้อมูลจำนวนมหาศาลอย่างรวดเร็ว ทักษะเหล่านี้มีประโยชน์อย่างยิ่งสำหรับผู้ทดสอบซอฟต์แวร์ คุณภาพงานของคนออทิสติกที่ทำงานนี้สูงกว่าคุณภาพงานของคนทั่วไปหลายเท่า คนออทิสติกสามารถตรวจสอบเอกสารทางเทคนิคได้ 4,000 หน้าเร็วกว่าคนปกติถึง 10 เท่า และไม่พลาดแม้แต่ความผิดพลาดแม้แต่ครั้งเดียว"

แต่ให้ทิ้งคนออทิสติกไว้ข้าง ๆ และค้นหาว่าในที่สุดคุณจะผ่านเขาวงกตนี้ได้อย่างไร! นั่นเป็นวิธีที่...

งานนี้แก้ไม่ได้! เรามีห้อง 3 ห้องที่มีประตูเป็นเลขคี่ (เปรียบเทียบกับภาพวาด "โดยไม่ต้องยกดินสอของคุณ") เพื่อให้ปัญหามีทางแก้ไข จำเป็นต้องมีไม่เกิน 2 คะแนน (ในกรณีของเราคือห้อง) ที่มีจำนวนบรรทัดคี่ (ในกรณีของเราคือข้อความ)

หากเราสร้างกราฟของเขาวงกตนี้ เราจะเห็นว่านี่คือเส้นทางออยเลอร์ เนื่องจากมีจุดยอด 3 จุดที่มีขอบเป็นจำนวนคี่ (ประตู) และมีเพียงสองจุดเท่านั้นที่จะปฏิบัติตามเงื่อนไขการทดสอบได้

ปัญหาสะพานทั้งเจ็ดแห่งKönigsbergหรือ ปัญหาสะพานโคนิกส์แบร์ก(เยอรมัน Konigsberger Brucken ปัญหา) เป็นปัญหาทางคณิตศาสตร์เก่าที่ถามว่าเป็นไปได้อย่างไรที่จะผ่านสะพานทั้งเจ็ดแห่งของเคอนิกส์แบร์กโดยไม่ผ่านสองสะพาน มันถูกแก้ไขครั้งแรกในปี 1736 โดย Leonhard Euler นักคณิตศาสตร์ชาวเยอรมันและรัสเซีย

เป็นเวลานานปริศนาดังกล่าวเป็นเรื่องธรรมดาในหมู่ชาวKönigsberg: วิธีผ่านสะพานทั้งหมด (ข้ามแม่น้ำ Pregolya) โดยไม่ต้องผ่านสองครั้ง Königsbergers หลายคนพยายามแก้ปัญหานี้ทั้งในทางทฤษฎีและในทางปฏิบัติในระหว่างการเดิน อย่างไรก็ตาม ไม่มีใครสามารถพิสูจน์หรือหักล้างความเป็นไปได้ของการมีอยู่ของเส้นทางดังกล่าวได้

ในปี ค.ศ. 1736 ปัญหาของสะพานเจ็ดแห่งสนใจนักคณิตศาสตร์ดีเด่น เลออนฮาร์ด ออยเลอร์ สมาชิกของสถาบันวิทยาศาสตร์แห่งเซนต์ปีเตอร์สเบิร์ก ซึ่งเขาเขียนในจดหมายถึงนักคณิตศาสตร์และวิศวกรชาวอิตาลี มาริโอนี ลงวันที่ 13 มีนาคม ค.ศ. 1736 ในจดหมายฉบับนี้ ออยเลอร์เขียนว่าเขาสามารถหากฎเกณฑ์ที่ทำให้ง่ายต่อการตัดสินว่าสามารถข้ามสะพานทั้งหมดได้โดยไม่ต้องผ่านสะพานใดๆ สองครั้ง คำตอบคือ "ไม่"

ในแผนภาพแบบง่าย ส่วนต่างๆ ของเมือง (กราฟ) จะสัมพันธ์กับสะพานที่มีเส้น (ส่วนโค้งของกราฟ) และส่วนต่างๆ ของเมืองจะสอดคล้องกับจุดเชื่อมต่อของเส้น (จุดยอดของกราฟ) ในการให้เหตุผลออยเลอร์ได้ข้อสรุปดังต่อไปนี้:


  • จำนวนของจุดยอดคี่ (จุดยอดที่มีจำนวนขอบนำไปสู่จำนวนคี่) ต้องเป็นคู่ ต้องไม่มีกราฟที่มีจุดยอดคี่เป็นจำนวนคี่

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

  • กราฟที่มีจุดยอดคี่มากกว่าสองจุดไม่สามารถวาดด้วยจังหวะเดียวได้

กราฟของสะพาน Königsberg มีจุดยอดคี่สี่จุด (สีน้ำเงิน) (นั่นคือทั้งหมด) ดังนั้นจึงเป็นไปไม่ได้ที่จะผ่านสะพานทั้งหมดโดยไม่ผ่านจุดใดจุดหนึ่งสองครั้ง

ทฤษฎีกราฟที่สร้างขึ้นโดยออยเลอร์พบว่า ประยุกต์กว้างในระบบการขนส่งและการสื่อสาร (เช่น เพื่อศึกษาระบบด้วยตนเอง ให้จัดทำเส้นทางที่เหมาะสมสำหรับการส่งมอบสินค้าหรือข้อมูลเส้นทางบนอินเทอร์เน็ต)

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

นี่เป็นอีกวิธีหนึ่งที่นำเสนอโดย xlazex

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

แต่มีวิธีแก้ปัญหาในแบบ 3 มิติ :-)

โอเค ตลก ตลก...

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

ลองอธิบายหุ่นยนต์ที่ปฏิบัติตามกฎ "มือขวา"

ในช่วงเริ่มต้นของการทำงาน หุ่นยนต์ต้องหากำแพงให้เดินตาม เมื่อต้องการทำเช่นนี้ เขาสามารถก้าวไปข้างหน้าได้จนกว่าจะเจอสิ่งกีดขวาง

หลังจากที่หุ่นยนต์ชนสิ่งกีดขวาง หุ่นยนต์จะเริ่มเคลื่อนที่ตามกฎ "มือขวา"

เคลื่อนที่ไปตามกำแพง หุ่นยนต์จะตรวจสอบว่ามีทางผ่านทางด้านขวาหรือไม่ หากมีทางผ่าน หุ่นยนต์ต้องเดินตามเพื่อไม่ให้หลุดออกจากกำแพงด้านขวา

หากไม่มีทางเดิน - มีกำแพงอยู่ข้างหน้า - หุ่นยนต์จะเลี้ยวซ้าย หากไม่มีทางผ่านไปอีกก็เลี้ยวซ้ายอีกครั้งจึงเลี้ยว 180 องศาแล้วไปในทิศตรงกันข้าม

แผนภาพบล็อกของอัลกอริทึมสำหรับหุ่นยนต์ที่ทำงานตามกฎ "มือขวา" จะแสดงในรูป

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

ภาษาถิ่นของโลโก้ที่เราจะใช้นั้นเรียบง่ายมากและคล้ายกับภาษาพื้นฐาน คุณสามารถทำความคุ้นเคยกับคำสั่งของภาษา ดาวน์โหลดฟรีสภาพแวดล้อมการเขียนโปรแกรม GameLogo - . ขนาดของการกระจายมีขนาดเล็ก - เพียง 1 Mb.

ไฟล์เก็บถาวร GameLogo มีพื้นหลังที่มีเขาวงกต ซึ่งเราจะใช้หนึ่งในนั้น

ในช่วงเริ่มต้นของโปรแกรม เราจะสั่งให้เต่ายกขน (โดยค่าเริ่มต้น เต่าจะทิ้งร่องรอยไว้ข้างหลัง)

ขนาดฟิลด์คือ 800 x 600 จุด ตำแหน่งเริ่มต้นของเต่าอยู่ที่พิกัด 115, 545 (สี่เหลี่ยมสีขาว)

สีของแทร็กเขาวงกตนั้นเบาเซ็นเซอร์จะใช้ค่ามากกว่า 50 สีของผนังของเขาวงกตนั้นมืดค่าเซ็นเซอร์จะน้อยกว่า 50 ทางออกจากเขาวงกตแสดงโดย สี่เหลี่ยมสีดำ ค่าเซ็นเซอร์ด้านบนซึ่งจะเท่ากับ 0

มาประกาศตัวแปรแฟล็กกันเถอะ ซึ่งเราจะควบคุมว่าทางออกจากเขาวงกตนั้นไปถึงแล้วหรือไม่

มาเขียนโปรแกรมและรันโดยใช้ปุ่มสีแดงขนาดใหญ่ที่เขียนว่า "Run"

ธงพื้นหลังตัวแปร = maze1.gif ยกจุดปากกา 115, 545 "ค้นหากำแพงแรกทำซ้ำจนกระทั่งเกจ > 50 (ไปข้างหน้า 12) "กฎมือขวาทำซ้ำจนกระทั่งแฟล็ก = 0 (ขวา 90 ไปข้างหน้า 12 หากเซ็นเซอร์ = 0 ให้ตั้งค่าสถานะ = 1 มิฉะนั้นหากเซ็นเซอร์

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

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

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

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

อัลกอริธึมสากลสำหรับการผ่านเขาวงกตใด ๆ ได้รับการอธิบายเพียงหนึ่งศตวรรษต่อมาในหนังสือของนักคณิตศาสตร์ชาวฝรั่งเศส E. Luc "Recreations matematiques" ซึ่งตีพิมพ์ในปี 2425 ที่น่าสนใจเมื่ออธิบายอัลกอริทึม Luca ชี้ไปที่ความเป็นอันดับหนึ่งของ M. Tremaux นักคณิตศาสตร์ชาวฝรั่งเศสอีกคนหนึ่ง ดังนั้นอัลกอริธึมจึงเรียกว่า อัลกอริทึมของ Lucas-Tremo.

Tremo แนะนำกฎต่อไปนี้: ออกจากจุดใด ๆ ของเขาวงกต คุณต้องทำเครื่องหมายบนผนัง (กากบาท) และเคลื่อนไปในทิศทางใดก็ได้ไปยังทางตันหรือทางแยก ในกรณีแรกให้กลับไปใส่ไม้กางเขนที่สองซึ่งแสดงว่าเส้นทางนั้นไปมาแล้วสองครั้ง - ไปและกลับและไปในทิศทางที่ไม่เคยไปหรือไปครั้งเดียว; ในวินาที - ไปในทิศทางที่กำหนดโดยทำเครื่องหมายแต่ละสี่แยกที่ทางเข้าและทางออกด้วยไม้กางเขนเดียว หากมีทางแยกอยู่ที่ทางแยกแล้วคุณควรไปทางใหม่ถ้าไม่ใช่เส้นทางก็เดินทางโดยทำเครื่องหมายด้วยกากบาทที่สอง

เมื่อรู้อัลกอริธึม Tremo คุณสามารถแก้ไขพฤติกรรมของเธเซอุสในตำนานได้ โดยได้รับแรงบันดาลใจจากของขวัญจาก Ariadne อันเป็นที่รัก เขาเดินผ่านเขาวงกตอย่างมั่นใจ ทันใดนั้นมีข้อความปรากฏขึ้นต่อหน้าเขาซึ่งด้ายถูกยืดออกไปแล้ว ... จะทำอย่างไร? ไม่ว่าในกรณีใดอย่าข้าม แต่กลับไปตามเส้นทางที่รู้จักแล้วเพิ่มเธรดเป็นสองเท่าจนกว่าจะมีการเคลื่อนไหวที่ไม่ผ่านอีก

Claude Elwood Shannon บิดาแห่งทฤษฎีสารสนเทศโดยใช้อัลกอริทึม Tremo ที่แตกต่างจากเดิม ได้สร้างหุ่นยนต์เรียนรู้ด้วยตนเองตัวแรก แชนนอนตั้งชื่อให้เขาว่า "ธีซีอุส" แต่ในประวัติศาสตร์ "ธีซีอุส" กลายเป็นที่รู้จักในนาม "เมาส์" ของแชนนอน "หนู" สำรวจเขาวงกตทั้งหมดก่อน จากนั้น (เป็นครั้งที่สอง) ไปจนสุดทางอย่างรวดเร็ว หลีกเลี่ยงส่วนที่ผ่านไปสองครั้ง


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

ในการแข่งขัน Russian Robot Olympiad ครั้งแรก มีการจัดการแข่งขันขึ้นโดยมีจุดประสงค์เพื่อผ่านเขาวงกตประเภทหนึ่ง: ในเวลาที่สั้นที่สุดเท่าที่จะเป็นไปได้ หุ่นยนต์ต้องเคลื่อนที่ผ่าน "ประตูที่เปิดอยู่" ในกำแพงตั้งแต่เริ่มต้นจนถึง เสร็จสิ้น. หุ่นยนต์สามารถควบคุมการเคลื่อนที่ของมันตามเส้นสีดำที่ลากบนพื้นเขาวงกตได้

วันที่ดีชุมชนที่รัก

พื้นหลัง

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

เขาคือ:

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

เรื่องราว

เพื่อการแก้ปัญหาที่สะดวก จำเป็นต้องนำภาพที่มีอยู่ของเขาวงกตมาเป็นประเภทของอาร์เรย์สองมิติ แต่ละองค์ประกอบสามารถรับค่าใดค่าหนึ่งจาก 3 ค่า:

คอนสต วอล=-1; ว่าง=-2; เดดบล็อก=-3;

อันดับแรก ฉันต้องการแสดงฟังก์ชันสำหรับการสแกนภาพเขาวงกต ตามด้วยการเขียนข้อมูลลงในอาร์เรย์ และฟังก์ชันสำหรับสร้างภาพใหม่ตามข้อมูลจากอาร์เรย์:

การสแกนภาพ:

varN:จำนวนเต็ม=600; LABIRINT:อาร์เรย์ของจำนวนเต็ม; ... varbit:TBitmap; i,j:จำนวนเต็ม; บิตเริ่มต้น:=TBitmap.Create; หาก OpenDialog1.Execute ให้เริ่ม bit.LoadFromFile(OpenDialog1.FileName); สำหรับ i:=0 ถึง N ทำสำหรับ j:=0 ถึง N ทำถ้า bit.Canvas.Pixels=clWhite จากนั้น LABIRINT:=BLANK อื่น LABIRINT:=WALL; bit.ฟรี; ... จบ; จบ; ...

การสร้างภาพ:

varN:จำนวนเต็ม=600; LABIRINT:อาร์เรย์ของจำนวนเต็ม; ... ขั้นตอน genBitmap; varbit:Tบิตแมป; ผม,เจ: จำนวนเต็ม; บิตเริ่มต้น:=TBitmap.Create; bit.Width:=N+1; bit.Height:=N+1; สำหรับ i:=0 ถึง N ทำสำหรับ j:=0 ถึง N จะเริ่มต้นหาก LABIRINT=BLANK จากนั้น bit.Canvas.Pixels:=clWhite // else if LABIRINT=WALL จากนั้น bit.Canvas.Pixels:=clBlack else bit.Canvas .Pixels:=clRed; จบ; bit.SaveToFile("tmp.bmp"); bit.ฟรี; จบ; ...

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

ภาพวาดที่เตรียมไว้:

ความกว้างและความสูงของรูปภาพ: 1802 พิกเซล

1. ใช้ฟังก์ชันการสแกนภาพ
2. สร้างภาพใหม่:

varN:จำนวนเต็ม=1801; LABIRINT:อาร์เรย์ของจำนวนเต็ม; ... ขั้นตอน rebuildArr2; var i,j:จำนวนเต็ม; เริ่มต้นสำหรับ i:=0 ถึง ((N div 3)) ทำเพื่อ j:=0 ถึง ((N div 3)) ทำ LABIRINT:=LABIRINT; N:=N div 3; จบ; ...

3. เราสร้างภาพที่สร้างขึ้นใหม่

ผลลัพธ์ของขั้นตอน:

ความกว้างและความสูงของรูปภาพ: 601 พิกเซล

เราก็มีรูปเขาวงกต แบบที่ต้องการตอนนี้สิ่งที่น่าสนใจที่สุดคือการค้นหาตัวเลือกทั้งหมดสำหรับผ่านเขาวงกต เรามีอะไร? อาร์เรย์ที่มีค่าเขียนเป็น WALL - wall และ BLANK - road

มีความพยายามไม่ประสบความสำเร็จในการค้นหาเส้นทางของเขาวงกตโดยใช้อัลกอริธึมคลื่น เหตุใดจึงไม่ประสบความสำเร็จในทุกความพยายามอัลกอริธึมนี้ทำให้เกิดข้อผิดพลาด "Stack Overflow" ฉันแน่ใจ 100% ว่าเมื่อใช้มัน คุณจะพบคำแนะนำแบบละเอียด แต่มีสิ่งที่น่าสนใจกว่านั้นมาปะปนกัน

แนวคิดไม่ได้มาในทันที มีการนำไปปฏิบัติหลายอย่างซึ่งในเวลาทำงานประมาณ 3 นาทีหลังจากนั้นมีความเข้าใจอย่างถ่องแท้ว่า "จะเกิดอะไรขึ้นถ้าเราไม่ได้มองหาเส้นทางของทางเดิน แต่สำหรับเส้นทางที่ไม่นำไปสู่ ทางเดินของเขาวงกตและทำเครื่องหมายว่าเป็นทางตัน”

อัลกอริทึมคือ:
เรียกใช้ฟังก์ชันแบบเรียกซ้ำบนจุดถนนทั้งหมดของเขาวงกต:
1. หากเรายืนอยู่บนถนนและมีกำแพง 3 ด้านอยู่รอบตัวเรา ให้ทำเครื่องหมายสถานที่ที่เรากำลังยืนอยู่เป็นทางตัน มิฉะนั้น เราจะออกจากฟังก์ชัน
2. เราผ่านไปยังสถานที่ที่ไม่ใช่กำแพงจากจุดที่ 1 และทำซ้ำจุดที่ 1

การใช้งานซอฟต์แวร์:

varN:จำนวนเต็ม=600; LABIRINT:อาร์เรย์ของจำนวนเต็ม; ... ขั้นตอน setBlankAsDeadblockRec(x,y:integer); vark:จำนวนเต็ม; เริ่มต้น:=0; ถ้า LABIRINT=ว่าง ให้เริ่มถ้า LABIRINT<><><><>ว่างแล้ว k:=k+1; ถ้า k=4 แล้ว LABIRINT:=DEADBLOCK; ถ้า k=3 ให้เริ่ม LABIRINT:=DEADBLOCK; ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x-1,y); ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x,y-1); ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x+1,y); ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x,y+1); จบ; จบ; จบ; ขั้นตอน setDeadblock; var i,j:จำนวนเต็ม; เริ่มต้นสำหรับ i:=1 ถึง N-1 ทำสำหรับ j:=1 ถึง N-1 ทำ setBlankAsDeadblockRec(i,j); จบ; ...

บทสรุป

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

รหัสโปรแกรมและผ่านเขาวงกต:

// โปรดอย่าเตะฉันสำหรับภาษาการเขียนโปรแกรมที่ฉันใช้ หน่วย หน่วย 1; อินเทอร์เฟซใช้ Windows, กราฟิก, ฟอร์ม, ไดอะล็อก, ExtCtrls, StdCtrls, การควบคุม, คลาส; const WALL=-1; ว่าง=-2; เดดบล็อก=-3; พิมพ์ TForm1 = คลาส (TForm) Button1: TButton; OpenDialog1: TOpenDialog; ขั้นตอน Button1Click(ผู้ส่ง: TObject); ส่วนตัว ( ประกาศส่วนตัว ) สาธารณะ ( ประกาศสาธารณะ ) สิ้นสุด; var Form1: TForm1; N:จำนวนเต็ม=600; LABIRINT:อาร์เรย์ของจำนวนเต็ม; การดำเนินการ ($R *.dfm) ขั้นตอน genBitmap; varbit:Tบิตแมป; ผม,เจ: จำนวนเต็ม; บิตเริ่มต้น:=TBitmap.Create; bit.Width:=N+1; bit.Height:=N+1; สำหรับ i:=0 ถึง N ทำสำหรับ j:=0 ถึง N จะเริ่มต้นหาก LABIRINT=BLANK จากนั้น bit.Canvas.Pixels:=clWhite // else if LABIRINT=WALL จากนั้น bit.Canvas.Pixels:=clBlack else bit.Canvas .Pixels:=clRed; จบ; bit.SaveToFile("tmp.bmp"); bit.ฟรี; จบ; ขั้นตอน rebuildArr2; var i,j:จำนวนเต็ม; เริ่มต้นสำหรับ i:=0 ถึง ((N div 3)) ทำเพื่อ j:=0 ถึง ((N div 3)) ทำ LABIRINT:=LABIRINT; N:=N div 3; จบ; ขั้นตอน setBlankAsDeadblockRec(x,y:integer); vark:จำนวนเต็ม; เริ่มต้น:=0; ถ้า LABIRINT=ว่าง ให้เริ่มถ้า LABIRINT<>ว่างแล้ว k:=k+1; ถ้า LABIRINT<>ว่างแล้ว k:=k+1; ถ้า LABIRINT<>ว่างแล้ว k:=k+1; ถ้า LABIRINT<>ว่างแล้ว k:=k+1; ถ้า k=4 แล้ว LABIRINT:=DEADBLOCK; ถ้า k=3 ให้เริ่ม LABIRINT:=DEADBLOCK; ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x-1,y); ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x,y-1); ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x+1,y); ถ้า LABIRINT=BLANK แล้ว setBlankAsDeadblockRec(x,y+1); จบ; จบ; จบ; ขั้นตอน setDeadblock; var i,j:จำนวนเต็ม; เริ่มต้นสำหรับ i:=1 ถึง N-1 ทำสำหรับ j:=1 ถึง N-1 ทำ setBlankAsDeadblockRec(i,j); จบ; ขั้นตอน TForm1.Button1Click (ผู้ส่ง: TObject); varbit:Tบิตแมป; i,j:จำนวนเต็ม; บิตเริ่มต้น:=TBitmap.Create; หาก OpenDialog1.Execute ให้เริ่ม bit.LoadFromFile(OpenDialog1.FileName); สำหรับ i:=0 ถึง N ทำสำหรับ j:=0 ถึง N ทำถ้า bit.Canvas.Pixels=clWhite จากนั้น LABIRINT:=BLANK อื่น LABIRINT:=WALL; bit.ฟรี; setDeadblock; genBitmap; จบ; จบ; จบ.

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

บทความที่คล้ายกัน

2022 selectvoice.ru. ธุรกิจของฉัน. การบัญชี. เรื่องราวความสำเร็จ ไอเดีย. เครื่องคิดเลข นิตยสาร.