আকার বাড়ার সাথে সাথে কি এমন কোনও সমস্যা রয়েছে যা সহজ হয়?


62

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


7
এই সম্পত্তিটির সাথে মনে আসার একটি আসল সমস্যা হ'ল আনল্টেড পাসওয়ার্ড হ্যাশ ক্র্যাকিং যখন এটি "প্রদত্ত এন হ্যাশ, কমপক্ষে একটি হ্যাশ ক্র্যাক করুন" এর মতো তৈরি করা হয়। যেহেতু ক্র্যাকিংয়ের গতি n এর সাথে রৈখিক স্কেল হবে, চলমান সময়টি 1 / n এর সাথে সমানুপাতিক হবে - কেবলমাত্র আমরা আসলে একটি নির্দিষ্ট সময় নির্ধারণ করতে পারি না কারণ ক্র্যাকিং স্টোকাস্টিক এবং সময়মতো উপরের আবদ্ধ থাকে না।
আমন

1
@amon চলমান সময়টি মতো স্কেল করে না । এটা তোলে সময় লাগে পড়তে মাত্র হ্যাশ আপনি ইনপুট হিসেবে দেওয়া হয়েছে! এন এন1/nnn
ডেভিড রিচার্বি

3
আপনি নিখুঁত বা আপেক্ষিক পদে সহজ বলতে চান? আপনি কোন ব্যয়ের ব্যবস্থার অনুমতি দিচ্ছেন? আপনার কি কঠোরভাবে কমে যাওয়া খরচ প্রয়োজন, বা অ-বৃদ্ধি (কিছুদূর থেকে) যথেষ্ট?
রাফেল

2
@ ডেভিডরিচার্বি এই উদাহরণটিতে, যতক্ষণ না আমি চূড়ান্ত ব্যয় সম্পর্কে কোনও বক্তব্য না দেই ততক্ষণ ইনপুট পড়ার ব্যয়টি উপেক্ষা করা বৈধ। পরিবর্তে, গতি ইনপুট দিয়ে রৈখিকভাবে বৃদ্ধি পায়। সুতরাং, এন n টি (1)> টি (এন) এমনকি ইনপুট পড়ার ব্যয় বিবেচনা করার সময়ও। অর্থাত্ এই সমস্যাটির জন্য সমস্যাটি বিভাজ্য হওয়া সত্ত্বেও, ইনপুট বিভক্ত করার পরিবর্তে একবারে একটি বড় ইনপুট সমাধান করা সহজ। আমি বলছি না যে টি (এন)> টি (এন + 1) সমস্ত এন এর জন্য।
আমন

4
এই ফর্মটির আরও একটি উত্তর পোস্ট করতে চায় এমন প্রত্যেকের কাছে, "কিছুটা সমস্যা যেখানে ইনপুট একটি প্রশ্ন এবং উত্তর সম্পর্কে একটি বড় গোছা": এটি কার্যকর হয় না। দৈর্ঘ্য এর সবচেয়ে শক্ত ইনপুটগুলি হ'ল আপনি প্রশ্ন জিজ্ঞাসা করতে এবং কোনও ইঙ্গিত দেওয়ার জন্য সমস্ত বিট ব্যবহার করেন। সংক্ষিপ্ত প্রশ্নগুলির সাথে অনেকগুলি ইঙ্গিত দিয়ে মোকাবেলা করা সহজ এটির অর্থ এই নয় যে সবচেয়ে খারাপ সময় চলমান সময়টি ভাল। এনnn
ডেভিড রিচার্বি

উত্তর:


39

না, এটি সম্ভব নয়: কমপক্ষে, কোনও অ্যাসিম্পোটিক অর্থে নয়, যেখানে আপনার সমস্যাটি অনায়াসে, চিরকালের জন্য, হিসাবে চালিয়ে যেতে হবে ।n

