ডায়নামিক প্রোগ্রামিং সম্পর্কে "গতিশীল" কী?


9

আমার একজন সিনিয়র একটি কাজের সাক্ষাত্কার নিয়েছিল এবং তাকে জিজ্ঞাসা করা হয় কেন এটি ডায়নামিক বলা হয়। তিনি উত্তর দিতে পারেন নি এবং সাক্ষাত্কারটি ছেড়ে দেওয়ার পরে তিনি বলেছিলেন যে এটি সম্পর্কে গতিশীল কিছুই নেই, এটি ঠিক এর মতো বলা হয়েছিল। এটা বিশ্বাস করা আমার পক্ষে শক্ত।

এটি কি সাব-প্রবলেমগুলি রান-সময় চলাকালীন সমাধান করা হয় এবং চূড়ান্ত লক্ষ্যে পৌঁছাতে ব্যবহৃত হয় তা বোঝায়? গতিশীল মেমরি বরাদ্দ মত যা রান-টাইমের সময় ঘটে?

[উত্তর]

প্রশ্ন জিজ্ঞাসার আগে আমার এই উইকি নিবন্ধটি পড়া উচিত ছিল , দুঃখিত।


2
সংক্ষিপ্ত উত্তর, এটি কেবল একটি নাম। আক্ষরিক অর্থের প্রয়োজন নেই।
যুবাল ফিল্মাস

4
তাত্ক্ষণিকভাবে, ডিপি (টেবিল ভরাট) এর সাধারণ বাস্তবায়ন যেমন অ্যালগরিদম পেতে পারে তত স্থিতিশীল।
রাফেল

উত্তর:


1

আমি সর্বদা প্রেরণা দিয়েছিলাম যে এর অর্থ হ'ল ডায়নামিক প্রোগ্রামিং ব্যবহার করে অ্যালগরিদমগুলি সমস্যা লোভী অ্যালগরিদমের সাথে সমাধান না হওয়া অবধি সমস্যার গতি " গতিশীল " সম্পাদনা করে ।

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

যদিও এটি প্রতিটি গতিশীল প্রোগ্রামিং সমস্যায় জেনারেলাইজ হয় তবে আমি নিশ্চিত।


9

আসলে, "গতিশীল প্রোগ্রামিং" নামে বিশেষ কিছু নেই; কৌশলটি নিজেই স্মার্টলি অবাঞ্ছিত পুনরাবৃত্তি সম্পর্কে। দেখুন এই প্রশ্নের @Jeffe উত্তর এবং বর্ণন, যা রিপোর্ট করা হয় যে Belman যে নাম চয়ন ইচ্ছাকৃতভাবে বিভ্রান্ত না হন।


3
যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
জন ডিভোরাক

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

@ ইয়াক্কি: গতিশীল প্রোগ্রামিংয়ের উদাহরণ রয়েছে যাতে কোনও টেবিলের প্রয়োজন হয় না ...
ম্যাসিমো কাফারো

1
@ কাকী: উদাহরণস্বরূপ, ফিবোনাচি সংখ্যাগুলি নীচের অংশে গণনা করার জন্য কেবল ধ্রুবক প্রয়োজন হে(1)সিরিজের পরবর্তী একটি গণনা করতে প্রয়োজনীয় ফিবোনাচি সংখ্যাগুলি সংরক্ষণ করার জন্য স্থান; দৈর্ঘ্যের দুটি স্ট্রিংয়ের দীর্ঘতম কমন সাবসেসেন্সটি গণনা করা হচ্ছেমি এবং এন ব্যবহার করে করা যেতে পারে হে(মিআমিএন(মি,এন)) পূর্ণ পরিবর্তে স্থান মিএনটেবিল এবং তাই।
ম্যাসিমো কাফারো

2
@ ইয়াক্কি: যখন আমি বলি যে ডিপি স্মার্টলি পুনরাবৃত্তিটি অন্বেষণ করার বিষয়ে কথা বলছেন তখনই আমি এটি উল্লেখ করি! তবে নামটি নিজেই অর্থহীন এবং অর্থহীন remains
ম্যাসিমো কাফারো

6

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


1
এর জন্য উত্স? সত্যিই একটি আকর্ষণীয় গল্প বলে মনে হচ্ছে।
jmite

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

@ জুমাইট আমি এটি কোনও জায়গায় পড়েছি (সম্ভবত কিছু ব্লগ) .. আমি উত্সটি সরবরাহ করার চেষ্টা করব ...
সুবহায়ান

