जटिलता-सिद्धांत-आधारित के मान की जाँच करना मुश्किल है ?


13

प्रधानमंत्री की गिनती समारोह , पदावनत , रूढ़ अंक की संख्या के रूप में की तुलना में कम परिभाषित या के बराबर है ।π(x)x

हम इस प्रकार से एक निर्णय समस्या को से परिभाषित कर सकते हैं :π(x)

बाइनरी में लिखे दो नंबर और को देखते हुए , if ।xnπ(x)=n

एक मित्र और मैं आज इस समस्या के बारे में बात कर रहे थे। इस समस्या के लिए एक pseudopolynomial-time एल्गोरिथ्म है - बस तक की गणना करें , प्रत्येक चरण में ट्रायल डिवीजन का उपयोग करके देखें कि कितने नंबर प्राइम हैं, और जांचें कि क्या के बराबर है । समस्या भी PSPACE में है, क्योंकि एल्गोरिथ्म मैं अभी वर्णित केवल बहुपद सहायक अंतरिक्ष का उपयोग करने के लिए लागू किया जा सकता है।xn

हालाँकि, मुझे इस समस्या को निम्न जटिलता वर्ग में रखने का तरीका खोजने में परेशानी हो रही है। मैं यह नहीं देख सकता कि समस्या के लिए एक बहुपद-समय सत्यापनकर्ता का निर्माण कैसे किया जाए, इसलिए मुझे यकीन नहीं है कि यह एनपी में है या नहीं, और मैं इसे बहुपद पदानुक्रम में लाने का तरीका नहीं सोच सकता।

इस समस्या के लिए सबसे उपयुक्त जटिलता वर्ग क्या है?

धन्यवाद!


आमतौर पर इस प्रकार की समस्याएं रीमैन अनुमान पर निर्भर करती हैं .... आपके लिए "पास" के कई "कार्य" हैं जिनका वह कनेक्शन है ....
vzn

जवाबों:


11

यह बहुत खुली समस्या है। मैं कुछ वर्गों को स्केच करूँगा जो समस्या "स्वाभाविक रूप से" में फिट हो सकती है।

आपकी परिभाषा काम करने के लिए कुछ अजीब है, समस्या किसी भी मौजूदा जटिलता वर्ग में फिट होना मुश्किल है। जिस भाषा को आपने परिभाषित किया है, वह भाषाओं का प्रतिच्छेदन है और । इसलिए यदि उदाहरण के लिए वर्ग में था तो में । इस भाषा का एक लक्षण वर्णन है क्योंकि एक राज्य के लिए "में एक भाषा की चौराहे होता आप हार्ड परिभाषित किया है दे रही है बनाता है में एक भाषा से सघनतम बाध्य देने के लिए"।{(x,n)|π(x)n}{(x,n)|π(x)n}{(x,n)|π(x)n}K{(x,n)|π(x)n}coKKcoK

समस्या "Compute " में एक समस्या है , जहाँ फॉर्म की समस्याओं की श्रेणी है "एक nondetermalistic, बहुपद TM" के पथ को स्वीकार करने की संख्या की गणना करें। स्पष्ट रूप से हम एक nondeterministic TM का निर्माण कर सकते हैं जो संख्या अनुमान लगाता है , और तब (AKS के साथ) परीक्षण करता है कि क्या प्रमुख है।π(X)#P#PFPSPACEqxq

का एक निर्णय संस्करण , जो कि उन भाषाओं का वर्ग है जो इस प्रकार हैं: "एक nondeterministic बहुपद TM को देखते हुए, कम से कम आधे गणना पथ स्वीकार करते हैं?" दोनों और शायद में एक समस्या के लिए reducible हैं (कुछ करके) उपर्युक्त टीएम को ठगना स्वीकार पथों की संख्या को संतुलित करने के लिए)।#PPP{(x,n)|π(x)n}{(x,n)|π(x)n}PP


3

एल्गोरिथ्म के माध्यम से आपकी समस्या C P= में है,

गैर-नियतात्मक रूप से अनुमान लगाया जाता है कि एक पूर्णांक जैसे कि और एक सायदि फिर अस्वीकार _!;; अगर तब: यदि फिर किसी और को अस्वीकार कर दें तो _ और: यदि प्रधान है तो दूसरे को अस्वीकार कर दें[m0m<2log2(x+1)]b
x < m
b=1
m < n

m




विशेष रूप से, आपकी समस्या पीपी में भी है, क्योंकि पीपी सच-तालिका कटौती के तहत बंद है


2

व्यवहार में, आपको उत्तर जल्दी या धीमा मिल सकता है :-(

Π (x) के लिए यथोचित सन्निकटन हैं। तो आप इस तरह के एक अनुमान की गणना करते हैं, और अगर यह बहुत दूर है तो आपको पता है कि x (x) approxim एन। उदाहरण के लिए, यदि n then x है तो मुझे पता है कि x (x) calcul n बिना किसी गणना के।

एक तेज एल्गोरिथ्म है जो निर्धारित करता है कि π (x) सम या विषम है, O (x ^ (1/2)) में चल रहा है। आप इस एल्गोरिथ्म को चला सकते हैं और यह पता लगा सकते हैं कि n की समता गलत है और आप कर रहे हैं। यह एक पचास मौका है यदि n एक यादृच्छिक पूर्णांक है जो x (x) के करीब है।

इसके अलावा, मुझे किसी भी विधि का पता नहीं है जो x (x) की गणना करने से तेज है। जो बहुत असुविधाजनक है - अगर मैं एक प्रोग्राम लिखता हूं जिसे 10 (10 ^ 25) की गणना करना है, और मुझे एक परिणाम मिलता है जो स्पष्ट रूप से गलत नहीं है, तो यह जांचने का कोई तरीका नहीं है कि मेरा परिणाम दोहराने के अलावा अन्य सही है गणना। और आप सिर्फ मेरे कार्यक्रम का उपयोग करके गणना को दोहरा नहीं सकते हैं, आपको एक अलग कार्यक्रम लिखने की आवश्यकता है, अन्यथा आप यह नहीं जान पाएंगे कि मेरे कार्यक्रम में कोई कीड़े हैं जो इसे π (x) की तुलना में थोड़ा अलग फ़ंक्शन की गणना करते हैं।

π (x) को O (n ^ (2/3)) के बारे में यथोचित आसानी से गणना की जा सकती है, और कुछ वास्तव में गहरे गणित के साथ तेजी से।


1
यह दिलचस्प है, लेकिन सवाल समस्या वाले जटिलता वर्गों के बारे में अधिक है।
usul
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.