এই জাতীয় সমস্যা সমাধানের জন্য কে সম্ভাব্যতম চলমান সময় হতে দিন, যেখানে আকার। নোট করুন যে চলমান সময়টি অ্যালগোরিদম দ্বারা সম্পাদিত নির্দেশাবলীর সংখ্যার একটি গণনা, সুতরাং এটি একটি অ-নেতিবাচক পূর্ণসংখ্যার হতে হবে। অন্য কথায়, all all সমস্ত । এখন যদি আমরা একটি ফাংশন consider বিবেচনা করি তবে আমরা দেখতে পাচ্ছি যে এমন কোনও ফাংশন নেই যা কঠোরভাবে একঘেয়েমি হ্রাস পাচ্ছে। ( যাই হোক না কেন , এটি সসীম হতে হবে, ; তবে যেহেতু মনোোটোনিকভাবে কঠোরভাবে হ্রাস পাচ্ছে, তাই এবংএন টি ( এন ) এন এন টি : এনএন টি ( 0 ) টি ( 0 ) = সি টি টি ( সি ) 0 টি ( সি + 1 ) - 1 টি ( এন ) এন 0 এন n 0 টি ( এন )T(n)nT(n)NnT:NNT(0)T(0)=cTT(c)0T(c+1)1যা অসম্ভব) অনুরূপ কারণে, কোন ফাংশন যে এসিম্পটোটিকভাবে কঠোরভাবে কমছে নেই। আমরা একভাবে প্রমাণ করতে পারেন যে আছে কোন চলমান সময় ফাংশন যেখানে অস্তিত্ব আছে যেমন যে সব জন্য , একঘেয়েমি কঠোরভাবে হ্রাস পাচ্ছে (এই জাতীয় কোনও ক্রিয়াকলাপটি শেষ পর্যন্ত নেতিবাচক হয়ে উঠতে হবে)।T(n)n0nn0T(n)

সুতরাং, চলমান সময়গুলি অ-নেতিবাচক পূর্ণসংখ্যার হতে পারে এমন সহজ কারণে, এই জাতীয় সমস্যাটি থাকতে পারে না।


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


9
এটি একটি দুর্দান্ত প্রমাণ, তবে আমি এই সিদ্ধান্তের সাথে একমত নই। কঠোরভাবে একঘেয়েভাবে হ্রাসমান রানটাইমের জন্য জিজ্ঞাসা করার পরিবর্তে, প্রশ্নটি আরও যুক্তিসঙ্গতভাবে এমন কোনও ফাংশনের প্রয়োজন হতে পারে যেখানে সেখানে একটি, বি রয়েছে একটি <b যাতে টি (ক)> টি (বি), অর্থাৎ এর অ-কঠোর একঘেয়েমি হ্রাস পাচ্ছে। তারপরে, অবশ্যই উপযুক্ত পূর্ণসংখ্যার কার্যকারিতা সন্ধান করা সম্ভব। তবে কেন পূর্ণসংখ্যা? আমি এই ছাপে ছিলাম যে চলমান সময় কোনও সময় নির্দেশিত হয়, কোনও নির্দেশনা গণনা নয় (টুরিং মেশিন ছাড়া) এবং টি এক্সপ্রেশনটি লগ () বা অ-পূর্ণসংখ্যক এক্সপোস্টের মতো অ-পূর্ণসংখ্যার ক্রিয়াকলাপগুলি ব্যবহার করতে পারে।
আমন

2
@ আমন "চলমান সময় একটি সময় নির্দেশিত হয়, কোনও নির্দেশনা গণনা নয়" একেবারে না। চলমান সময় সর্বদা একটি নির্দেশ গণনা। অন্য কোনও কিছুর পক্ষে যুক্তিযুক্ত হওয়া অসম্ভব যেহেতু এটি কার্যকরভাবে অনেকগুলি বাস্তবায়নের বিশদের উপর নির্ভর করবে।
ডেভিড রিচার্বি

3
প্রশ্নটি অস্পষ্ট হিসাবে, আমি দেখতে পাচ্ছি না কীভাবে এটি কোনও ব্যয় ফাংশন বাদ দেয়, বলুন, । এখন, কিন্তু এর জন্য "ছোট" , তাই সমস্যা "সহজ পায়", অপেক্ষাকৃত ভাষী। (নিখুঁত ব্যয় অবশ্যই asyptotically বৃদ্ধি পায়)। টি ( এন ) n টি ( এন ) n 2 এনT(n)=n2(1+ϵ)n+nT(n)nT(n)n2n
রাফেল

