بار بار چلنے والا بیک ٹریکر بھولبلییا جنریٹر
شائع شدہ: 16 فروری، 2025 کو 6:18:13 PM UTC
ایک کامل بھول بھلی بنانے کے لئے بار بار بیک ٹریکر الگورتھم کا استعمال کرتے ہوئے میز جنریٹر۔ یہ الگورتھم طویل ، گھمانے والی راہداریوں اور ایک بہت لمبے ، موڑنے والے حل کے ساتھ بھول بھلیاں پیدا کرنے کا رجحان رکھتا ہے۔Recursive Backtracker Maze Generator
بار بار بیک ٹریکر الگورتھم واقعی ایک عام مقصد کی گہرائی کی تلاش ہے. جب بھولبھلی پیدا کرنے کے لئے استعمال کیا جاتا ہے تو ، اسے بے ترتیب طریقے سے راستہ منتخب کرنے کے لئے تھوڑا سا تبدیل کیا جاتا ہے ، جبکہ اگر اصل تلاش کے مقاصد کے لئے استعمال کیا جاتا ہے تو ، عام طور پر ہر سطح کو لکیری ترتیب میں تلاش کیا جائے گا۔ یہ طویل ، گھمانے والی راہداریوں اور ایک بہت لمبے ، موڑنے والے حل کے ساتھ بھول بھلیاں پیدا کرتا ہے۔
ایک کامل بھولبلییا ایک بھولبلییا ہے جس میں بھولبلییا کے کسی بھی نقطہ سے کسی دوسرے مقام تک بالکل ایک راستہ ہوتا ہے۔ اس کا مطلب ہے کہ آپ حلقوں میں گھومنا ختم نہیں کر سکتے ہیں، لیکن آپ کو اکثر مردہ سروں کا سامنا کرنا پڑے گا، جو آپ کو پیچھے مڑنے اور واپس جانے پر مجبور کرے گا۔
یہاں تیار کردہ بھولبلییا کے نقشوں میں بغیر کسی آغاز اور اختتامی پوزیشنوں کے پہلے سے طے شدہ ورژن شامل ہے، لہذا آپ خود ان کا فیصلہ کر سکتے ہیں: بھولبلییا کے کسی بھی نقطہ سے کسی دوسرے مقام تک حل ہوگا۔ اگر آپ الہام چاہتے ہیں، تو آپ تجویز کردہ آغاز اور اختتامی پوزیشن کو فعال کر سکتے ہیں - اور یہاں تک کہ دونوں کے درمیان حل بھی دیکھیں۔
ریکرسیو بیک ٹریکر الگورتھم کامل بھول بھلیاں پیدا کرنے کے لئے ایک گہرائی سے پہلا سرچ طریقہ ہے (کسی بھی دو پوائنٹس کے درمیان ایک ہی راستہ کے بغیر بھول بھلیاں)۔ یہ سادہ ، موثر ہے ، اور طویل ، گھمانے والی راہداریوں کے ساتھ بصری طور پر دلکش بھول بھلیاں پیدا کرتا ہے۔
اس کے نام کے باوجود ، ضروری نہیں کہ اسے ریکریشن کا استعمال کرتے ہوئے نافذ کیا جائے۔ یہ اکثر ایل آئی ایف او قطار (یعنی اسٹیک) کا استعمال کرتے ہوئے ایک تکرار نقطہ نظر میں لاگو کیا جاتا ہے۔ بہت بڑی بھول بھلیوں کے لئے ، ریکریشن کے استعمال کے نتیجے میں کال اسٹیک اوور فلو کا امکان زیادہ ہوتا ہے ، جس کا انحصار پروگرامنگ زبان اور دستیاب میموری پر ہوتا ہے۔ ایل آئی ایف او قطار کو زیادہ آسانی سے بڑی مقدار میں ڈیٹا کو سنبھالنے کے لئے اپنایا جاسکتا ہے ، یہاں تک کہ اگر دستیاب میموری ناکافی ہے تو قطار کو ڈسک پر یا ڈیٹا بیس میں بھی رکھا جاسکتا ہے۔
یہ کیسے کام کرتا ہے
الگورتھم اسٹیک پر مبنی گہرائی پر مبنی پہلے تلاش کے نقطہ نظر کا استعمال کرتے ہوئے کام کرتا ہے۔ یہاں قدم بہ قدم بریک ڈاؤن ہے:
- ابتدائی سیل کا انتخاب کریں اور اسے وزٹ کے طور پر نشان زد کریں۔
- جبکہ غیر دیکھے گئے خلیات موجود ہیں:
- ہمسایہ خلیوں کو دیکھیں جن کا ابھی تک دورہ نہیں کیا گیا ہے۔
- اگر کم از کم ایک غیر دورہ شدہ پڑوسی موجود ہے:
- بے ترتیب طور پر غیر دیکھے گئے پڑوسیوں میں سے ایک کا انتخاب کریں۔
- موجودہ سیل اور منتخب پڑوسی کے درمیان دیوار کو ہٹا دیں۔
- منتخب کردہ پڑوسی کے پاس جائیں اور اسے وزٹ کے طور پر نشان زد کریں۔
- موجودہ سیل کو اسٹیک پر دبائیں۔
- اگر کوئی غیر مشاہدہ شدہ پڑوسی موجود نہیں ہیں:
- اسٹیک سے آخری سیل کو پوپ کرکے بیک ٹریک کریں۔
- اس عمل کو اس وقت تک جاری رکھیں جب تک کہ اسٹیک خالی نہ ہوجائے۔
اس الگورتھم کے بارے میں ایک دلچسپ حقیقت یہ ہے کہ یہ بھول بھلی جنریٹر اور بھول بھلی حل کرنے والے کے طور پر دونوں کام کرتا ہے۔ اگر آپ اسے پہلے سے پیدا شدہ بھول بھلیوں پر چلاتے ہیں اور طے شدہ اختتامی نقطہ کو چھونے پر رک جاتے ہیں تو ، اسٹیک میں بھول بھلی کا حل شامل ہوگا۔
میرے پاس دراصل اس ویب سائٹ پر اس الگورتھم کے دو ورژن ہیں: ایک ایل آئی ایف او قطار پر مبنی ہے جو اس صفحے پر بھول بھلیاں پیدا کرنے کے لئے ہے اور ایک بھول بھلیوں کو حل کرنے کے لئے ایک ریکریشن پر مبنی ہے ، دوسرے الگورتھم کے ذریعہ پیدا ہونے والی بھول بھلیاں بھی (اسی طرح حل کے ساتھ نقشے بنائے جاتے ہیں)۔ دو مختلف ورژن رکھنا صرف کھیلوں کے لئے ہے کیونکہ میں ایک ناپسندیدہ شخص ہوں جو اسے دلچسپ سمجھتا ہے ، یا تو دونوں کے لئے کام کرسکتا تھا ؛-)