यह है एक पुलिस और लुटेरे भाषाओं को परिभाषित करने और साबित करने के लिए वे ट्यूरिंग के आसपास आधारित हैं।
यह पुलिस का धागा है। लुटेरों का धागा यहीं है ।
पुलिस
पुलिस वाले के रूप में, आप दो चीजें तैयार करेंगे:
एक प्रोग्रामिंग भाषा, या अन्य कम्प्यूटेशनल प्रणाली का एक औपचारिक विनिर्देश। (कम्प्यूटेशनल सिस्टम नीचे परिभाषित किए गए हैं।)
एक सबूत है कि आपका सिस्टम पूरी तरह से ट्यूरिंग है, नीचे कुछ सख्त परिभाषा के अनुसार।
आप अपनी भाषा के अपने विनिर्देश पोस्ट करेंगे, और लुटेरे इसकी ट्यूरिंग पूर्णता साबित करके इसे "क्रैक" करने का प्रयास करेंगे। यदि एक सप्ताह के भीतर आपका सबमिशन क्रैक नहीं होता है, तो आप इसे सुरक्षित के रूप में चिह्नित कर सकते हैं और अपना प्रमाण पोस्ट कर सकते हैं। (यदि कोई व्यक्ति आपके प्रमाण में कोई दोष पाता है, तो आपका जवाब अमान्य हो सकता है, जब तक कि आप इसे ठीक नहीं कर सकते।)
यह है एक लोकप्रियता-प्रतियोगिता, इसलिए विजेता वह जवाब होगा जिसमें सबसे अधिक वोट हैं, और जो फटा या अमान्य नहीं है। चुनौती खुली-समाप्त है - मैं एक उत्तर स्वीकार नहीं करूंगा।
इस चुनौती के लिए, एक कम्प्यूटेशनल प्रणाली को चार चीजों के रूप में परिभाषित किया जाएगा:
एक "प्रोग्राम सेट"
P। यह एक अनगिनत अनंत सेट होगा, उदाहरण के लिए तार, पूर्णांक, द्विआधारी पेड़, एक ग्रिड पर पिक्सेल का विन्यास, आदि (लेकिन नीचे तकनीकी प्रतिबंध देखें।)एक "इनपुट सेट"
I, जो एक अनगिनत अनंत सेट भी होगा, और इसे उसी रूप में सेट करने की आवश्यकता नहीं हैP(हालांकि यह हो सकता है)।एक "उत्पादन सेट"
Oहै, जो इसी तरह एक गणनीय अनंत सेट हो जाएगा, और हो सकता है या के रूप में ही नहीं हो सकता हैPयाIएक निर्गम के उत्पादन के लिए एक नियतात्मक, यंत्रवत प्रक्रिया
oकार्यक्रम सेpऔर इनपुटi, जहांp,iऔरoके सदस्य हैंP,IऔरOक्रमशः। यह प्रक्रिया ऐसी होनी चाहिए जो सिद्धांत रूप में, ट्यूरिंग मशीन या कम्प्यूटेशन के अन्य सार मॉडल पर लागू की जा सके। कार्यक्रम और उसके इनपुट के आधार पर प्रक्रिया निश्चित रूप से रुकने में विफल हो सकती है।
सेट P, Iऔर Oऐसा होना चाहिए कि आप उन्हें कम्प्यूटेशनल तरीके से स्ट्रिंग्स के रूप में व्यक्त कर सकें। (सबसे समझदार विकल्पों के लिए यह कोई फर्क नहीं पड़ेगा; यह नियम आपको अजीब सेट चुनने से रोकने के लिए मौजूद है, जैसे ट्यूरिंग मशीनों का सेट जो रुकना नहीं है।)
ट्यूरिंग पूर्णता को निम्नलिखित के रूप में परिभाषित किया जाएगा:
- किसी भी गणना कर सका आंशिक समारोह के लिए
fसेIकरने के लिएO, वहाँ एक कार्यक्रम में मौजूद हैpमेंPइस तरह के यह देखते हुए किpऔर इनपुटi, आउटपुट हैf(i), तोf(i)एक मूल्य है। (अन्यथा कार्यक्रम रुकता नहीं है।)
उपरोक्त परिभाषा में "कम्प्यूटेबल" शब्द का अर्थ है "ट्यूरिंग मशीन का उपयोग करके गणना की जा सकती है"।
ध्यान दें कि न तो नियम 110 और न ही बिटकॉइन चक्रीय टैग इस परिभाषा से ट्यूरिंग-पूर्ण हैं, क्योंकि उनके पास आवश्यक इनपुट-आउटपुट संरचना नहीं है। लैम्ब्डा पथरी पूरा ट्यूरिंग है, लंबे समय के रूप के रूप में हम परिभाषित Iऔर Oहोना करने के लिए चर्च अंकों के । (यह ट्यूरिंग-पूर्ण नहीं है अगर हम ले Iऔर Oसामान्य रूप में लैम्ब्डा भाव किया जाना है।)
ध्यान दें कि आपको अपनी भाषा का कार्यान्वयन प्रदान करने की आवश्यकता नहीं है, लेकिन यदि आप चाहें तो अपने उत्तर में एक को शामिल करने के लिए आपका स्वागत है। हालांकि, आपको किसी भी तरह से भाषा को परिभाषित करने के लिए कार्यान्वयन पर भरोसा नहीं करना चाहिए - कल्पना अपने आप में पूरी होनी चाहिए, और अगर कल्पना और कार्यान्वयन के बीच विरोधाभास है तो इसे कार्यान्वयन में बग के रूप में माना जाना चाहिए।