2
@Raphael, নয় একটি সমস্যা সহজে পেয়ে: হিসাবে বৃহত্তর পায় বৃহত্তর পায়, তাই সমস্যা হিসেবে পায় কঠিন বৃহত্তর পায়, একবার যথেষ্ট বড়। আমি আমার উত্তরের প্রথম বাক্যে জানিয়েছি যে কোনও সমস্যা চিরকাল সহজ হয়ে উঠতে পারে না। অবশ্যই, একটি সমস্যা কিছু সময়ের জন্য সহজ হয়ে উঠতে পারে ( জন্য কমতে পারে , বলুন) তবে এটি চিরকাল সহজ হয়ে উঠতে পারে না। টি ( এন ) এন এন এন টি ( এন ) এন T(n)nT(n)nnnT(n)nc
ডিডাব্লিউ

1
T

25

যদিও এটি আপনার প্রশ্নের পুরো উত্তর নয়, বায়ার-মুর স্ট্রিং অনুসন্ধান অ্যালগরিদমটি কাছে এসেছে। যেমন রবার্ট মুর আলগোরিদিম সম্পর্কে তাঁর ওয়েব পৃষ্ঠায় বলেছেন,

আমাদের অ্যালগরিদমের অদ্ভুত সম্পত্তি রয়েছে যা মোটামুটিভাবে বলা যায়, প্যাটার্নটি যত দীর্ঘ হয় তত দ্রুত অ্যালগরিদম চলে যায়।

অন্য কথায়, সাধারণত অ্যালগরিদম বলতে সোর্স স্ট্রিংয়ে লক্ষ্য স্ট্রিংয়ের উদাহরণ অনুসন্ধান করা হয় এবং একটি নির্দিষ্ট উত্সের স্ট্রিংয়ের জন্য, টার্গেটের স্ট্রিংটি দীর্ঘতর হয়, তত দ্রুত অ্যালগরিদম সঞ্চালিত হয়।


10
তর্কযুক্তভাবে, প্যাটার্নটি সমস্যার আকার নয় বরং তার পরিবর্তে অনুসন্ধান করা স্ট্রিংয়ের দৈর্ঘ্য। মতই উপরে ডেভিড Richerby এর মন্তব্য , আমি তর্ক করবে প্যাটার্ন দৈর্ঘ্য কিভাবে সমস্যা সমাধানের জন্য কেবল একটা ইংগিত আরো হলে একটি প্যাটার্ন একটি নির্দিষ্ট দৈর্ঘ্যের একটি স্ট্রিং মিলে যায় সমস্যাটি (এইজন্য চেয়ে (STRING অনুসন্ধান করার ব্যাপারে পেয়েছিলাম) ।)
কেভিন

4
nnlogn

10

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

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

           |     /
           |    /
Difficulty |   /                  ____-------
           |  /           ____----
           | /    ____----
            ---------------------------------
                       Distance

রেন্ডারিং : বলুন আমি এক মুখের রেন্ডার এবং 1000 টি মুখের রেন্ডারিং চাই; এটি একটি বিলবোর্ড বিজ্ঞাপনের জন্য তাই উভয় চূড়ান্ত চিত্রগুলি 5000px দ্বারা 10000px হওয়া উচিত। বাস্তবিকভাবে একটি মুখকে রেন্ডিং করা শক্ত হবে - আপনাকে জুড়ে কয়েক হাজার পিক্সেলের রেজোলিউশনে আপনাকে সত্যিকারের শক্তিশালী মেশিন ব্যবহার করতে হবে - তবে 1000 টির মুখের ভিড়ের জন্য প্রতিটি মুখের জন্য কেবল দশ পিক্সেল জুড়ে প্রয়োজন, এবং সহজেই ক্লোন করা যায়! আমি সম্ভবত আমার ল্যাপটপে 1000 টি চেহারা রেন্ডার করতে পারি তবে বাস্তব চিত্র 10000px জুড়ে রেন্ডারিংয়ে খুব দীর্ঘ সময় এবং শক্তিশালী মেশিন লাগবে। অসুবিধা বনাম বস্তুগুলির ASCII গ্রাফটি দেখায় যে কীভাবে কোনও সেট আকারের ছবিতে এন অবজেক্টগুলি রেন্ডারিংয়ের অসুবিধা দ্রুত বন্ধ হয় তবে তারপরে ধীরে ধীরে ফিরে আসে:

           | -    
           |- -                     _________
