জটিলতা-তাত্ত্বিক মান পরীক্ষা করা কঠিন ?


13

প্রধানমন্ত্রী-কাউন্টিং ফাংশন , পদচ্যুত , প্রাইম সংখ্যার নম্বর হিসাবে কম সংজ্ঞায়িত বা সমান ।π(x)x

আমরা সিদ্ধান্ত হিসাবে থেকে নিম্নলিখিত হিসাবে সংজ্ঞা দিতে পারি :π(x)

বাইনারি লিখিত দুটি সংখ্যা এবং দেওয়া , সিদ্ধান্ত নিন কিনা ।xnπ(x)=n

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

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

এই সমস্যার জন্য সবচেয়ে উপযুক্ত জটিলতা শ্রেণি কোনটি?

ধন্যবাদ!


সাধারণত এই ধরণের সমস্যাগুলি রিমন অনুমানের উপর নির্ভর করে .... আপনার সাথে অনেকগুলি "কাছাকাছি" ফাংশন রয়েছে
যাগুলির

উত্তর:


11

এটি খুব একটি উন্মুক্ত সমস্যা। আমি কিছু ক্লাস স্কেচ করব যাতে সমস্যাটি "স্বাভাবিকভাবে" ফিট করতে পারে।

আপনার সংজ্ঞাটি কাজ করার জন্য কিছুটা বিশ্রী, সমস্যাটি কোনও বিদ্যমান জটিলতা শ্রেণীর সাথে মানানসই is আপনি যে ভাষায় সংজ্ঞায়িত করেছি ভাষায় ছেদ হয় এবং । সুতরাং উদাহরণস্বরূপ যদি class ক্লাসে থাকত তবে । এই ভাষাটি একটি চরিত্রায়ন কারণ এক অবস্থায় "এ একটি ভাষা ছেদ হবে আপনি হার্ড সংজ্ঞায়িত করেছি দান করে তোলে একটি ভাষা সঙ্গে tightest আবদ্ধ দিতে"।{(x,n)|π(x)n}{(x,n)|π(x)n}{(x,n)|π(x)n}K{(x,n)|π(x)n}coKKcoK

"গণনা " সমস্যাটি একটি সমস্যা , যেখানে ফর্মের সমস্যার শ্রেণি "" একটি অবিচ্ছিন্ন, বহুবর্ষীয় টিএম এর গ্রহণযোগ্য পাথের সংখ্যা গণনা করুন "। স্পষ্টতই আমরা একটি ননডেটারিস্টেমিক টিএম তৈরি করতে পারি যা একটি সংখ্যা অনুমান করে এবং তারপরে (একেএস দিয়ে) পরীক্ষা হয় যে প্রাইম কিনা ।π(X)#P#PFPSPACEqxq

এর একটি সিদ্ধান্তের রূপটি হ'ল , যা ভাষাগুলির শ্রেণি: "একটি ননডেটরিস্টিনিস্টিক পলিনোমিয়াল টিএম দেওয়া, কমপক্ষে অর্ধেক গণনার পথ গ্রহণ করে?" উভয় এবং সম্ভবত একটি সমস্যা রূপান্তরযোগ্য হয় (কিছু করে উপরোক্ত টিএম এর সাথে সম্মত পাথের সংখ্যার ভারসাম্য বজায় রাখার জন্য প্রার্থনা করা)।#PPP{(x,n)|π(x)n}{(x,n)|π(x)n}PP


3

আপনার সমস্যাটি অ্যালগরিদমের মাধ্যমে C P= ,

অ deterministically অনুমান একটি পূর্ণসংখ্যা যেমন যে এবং কিছুটাযদি তবে reject যদি তবে: যদি তা না হয় তবে reject অন্য: যদি প্রধান হয় তবে অন্যথায় প্রত্যাখ্যান করুন[m0m<2log2(x+1)]b
x < m
b=1
m < n

m




বিশেষত, আপনার সমস্যাটি পিপিতেও রয়েছে, যেহেতু সত্য-টেবিল হ্রাসের আওতায় পিপি বন্ধ রয়েছে


2

অনুশীলনে, আপনি উত্তরটি দ্রুত বা ধীর পেতে পারেন :-(

Π (x) এর জন্য যুক্তিসঙ্গতভাবে ভাল আনুমানিকতা রয়েছে। সুতরাং আপনি এই জাতীয় আনুমানিক হিসাব করেন এবং এটি খুব দূরে থাকলে আপনি জানেন যে π (x)। N। উদাহরণস্বরূপ, যদি n ≥ x হয় তবে আমি জানি যে কোনও কিছু গণনা ছাড়াই anything (x)। N।

একটি দ্রুত অ্যালগরিদম রয়েছে যা নির্ধারণ করে যে π (x) সমান বা বিজোড়, ও (x ^ (1/2)) এ চলছে। আপনি এই অ্যালগরিদমটি চালাতে পারেন এবং এটি সনাক্ত করতে পারে যে n এর সমতাটি ভুল এবং আপনার কাজ সম্পন্ন হয়েছে। N এর π (x) এর কাছাকাছি এলোমেলো পূর্ণসংখ্যা হলে এর পঞ্চাশটি সুযোগ রয়েছে।

তা ছাড়া, আমি any (x) গণনার চেয়ে দ্রুততর কোনও পদ্ধতি জানি না। যা খুব অসুবিধে হয় - যদি আমি এমন কোনও প্রোগ্রাম লিখি যা π (10 ^ 25) গণনা করার কথা বলে মনে হয় এবং আমি এমন ফলাফল পাই যা স্পষ্টতই ভুল না হয় তবে আমার পুনরাবৃত্তি বাদ দিয়ে আমার ফলাফলটি সঠিক কিনা তা পরীক্ষা করার উপায় নেই is হিসাব। এবং আপনি আমার প্রোগ্রামটি ব্যবহার করে কেবল গণনার পুনরাবৃত্তি করতে পারবেন না, আপনাকে একটি আলাদা প্রোগ্রাম লিখতে হবে, অন্যথায় আপনি সনাক্ত করতে পারবেন না যে আমার প্রোগ্রামটিতে কোনও বাগ রয়েছে যা এটি π (x) এর চেয়ে কিছুটা আলাদা ফাংশন গণনা করে।

O (এক্স) প্রায় ও (এন ^ (2/3)) এর মধ্যে যুক্তিসঙ্গতভাবে সহজে গণনা করা যেতে পারে এবং কিছু সত্যই গভীর গণিতের সাথে দ্রুত।


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