এলোমেলোভাবে রেখায় ভরা একটি অঞ্চল (2 ডি) বিবেচনা করুন (চিত্রের নিম্নলিখিত)। আমরা একরকম চারটি সীমানা প্রান্ত সহ লাইনের মধ্যে ফাঁকা স্থান পূরণ করতে আগ্রহী:
0- পার্সেলের আকার সর্বাধিক করা;
1- ভরাট পার্সেলগুলির আকারটি বর্গক্ষেত্রটি অনুভূমিকভাবে বা উল্লম্বভাবে সংযুক্ত;
2- ভরাট পার্সেলগুলির আকারটি বর্গক্ষেত্র , স্বাচ্ছন্দ্যযুক্ত প্রান্তিককরণ ;
3- ভর্তি পার্সেলগুলির আকার কোনও চতুর্ভুজ। আমাদের মূল প্রশ্ন
সুতরাং আপাতত তিনটি ভিন্ন দৃশ্য আছে।
লক্ষ করুন যে লাইনগুলি ফর্ম [x1,y1,x2,y2]
পয়েন্ট সেট, আসল সংখ্যাগুলির।
[* * *] সম্ভাব্য সমাধান / অ্যালগরিদম / কোড স্নিপেটস ইত্যাদির আইডিয়াগুলি স্বাগত অপেক্ষা বেশি।
আপডেট 1: আমরা প্রথম কেসের জন্য একটি সমাধান পরিচালনা করতে পারি:
পদক্ষেপগুলি হ'ল :
1- লাইন
2- বিটম্যাপে লাইনগুলিকে রাস্টারাইজ করা
3- সর্বাধিক উদ্দেশ্যমূলক ফাংশন সহ কাঙ্ক্ষিত বর্ণের প্রতিটি কক্ষের (যেমন, একই রঙ) জন্য কাছাকাছি ঘরগুলি অনুসন্ধান করা অঞ্চল অর্থাত্ কোষের সংখ্যা
এটি ভালভাবে কাজ করে তবে এটি কেবল প্রথম দৃশ্যের অন্তর্ভুক্ত এবং এটিও ধীর।
আপডেট 2:
আমরা ধরে নিয়েছি যে পাঠক স্থান-ফিলিং-টাইলিংয়ের ধারণার সাথে পরিচিত। অনুপ্রেরণার জন্য আপনি লিঙ্কটি অনুসরণ করতে পারেন। তবে মনে রাখবেন যে আমাদের সমস্যাটি ভিন্ন। যেহেতু আমরা এলোমেলোভাবে খালি স্থানটি পূরণ করি না এবং আমরা এলোমেলোভাবে আকারটি পছন্দ করি না। সমাধানটি পুনরাবৃত্ত হওয়া উচিত। সমস্ত ক্ষেত্রে, পার্সেল লাগানো হচ্ছে এমন কোনও সীমা নেই। প্রকৃতপক্ষে, পার্সেলগুলির জন্য ন্যূনতম অঞ্চল বেছে নিয়ে পুনরাবৃত্তি সংখ্যাটি সীমাবদ্ধ করা ব্যবহারকারীর উপর নির্ভর করে, উদাহরণস্বরূপ। উপরে বর্ণিত উদাহরণে এটি সুস্পষ্ট যেটিতে আমরা নির্দিষ্ট আকারের সাথে পিক্সেলগুলিতে লাইনকে পৃথক করেছিলাম। অর্থাৎ প্রক্রিয়াটি চলমান উচিত যতক্ষণ না পুরো খালি অঞ্চলটি মানদণ্ডের প্রতি শ্রদ্ধা না করা হয়, যেমন পার্সেলের সর্বাধিক ক্ষেত্র।
আপডেট 3:
সংক্ষিপ্তসার:
একটি অ্যাপ্লিকেশন হ'ল ভারি ভাঙা 'খনি' তে নিষ্কাশনযোগ্য অক্ষত 'রক' ব্লকগুলির বিতরণ সন্ধান করা। এটি ড্রিলিং ডিজাইন, আর্থিক মূল্যায়ন ইত্যাদি
বিবরণ সহ অনেক দিকের জন্য খুব সহায়ক হতে পারে :
আলংকারিক শৈলের একটি খনি (পাথর) জন্য যে পণ্যগুলি আয়তক্ষেত্রাকার ঘনক্ষেত্র হিসাবে কাটা অক্ষত শৈলগুলির ব্লকগুলি দামের আকারের সাথে ঘনিষ্ঠভাবে নির্ভরশীল ব্লক। একটি উপযুক্ত অঞ্চল থেকে কোনও ব্লক উত্তোলন অর্থাত্, বড় অংশগুলির ফ্র্যাকচার না থাকলে পছন্দসই হবে যদি অবশিষ্ট অংশগুলির পরিমাণ যতটা সম্ভব কম হয়। সাধারণত, পাথরের ছোট ছোট টুকরাগুলির তুলনামূলকভাবে কোনও অর্থনৈতিক মূল্য থাকে না এবং এটি বর্জ্য হিসাবে বিবেচিত হয়।
এই পোস্টের প্রশ্নটি এই ধরণের সমস্যার সমাধান অনুসন্ধান করে।
সমস্যার গাণিতিক দৃষ্টিভঙ্গিটি নিম্নরূপ বলা যেতে পারে:
2 ডি: প্রদত্ত 2D অঞ্চল থেকে আরও বড় আয়তক্ষেত্র আকারের জন্য অনুকূলিত করে কিছু লাইন দিয়ে যে সমস্ত আয়তক্ষেত্র বের করা যেতে পারে তা সন্ধান করুন।
থ্রিডি: প্রদত্ত 3D অঞ্চল থেকে কিছু সাব-প্লেন (আরও ভাল: বহুভুজ) যতটা সম্ভব বৃহত্তর ব্লকের আকারের জন্য অনুকূলিতকরণের সাথে নেওয়া যেতে পারে এমন সমস্ত আয়তক্ষেত্রাকার কিউবগুলি সন্ধান করুন।
যেহেতু এটি একটি চলমান গবেষণার অংশ, তাই নীচের মন্তব্যে জিজ্ঞাসা করা কিছু প্রশ্নের উত্তরগুলির নির্দিষ্ট উত্তর নেই যা আমরা সরবরাহ করতে পারি। আমরা বিশ্বাস করি যে এতক্ষণে এখানে সরবরাহিত তথ্য সমস্যার সামগ্রিক চিত্র পাওয়ার জন্য যথেষ্ট। তবুও, সম্প্রদায়ের সুবিধার জন্য আমরা কিছু বিশদ সরবরাহ করতে পারি।
চূড়ান্ত প্রশ্নের সমাধানে আপনি কিছু বিধিনিষেধ আরোপ করতে পারেন, যদিও, আমরা বিশ্বাস করি এটি আরও পরে যুক্ত করা সর্বদা সম্ভব। উদাহরণস্বরূপ, এগুলি অনুসরণ করুন: {2 ডি কেস}
উপরে বর্ণিত শর্তের অধীনে নিষ্কলনের জন্য একটি ব্লকের (অর্থনৈতিকভাবে সর্বোত্তম আয়তক্ষেত্রের) সেরা আকারের উদাহরণটি এই অঞ্চলের জন্য 1x1 m
দেওয়া 10x10 m
হয়েছে। এটি অর্থনৈতিক মানের উপর ভিত্তি করে সংজ্ঞায়িত একটি প্রতিবন্ধকতা। কাটা ইত্যাদির জন্য সর্বনিম্ন কার্যক্ষম আকার let0.15x0.15 m
; সুতরাং এটি দ্বিতীয় আকারের সীমা।
উপরের চিত্রটি ব্লকের আকারের উপর নির্ভর করে অর্থনৈতিক মান ফাংশনটি দেখায়। সুতরাং এই বিশেষ ক্ষেত্রে প্রতিটি শিলা টুকরা ছোট 0.15x0.15 m
অপচয় থেকে। 1.7x1.7 m
অপারেশন সীমাবদ্ধতার কারণে কোনও ব্লকের আকার আর বড় হবে না ।