Difficulty |   --      ______-------            
           |     ------      
           |       
            ---------------------------------
                        Objects

হার্ডওয়্যার নিয়ন্ত্রণ : হার্ডওয়্যার সহ অনেকগুলি জিনিস অনেক সহজ হয়ে যায়। "মোটর এক্স 1 ডিগ্রি সরান" কঠোর এবং / বা অসম্ভব এবং আপনাকে "মুভ মোটর এক্স 322 ডিগ্রি" এর জন্য যে সমস্ত ধরণের জিনিস আপনাকে মোকাবেলা করতে হবে না সেগুলি আপনাকে মোকাবেলা করতে হবে।

স্বল্পকালীন কার্যাদি: বলুন যে আপনি প্রতি সেকেন্ডে আইটেম এক্স চালু রাখতে চান (খুব অল্প সময়ের মধ্যে)। এক্স চালুর পরিমাণ বাড়িয়ে, আপনার হার্ডওয়ারের পাশাপাশি কম জটিল সফ্টওয়্যার প্রয়োজন হবে।


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

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

আমি মনে করি প্যারামিটারগুলি ভ্রমণ করার জন্য রিট 2 টি শহরের নাম হবে এবং এনগুলি এনকোড করার জন্য অক্ষরের সংখ্যা হবে।
এমরি

3

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

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


2

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

এটির সন্ধানের কৌশলটি হ'ল সমাধানের অংশটিকে একটি এন্ট্রি হিসাবে ইঙ্গিত করার মতো করে এবং ধ্রুবক প্যারামিটারের মতো সমস্যার প্রবেশ বিবেচনা করে।

উদাহরণ: লন্ডন এবং প্যারিসের মধ্যে গাড়ীর দীর্ঘতম রাস্তা কোন ফরাসী এবং একটি ব্রিটিশ শহরে দু'বার পরিদর্শন করা এবং অন্য দেশে সফর না করা এড়িয়ে চলেন? বিবেচনা করুন, আপনাকে অ্যাশফোর্ডের আগে বার্মিংহাম যেতে হবে, ভার্সাইয়ের আগে অরলিন্স, লিমোজের আগে লা রোশেল ইত্যাদি ...

এটা পরিষ্কার যে দীর্ঘ এন্ট্রিগুলির সাথে এই সমস্যাটি স্বল্পের সাথে সহজ হবে।

ব্যবহারের উদাহরণ: মেশিন দ্বারা পরিচালিত একটি প্লেগেম কল্পনা করুন এবং কম্পিউটারের আইএ আরও নির্ধারণ করতে হবে যে তিনি আরও বেশি ইঙ্গিত খুঁজতে নাটকে আরও অন্বেষণ করতে হবে কিনা অন্যথায়, এখন যদি সময়টি অনুমান করার উপযুক্ত সিদ্ধান্তটি অনুমান করার সময় হয় তবে ।


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

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

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

@ টম, আমি একমত যে জটিলতা সম্পর্কে আপনার বিবেচনা স্থির থাকবে তবে সমস্যাটি হ'ল আমরা কীভাবে নতুন ইঙ্গিতগুলি মেনে নিচ্ছি: যদি দীর্ঘ প্রবেশের গণনা করার আমাদের দর্শনের সাথে যদি একটি স্বল্প প্রবেশের চেয়ে ভাল না হয়, তবে আমাদের দর্শন পরিবর্তন করতে হবে - কারণ এটি একটি সত্য: দীর্ঘ এন্ট্রি সহজ সমস্যা বোঝায়। সুতরাং আমরা সেভাবে কাজ করতে পারি না ... আমি আমার বইটি সুপারিশ করব, তবে আমার কোনও খ্যাতি নেই ...
হুয়ান ম্যানুয়েল ডাটো

nlogn

1

