Miklix

এলারের অ্যালগরিদম গোলকধাঁধা জেনারেটর

প্রকাশিত: ১৬ ফেব্রুয়ারী, ২০২৫ এ ৮:০৯:৩৮ PM UTC
সর্বশেষ আপডেট: ১২ জানুয়ারী, ২০২৬ এ ৯:০৪:২২ AM UTC

এলারের অ্যালগরিদম ব্যবহার করে একটি নিখুঁত গোলকধাঁধা তৈরি করার জন্য মেজ জেনারেটর। এই অ্যালগরিদমটি আকর্ষণীয় কারণ এর জন্য শুধুমাত্র বর্তমান সারিটি (পুরো গোলকধাঁধা নয়) মেমরিতে রাখা প্রয়োজন, তাই এটি খুব সীমিত সিস্টেমেও খুব, খুব বড় গোলকধাঁধা তৈরি করতে ব্যবহার করা যেতে পারে।

এই পৃষ্ঠাটি যতটা সম্ভব মানুষের কাছে পৌঁছানোর জন্য ইংরেজি থেকে মেশিন অনুবাদ করা হয়েছে। দুর্ভাগ্যবশত, মেশিন অনুবাদ এখনও একটি নিখুঁত প্রযুক্তি নয়, তাই ত্রুটি হতে পারে। আপনি যদি চান, আপনি এখানে মূল ইংরেজি সংস্করণটি দেখতে পারেন:

Eller's Algorithm Maze Generator

এলারের অ্যালগরিদম হল একটি মেজ জেনারেশন অ্যালগরিদম যা সারি-বাই-সারি পদ্ধতি ব্যবহার করে দক্ষতার সাথে নিখুঁত মেজ (কোনও লুপ ছাড়াই এবং যেকোনো দুটি পয়েন্টের মধ্যে একটি একক পথ ছাড়াই মেজ) তৈরি করে। এটি ক্রুসকালের অ্যালগরিদমের মতো মেজ তৈরি করে, তবে এটি একবারে কেবল একটি সারি তৈরি করে, পুরো মেজটি মেমরিতে সংরক্ষণ করার প্রয়োজন ছাড়াই। এটি খুব সীমিত সিস্টেমে খুব বড় মেজ তৈরি করতে এবং পদ্ধতিগত সামগ্রী তৈরির জন্য এটিকে কার্যকর করে তোলে।

একটি নিখুঁত গোলকধাঁধা হল এমন একটি গোলকধাঁধা যেখানে গোলকধাঁধার যেকোনো বিন্দু থেকে অন্য যেকোনো বিন্দুতে ঠিক একটি পথ থাকে। এর মানে হল আপনি বৃত্তাকারে ঘুরে বেড়াতে পারবেন না, তবে আপনি প্রায়শই অচল প্রান্তের মুখোমুখি হবেন, যা আপনাকে ঘুরে ফিরে যেতে বাধ্য করবে।

এখানে তৈরি করা গোলকধাঁধা মানচিত্রগুলিতে কোনও শুরু এবং শেষ অবস্থান ছাড়াই একটি ডিফল্ট সংস্করণ রয়েছে, তাই আপনি নিজেই সেগুলি সিদ্ধান্ত নিতে পারেন: গোলকধাঁধার যেকোনো বিন্দু থেকে অন্য যেকোনো বিন্দুতে একটি সমাধান থাকবে। আপনি যদি অনুপ্রেরণা চান, তাহলে আপনি একটি প্রস্তাবিত শুরু এবং শেষ অবস্থান সক্ষম করতে পারেন - এবং এমনকি উভয়ের মধ্যে সমাধানও দেখতে পারেন।


নতুন গোলকধাঁধা তৈরি করুন








এলারের অ্যালগরিদম সম্পর্কে

এলারের অ্যালগরিদম ডেভিড এলার দ্বারা প্রবর্তিত হয়েছিল।

এই অ্যালগরিদমটি সারি সারি মেজ জেনারেশনের দক্ষ পদ্ধতির জন্য উল্লেখযোগ্য, যা এটিকে অসীম মেজ বা রিয়েল-টাইমে তৈরি মেজগুলির জন্য আদর্শ করে তোলে। এটি সাধারণত পদ্ধতিগত বিষয়বস্তু তৈরি এবং মেজ-জেনারেশন সাহিত্যে উদ্ধৃত করা হয়, তবে আমি এর মূল প্রকাশনার বিশদ বিবরণের প্রাথমিক উৎস খুঁজে পাইনি।