@jmite আপনি এর জেফ এর বক্তৃতা নোটে গল্প জানতে পারেন বক্তৃতা 5: ডায়নামিক প্রোগ্রামিং এবং উইকি মধ্যে: গতিশীল প্রোগ্রামিং
hengxin

3

রিচার্ড বেলম্যান বেলম্যানের কথায় এটিকে ডায়নামিক প্রোগ্রামিং বলে অভিহিত করেছেন এখানে চিত্র বর্ণনা লিখুন

আমি পতনের ত্রৈমাসিকটি (1950 এর) RAND এ কাটিয়েছি। আমার প্রথম কাজটি ছিল মাল্টিস্টেজ সিদ্ধান্ত প্রক্রিয়াগুলির একটি নাম সন্ধান করা।

একটি আকর্ষণীয় প্রশ্ন হ'ল, ডায়নামিক প্রোগ্রামিং নামটি কোথা থেকে এসেছে? 1950 এর দশকগুলি গাণিতিক গবেষণার জন্য ভাল বছর ছিল না। উইলসন নামে আমাদের ওয়াশিংটনে খুব আকর্ষণীয় ভদ্রলোক ছিলেন। তিনি ছিলেন প্রতিরক্ষা সচিব, এবং সত্যই তিনি গবেষণা শব্দটি সম্পর্কে একটি প্যাথোলজিকাল ভয় এবং ঘৃণা করেছিলেন। আমি এই শব্দটি হালকাভাবে ব্যবহার করছি না; আমি এটা অবিকল ব্যবহার করছি। তাঁর মুখটি প্রশমিত হবে, তিনি লাল হয়ে উঠবেন এবং লোকেরা তাঁর উপস্থিতিতে গবেষণা শব্দটি ব্যবহার করলে তিনি হিংস্র হয়ে উঠতেন। অঙ্কিত শব্দটি সম্পর্কে তিনি কীভাবে অনুভব করেছিলেন তা আপনি কল্পনা করতে পারেন। আরএএনএন্ড কর্পোরেশন এয়ার ফোর্স দ্বারা নিযুক্ত করা হয়েছিল, এবং বিমান বাহিনী উইলসনকে মূলত প্রধান হিসাবে নিযুক্ত করেছিল। অতএব, আমি অনুভব করেছি যে উইন্ডসন এবং বিমানবাহিনীকে র‌্যাড কর্পোরেশনের অভ্যন্তরে আমি সত্যিই গণিত করছি এই বিষয়টি থেকে আমার কিছু করতে হয়েছিল। কি শিরোনাম, কি নাম, আমি কি বেছে নিতে পারি? প্রথমে আমি পরিকল্পনা করতে, সিদ্ধান্ত গ্রহণে, চিন্তাভাবনায় আগ্রহী। কিন্তু পরিকল্পনা, বিভিন্ন কারণে একটি ভাল শব্দ নয়। তাই আমি "প্রোগ্রামিং" শব্দটি ব্যবহার করার সিদ্ধান্ত নিয়েছি। আমি এই ধারণাটি পেতে চাই যে এটি গতিশীল, এটি ছিল মাল্টিস্টেজ, এটি সময়ের পরিবর্তিত ছিল। আমি ভেবেছিলাম, এক পাথর দিয়ে দু'টি পাখি মেরে ফেলি। ক্লাসিকাল শারীরিক অর্থে গতিশীল অর্থাত্ একটি শব্দটির পুরোপুরি নির্ভুল অর্থ রয়েছে take এটির একটি বিশেষণ হিসাবে খুব আকর্ষণীয় সম্পত্তিও রয়েছে এবং এটি একটি ক্ষণস্থায়ী অর্থে গতিশীল শব্দটি ব্যবহার করা অসম্ভব। এমন কিছু সংমিশ্রণের কথা চিন্তা করার চেষ্টা করুন যা সম্ভবত এটি একটি সংক্ষিপ্ত অর্থ প্রদান করবে। এটা অসম্ভব. সুতরাং, আমি ভেবেছিলাম গতিশীল প্রোগ্রামিং একটি ভাল নাম ছিল। এটি এমন কিছু ছিল যা এমনকি কংগ্রেস সদস্য আপত্তি করতে পারেন না।

উত্স: হারিকেনের আই, রিচার্ড বেলম্যান (আত্মজীবনী)

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