একদল লোকের জন্য খাওয়ার ক্রম এবং আকারের টেবিলের জন্য উপযুক্ত বসার ব্যবস্থা


23

একটি সেট দেওয়া মানুষ আমি তাদের আকারের টেবিলে খাবার একটা ক্রম বসার চাই । (অবশ্যই, প্রতিটি খাবারের জন্য সমস্ত বসার জন্য পর্যাপ্ত টেবিল রয়েছে )) আমি এটি এমনভাবে সাজিয়ে রাখতে চাই যাতে কেউ একই ব্যক্তির সাথে দু'বার টেবিল ভাগ করে না নেয়। সাধারণ মানগুলি হ'ল এবং এবং 6 থেকে 10 খাবার।কে | এস | | এস | = 45 কে = 5Sk|S||S|=45k=5

আরও বিমূর্ত ভাবে রাখুন, আমি এর পার্টিশনের ক্রম সন্ধান করতে চাই যে প্রতিটি পার্টিশনে কার্ডিনালিটি এর যোগফল বিচ্ছিন্ন করে দেওয়া এবং বিশ্বব্যাপী সম্পত্তি যুক্ত করে যে এই জাতীয় দুটি উপগ্রহের মধ্যে যে কোনও ছেদ করা কোনও একের বেশি উপাদান যুক্ত করে না। আমি সন্দেহ করি এটি একটি গ্রাফ তাত্ত্বিক বা সংযুক্তি সমস্যা হিসাবে তৈরি করা যেতে পারে।কেSk

সমস্যাটির আরও ভাল গঠনের জন্য আমি কৃতজ্ঞ এবং প্রাসঙ্গিক সাহিত্যের দিকে ইঙ্গিত করলাম কারণ এটি আমার ডোমেনের বাইরের।

ব্যাকগ্রাউন্ড: এটি স্ক্লোস ড্যাগস্টুহলে বসে থাকার ব্যবস্থা জন্য ব্যবহার করা যেতে পারে যেখানে অনেক কম্পিউটার বিজ্ঞানী এক সপ্তাহ ধরে তাদের গবেষণার বিষয়ে আলোচনা করতে আসেন। বর্তমানে আসনটি এলোমেলোভাবে করা হয় এবং আশ্চর্যজনকভাবে কিছু লোক এক সপ্তাহের মধ্যে দু'বার (বা আরও বেশিবার) একই ব্যক্তির সাথে বসে থাকে। আশ্চর্যজনকভাবে, আমরা এটি সম্পর্কে কিছু অভিযোগ এবং এটি কীভাবে উন্নত করতে হবে তা সম্পর্কে অস্পষ্ট পরামর্শ পেয়েছি। আমি এটি আরও ভালভাবে বুঝতে চাই। সমস্যার আরও দৃ .় গঠনের মধ্যে কারা একে অপরের পাশে বসে আছেন তা অনুকূল করা জড়িত তবে আমি বিশ্বাস করি এটি 5 মাপের সারণির ক্ষেত্রে প্রাসঙ্গিক নয়।

অ্যাপ্লিকেশনটির বাইরে আমি মনে করি আকর্ষণীয় প্রশ্নটি সর্বাধিক সংখ্যক খাবারের জন্য যা প্রদত্ত এবং জন্য পরিবেশন করা যেতে পারে , যেমন এরকম কতগুলি পার্টিশন রয়েছে।কেSk


আইআইআরসি, হ্যামিল্টন-ওয়াটারলু সমস্যার মতো মনে হচ্ছে।
জুহো

হ্যামিল্টন-ওয়াটারলু সমস্যা সম্পর্কে একটি কাগজে এক নজরে তাকানোর পরে আমি এই ধারণাটি পেয়েছি যে এটি নিশ্চিত করার কঠোর সমস্যাটির সাথে মোকাবিলা করে যে একজন অংশগ্রহণকারী একে অপরের অংশগ্রহণকারীের ঠিক একবারে বসেছিল।
খ্রিস্টান লিন্ডিগ

1
কিরকম্যানের স্কুলছাত্রী সমস্যাটি একই রকমের বলে মনে হচ্ছে এবং এটি একটি সূচনা পয়েন্ট হতে পারে।
খ্রিস্টান লিন্ডিগ

উত্তর:


11

এখানে আসল উত্তরের (নীচে) একটি বৈকল্পিক যা পছন্দসই সেটিংস দেয়: আকারের টেবিলগুলি 5, 45 জন এবং 10 খাবার, এক খাবারের ব্যতীত কয়েকটি আকারের 4 টেবিল থাকে।

যাক আকারের ক্ষেত্র হতে 9. 4 উল্লম্ব, অধ: পতিত রেখা বেছে নিন প্রতিটি জন্য and এবং তাদের লোকদের "শূন্য" ঘোষণা করুন। আমরা 81 - 9x4 = 45 জনের সাথে রয়েছি।{ ( বি , এক্স ) | x F } b = 0 , 1 , 2 , 3F{(b,x)|xF}b=0,1,2,3