এমন একটি প্রোগ্রাম বিবেচনা করুন যা আপনাকে পাসওয়ার্ড সম্পর্কে যা জানবে ইনপুট হিসাবে গ্রহণ করে এবং তারপরে এটি ক্র্যাক করার চেষ্টা করে। আমি মনে করি এটি আপনি যা চান তা করে। উদাহরণ স্বরূপ:

  • কোনও ইনপুট-> নিদর্শন সমস্ত চিহ্ন এবং যে কোনও দৈর্ঘ্যের শব্দের উপর ক্র্যাক করে না
  • পাসওয়ার্ডের দৈর্ঘ্য -> ব্রুট সেই দৈর্ঘ্যের একটি শব্দতে সমস্ত চিহ্নকে জোর করে
  • সমন্বিত চিহ্ন -> চেক করার জন্য চিহ্নগুলির তালিকা সঙ্কুচিত করে
  • ...
  • একাধিক ঘটনা এবং দৈর্ঘ্য সহ ধারণকৃত প্রতীকগুলি -> কেবল গণনা অনুমানের
  • সমস্ত চিহ্ন সঠিক ক্রমে -> মূলত নিজেই সমাধান করা

আমার যুক্ত করা উচিত এটি একটি কৌশল, যেহেতু এই জাতীয় সমস্যাটি ইনপুট আকারের বিপরীত। আপনি বিমূর্ততার একটি স্তর রেখে দিতে পারেন এবং ইনপুট আকারটি কোনও ইনপুট না দেওয়ার জন্য বড় (সমস্ত চিহ্ন এবং শব্দের দৈর্ঘ্য পরীক্ষা করে নিন) এবং যদি আপনি শুরুতে সঠিক পাসওয়ার্ডটি প্রবেশ করেন তবে ছোট।

সুতরাং এটি আপনাকে কতটা বিমূর্ততা মঞ্জুরি দেয় তা নেমে আসে।


2
b

0

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

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

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

হ্যাঁ, আপনার কাছে পর্যাপ্ত ডেটা থাকলে কিছু সমস্যা শেষ পর্যন্ত নিজেরাই সমাধান করে solve


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

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

এটি কি টিভি শো নম্বরগুলির ভিত্তি নয় ? বা কমপক্ষে কয়েকটি এপিসোড - আমি জানি আমি বিশেষত একটি দৃশ্যের কথা স্মরণ করি যেখানে গণিতের লোক মন্তব্য করে যে হাতের সমস্যা সমাধানের জন্য তিনি যে অ্যালগরিদমটি ব্যবহার করছেন সেটি বড় ডেটাসেটের সাথে আরও কার্যকর হয়।
ড্যান হেন্ডারসন

2
"আরও কার্যকর হয়"! = "আরও সহজ হয়ে যায়"।
ডেভিড রিচার্বি

-1

এনপি-সম্পূর্ণ সমস্যা 3-স্যাট বিবেচনা করুন। আপনি যদি x_i = সত্য / মিথ্যার ফর্মটি ইনপুট সরবরাহ করে সমস্যার বর্ধন করে চলেছেন তবে আপনি পৃথক বিভাজনগুলি দুটি-ভেরিয়েবল দফায় রূপান্তর করেন, যার ফলে একটি 2-স্যাট সমস্যা তৈরি হয় যা স্থিরভাবে পি হয়, অথবা আপনি কেবল শেষ হয়ে যাওয়া শেষ করেন একটি সত্য / মিথ্যা উত্তর।

যে ক্ষেত্রে x_i = সত্য / মিথ্যা ইনপুটগুলিতে অপ্রয়োজনীয়তা রয়েছে (একই ইনপুটটি অনেক সময় সরবরাহ করেছে বা বিপরীত ইনপুটগুলি) আপনি সহজেই ইনপুটগুলি বাছাই করতে পারেন এবং হয় অতিরিক্ত মূল্যবোধকে অগ্রাহ্য করতে পারেন, বা মানগুলি বিপরীত হলে কোনও ত্রুটির প্রতিবেদন করতে পারেন।

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

