প্রথমটি বোঝার জন্য হ'ল পি এবং এনপি সমস্যাগুলি নয়, ভাষাগুলিকে শ্রেণিবদ্ধ করে । এর অর্থ কী তা বোঝার জন্য আমাদের প্রথমে কিছু অন্যান্য সংজ্ঞা দরকার।
একটি বর্ণমালা চিহ্নগুলির একটি খালি নয় এমন সসীম সেট।
C 0
, 1
} ASCII অক্ষর সেট হিসাবে একটি বর্ণমালা। {an কোনও বর্ণমালা নয় কারণ এটি খালি রয়েছে। এন (পূর্ণসংখ্যা) কোনও বর্ণমালা নয় কারণ এটি সীমাবদ্ধ নয়।
যাক Σ একটি বর্ণমালা হও। থেকে চিহ্নগুলির একটি সসীম সংখ্যা এবং নির্দেশিত সংযুক্তকরণের Σ একটি বলা হয় শব্দ ওভার Σ ।
স্ট্রিংটি 101
বর্ণমালা over 0
, 1
} এর উপরে একটি শব্দ } খালি শব্দ (প্রায়ই হিসাবে লিখিত ε ) কোন বর্ণমালা উপর একটি শব্দ। স্ট্রিংটি penguin
ASCII অক্ষরযুক্ত বর্ণমালার উপরে একটি শব্দ। সংখ্যা π এর দশমিক স্বরলিপি বর্ণমালা উপর একটি শব্দ নয় { .
, 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
} কারণ এটি না সসীম হয়।
দৈর্ঘ্য একটি শব্দের W , লিখিত যেমন | ডাব্লু |, এটিতে প্রতীক সংখ্যা।
উদাহরণস্বরূপ, | hello
| = 5 এবং | ε | = 0. যে কোনও শব্দের জন্য ডাব্লু , | ডাব্লু | । N এবং সুতরাং সীমাবদ্ধ।
যাক Σ একটি বর্ণমালা হও। সেট Σ * সব শব্দ আছে Σ সহ ε । সেট Σ + + সব শব্দ আছে Σ , ব্যতীত ε । জন্য এন ∈ এন , Σ এন দৈর্ঘ্যের শব্দের সেট এন ।
প্রতিটি বর্ণমালার জন্য Σ , Σ * এবং Σ + অসীম গণনাযোগ্য সেট । হওয়া ASCII অক্ষর সেট জন্য Σ হওয়া ASCII , নিয়মিত এক্সপ্রেশন .*
এবং .+
বোঝাতে Σ হওয়া ASCII * এবং Σ হওয়া ASCII + + যথাক্রমে।
{ 0
, 1
} 7 7-বিট হওয়া ASCII কোডের সেট { 0000000
, 0000001
, ..., 1111111
}। । 0
, 1
} 32 হল 32 বিট পূর্ণসংখ্যার মানগুলির সেট।
যাক Σ একটি বর্ণমালা এবং হতে এল ⊆ Σ * । এল একটি বলা হয় ভাষা ওভার Σ ।
একটি বর্ণমালা জন্য Σ , খালি সেট এবং Σ * ওভার তুচ্ছ ভাষা Σ । প্রাক্তনটিকে প্রায়শই খালি ভাষা হিসাবে উল্লেখ করা হয় । খালি ভাষা {} এবং কেবল খালি শব্দ { ε containing থাকা ভাষা আলাদা different
- 0
, 1
} 32 এর উপসেট যা নন-এনএন আইইইই 754 ফ্লোটিং পয়েন্ট মানগুলির সাথে মিলে যায় তা সীমাবদ্ধ ভাষা।
ভাষাগুলিতে অসীম সংখ্যক শব্দ থাকতে পারে তবে প্রতিটি ভাষা গণনাযোগ্য। স্ট্রিং সেট { 1
, 2
...} দশমিক স্বরলিপি পূর্ণসংখ্যার বাচক বর্ণমালা উপর অসীম ভাষা { 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
}। স্ট্রিং অসীম সেট { 2
, 3
, 5
, 7
, 11
, 13
, ...} দশমিক স্বরলিপি মৌলিক সংখ্যার বাচক একটি উপসেট উহার হয়। নিয়মিত অভিব্যক্তির সাথে মিলে থাকা সমস্ত শব্দের সমন্বিত [+-]?\d+\.\d*([eE][+-]?\d+)?
ভাষা হ'ল ASCII অক্ষর সেট (সি প্রোগ্রামিং ভাষা দ্বারা সংজ্ঞায়িত বৈধ ভাসমান-পয়েন্ট এক্সপ্রেশনগুলির একটি উপসেট বোঝানো) over
আসল সংখ্যার সেটটি গণনাযোগ্য নয় বলে সমস্ত আসল সংখ্যা (কোনও স্বীকৃতিতে) সমন্বিত কোনও ভাষা নেই।
যাক Σ একটি বর্ণমালা এবং হতে এল ⊆ Σ * । একটি যন্ত্র ডি সিদ্ধান্ত নেয় এল যে ইনপুট জন্য যদি W ∈ Σ * এটা নির্ণয় চরিত্রগত ফাংশন χ এল ( W সসীম সময়)। বৈশিষ্ট্যযুক্ত ফাংশন হিসাবে সংজ্ঞায়িত করা হয়
χ এল : Σ * → {0, 1}
W ↦ 1, W ∈ এল
0, অন্যথায়।
এই জাতীয় একটি মেশিনকে এল এর জন্য একটি সিদ্ধান্তক বলা হয় । আমরা "প্রদত্ত ডাব্লু , ডি আউটপুট এক্স " এর জন্য " ডি ( ডাব্লু ) = এক্স " লিখি ।
অনেক মেশিন মডেল আছে। আজ যে ব্যবহারিক ব্যবহারের মধ্যে সবচেয়ে সাধারণ এটি একটি টুরিং মেশিনের মডেল । একটি টিউরিং মেশিনের সীমাহীন লিনিয়ার স্টোরেজটি কোষগুলিতে ক্লাস্টার থাকে। প্রতিটি ঘর সময়ে যে কোনও সময়ে বর্ণমালার ঠিক একটি চিহ্ন ধরে রাখতে পারে। ট্যুরিং মেশিন গণনার পদক্ষেপগুলির ক্রম হিসাবে তার গণনা সম্পাদন করে। প্রতিটি পদক্ষেপে, এটি একটি ঘর পড়তে পারে, সম্ভবত এর মানটি ওভাররাইট করে এবং পঠন / লিখনের শীর্ষকে একটি অবস্থান দ্বারা বাম বা ডান কক্ষে নিয়ে যেতে পারে। মেশিনটি কী পদক্ষেপ করবে তা সীমাবদ্ধ রাষ্ট্র অটোমেটনের দ্বারা নিয়ন্ত্রিত হয়।
সীমাবদ্ধ নির্দেশাবলী এবং সীমাহীন স্টোরেজ সহ একটি এলোমেলো অ্যাক্সেস মেশিন আরেকটি মেশিন মডেল যা টুরিং মেশিন মডেলের মতো শক্তিশালী।
এই আলোচনার খাতিরে, আমরা আমাদের যে সঠিক মেশিন মডেলটি ব্যবহার করি তা নিয়ে বিরক্ত করব না বরং বলার অপেক্ষা রাখে যে মেশিনটির একটি সীমাবদ্ধ নিয়ন্ত্রণ ব্যবস্থা রয়েছে, সীমাহীন স্টোরেজ রয়েছে এবং এটি গণনা করা যায় এমন পদক্ষেপগুলির ক্রম হিসাবে একটি গণনা সম্পাদন করে।
যেহেতু আপনি এটি আপনার প্রশ্নে ব্যবহার করেছেন, তাই আমি ধরে নিয়েছি যে আপনি "বিগ-ও" স্বরলিপিটির সাথে ইতিমধ্যে পরিচিত তাই এখানে কেবল একটি দ্রুত রিফ্রেশার।
আসুন f : N একটি ফাংশন হোক। সেট হে ( চ ) সব ফাংশন রয়েছে ছ : এন → এন , যার জন্য সেখানে ধ্রুবক অস্তিত্ব এন 0 ∈ এন এবং গ ∈ এন যেমন যে প্রত্যেক জন্য এন ∈ এন সঙ্গে এন > এন 0 এটা সত্য যে ছ ( এন ) ≤ গ চ ( এন )
এখন আমরা আসল প্রশ্নের কাছে যেতে প্রস্তুত।
বর্গ পি রয়েছে সমস্ত ভাষা এল , যার জন্য টুরিং মেশিন অস্তিত্ব আছে ডি যে সিদ্ধান্ত নেয় এল এবং স্থির ট ∈ এন প্রত্যেক ইনপুট জন্য যেমন যে W , ডি সর্বাধিক পর স্থগিত টি (| W |) একটি ফাংশন জন্য পদক্ষেপ টি ∈ হে ( n ↦ n কে )।
যেহেতু ও ( এন k এন কে ) গাণিতিকভাবে সঠিক, লিখতে ও পড়তে অসুবিধে হয়, তাই বেশিরভাগ লোক - সত্য বলতে সত্য, নিজেকে বাদ দিয়ে সবাই - সাধারণত সহজভাবে ও ( এন কে ) লেখেন ।
লক্ষ্য করুন বাউন্ড দৈর্ঘ্যের উপর নির্ভর করে W । অতএব, যুক্তি আপনি মৌলিক সংখ্যার ভাষার জন্য করা শুধুমাত্র সংখ্যার জন্য সঠিক unaray এনকোডিং , যেখানে এনকোডিং-এর W একটি সংখ্যা এন |, এনকোডিং দৈর্ঘ্য ডাব্লু | আনুপাতিক n । বাস্তবে কেউ এ জাতীয় এনকোডিং ব্যবহার করবে না। কেবল সব সম্ভব কারণের চেষ্টা চেয়ে আরো উন্নত আলগোরিদিম ব্যবহার করে এটা দেখানো যেতে পারে, তবে, যে মৌলিক সংখ্যার দেহাবশেষ ভাষার পি ইনপুট বাইনারি এনকোড ইন করেন (বা অন্য কোন বেস)। (ব্যাপক আগ্রহ সত্ত্বেও, এটি কেবল মণিন্দ্র অগ্রওয়াল, নীরজ কায়াল এবং নীতিন স্যাক্সেনা দ্বারা প্রমাণিত হতে পারে 2004 এ একটি পুরষ্কার প্রাপ্ত কাগজে যাতে আপনি অনুমান করতে পারেন যে অ্যালগরিদম খুব সহজ নয়))
তুচ্ছ ভাষা {} এবং Σ * এবং অ তুচ্ছ ভাষা { ε } এর মধ্যে স্পষ্টত হয় পি (যে কোন বর্ণমালা জন্য Σ )। আপনি কি আপনার পছন্দের প্রোগ্রামিং ভাষার ক্ষেত্রে এমন ফাংশন লিখতে পারেন যা ইনপুট হিসাবে স্ট্রিং নেয় এবং একটি বুলিয়ানকে বলে যে স্ট্রিংটি প্রতিটিটির জন্য ভাষা থেকে একটি শব্দ কিনা এবং প্রমাণ করতে পারে যে আপনার ফাংশনটিতে বহুমাত্রিক রান-টাইম জটিলতা রয়েছে?
প্রতিটি নিয়মিত ভাষা (একটি নিয়মিত প্রকাশ দ্বারা বর্ণিত ভাষা) পি তে থাকে ।
যাক Σ একটি বর্ণমালা এবং হতে এল ⊆ Σ * । একটি যন্ত্র ভী যে দুটি শব্দ একজন এনকোডেড tuple লাগে W , গ ∈ Σ * ধাপের একটি নির্দিষ্ট নম্বর পর এবং আউটপুট 0 বা 1 একটি হল যাচাইকারী জন্য এল যদি এটা নিম্নলিখিত বৈশিষ্ট্য আছে।
- (প্রদত্ত W , গ ,) ভী আউটপুট 1 শুধুমাত্র যদি W ∈ এল ।
- প্রত্যেক জন্য W ∈ এল , একটি অস্তিত্ব আছে গ ∈ Σ * যেমন যে ভী ( W , গ ) = 1।
গ উপরোক্ত সংজ্ঞা একটি বলা হয় সাক্ষী (অথবা সার্টিফিকেট )।
একজন যাচাইকারী ভুল সাক্ষী এমনকি যদি জন্য মিথ্যা নেগেটিভ দিতে অনুমতি দেওয়া হয় W আসলে হয় এল । তবে এটি মিথ্যা ইতিবাচক ধারণা দেওয়ার অনুমতি নেই। এটিও প্রয়োজনীয় যে ভাষার প্রতিটি শব্দের জন্য কমপক্ষে একজন সাক্ষী উপস্থিত থাকবেন।
ভাষার সংমিশ্রণের জন্য, এটিতে পূর্ণসংখ্যার দশমিক এনকোডিং রয়েছে যা প্রধান নয় , একজন সাক্ষী একটি কারণ হতে পারে। উদাহরণস্বরূপ, ∈ COMPOSITE এর (659, 709)
সাক্ষী 467231
। আপনি সহজেই যাচাই করতে পারেন কাগজের শীটে যখন সাক্ষী না দেওয়া হয়, প্রমাণ করে যে 467231 প্রাইম নয় এটি কম্পিউটার ব্যবহার না করেই কঠিন হবে।
কীভাবে উপযুক্ত সাক্ষী পাওয়া যায় সে সম্পর্কে আমরা কিছু বলিনি। এটি অ-নিরস্তাত্মক অংশ।
ক্লাস এনপিতে সমস্ত ভাষা এল রয়েছে যার জন্য একটি ট্যুরিং মেশিন ভি রয়েছে যা এল এবং একটি ধ্রুবক কে ∈ এন যাচাই করে যে প্রতিটি ইনপুট ( ডাব্লু , সি ) এর জন্য, ভি ফাংশন সর্বাধিক টি (| ডাব্লু |) পদক্ষেপের পরে থামে টি ∈ ও ( এন ↦ এন কে )।
নোট উপরোক্ত সংজ্ঞা যে বোঝা প্রত্যেকের জন্য যে W ∈ এল অস্তিত্ব আছে সাক্ষী গ সঙ্গে | গ | ≤ টি (| ডাব্লু |)। (টুরিং মেশিন সম্ভবত সাক্ষীর আরও প্রতীকগুলি দেখতে পারে না))
এনপি পি এর সুপারস্টার (কেন?) A এটা তোলে জানা যায়নি ভাষা রয়েছে বিদ্যমান আছে কিনা দ্বারা NP কিন্তু না পি ।
পূর্ণসংখ্যার অনুষঙ্গীকরণ কোনও ভাষা প্রতি নয়। তবে, আমরা এমন একটি ভাষা তৈরি করতে পারি যা এর সাথে সম্পর্কিত সিদ্ধান্ত সমস্যার প্রতিনিধিত্ব করে । অর্থাৎ একটি ভাষা যে সব tuples রয়েছে ( এন , মি ) যেমন যে এন একটি ফ্যাক্টর হয়ে গেছে ঘ সঙ্গে ঘ ≤ মি । আসুন আমরা এই ভাষাকে ফ্যাক্টর বলি। আপনার যদি ফ্যাক্টর স্থির করার জন্য অ্যালগরিদম থাকে তবে প্রতিটি প্রধান উপাদানটির জন্য পুনরাবৃত্ত বাইনারি অনুসন্ধান সম্পাদন করে এটি কেবল বহুবর্ষীয় ওভারহেডের সাথে একটি সম্পূর্ণ ফ্যাক্টেরাইজেশন গণনা করতে ব্যবহার করা যেতে পারে।
এটি দেখানো সহজ যে ফ্যাক্টর এনপিতে রয়েছে । একটি উপযুক্ত সাক্ষী কেবল খালি ডি নিজেই হবে এবং সমস্ত যাচাইকারীকে যা যা করতে হবে তা যাচাই করে তা d ≤ m এবং n mod d = 0. এই সমস্ত কিছুই বহুপদী সময়ে করা যেতে পারে। (উল্লেখ্য, আবার, যে এটা এনকোডিং দৈর্ঘ্য যে সংখ্যা এবং যে লগারিদমিক মধ্যে এন ।)
আপনি যদি দেখিয়ে দিতে পারেন যে ফ্যাক্টরটি পি তেও রয়েছে , আপনি অনেক দুর্দান্ত পুরষ্কার নিশ্চিত করতে পারবেন। (এবং আপনি আজকের ক্রিপ্টোগ্রাফির একটি উল্লেখযোগ্য অংশটি ভেঙে দিয়েছেন))
এনপি-র প্রতিটি ভাষার জন্য একটি নিষ্ঠুর-শক্তি অ্যালগরিদম রয়েছে যা এটিকে নির্বিচারে সিদ্ধান্ত নেয় । এটি সহজভাবে সমস্ত সাক্ষীর উপরে একটি বিস্তৃত অনুসন্ধান করে। (নোট করুন যে একজন সাক্ষীর সর্বাধিক দৈর্ঘ্য বহুবর্ষে আবদ্ধ থাকে)) সুতরাং, প্রাইমস নির্ধারণ করার জন্য আপনার অ্যালগরিদম আসলে সংশ্লেষ সিদ্ধান্ত নেওয়ার জন্য একটি নিষ্ঠুর-শক্তি অ্যালগরিদম ছিল।
আপনার চূড়ান্ত প্রশ্নের সমাধানের জন্য, আমাদের হ্রাস প্রবর্তন করতে হবে । হ্রাস তাত্ত্বিক কম্পিউটার বিজ্ঞানের একটি খুব শক্তিশালী ধারণা। মূলত একটি সমস্যা অন্যটিতে হ্রাস করা মানে অন্য সমস্যা সমাধানের মাধ্যমে একটি সমস্যা সমাধান করা।
যাক Σ একটি বর্ণমালা হতে হবে এবং একটি এবং বি টিরও বেশি ভাষাতে হতে Σ । একটি হল বহুপদী সময় অনেক কিছু এক রূপান্তরযোগ্য করার বি যদি অস্তিত্ব আছে একটি ফাংশন চ : Σ * → Σ * নিম্নলিখিত বৈশিষ্ট্য সঙ্গে।
- W ∈ একটি ⇔ চ ( W ) ∈ বি সবার জন্য W ∈ Σ * ।
- ফাংশন চ প্রত্যেক ইনপুট জন্য টুরিং মেশিন দ্বারা নির্ণিত করা যেতে পারে W একটি বহুপদী মধ্যে দ্বারা বেষ্টিত ধাপের একটি সংখ্যা | ডাব্লু |
এই ক্ষেত্রে, আমরা A ≤ p বি লিখি ।
উদাহরণস্বরূপ, এটিকে এমন একটি ভাষা হতে দিন যাতে সমস্ত গ্রাফ থাকে (সংলগ্ন ম্যাট্রিক্স হিসাবে এনকোডড) যাতে ত্রিভুজ থাকে। (একটি ত্রিভুজ দৈর্ঘ্যের একটি চক্র 3) আরও বি- তে এমন ভাষা হোন যা শূন্য নন এমন ট্রেসযুক্ত সমস্ত ম্যাট্রিক রয়েছে। (একটি ম্যাট্রিক্সের সন্ধান এটির প্রধান তির্যক উপাদানগুলির যোগফল)) তারপরে A বহু-কালীন বহু-এক হ'ল বি-তে পরিণত হয় । এটি প্রমাণ করতে, আমাদের একটি উপযুক্ত রূপান্তর ফাংশন সন্ধান করতে হবে f । এই ক্ষেত্রে, আমরা সংলগ্ন ম্যাট্রিক্সের 3 ডি পাওয়ার গণনা করতে f সেট করতে পারি । এর জন্য দুটি ম্যাট্রিক্স-ম্যাট্রিক্স পণ্য প্রয়োজন, যার প্রত্যেকটিতে বহুভুজ জটিলতা রয়েছে।
এটি তুচ্ছভাবে সত্য যে এল ≤ পি এল । (আপনি কি এটি আনুষ্ঠানিকভাবে প্রমাণ করতে পারবেন?)
আমরা এটি এখন এনপিতে প্রয়োগ করব ।
একটি ল্যাঙ্গুয়েজ এল হয় দ্বারা NP -hard যদি এবং কেবল যদি এল '≤ পি এল যে ভাষার জন্য এল ' ∈ দ্বারা NP ।
একটি এনপি -হার্ড ভাষা এনপি নিজেই থাকতে পারে বা নাও পারে ।
একটি ল্যাঙ্গুয়েজ এল হয় দ্বারা NP -complete যদি এবং কেবল যদি
- এল ∈ এনপি এবং
- এল হ'ল এনপি -হার্ড।
সর্বাধিক বিখ্যাত এনপি- অসম্পূর্ণ ভাষা হ'ল স্যাট। এতে সন্তুষ্ট হতে পারে এমন সমস্ত বুলিয়ান সূত্র রয়েছে। উদাহরণস্বরূপ, ( a ∨ b ) ∧ (¬ a ∨ ¬ b ) AT SAT। একটি বৈধ সাক্ষী হ'ল { a = 1, খ = 0}} সূত্র ( a ∨ b ) ∧ (¬ a ∨ b ) ∧ ¬ b ∉ SAT। (আপনি কীভাবে প্রমাণ করবেন?)
এটি স্যাট ∈ এনপি দেখানো কঠিন নয় । স্যাট এর এনপি -হার্ডনেস দেখানো কিছু কাজ তবে এটি স্টিফেন কুক ১৯ by১ সালে করেছিলেন ।
একবার সেই একটি এনপি-সম্পূর্ণরূপে ভাষা জানা থাকলে, হ্রাসের মাধ্যমে অন্যান্য ভাষার এনপি- কমপ্লিটনেস দেখানো তুলনামূলক সহজ ছিল । ভাষা যদি একটি হিসেবে পরিচিত দ্বারা NP -hard, তারপর দেখাচ্ছে যে একটি ≤ পি বি অনুষ্ঠান বি হল দ্বারা NP -hard খুব ( "≤ এর transitivity মাধ্যমে পি ")। 1972 সালে রিচার্ড কার্প 21 টি ভাষার একটি তালিকা প্রকাশ করেছিলেন যা তিনি দেখাতে পারতেন এনপি-স্যাট হ্রাস (ট্রানজিটিভ) হ্রাস মাধ্যমে। (এই উত্তরের এটিই কেবলমাত্র একটি কাগজ যা আমি আপনাকে অবশ্যই পড়ার পরামর্শ দিই। অন্যদের মতো এটি বোঝা কঠিন নয় এবং হ্রাসের মাধ্যমে এনপি- কমপ্লিটনেস কীভাবে প্রমাণিত হয় তার একটি খুব ভাল ধারণা দেয় ))
অবশেষে, একটি সংক্ষিপ্তসার। আমরা যথাক্রমে এনপি -হার্ড এবং এনপি- অসম্পূর্ণ ভাষার ক্লাস বোঝাতে এনপিএইচ এবং এনপিসি চিহ্নগুলি ব্যবহার করব ।
- পি ⊆ এনপি
- এনপিসি ⊂ দ্বারা NP এবং এনপিসি ⊂ NPH , আসলে এনপিসি = দ্বারা NP ∩ NPH সংজ্ঞা দ্বারা
- ( একটি ∈ দ্বারা NP ) ∧ ( বি ∈ NPH ) ⇒ একটি ≤ পি বি
নোট করুন যে অন্তর্ভুক্তি এনপিসি ⊂ এনপি এমনকি পি = এনপি ক্ষেত্রে উপযুক্ত । এটি দেখতে, নিজেকে পরিষ্কার করুন যে কোনও তুচ্ছ-তাত্পর্যপূর্ণ ভাষা কোনও তুচ্ছ ভাষায় হ্রাস করা যায় না এবং পি তে তুচ্ছ ভাষা পাশাপাশি এনপিতে তুচ্ছ-তুচ্ছ ভাষাও রয়েছে । যদিও এটি একটি (খুব আকর্ষণীয় নয়) কর্নার-কেস।
অভিযোজ্য বস্তু
আপনার বিভ্রান্তির প্রাথমিক উত্সটি দেখে মনে হচ্ছে যে আপনি " ও ( এন ↦ এফ ( এন ))" " এন " -কে একটি অ্যালগরিদমের ইনপুটটির ব্যাখ্যা হিসাবে ভাবছিলেন যখন এটি প্রকৃতপক্ষে ইনপুটটির দৈর্ঘ্যকে নির্দেশ করে । এটি একটি গুরুত্বপূর্ণ পার্থক্য কারণ এর অর্থ একটি অ্যালগোরিদমের অ্যাসিম্পটিক জটিলতা ইনপুটটির জন্য ব্যবহৃত এনকোডিংয়ের উপর নির্ভর করে ।
এই সপ্তাহে, বৃহত্তম পরিচিত মার্সেন প্রাইমের জন্য একটি নতুন রেকর্ড অর্জন করা হয়েছিল achieved বৃহত্তম বর্তমানে পরিচিত প্রধান সংখ্যাটি হ'ল 2 74 207 281 - 1. এই সংখ্যাটি এতটাই বিশাল যে এটি আমাকে মাথা ব্যাথা দেয় তাই আমি নীচের উদাহরণে আরও একটি ছোট ব্যবহার করব: 2 31 - 1 = 2 147 483 647. এটি পারে বিভিন্ন উপায়ে এনকোড করা।
- দশমিক সংখ্যা হিসাবে এর মার্সেন ক্ষতিকারক দ্বারা:
31
(2 বাইট)
- দশমিক সংখ্যা হিসাবে:
2147483647
(10 বাইট)
- অবিচ্ছিন্ন সংখ্যা হিসাবে:
11111…11
যেখানে …
2 147 483 640 আরও 1
গুলি (প্রায় 2 জিআইবি) দ্বারা প্রতিস্থাপন করা হবে
এই সমস্ত স্ট্রিং একই নম্বরকে এনকোড করে এবং এগুলির যে কোনও একটি দেওয়া হলে আমরা সহজেই একই সংখ্যার অন্য কোনও এনকোডিং তৈরি করতে পারি। (আপনি চাইলে ডেসিমাল এনকোডিং প্রতিস্থাপন করতে পারেন বাইনারি, অক্টাল বা হেক্সাডেসিমাল দিয়ে It
প্রাইমালিটি পরীক্ষার জন্য নিষ্পাপ অ্যালগরিদম কেবল অ্যানারি এনকোডিংয়ের জন্য বহুপদী। AKS primality পরীক্ষা দশমিক (অথবা অন্য কোন বেস জন্য বহুপদী হয় খ ≥ 2)। লুকাস-Lehmer primality পরীক্ষা Mersenne জন্য শ্রেষ্ঠ পরিচিত অ্যালগরিদম primes হয় এম পি সঙ্গে পি একটি বিজোড় মৌলিক কিন্তু এটি এখনও Mersenne এক্সপোনেন্ট এর বাইনারি এনকোডিং দৈর্ঘ্য সূচকীয় হয় পি (ইন বহুপদী পি )।
যদি আমরা একটি অ্যালগরিদমের জটিলতা সম্পর্কে কথা বলতে চাই তবে এটি খুব গুরুত্বপূর্ণ যে আমরা কী উপস্থাপন ব্যবহার করি তা আমরা খুব স্পষ্ট। সাধারণভাবে, কেউ অনুমান করতে পারেন যে সর্বাধিক দক্ষ এনকোডিং ব্যবহৃত হয়েছে। অর্থাৎ পূর্ণসংখ্যার জন্য বাইনারি। (মনে রাখবেন যে প্রতিটি মৌলিক সংখ্যাটি মার্সেনিন প্রাইম নয় তাই মার্সেন এক্সপোনেন্ট ব্যবহার করা কোনও সাধারণ এনকোডিং স্কিম নয়))
তাত্ত্বিক ক্রিপ্টোগ্রাফিতে, অনেক অ্যালগরিদমগুলি প্রথমে প্যারামিটার হিসাবে কে 1
এর সম্পূর্ণরূপে অকেজো স্ট্রিংটি পাস করে । অ্যালগরিদম কখনই এই প্যারামিটারটির দিকে নজর দেয় না তবে এটি কে- তে আনুষ্ঠানিকভাবে বহুপদী হতে দেয় , যা প্রক্রিয়াটির সুরক্ষার সাথে সুরক্ষার জন্য ব্যবহৃত সুরক্ষা পরামিতি ।
কিছু সমস্যার জন্য বাইনারি এনকোডিংয়ের সিদ্ধান্তের ভাষা এনপি- কমপ্লিট, এমবেডেড সংখ্যার এনকোডিংটি অ্যানারিতে পরিবর্তন করা হলে সিদ্ধান্তের ভাষা আর এনপি- সম্পূর্ণ নয়। অন্যান্য সমস্যার জন্য সিদ্ধান্তের ভাষাগুলি তখনও এনপি- অসম্পূর্ণ থাকে । পরবর্তীগুলিকে দৃ strongly ়ভাবে এনপি- কমপ্লিট বলা হয় । সর্বাধিক পরিচিত উদাহরণ হ'ল বিন প্যাকিং ।
ইনপুটটি সংকুচিত করা হলে অ্যালগরিদমের জটিলতা কীভাবে পরিবর্তিত হয় তা দেখতে (এবং সম্ভবত আরও বেশি) আকর্ষণীয়ও । মার্সেন প্রাইমসের উদাহরণস্বরূপ, আমরা তিনটি এনকোডিং দেখেছি, যার প্রতিটিই পূর্বসূরীর চেয়ে লোগারিথ্মিকভাবে আরও সংকুচিত।
1983-এ, গ্রাফের ইনপুট এনকোডিংটি লোগারিথ্মিকভাবে সংকুচিত করা হলে সাধারণ গ্রাফ অ্যালগরিদমের জটিলতা সম্পর্কে হানা গ্যাল্পারিন এবং আভি উইগডারসন একটি আকর্ষণীয় কাগজ লিখেছিলেন। এই ইনপুটগুলির জন্য, উপরে থেকে ত্রিভুজযুক্ত গ্রাফগুলির ভাষা (যেখানে এটি পরিষ্কারভাবে পি তে ছিল ) হঠাৎ করে এনপি- অসম্পূর্ণ হয়ে যায় ।
এবং যে কারণ মত ভাষা ক্লাস এর পি এবং এন পি জন্য নির্দিষ্ট করা ভাষায় , না সমস্যা ।