কঠোরভাবে একটি গণনামূলক সমস্যা কীভাবে তৈরি করা যায়?


20

আমি প্রায়শই এমন লোকদের সাথে কথোপকথন করি যারা একটি গণনামূলক সমস্যার (বা এর জটিলতা) জন্য অ্যালগরিদম চাইতে চান, তবে তারা আমাদের (কম্পিউটার বিজ্ঞানীদের) বোঝার জন্য কঠোর উপায়ে এটি প্রকাশ করেন না।

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

কম্পিউটারের বিজ্ঞানীদের কাছে বোধগম্য এমন কোনও ভাল বই (বা অন্য কোনও সংস্থান) যেখানে সিএসের ন্যূনতম জ্ঞান সম্পন্ন একজন ব্যক্তি শিখতে পারেন যে কীভাবে একজনকে গণ্য সমস্যা সমাধান করা উচিত এবং স্টেট করা উচিত?

সাধারণত ডোমেন এবং বাস্তব বিশ্বের উদাহরণগুলি থেকে কীভাবে কম্পিউটেশনাল সমস্যাগুলি কঠোরভাবে তৈরি করা যায় তার অনেকগুলি উদাহরণ বইয়ে থাকতে হবে।


শোধন

প্রশ্নটিকে আরও সুনির্দিষ্ট করার জন্য, ধরে নেওয়া যাক যে তারা প্রথম / দ্বিতীয় বর্ষের স্নাতক সিএস শিক্ষার্থীর স্তরে সেট, ফাংশন, গ্রাফ, তালিকা ইত্যাদির মতো বেসিক গণিত / সিএস পরিভাষা জানেন (যাঁরা আমার সাথে আছেন তাদের ক্ষেত্রে এটিই আছে) মন)। উদাহরণস্বরূপ, তারা আহো এবং ওলম্যানের মতো কিছু প্রাথমিক পাঠ্যপুস্তক পড়েছে (যদিও তারা এটি পুরোপুরি বুঝতে পারে না)।


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

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

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

1
এটি বলেছিল, আমি এটির মতামতের পক্ষে এটির একটি নির্দিষ্ট উপায়ের প্রয়োজন যা সহজে অর্জিত হয় না, বিশেষত প্রাপ্তবয়স্কদের দ্বারা। আমি চেষ্টা করেছি যাতে প্রযুক্তিগত জিনিসগুলি ফেলে দেওয়া যায় এবং দৈনন্দিন জিনিসগুলির ক্ষেত্রে যতটা সম্ভব সমস্যাটি ব্যাখ্যা করা যায়। সমস্যাটি হ'ল তারা সাধারণত কিছু প্রতিবন্ধকতা ভুলে যাবে বা তারা এটিকে এমন কোনও অপারেশনের মতো সাড়া দেবে যা তাদের আসল সিস্টেমে O (N) হয় ও (1) ইত্যাদি। সুতরাং আমি ভুল সমস্যার একটি কঠোর সংজ্ঞা খুব কাছাকাছি কিছু দিয়ে শেষ করব।
svinja

2
একরকম, যা যা জিজ্ঞাসা করা হয়েছে তা পরস্পরবিরোধী, কারণ সমস্যাগুলি কঠোরভাবে গঠন করা হ'ল এক অন্যতম গুরুত্বপূর্ণ দক্ষতা যা সাধারণ / পেশাদারদের থেকে সাধারণ
লোককে

উত্তর:


3

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

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


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

yw; আপনি বলছেন যে এটি দুটি আলাদা জিনিস, এবং শব্দ / বাক্যাংশগুলিতে সেগুলি, তবে এবং আমি বলি তারা [একটি সফ্টওয়্যার ইঞ্জিনিয়ারিং শব্দবন্ধ ধারন করার জন্য] "শক্তভাবে মিলিত"
vzn

3

এমনিউইওয়েল ভায়োলা , উত্তর-পূর্ব বিশ্ববিদ্যালয়ের অধ্যাপক (টি) সিএসের নিজের হোম পৃষ্ঠায় এই দুর্দান্ত / ঝরঝরে, অস্বাভাবিক, তুলনামূলকভাবে নতুন / অজানা রেফিট পেরিয়ে অন্যত্র দৃশ্যত অপ্রকাশিত। 41pp। এটি খুব মৌলিক গাণিতিক ধারণাগুলি দিয়ে শুরু হয় যেমন জড়িত এবং তারপরে এরদস-সিসেকেরেস উপপাদ্য এবং রামসে তত্ত্বের মতো উন্নত বিষয়গুলিতে পুরোপুরি বিস্তৃত ।


0

রবার্ট লাফোনের কাছ থেকে অ্যালগরিদম এবং ডেটা স্ট্রাকচার বইটি কিনুন।

এই বইটিতে প্রতিটি অ্যালগরিদমকে গল্প হিসাবে ব্যাখ্যা করা হয়েছে, অনেকটা কবিতার মতো। তারপরে, ব্যক্তিকে একটি অ্যালগোরিদমের লাফরফ সংস্করণ এবং পরে সিএলআরএস সংস্করণ দিন।

সম্ভবত এর মতো, ব্যক্তি কীভাবে স্বজ্ঞাত বর্ণনা থেকে কঠোর ভাষায় অনুবাদ করবেন সে সম্পর্কে একটি অনুভূতি পাবেন।

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