পাঁচজন ডাইনিং দার্শনিক কেন?


18

আমি ভাবছিলাম যে ডাইনিং দার্শনিকদের সমস্যা কেন পাঁচটি দার্শনিকের ক্ষেত্রে ভিত্তি করে। চারটি নয় কেন?

আমি অনুমান করি যে আমরা সমস্ত অপ্রীতিকর বিষয়গুলি পর্যবেক্ষণ করতে পারি যা পাঁচটি দার্শনিক উদাহরণের সাথে আলোচনা করার সময় ঘটতে পারে যখন আমাদের চারজন চিন্তাবিদ দেওয়া হয়। এটি কি কেবল তখন কোনও reasonতিহাসিক কারণে?


1
মূল সমস্যাটি ডিসকસ્ત્રা 1965 সালে বর্ণনা করেছিলেন এবং ডাইনিং কুইন্টুপল ( পৃষ্ঠাটির শীর্ষে নোটগুলিতে পাওয়া যায়) নামে ডেকেছিলেন ।

আমার মনে হয় চারজন ভোজন দার্শনিককে শিখতে পেরেছি ...
মাইকেল

16
এটি 5 দার্শনিক কারণ তিনি চেষ্টা করে দেখছিলেন যে কেউ কখনই সুস্পষ্ট বিষয়টি লক্ষ্য করবে কিনা; 5 জন দার্শনিক একসাথে কথা বলবেন যতক্ষণ না রেস্তোঁরাগুলি তাদের লাথি মেরে ফেলে, তারা কখনও তাদের রূপোর জিনিসপত্র তুলবে না। 4 তাদের খাওয়া শুরু করার জন্য পর্যাপ্ত কথোপকথনে বিরতি থাকতে পারে। 5 এর সাথে সাথে কোনও মুহুর্তের জন্য দু'জনের কথা বলা বন্ধ হয়ে যাওয়ার সাথে সাথে ইতিমধ্যে ধারাবাহিকতাটি নিশ্চিত করতে আন্তঃযোগে অপেক্ষা করার জন্য কাতারে দাঁড়িয়ে আছে।
জিমি হোফা

1
@ জিমি হোফা - + ১। এবং কেন যে উত্তর না?
শেচপুরিন

উত্তর:


17

EWD310 "অনুক্রমিক প্রক্রিয়াগুলির হায়ারারিকিকাল অর্ডারিং" তে যা লেখা আছে তা অনুসারে , শিক্ষার্থীদের সমস্যার সমাধান প্রদর্শনের জন্য ডিজাইন করা অ্যালগরিদম বোঝার পক্ষে আরও সহজ করার জন্য 5 নম্বরটি শিক্ষামূলক উদ্দেশ্যে বেছে নেওয়া হয়েছে বলে মনে হয়।

এই খুব কাগজটি এই ধারণাটিকে আরও সমর্থন করে যে 5 সাধারণ সমস্যার সাথে সত্যই প্রাসঙ্গিক নয়, প্রথমে স্পষ্ট করে বলেছিলেন যে "9 বা 25 দার্শনিকদের জন্য সমস্যাটি উত্থাপন করা যেতে পারে ..." এবং এরপরে, এটি দুটি যুগপত পরিচালিত পদগুলির প্রতিনিধিত্ব করে সত্তা, "ক্লাস এ এবং ক্লাস বি, একই সংস্থানটি ভাগ করছে ..."

ডিজকস্ট্রা দ্বারা ব্যবহৃত সমাধান তিনটি "দার্শনিকের রাষ্ট্রের" পরিচয় করিয়ে দেয়: চিন্তাভাবনা, খাওয়া, ক্ষুধার্ত। সমস্যাটি সমাধানের জন্য উপস্থাপিত কোড, এই তিনটি রাজ্য পরিচালনা করে এবং এর সাথে সম্পর্কিত নয় দার্শনিক সংখ্যা।

লেখক যদি 2, 3 বা 4 দার্শনিকদের সংখ্যা বেছে নিয়েছিলেন, তবে কোডটি পড়তে শিক্ষার্থীদের বিভ্রান্তির কারণ হতে পারে, নির্বাচিত সংখ্যা রাষ্ট্রের পরিমাণের সাথে সম্পর্কিত বা অন্য কোনও কিছুর সাথেই হোক। এই সহজে বর্ণনা উল্লেখ সংখ্যার নিচে EWD310 থেকে উদ্ধৃত চেষ্টা করে পরীক্ষা করা সম্ভব: যেমন নোট কিভাবে এই পরিবর্তন হবে [0:4]থেকে [0:3], [0:2], [0:1]জড়িত এবং বিবৃতি mod

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