9 টি খাবার slালু দ্বারা । 4 টি খালি ডিজেনরেট লাইনগুলির সাথে ছেদগুলি টেবিলের আকারটি 9-4 = 5 এ হ্রাস করে।a=0,1,,8

একটি অতিরিক্ত খাবার অবশিষ্ট অধ: পতিত লাইন দেওয়া হয় যে জন্য = 4 , 5 , 6 , 7 , 8 । এখানে সারণির আকার 9 হয় তবে (যে কোনও সমাধানে) আমরা 9 ​​মাপের একটি টেবিলটি 5 মাপের একটি টেবিল এবং আকার 4 এর একটিতে ভেঙে ফেলতে পারি।{(b,x)|xF}b=4,5,6,7,8

যদি আরও কয়েক জন লোক থাকে তবে আপনি 11 টি আকারের ক্ষেত্রটি ব্যবহার করতে পারেন।


প্রথমে আমরা জন এবং কে খাবারগুলি পরিচালনা করি।k2k

একটি নির্দিষ্ট ক্ষেত্র চয়ন করুন আকারের এবং ব্যক্তিদের চিহ্নিত এফ × এফ । প্রতিটি খাবারের সাথে সেখানে একটি opeাল, একটি টেবিলের সাথে সেই slালের সমান্তরাল একটি রেখা থাকে।FkF×F

বিশেষ করে, খাবার হয়েছে টেবিল { ( এক্স , একটি এক্স + + ) | এক্স এফ } যে জন্য এফak{(x,ax+b)|xF}bF

ছেদ করার যে সম্পত্তিটি আপনি চান তা হ'ল পৃথক opালু সহ রেখাগুলি ঠিক এক বিন্দুতে ছেদ করে।


জন লোককে পরিচালনা করতে , এগুলিকে প্রতিটি কে এর দুটি গ্রুপে ভাগ করুন এবং উপরের নির্মাণটি প্রতিটি গ্রুপে প্রয়োগ করুন। হ্যান্ডেল করতে 2 2 - = 45 , যেমন লেবেল (প্রথম দল) একটি নির্দিষ্ট লাইন { ( এক্স , এক্স ) | এক্স এফ } হিসাবে "খালি।" আপনার কাছে কে - 1 জন লোকের সাথে কয়েকটি টেবিল থাকতে পারে ।2k2k22k2k=45{(x,x)|xF}k1

বেশি খাবারের জন্য eg ষ্ঠ খাবারের শুরুতে দুটি দলে আলাদা আলাদা পার্টিশন বেছে নিতে পারে। (বলুন যে আপনি দুটি বিভাজনকে "মেশান" তা নিশ্চিত করার জন্য আপনি মূল পার্টিশনটি ইন্টারলেভ করেছেন) অবশ্য অবশ্যই এর ফলে কিছু ছেদ হতে পারে।


এটি একটি আকর্ষণীয় নির্মাণ তবে কারণটি আমার বিশেষ ক্ষেত্রে সীমাবদ্ধ এস | = k 2 তবে নিম্নতর সীমা হিসাবে সার্ভার থাকতে পারে। |S|=k2
খ্রিস্টান লিন্ডিগ

আরও সাধারণ পরামিতিগুলিকে সম্বোধন করার জন্য আমি প্রশ্নটি সম্পাদনা করেছি।
মানু

1
আমি বিশ্বাস করি যে [ব্লক নকশা] ( en.wikipedia.org/wiki/Block_design ) সাধারণ ক্ষেত্রে জন্য উপযুক্ত কাঠামো দ্বারা সরু আউট হিসাবে domotorp নিচে। তবে আমি এর গঠনমূলক দিকটি পছন্দ করি এবং এটি একটি ভাল উত্তর হিসাবে গ্রহণ করি।
ক্রিশ্চান লিন্ডিগ

3
10 টি খাবারের সাথে কোনও সমাধান উপস্থিত থাকলে আমি আগ্রহী; আমি কিছু গুগলিং করেছি কিন্তু উত্তর খুঁজে পেলাম না। যাইহোক, একবার সেরা সমাধানটি সন্ধান করা হয়ে গেলে, এর কোডিংয়ের কী হবে যাতে আয়োজকরা পার্টেকিপ্যান্টদের নামগুলি পেস্ট করতে এবং সমস্ত আসনের কার্যভার ফিরে পেতে পারে? এটা কি তাদের কাজে লাগবে? যদি আমরা এটি আরও সহজ করে তোলে তবে অন্যান্য কর্মশালাগুলি ড্যাগস্টুহেলের এই দুর্দান্ত traditionতিহ্য গ্রহণ করতে পারে।
মনু

1
সুন্দর আপডেট। এটি কার্যকর হলে আমাদের সম্মানে দাগস্তুহলে একটি বিয়ার পান করা উচিত :)
সুরেশ ভেঙ্কট

4

আপনি যে পরিবেশন করতে পারেন তার সংখ্যার উপর এখানে একটি (আলগা?) উপরের আবদ্ধ।

|S|=nnkn/k

Sn/kkΘ(nk)

nΘ(n2)O(n/k)

প্রকৃতপক্ষে, এখানে ধ্রুবকগুলি খুঁজে পাওয়া কঠিন নয় এবং আপনি যখন গণিত করেন, আপনি ঠিক উপরের সীমাটি পানn1k1