এখন, একটি দুর্দান্ত পরিস্থিতি হ'ল যদি আমরা টি (0) গ্রহণ করতে ইচ্ছুক (উপরের উত্তরে ডিডাব্লু এর স্বরলিপি ব্যবহার করে) অসীম হতে পারে। উদাহরণস্বরূপ, টি (0) টিউরিংয়ের হ্যালটিং সমস্যা সমাধানের সমতুল্য হতে পারে। যদি আমরা এমন কোনও সমস্যা তৈরি করতে পারি যাতে আরও ইনপুট যুক্ত করা যায় তবে এটি সমাধানযোগ্য সমস্যাতে রূপান্তরিত হয়, আমরা সোনার আঘাত করেছি। দ্রষ্টব্য যে এটি সমাধানযোগ্য সমস্যা হিসাবে asympototically রূপান্তর করা যথেষ্ট নয় - কারণ এটি সমস্যাটিকে জোর করা যতটা খারাপ।


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

প্রথম বন্ধ: আমরা একমত যে আরও ইনপুট যুক্ত করা চলমান সময় বাড়িয়ে তুলতে পারে। আমি মূলত উপরে একই জিনিস বলতে। দ্বিতীয়ত, আমি পরিষ্কারভাবে বলেছি যে আমরা একটি বিদ্যমান 3-স্যাট নিচ্ছি এবং কেবলমাত্র x_i = সত্য / মিথ্যা ফর্মের ইনপুট যুক্ত করছি। আমি মনে করি এটি যথেষ্ট পরিষ্কার এবং আমার আর কোনও ব্যাখ্যা দেওয়ার দরকার নেই। আমি মনে করি আপনি যা লিখেছেন তার সর্বাধিক ভুল ধারণাযুক্ত ব্যাখ্যা গঠনের জন্য আপনি সমস্যাটি নিচ্ছেন। নিজেকে ঝামেলা করবেন না দয়া করে।
vvv cvvcv

1
গুরুতরভাবে না. আপনি কোন গণ্য সমস্যা সমাধান করছেন? একটি গণনামূলক সমস্যাটি স্ট্রিংগুলির একটি সেটটির সদস্যতা স্থির করে দিচ্ছে (কোডিং সম্পর্কে বিরক্তি এড়াতে সূত্রগুলির একটি সেট বলি)। যে সূত্রগুলির জন্য আপনি দাবী করছেন যে একটি দীর্ঘ সূত্র সেটে রয়েছে তা সিদ্ধান্ত নেওয়া কি সংক্ষিপ্ত সূত্রটি সেটে রয়েছে তা সিদ্ধান্ত নেওয়ার চেয়ে সহজ কি? যত তাড়াতাড়ি আপনি এই সুনির্দিষ্ট করার চেষ্টা করবেন, আমি নিশ্চিত যে আপনার দাবিটি বিচ্ছিন্ন হয়ে যাবে pretty
ডেভিড রিচার্বি

আপনি দয়া করে 'আমার দাবি' সম্পর্কে আপনার বোঝাপড়াটি স্পষ্ট করে বলতে পারেন? আপনি এই সুনির্দিষ্ট করার চেষ্টা করার সাথে সাথে আমি নিশ্চিত যে আপনি ইন্টারনেট ব্যান্ডউইথের অপচয় নষ্ট করবেন।
ভি ভিভি সিভিভিসিভি

আমি একজন কম্পিউটার বিজ্ঞানী, মন-পাঠক নই। আপনার দাবি সুনির্দিষ্ট করা আপনার কাজ, আমার নয়।
ডেভিড রিচার্বি

-1

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


n
tp


n

3) আউটপুট:
আউটপুট কর্মীদের দ্বারা গ্রহণ করা কাজের মধ্যে পাথ। প্রতিটি পাথ এটি গ্রহণ করা সংখ্যার সাথে জড়িত। উদাহরণ স্বরূপ:

n1
n2
n3
n4
n5

4) সম্ভাব্য সমাধান:
একটি সম্ভাব্য সমাধান হ'ল প্রথমে এ থেকে নিকটতম নোডের সবচেয়ে সংক্ষিপ্ত পথটি গণনা করা এটি একটি সামনের পথ হবে। তারপরে প্রতিটি পরিদর্শন করা কাজের জন্য পুনরাবৃত্তভাবে সামনের পথটি গণনা করুন। ফল একটি গাছ। উদাহরণ স্বরূপ:

          একজন
      খ্রিস্টপূর্ব
    ডেন

nn1n2n20

n=n=1

n


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

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

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

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