ডায়নামিক প্রোগ্রামিং সমস্যাগুলি সমাধান করার ক্ষেত্রে কীভাবে আরও ভাল get


9

আমি সম্প্রতি এই প্রশ্নটি নিয়ে এসেছি: "আপনাকে 'সত্য', 'মিথ্যা', 'এবং', 'বা', এবং 'জোর' চিহ্নগুলির একটি স্ট্রিং সমন্বিত একটি বুলিয়ান অভিব্যক্তি দেওয়া হয়েছে parent প্রকাশটি এমনভাবে সত্যকে মূল্যায়ন করবে For উদাহরণস্বরূপ, 'সত্য এবং মিথ্যা জোর সত্য' প্রথম বন্ধনীর দুটি উপায় রয়েছে যা এটি সত্যকে মূল্যায়ন করে। "

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

ধরা যাক টি [কে] হ'ল কে আকারের সাথে এক্সপ্রেশনটি সত্য করে তারপরে টি [কে] = ভাল 1 + ভাল 2 + ​​ভাল 3 যেখানে ভাল 1, ভাল 2, ভাল 3 গণনা করা হয় নীচে।

1) যখন E এর সাথে ডি গ্রুপ করা হয়।

i) এটি D এর মান পরিবর্তন করে না

ii) এটি ডি এর মানকে উল্টো করে দেয়

প্রথম ক্ষেত্রে ভাল 1 = টি [কে] = এন। (এটি প্রাথমিক এবিসি ... ডি এক্সপ্রেশনকে হ্রাস করে)। দ্বিতীয় ক্ষেত্রে ডি-এর বিপরীতে ডিপি [কে] পুনরায় মূল্যায়ন করুন এবং এটি ভাল 1।

2) যখন ই পুরো প্রকাশের সাথে গোষ্ঠী করা হয়।

// ভাল 2 এর মধ্যে 'সত্য' ই প্রকাশিত সংখ্যার সমন্বয়ে উপস্থিত রয়েছে যা এবিসির সমস্ত প্রথম বন্ধনী উদাহরণগুলির মধ্যে 'সত্য' দিয়েছে ...... ডি i) যদি সত্য হয়। E = সত্য হয় তবে ভাল 2 = এন

ii) যদি সত্য হয় EE = মিথ্যা তবে ভাল 2 = 0

// ভাল 3 এর মধ্যে 'সত্য' ই প্রকাশিত সংখ্যার সমন্বয় করে যা এবিসির সমস্ত প্রথম বন্ধনী উদাহরণগুলির মধ্যে 'মিথ্যা' দিয়েছে ...... D

iii) যদি মিথ্যা থাকে trueE = সত্য তবে Val3 = (2 ^ (কে -2) - এন) = এম অর্থাৎ। আকারের K দিয়ে একটি মিথ্যা উত্পাদনের উপায়গুলির [2 ^ (K-2) আকারের একটি এক্সপ্রেশনকে প্রথম বন্ধনের আকারের সংখ্যা]।

iv) যদি মিথ্যা থাকে EE = মিথ্যা তবে ভাল 3 = 0

এটি আমার মনে যে প্রাথমিক ধারণাটি ছিল তবে আমি যখন এর সমাধানটির জন্য পরীক্ষা করেছিলাম http://people.csail.mit.edu/bdean/6.046/dp/dp_9.swf সেখানে যোগাযোগটি সম্পূর্ণ আলাদা ছিল। কেউ কি আমাকে বলতে পারে যে আমি কী ভুল করছি এবং কীভাবে আমি ডিপি সমাধানের ক্ষেত্রে আরও ভাল হতে পারি যাতে আমি নিজের উপরের মত সমাধানের সমাধান করতে পারি।

আগাম ধন্যবাদ.


প্রশ্নটি ভুল। true and (false xor true) = (true and false) xor true(সহজেই উভয় হ্রাস করে দেখা false xor true)।
পিটার টেলর

দুর্দান্ত প্রশ্ন! আমাকেও ডিপি-তে আরও ভাল হতে হবে। কেউ কেউ বলে "আহ .. ডিপি হ'ল একটি সাধারণ পুনরাবৃত্তি"। এটা না!
ফ্লোরেন্টস সিসলাই

@ ফ্লাওয়ারেন্টস স্লেই মাত্র আপনার মন্তব্যটি দেখেছেন। আপনি কেন মনে করেন না?
জন ডন

উত্তর:


9

উত্তর, অনেক কিছুর মতো, হ'ল:

অনুশীলন, অনুশীলন, অনুশীলন।

যাইহোক, আমি বিশ্বাস করি যে আপনার সমাধানে আপনি খুব তাড়াতাড়ি একটি তুচ্ছ ভুল করে একটি মৃতপ্রান্তে পরিণত হয়েছিলেন: "এই নতুন এক্সপ্রেশনটি প্রথম বন্ধনে পরিণত করার 2 উপায় রয়েছে" - 2 এর বেশি নেই? (A.B.(C.D.E))উদাহরণস্বরূপ, কীভাবে ?


"এক্স করতে পারলে আমি কীভাবে আরও ভাল হতে পারি?" - "এক্স এক্স!" ... যুক্তিসঙ্গত শোনায় ;-)
জোছিম সৌর

2

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

আপনি এখানে গতিশীল প্রোগ্রামিং জড়িত স্পোজ সমস্যাগুলি খুঁজে পেতে পারেন :)



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