3

আপনি যদি চান যে কোনও দু'জন লোক একই টেবিলে ঠিক একবার বসতে পারে, তবে এটিকে একটি সমাধানযোগ্য 2-ডিজাইন বলা হয় এবং এটি প্রচুর অধ্যয়ন করা হয়েছে। দু'জন লোক একসাথে একবার দেখা করতে পারলে অবশ্যই কিছু খাবার এড়িয়ে যাওয়ার ফলে আপনার সমস্যার সমাধান হবে। (তবে অন্যান্য সমাধানগুলি উপস্থিত থাকতে পারে, আমি মনে করি।)


আমি চাই দু'জন লোক একবারে দেখা করুক। সারণীর পরিচয় কোনও সমস্যা নয় এবং আমি আপনার উত্তরের অংশ হিসাবে একই টেবিলে বসার তাৎপর্য সম্পর্কে নিশ্চিত নই তবে সংযুক্ত সংজ্ঞাটি দেখব।
খ্রিস্টান লিন্ডিগ

2

আপনার যদি কোনও ডিটারিস্টোনিক অ্যালগরিদম প্রয়োজন হয় তবে আমি নিশ্চিত নই, তবে আমি মার্কোভ চেইন মন্টি কার্লো পদ্ধতি ব্যবহার করে অতীতেও একই রকম সমস্যার সমাধান করেছি ।

আপনি গিথুব এ এই পদ্ধতির একটি কার্যকারী উদাহরণ দেখতে পাচ্ছেন - এই প্রোগ্রামটি বসার সীমাবদ্ধতার একটি সেট প্রদান করে যা একটি ধনাত্মক বা নেতিবাচক হতে পারে ("অবশ্যই" বা "আবশ্যক নয়") একটি নির্দিষ্ট আকারের টেবিলে একটি গ্রুপের লোকদের বসার চেষ্টা করে ( ), এবং হয় পরম বা আপেক্ষিক ("ভাল"))

দ্রষ্টব্য: এই প্রোগ্রামটি আপনার প্রস্তাবিত ঠিক একই সমস্যার সমাধান করে না , তবে এটি একটি মার্কোভ চেইন মন্টি কার্লো পদ্ধতির একটি কার্যপ্রণালী প্রদর্শন করে এবং এটি আপনার কাছে যথেষ্ট প্রয়োজন যে আপনি সহজেই আপনার সমস্যার প্রয়োজন হিসাবে এটি সামঞ্জস্য করতে পারেন।

প্রোগ্রামটি এক রাতের খাবারের জন্য সমস্যাটি সমাধান করে তবে আপনার ক্ষেত্রে সমস্যাটি পৌঁছানোর সহজ উপায় হ'ল প্রতিটি নৈশভোজের জন্য অ্যালগরিদম একবার চালানো, প্রতিটি বারের খাবারের আগের সঙ্গীগুলিকে অস্পষ্ট বা পরম নেতিবাচক প্রয়োজনীয়তা হিসাবে সরবরাহ করে। (अस्पष्ट প্রয়োজনীয়তার সুবিধাটি হ'ল আপনাকে গ্যারান্টি দেওয়া হয় যে একটি সঠিক ব্যবস্থা খুঁজে পাওয়া না গেলেও অ্যালগরিদম সমস্ত ইনপুটগুলিতে থামবে)।

এই প্রক্রিয়াতে আমরা প্রথমে প্রতিটি ডিনারকে পরম প্রয়োজনীয়তা অনুসারে বসার চেষ্টা করব - আপনি প্রক্রিয়াটির এই অংশটি এড়িয়ে যেতে চাইতে পারেন, কারণ এটি কেবল তখনই কাজ করে যখন পরম প্রয়োজনীয়তা সংখ্যায় অপেক্ষাকৃত কম হয়; অন্যথায় আপনি একটি অবিশ্বাস্যভাবে বিশাল সমস্যা দিয়ে শেষ !

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

প্রক্রিয়াটির এই অংশটি বেশ কয়েকটি প্রাথমিক কনফিগারেশনের সাথে আদর্শভাবে পুনরাবৃত্তি করা উচিত এবং সহজেই সমান্তরালে গণনা করা যায়।


|S|

0

আমি মনে করি যে কোনও বৈধ বসার ব্যবস্থা | এস | তে একটি নিয়মিত হাইপারগ্রাফের সমতুল্য শীর্ষস্থানগুলি, যেখানে d নৈশভোজের সংখ্যা যেখানে সর্বাধিক কে এবং সর্বাধিক কোডগ্রি 1 থাকে 1. তুচ্ছ সমাধানটি হ'ল প্রত্যেককে সর্বদা নিজের পাশে বসে থাকুন, তবে আমার ধারণা লক্ষ্যটি টেবিলের সংখ্যা হ্রাস করা?


1
এই সেটিংয়ে সারণীর সংখ্যা স্থির করা আছে। এবং এটি মানুষের সংখ্যার তুলনায় কঠোরভাবে কম।
সুরেশ ভেঙ্কট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.