গোলকধাঁধা তৈরির জন্য এলারের অ্যালগরিদম কীভাবে কাজ করে

এলারের অ্যালগরিদম একের পর এক সারি প্রক্রিয়া করে, সংযুক্ত কোষের সেটগুলি বজায় রাখে এবং সংশোধন করে। এটি লুপগুলি এড়িয়ে সংযোগ নিশ্চিত করে এবং এটি দক্ষতার সাথে গোলকধাঁধাটিকে নীচের দিকে প্রসারিত করে।

এটি তাত্ত্বিকভাবে অসীম গোলকধাঁধা তৈরি করতে ব্যবহার করা যেতে পারে, তবে উৎপন্ন গোলকধাঁধাটি আসলে সমাধানযোগ্য কিনা তা নিশ্চিত করার জন্য, গোলকধাঁধাটি শেষ করার জন্য কোনও এক সময়ে "চূড়ান্ত সারি" যুক্তিতে স্যুইচ করা প্রয়োজন।

ধাপ ১: প্রথম সারিটি শুরু করুন

  • সারির প্রতিটি কক্ষের জন্য একটি অনন্য সেট আইডি বরাদ্দ করুন।

ধাপ ২: কিছু সংলগ্ন ঘর অনুভূমিকভাবে যুক্ত করুন

  • একই সেট আইডিতে সেট করে সংলগ্ন কোষগুলিকে এলোমেলোভাবে মার্জ করুন। এটি নিশ্চিত করে যে অনুভূমিক প্যাসেজ রয়েছে।

ধাপ ৩: পরবর্তী সারিতে উল্লম্ব সংযোগ তৈরি করুন

  • সারিতে প্রদর্শিত প্রতিটি সেটের জন্য, কমপক্ষে একটি ঘর নীচের দিকে সংযুক্ত হতে হবে (সংযোগ নিশ্চিত করার জন্য)।
  • পরবর্তী সারিতে সংযোগ স্থাপনের জন্য প্রতিটি সেট থেকে এলোমেলোভাবে এক বা একাধিক ঘর নির্বাচন করুন।

ধাপ ৪: পরবর্তী সারিতে যান

  • নীচের সংশ্লিষ্ট কক্ষগুলিতে একই সেট আইডি বরাদ্দ করে উল্লম্ব সংযোগগুলি এগিয়ে নিয়ে যান।
  • যেকোনো অনির্ধারিত কক্ষে নতুন সেট আইডি বরাদ্দ করুন।

ধাপ ৫: শেষ সারিতে পৌঁছানো পর্যন্ত ধাপ ২-৪ পুনরাবৃত্তি করুন।

  • সারি সারি প্রক্রিয়াকরণ চালিয়ে যান।

ধাপ ৬: চূড়ান্ত সারিটি প্রক্রিয়া করুন

  • বাকি আলাদা সেটগুলিকে একত্রিত করে নিশ্চিত করুন যে শেষ সারির সমস্ত ঘর একই সেটের অন্তর্গত।

আরও পড়ুন

যদি আপনি এই পোস্টটি উপভোগ করেন, তাহলে আপনার এই পরামর্শগুলিও পছন্দ হতে পারে:


ব্লুস্কাইতে শেয়ার করুনফেসবুকে শেয়ার করুনলিংকডইনে শেয়ার করুনটাম্বলারে শেয়ার করুনX-এ শেয়ার করুনলিংকডইনে শেয়ার করুনপিন্টারেস্টে পিন করুন

মিকেল ক্রিস্টেনসেন

লেখক সম্পর্কে

মিকেল ক্রিস্টেনসেন
মিকেল হলেন miklix.com এর স্রষ্টা এবং মালিক। একজন পেশাদার কম্পিউটার প্রোগ্রামার/সফ্টওয়্যার ডেভেলপার হিসেবে তার ২০ বছরেরও বেশি অভিজ্ঞতা রয়েছে এবং বর্তমানে তিনি একটি বৃহৎ ইউরোপীয় আইটি কর্পোরেশনে পূর্ণকালীন কর্মরত। ব্লগিং না করার সময়, তিনি তার অবসর সময় বিভিন্ন আগ্রহ, শখ এবং কার্যকলাপে ব্যয় করেন, যা কিছুটা হলেও এই ওয়েবসাইটে কভার করা বিভিন্ন বিষয়ের মধ্যে প্রতিফলিত হতে পারে।