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

# WaveFunctionCollapse এই প্রোগ্রামটি ইনপুট বিটম্যাপের সাথে স্থানীয়ভাবে সাদৃশ্যপূর্ণ বিটম্যাপ তৈরি করে। স্থানীয় সাদৃশ্য মানে হলো আউটপুটে কেবলমাত্র সেই NxN পিক্সেল প্যাটার্নগুলো থাকে যা ইনপুটে উপস্থিত, এবং আউটপুটে প্যাটার্নগুলোর বিতরণ ইনপুটের মতোই হয়। অ্যালগরিদমটি সম্ভাব্য অবস্থার একটি সুপারপজিশনে আউটপুট শুরু করে, তারপর সর্বনিম্ন শ্যানন এনট্রপি সহ অঞ্চলগুলো পুনরাবৃত্তভাবে পর্যবেক্ষণ করে এবং সীমাবদ্ধতা প্রচার করে, অবশেষে একটি নির্দিষ্ট অবস্থায় সংকুচিত হয়। এটি দ্বন্দ্বের সম্মুখীন হতে পারে, যা এড়ানো NP-কঠিন, তবে বাস্তবে এটি বিরল। রিপোজিটরিটিতে মূল অ্যালগরিদম, উদাহরণ এবং ডকুমেন্টেশন অন্তর্ভুক্ত রয়েছে। এটি ওভারল্যাপিং এবং সাধারণ টাইল্ড মডেল উভয়ই সমর্থন করে, প্রতিসাম্য, সীমাবদ্ধতা এবং উচ্চ মাত্রার বিকল্প সহ। কোডটি একটি কনসোল অ্যাপ্লিকেশন যা C# এ .NET Core ব্যবহার করে লেখা, কোনো বাহ্যিক নির্ভরতা ছাড়াই। এটি `dotnet run` বা `dotnet publish` দিয়ে তৈরি করা যেতে পারে। প্রকল্পটি অন্যান্য ভাষায় (C++, Python, Rust, JavaScript ইত্যাদি) অসংখ্য পোর্ট এবং ইউনিটি, আনরিয়েল ইঞ্জিন এবং গডোটের মতো গেম ইঞ্জিনে অভিযোজনকে অনুপ্রাণিত করেছে। এটি ব্যাড নর্থ, কেভস অফ কুড এবং টাউনস্কেপারের মতো বাণিজ্যিক গেমে ব্যবহৃত হয়েছে এবং একাডেমিক গবেষণার দিকে পরিচালিত করেছে। README-তে কনভচেইন এবং টেক্সচার সিন্থেসিসের মতো সম্পর্কিত অ্যালগরিদম নিয়েও আলোচনা করা হয়েছে এবং একটি বিস্তারিত অ্যালগরিদম বিবরণ এবং পূর্ববর্তী কাজের রেফারেন্স সরবরাহ করে।