উল্লিখিত অ্যালগরিদম EWD310 এ নিম্নলিখিত উপস্থাপন করা হয়েছে:

... আমরা প্রতিটি দার্শনিকের সাথে রাষ্ট্রীয় পরিবর্তনশীল, "সি" বলি যেখানে যুক্ত থাকি

C[i] = 0অর্থ: দার্শনিক iভাবছেন

C[i] = 2অর্থ: দার্শনিক iখাচ্ছেন।

...

আমরা সর্বশেষ অবস্থার মধ্যবর্তী রাষ্ট্রের জন্য প্রবর্তন করি

C[i] = 1অর্থ: দার্শনিক iক্ষুধার্ত

এখন প্রতিটি দার্শনিক 0, 1, 2, 0 রাজ্যগুলির মধ্যে চক্রাকারে চলে যাবেন ...... পরবর্তী প্রশ্নটি জিজ্ঞাসা করা উচিত: দার্শনিকদের জন্য 1 থেকে 2 থেকে (বিপজ্জনক) স্থানান্তর কখন হয়েছিল K?

...

মহাবিশ্বে আমরা ধরে নিলাম ঘোষিত

1) semaphore mutex, প্রাথমিকভাবে = 1

2) integer array C[0:4], প্রাথমিকভাবে সমস্ত উপাদান = 0 দিয়ে

3) semaphore array prisem[0:4]প্রাথমিকভাবে সমস্ত উপাদানগুলির সাথে = 0

4) procedure test (integer value K);

if C[(K-1) mod 5] ≠ 2 and C[K]= 1
    and C[(K+1) mod 5] ≠ 2 do
      begin C[K]:= 2; V(prisem[K]) end;

(এই প্রক্রিয়াটি, যা Kউপস্থিত থাকাকালীন অস্থিরতার সমাধান করে , কেবল একটি সমালোচনামূলক বিভাগ থেকে ডাকা হবে)।

এই মহাবিশ্বে দার্শনিকের জীবন wএখন কোড করা যায়

cycle begin think;
            P (mutex);
               C[w]:= 1; test (w);
            V(mutex);
            P(prisem[w]); eat
            P(mutex);
               C[w]:= 0; test [(w+l) mod 5];
               test [(w-1) mod 5];
            V(mutex)
      end

এবং এটি যে সমাধানটির দিকে লক্ষ্য রেখেছিলাম তা শেষ করে ...


2
আমি তখন দার্শনিক হতে পারি না, কারণ খাওয়া বা ক্ষুধার্ত হওয়ার সময় আমি একই সাথে ভাবতে পারি। এবং আরও: তাদের কেউ মদ খাচ্ছে বা কথা বলছে না।
ott--

5

কেবলমাত্র ডিজকস্ট্রই নিশ্চিতভাবে উত্তর দিতে পারে তবে আমি যথেষ্ট আত্মবিশ্বাসী যে এটি নির্বিচারে।

"এটি প্রাথমিকভাবে ১৯65৫ সালে টেপ ড্রাইভ পেরিফেরিয়াল অ্যাক্সেসের জন্য কম্পিউটারের ক্ষেত্রে প্রতিযোগিতামূলক কম্পিউটার পরীক্ষার জন্য এডজার ডিজকস্ট্রা দ্বারা সূচিত হয়েছিল। এর পরেই টনি হোয়ের সমস্যাটিকে তার বর্তমান গঠনের বিষয়টি জানান।"

http://en.wikipedia.org/wiki/Dining_philosophers_problem


2
পাঁচজনের তুলনায় চারজন ডিনারের সমস্যা বিবেচনা করুন। কীভাবে সমস্যা বদলে যায়? এটা সহজ বা শক্ত? এটি একটি পরীক্ষার প্রশ্ন ছিল - শক্ততরটি সম্ভবত এটিই জিজ্ঞাসা করতে আগ্রহী।

2

কারণ এটি বিজোড়, এমনকি না। যাতে আপনি এমন একটি অ্যালগরিদম তৈরি করার চেষ্টা করবেন না যা প্রতিসাম্য বা জোড় গঠনের উপর নির্ভর করে এবং কেবল পরে বুঝতে পারে যে এটি সাধারণ ক্ষেত্রে কাজ করে না।

এটি একটি মতামত; লেখকের মনকে কী পেরেছিল সে সম্পর্কে আমার কোনও historicalতিহাসিক জ্ঞান নেই।


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