ब्रेनफक ट्यूरिंग को पूरा करने के लिए कोष्ठक के कितने जोड़े पर्याप्त हैं?


12

ब्रेनफक एक ट्यूरिंग पूर्ण प्रोग्रामिंग भाषा है जो केवल 8 प्रतीकों का उपयोग करती है (6 यदि आप I / O को अनदेखा करते हैं)।

दो सबसे उल्लेखनीय व्यक्ति जो इसे ट्यूरिंग पूर्णता की ओर धकेलते हैं [और ]अनिवार्य रूप से ब्रेनफक के लेबल और गोटो हैं।

आम तौर पर, ब्रेनफक के कार्यक्रम कई सेटों का उपयोग करते हैं [], लेकिन मैं वास्तव में सोच रहा था कि इन ब्रैकेट के कितने जोड़े ब्रेनफक ट्यूरिंग को पूरा करने के लिए उपयोग किए जाने हैं?

अधिक सरलता से, कम-से-कम कोष्ठक क्या है जो आपको एक एन-स्टेट ट्यूरिंग मशीन का अनुकरण करने की आवश्यकता होगी (1, 2 और तीन स्टेट ट्यूरिंग मशीनों के लिए कोष्ठक की संख्या दें)?

टिप्पणियाँ:

हम एक अनंत टेप और कोई कम्प्यूटेशनल सीमा मान रहे हैं।

यह एक 2-प्रतीक ट्यूरिंग मशीन है


1
"इन ब्रैकेट में से कितने जोड़े का उपयोग करना है?" क्या आप स्पष्ट कर सकते हैं "उपयोग किया जाना है"। उदाहरण के लिए, अगर मैं ब्रेनएफ को तक गिनने के लिए कहूं तो क्या होगा ? 21000000
जॉन एल।

@ Apass.Jack ब्रैकेट की न्यूनतम संख्या
MilkyWay90

1
ओह, तुम कोष्ठक की न्यूनतम संख्या का मतलब एक अनुकरण करना के एक समारोह के रूप में -state ट्यूरिंग मशीन ? वैसे भी, क्या आप एक nontrivial उदाहरण दे सकते हैं जो यथासंभव सरल है? nn
जॉन एल।

1
@ Apass.Jack ठीक है, मैं एक छोटी गाड़ी बीएफ प्रोग्राम के साथ आ रहा हूं जो एक-राज्य ट्यूरिंग मशीन के लिए काम करता है
मिल्कीवेय

@ Apass.Jack Nevermind, यह मेरे लिए बहुत कठिन है। मूल रूप से मेरी प्रोग्रामिंग भाषा, ट्यूरिंग मशीन बट वे वर्स के लिए BF दुभाषिया बनाते हैं , जब यह केवल दो संभावित प्रतीकों (0 और 1) का उपयोग करता है और I / O और हॉल्टिंग पहलू को पूरी तरह से हटा देता है
MilkyWay90

जवाबों:


9

यह @ ais523 के उत्तर का एक और विकास है , इसे केवल दो सेट कोष्ठक में बदल दिया गया है, और साथ ही गोलम शासक सिद्धांत पर आधारित एक अधिक कॉम्पैक्ट सेल प्लेसमेंट का उपयोग कर रहा है। ais523 ने इस निर्माण के लिए एक कंपाइलर बनाया है , साथ ही इस TIO सत्र में एक नमूना दिखाया गया है जिसके परिणामस्वरूप BF प्रोग्राम TWM काउंटरों के डिबग ट्रेसिंग के साथ चल रहा है।

मूल की तरह, यह द वाटरफॉल मॉडल में एक कार्यक्रम से शुरू होता है , जिसमें कुछ प्रतिबंध हैं जो सामान्यता नहीं खोते हैं:

  1. सभी काउंटरों में समान स्व-रीसेट मूल्य ; अर्थात्, TWM ट्रिगर मैप में वह संपत्ति है जो सभी लिए ।Rff(x,x)=Rx
  2. एक एकल रुक काउंटर ।h
  3. काउंटरों की संख्या कुछ अभाज्य संख्या ।c(p1)/2p

गोलमोल शासक

हम आवश्यक गुणों के साथ एक गोलमोल शासक प्राप्त करने के लिए एक वेल्च-कोस्टास सरणी के क्रमांकन समारोह के साथ एर्दो-तुरान निर्माण का संयोजन करते हैं।

(मुझे यकीन है कि यह संयुक्त निर्माण एक नया विचार नहीं हो सकता है, लेकिन हमने विकिपीडिया से इन दो टुकड़ों को एक साथ पाया और फिट किया है।)

आज्ञा देना एक आदिम जड़ । फ़ंक्शन को परिभाषित करेंrp=2c+1

g(k)=4ck((rk1)mod(2c+1)),k=0,,2c1.

  1. g , ऑर्डर का एक गोलाकार शासक है । यही है, अंतर प्रत्येक विशिष्ट संख्या लिए अद्वितीय है ।2cg(i)g(j)i,j{0,,2c1}
  2. g(k)mod(2c) प्रत्येक मान एक बार लेता है ।0,,2c1

टेप संरचना

प्रत्येक TWM काउंटर , हम दो BF टेप सेल पोज़िशन, एक फ़ॉलबैक सेल और एक वैल्यू सेल :x{0,,c1} u(x) v(x)

u(x)=g(k1)<v(x)=g(k2) with u(x)v(x)x(modc)

की दूसरी संपत्ति के चुनने के लिए दो अलग-अलग मान हैं।gk1,k2

एक फ़ॉलबैक सेल की सामग्री को अधिकांश समय पर रखा जाएगा , सिवाय इसके जब काउंटर पर अभी-अभी दौरा किया गया है, जब यह पर होगा , दो बार काउंटर सेल्फ-रीसेट मूल्य। एक मूल्य सेल को संबंधित TWM काउंटर के मूल्य से दोगुना रखा जाएगा।02R

अन्य सभी कोशिकाएं जिन्हें बीएफ प्रोग्राम निष्पादन (एक परिमित संख्या) तक पहुंचाया जा सकता है, उन्हें विषम मूल्यों पर रखा जाएगा, ताकि वे हमेशा नॉनजेरो के रूप में परीक्षण करें। इनिशियलाइज़ेशन के बाद यह ऑटोमैटिक होता है क्योंकि सभी सेल एडजस्टमेंट समान मात्रा में होते हैं।

यदि वांछित है, तो प्रारंभिक बीएफ टेप स्थिति के बाईं ओर जाने से बचने के लिए सभी सेल पदों को एक निरंतर द्वारा दाईं ओर स्थानांतरित किया जा सकता है।

बीएफ कार्यक्रम संरचना

मान लें कि काउंटर की वैल्यू और फ़ॉलबैक सेल के बीच की दूरी है, और को एक संख्या में काफी बड़ा होने दें जो कि सभी काउंटरों के लिए । फिर मूल बीएफ प्रोग्राम संरचना हैH=v(h)u(h)NcN+1v((x+1)modc)u(x)x

आरंभीकरण समायोजन[ >×(H+cN+1) [ <×c ] <×H ]

प्रारंभ

आरंभीकरण चरण सेट सभी कोशिकाओं, उनकी प्रारंभिक मूल्यों के लिए इस कार्यक्रम के द्वारा पहुंचा जा सकता एक राज्य में पिछले काउंटर के रूप में करता है, तो बस का दौरा किया गया था और सिर्फ सक्रिय कक्ष इसके वापस आने सेल था :u(c1)

  1. मूल्य कोशिकाओं को संबंधित TWM काउंटर की प्रारंभिक सामग्री से दो बार शुरू किया जाता है, सिवाय इसके कि काउंटर पूर्व-विघटित है।0
  2. सेल को छोड़कर, फॉलबैक सेल सेट हैं , जो सेट है ।0u(c1)2R
  3. कार्यक्रम (एक परिमित संख्या) द्वारा उपलब्ध सभी अन्य कोशिकाएं सेट हैं ।1

तब टेप पॉइंटर को (एक हमेशा गैर-शून्य सेल) स्थिति में ले जाया जाता है, इससे पहले कि हम कार्यक्रम के पहले पहुंचें ।u(c1)H[

बाहरी लूप की शुरुआत

बाहरी लूप की पुनरावृत्ति की शुरुआत में, टेप पॉइंटर एक काउंटर लिए या ।u(x)Hv(x)Hx

चलो यात्रा के लिए अगला काउंटर होगा।y=((x+1)modc)

आंदोलन टेप पॉइंटर को एक ऐसी स्थिति पर रखता है जो कि और के बाईं ओर नहीं है ।>×(H+cN+1)y(modc)v(y)

आंतरिक लूप _ अब शून्य सेल के लिए चरणों में बाईं ओर खोज करता है। यदि काउंटर शून्य है, तो यह (शून्य) मान सेल पर बंद हो जाएगा ; अन्यथा यह फॉलबैक सेल मिलेगा ।[ <×c ]cyv(y)u(y)

जो भी सेल पाया जाता है वह नया सक्रिय सेल बन जाता है ।

समायोजन

समायोजन चरण सक्रिय कक्ष के लिए उनके सापेक्ष स्थिति के आधार पर टेप पर विभिन्न कोशिकाओं समायोजित करता है। इस खंड में केवल +-><आदेश होते हैं और इसलिए ये समायोजन बिना शर्त के होते हैं। हालाँकि, क्योंकि सभी काउंटर-संबंधित कोशिकाएं एक गोलमोल शासक पैटर्न में हैं, कोई भी समायोजन जो वर्तमान सक्रिय सेल के लिए उचित नहीं है, सभी महत्वपूर्ण कोशिकाओं को याद करेगा और इसके बजाय कुछ अप्रासंगिक सेल को समायोजित करेगा (जबकि इसे विषम रखते हुए)।

इस प्रकार अलग कोड सक्रिय और समायोजित सेल के प्रत्येक संभावित आवश्यक जोड़े के लिए कार्यक्रम में शामिल होना चाहिए, एक सक्रिय सेल के आत्म-समायोजन को छोड़कर , जो, क्योंकि समायोजन केवल सापेक्ष स्थिति पर आधारित है, उन सभी के बीच साझा किया जाना चाहिए।

आवश्यक समायोजन हैं:

  1. पिछले काउंटर के सेल को द्वारा ।u(x)2R
  2. वर्तमान काउंटर के वापस आने सेल समायोजित द्वारा , को छोड़कर यदि वर्तमान सक्रिय कक्ष है और इसलिए हम को रोकने चाहिए।u(y)2Rv(h)
  3. अगले काउंटर के वैल्यू सेल को समायोजित करें काउंटर को )।v((y+1)modc)2
  4. जब सक्रिय सेल एक वैल्यू सेल (तो काउंटर शून्य तक पहुंच गया है), TWM ट्रिगर मैप से सभी वैल्यू सेल को से समायोजित करें। स्वयं द्वारा समायोजित हो जाता है ।v(y)yv(z)2f(y,z)v(y)2R

उपरोक्त पहला और दूसरा समायोजन इस तथ्य से आवश्यक हो जाता है कि सभी सक्रिय कोशिकाओं को स्वयं को उसी मूल्य से समायोजित करना चाहिए , जो मूल्य कोशिकाओं के लिए , और इस प्रकार भी फ़ॉलबैक कोशिकाओं के लिए है। इसके लिए फ़ॉलबैक कोशिकाओं को तैयार करने और उनकी सफाई करने की आवश्यकता होती है ताकि यह सुनिश्चित किया जा सके कि वे मूल्य और फ़ॉलबैक दोनों शाखाओं में वापस आ जाएँ ।2R0

बाहरी लूप का अंत

आंदोलन के प्रतिनिधित्व करता है कि समायोजन चरण के अंत में, टेप पॉइंटर को सक्रिय सेल के बाईं ओर स्थानों पर ले जाया जाता है ।<×HH

सभी सक्रिय कोशिकाओं के लिए अन्य हॉल्टिंग काउंटर के मूल्य सेल से , यह एक अप्रासंगिक सेल, और इतने अजीब और गैर-शून्य है, और बाहरी पाश एक और यात्रा के लिए जारी है।v(h)

के लिए , सूचक के बजाय उससे संबंधित फ़ॉलबैक सेल पर रखा गया है अंतिम के माध्यम से ऐसा कार्यक्रम बाहर निकलता है, जिसके लिए हम एक अपवाद यह शून्य रखने के लिए ऊपर बना दिया है, और और रुक जाता है।v(h)u(h)]


12

मुझे 100% यकीन नहीं है कि कोष्ठक के दो सेटों के साथ ऐसा करना असंभव है। हालांकि, अगर बीएफ टेप की कोशिकाएं अनबाउंड मान की अनुमति देती हैं, तो ब्रैकेट के तीन सेट पर्याप्त हैं। (सादगी के लिए, मैं यह भी मानूंगा कि हम टेप सिर को उसके शुरुआती बिंदु से पीछे छोड़ सकते हैं, हालांकि यह निर्माण केवल टेप के एक परिमित क्षेत्र का उपयोग करता है, हम उस प्रतिबंध >को शुरू में पर्याप्त रूप से कई कमांड जोड़कर उठा सकते हैं कार्यक्रम।) नीचे दिए गए निर्माण में आर्टिन के अनुमान की आवश्यकता हैमनमाने ढंग से बड़े कार्यक्रमों को संकलित करने में सक्षम होना; हालांकि, भले ही आर्टिन का अनुमान गलत है, फिर भी ट्यूरिंग-पूर्णता को अप्रत्यक्ष रूप से बीएफ में ट्यूरिंग-पूर्ण भाषा के लिए अनुवाद के माध्यम से नीचे निर्माण का उपयोग करके, और उस दुभाषिया को इनपुट के रूप में मनमाना कार्यक्रम चलाने के माध्यम से अप्रत्यक्ष रूप से दिखाना संभव होगा।

ट्यूरिंग-पूर्ण भाषा जिसे हम अनबाउंड बीएफ में संकलित कर रहे हैं, द वाटरफॉल मॉडल है , जो सरलतम ज्ञात कम्प्यूटेशनल मॉडल में से एक है। उन लोगों के लिए जो इसे पहले से नहीं जानते हैं, इसमें कई काउंटर (और उनके लिए प्रारंभिक मूल्य) शामिल हैं, और काउंटरों के जोड़े से पूर्णांक तक एक फ़ंक्शन ; कार्यक्रम निष्पादन में प्रत्येक काउंटर से बार-बार 1 घटाना शामिल है, फिर यदि कोई काउंटर 0 है, तो प्रत्येक काउंटर जोड़ते हुए (प्रोग्राम इस तरह से लिखा जाता है कि यह कभी भी एक साथ कई काउंटरों के लिए नहीं होता है)। मेरे लिंक के पीछे इस भाषा के लिए ट्यूरिंग-पूर्णता प्रमाण है। व्यापकता के नुकसान के बिना, हम मानेंगे कि सभी काउंटरों का समान स्व-रीसेट मान है (अर्थातfxf(x,y)yf(x,x) सभी लिए समान है ); यह एक सुरक्षित धारणा है क्योंकि किसी भी विशिष्ट , प्रत्येक में समान स्थिरांक जोड़ने से प्रोग्राम का व्यवहार नहीं बदलेगा।xxf(x,y)

को काउंटर की संख्या होने दें ; व्यापकता (Artin अनुमान कल्पना करते हुए) की हानि के बिना, मान लेते हैं कि एक है आदिम जड़ 2. Let हो , जहां से कम 2 अधिक से अधिक का सबसे कम शक्ति है । सामान्यता के नुकसान के बिना, से कम होगा ( बहुपद रूप से बँधा हुआ है, तेजी से बढ़ता है, इसलिए कोई भी पर्याप्त बड़े काम करेगा)।ppqp(1+s+s2)sp2q2p2q2pp

टेप की व्यवस्था इस प्रकार है: हम प्रत्येक काउंटर को एक पूर्णांक साथ संख्या (और सामान्यता के नुकसान के बिना, हम मानते हैं कि एक एकल रुका हुआ काउंटर है और इसे संख्या है )। अधिकांश काउंटरों का मूल्य टेप सेल पर रखा गया है, काउंटर 0 के अपवाद के साथ, जो टेप सेल पर संग्रहीत है । प्रत्येक विषम संख्या वाले सेल के लिए सेल -1 से तक और0i<p22i2q2p+1+2p+1, वह टेप सेल हमेशा 1 रखता है, जब तक कि वह तुरंत एक काउंटर के बाईं ओर न हो, जिस स्थिति में वह हमेशा रखता है। 0. समान-संख्या वाली टेप कोशिकाएं जिनका उपयोग काउंटर के रूप में नहीं किया जा रहा है उनमें अप्रासंगिक मूल्य हैं (जो 0 हो सकते हैं या नहीं भी हो सकते हैं) ); और उल्लिखित सीमा के बाहर विषम संख्या वाली टेप कोशिकाओं में भी अप्रासंगिक मूल्य हैं। ध्यान दें कि टेप को एक उपयुक्त प्रारंभिक अवस्था में सेट करने के लिए निरंतर मानों के लिए केवल बारीक कई टेप तत्वों की आवश्यकता होती है, जिसका अर्थ है कि हम इसे <>+-निर्देशों के अनुक्रम के साथ कर सकते हैं (वास्तव में, केवल >+आवश्यक हैं), इस प्रकार कोई कोष्ठक नहीं। इस आरंभ के अंत में, हम टेप पॉइंटर को सेल -1 में ले जाते हैं।

हमारे कार्यक्रम की सामान्य आकृति इस तरह दिखाई देगी:

आरंभीकरण समायोजन[>>>[ >×(2p1) [ <×(2p) ]>-] <<<]

आरंभीकरण टेप को अपेक्षित आकार और सेल -1 पर पॉइंटर में डालता है। यह काउंटर के बाईं ओर सेल नहीं है (0 2 की शक्ति नहीं है), इसलिए इसका मान 1 है, और हम लूप में प्रवेश करते हैं। इस सबसे बाहरी लूप के लिए लूप अपरिवर्तनीय यह है कि टेप पॉइंटर (प्रत्येक लूप पुनरावृत्ति के शुरू और अंत में) एक काउंटर के बाईं ओर तीन सेल हैं; यह देखा जा सकता है कि लूप इस प्रकार केवल तभी बाहर निकलेगा जब हम काउंटर 2 के बाईं ओर तीन कोशिकाएं हों (प्रत्येक दूसरे काउंटर में 1 बाईं ओर 1 तीन कोशिकाएं हों, क्योंकि 0 के लिए दो काउंटरों की टेप स्थिति होगी। 2 कोशिकाएं अलग थीं, 2 की केवल दो शक्तियां 2 से भिन्न होती हैं और , और के द्विआधारी प्रतिनिधित्व में परिवर्तन होता है के तार से तार तक।2122q01s या इसके विपरीत कम से कम चार बार और इस प्रकार 2 की शक्ति से 1 दूर नहीं हो सकता)।

दूसरा लूप बार-बार काउंटरों पर लूप करता है, उन्हें घटाता है। लूप इनवेरिएंट यह है कि टेप पॉइंटर हमेशा एक काउंटर की ओर इशारा करता है; इस प्रकार पाश से बाहर निकलें जब कुछ काउंटर 0. हो जाता घटती बस है जाएगा -; जिस तरह से हम एक काउंटर से अगले तक पहुंचते हैं वह अधिक जटिल है। मूल विचार यह है कि से दाईं ओर स्थान घूमना हमें एक विषम संख्या वाले सेल पर रखेगा , जो किसी भी काउंटर के दाईं ओर है ( अंतिम काउंटर है, सकारात्मक है क्योंकि सकारात्मक है); modulo , यह मान (Fermat's Little Theorem द्वारा) अनुरूप है । अंतरतम लूप बार-बार चलता रहता है2p12x2p+2x12p2x1x2p2x+12p रिक्त स्थान, टेप सेल मोडुलो के सूचकांक को भी नहीं बदल रहा है , और अंततः सेल को मोडुलो अनुरूप होना चाहिए, जिसका मूल्य है (जो कुछ काउंटर के बाईं ओर सेल होगा); क्योंकि हमारे आदिम जड़ आवश्यकता के वहाँ वास्तव में ऐसे ही एक सेल ( के लिए अनुकूल है सापेक्ष , और है अनुकूल करने के लिए किसी के लिए अन्य , जहां असतत लघुगणक आधार 2 मॉडुलो ) है। इसके अतिरिक्त, यह देखा जा सकता है कि टेप पॉइंटर modulo की स्थिति2p2x+12p2q112p2log2,p(r)+112r1rlog2,pp2pहर बार बढ़ जाता है मध्य लूप गोल। इस प्रकार, टेप पॉइंटर को सभी काउंटरों (उनके मूल्यों के क्रम में मोडुलो ) के बीच चक्र होना चाहिए । इस प्रकार, प्रत्येक पुनरावृत्तियों, हम हर काउंटर (आवश्यकतानुसार) घटाते हैं। यदि लूप एक पुनरावृत्ति के माध्यम से विभाजन को तोड़ता है, तो हम लूप को फिर से दर्ज करने पर कमी को फिर से शुरू करेंगे (क्योंकि शेष सबसे बाहरी लूप टेप पॉइंटर स्थिति में कोई शुद्ध परिवर्तन नहीं करता है)।2p2pp

जब एक काउंटर 0 हिट करता है, तो मध्य लूप टूट जाता है, हमें "समायोजन" कोड में ले जाता है। यह मूल रूप से सिर्फ एन्कोडिंग है ; हर जोड़ी के लिए , यह कहते हैं टेप तत्व है जो है एक ही दूरी काउंटर के रूप में वर्तमान टेप सूचक की दाईं से बाईं / करने के लिए 'काउंटर के अधिकार के लिए छोड़ दिया है / एस टेप स्थान s' टेप स्थान (और फिर टेप पॉइंटर को वापस उसी स्थान पर हटा देता है जहां से यह शुरू हुआ था)। जब भी , यह दूरी अद्वितीय होती है:f(x,y)f(x,y)yxxy

  • 2 की दो शक्तियों के बीच का अंतर एक द्विआधारी संख्या है जिसमें 1 या अधिक एस की स्ट्रिंग होती है, जिसके बाद 0 या उससे अधिक एस की स्ट्रिंग होती है (संख्या की शुरुआत के स्थान मान और स्ट्रिंग की शुरुआत के साथ) , और क्रमशः बड़े और छोटे पर निर्भर करता है ); इस प्रकार वे सभी अंतर अलग-अलग हैं। * 2 और की शक्ति के अंतर के रूप में , इसमें s और s ( स्ट्रिंग्स के बीच कम से कम दो बदलाव होने चाहिए।100xyq10q कम से कम चार ऐसे परिवर्तन होते हैं, जो घटाव केवल 2 को हटा सकता है), इस प्रकार दो की दो शक्तियों के सभी अंतरों से अलग है, और ये अंतर स्पष्ट रूप से एक दूसरे से अलग भी हैं।

के लिए , हम स्पष्ट रूप से लगता है कि दूरी ले जाया 0. है लेकिन क्योंकि सभी बराबर हैं, हम सिर्फ वर्तमान सेल के लिए समायोजन के रूप में उपयोग कर सकते हैं। और यह देखा जा सकता है कि समायोजन कोड इस प्रकार "लागू होता है जब एक काउंटर हर काउंटर के लिए 0 हिट करता है"; सभी कोशिकाएं जो वास्तव में काउंटरों का प्रतिनिधित्व करती हैं, उन्हें सही मात्रा में समायोजित किया जाएगा, और अन्य सभी समायोजन गैर-काउंटर सम-संख्या वाली कोशिकाओं (दो सम संख्याओं के बीच का अंतर यहां तक ​​कि) को प्रभावित करेंगे, जिनका कार्यक्रम के व्यवहार पर कोई प्रभाव नहीं है।x=yf(x,y)

इस प्रकार, अब हमारे पास द वॉटरफॉल मॉडल में बीएफ (पड़ाव व्यवहार सहित, लेकिन I / O, जिसमें ट्यूरिंग-पूर्णता की आवश्यकता नहीं है) को शामिल करते हुए किसी भी कार्यक्रम का एक संकलन है, जिसमें केवल तीन जोड़ी कोष्ठक का उपयोग किया जाता है, और इस प्रकार तीन जोड़े कोष्ठक ट्यूरिंग-पूर्णता के लिए पर्याप्त हैं।


अच्छी नौकरी! मुझे लगता है कि आपने TNB में इस पर काम किया है!
मिल्कीवेय 90

मुझे लगता है कि आपको कम से कम p + 2 होना चाहिए। जब s = p + 1, q 2 की शक्ति से 1 कम है
Johanrr जोहान्सन

मुझे लगता है कि मुझे एक बहुत सरल मिला (जैसा कि कोई अभाज्य संख्या सिद्धांत की आवश्यकता नहीं है) काउंटर प्लेसमेंट 2p*2^i+2i:।
अर्जन जोहानसन

@ ThinkrjanJohansen: ठीक है, मुझे लगता है कि मैंने उस निर्माण का उल्लेख #esoteric में किया था (कुछ समय बाद मैंने यह पोस्ट लिखी थी)? आपको वास्तव में एक गोलमोल शासक की आवश्यकता है जिसके लिए प्रत्येक तत्व अलग-अलग modulo तत्वों की संख्या है, और उन का निर्माण करने के विभिन्न तरीके हैं (हालांकि इष्टतम लोगों को खोजना मुश्किल है; सबसे लंबा मैंने पाया है (जानवर बल के माध्यम से) [0, 1, 3, 7, 20, 32, 42, 53, 58]पी के लिए है = 9)।
अनीस ५२३

ओह, तो आपने किया (इससे पहले कि मैंने कहा कि मेरे दिमाग ने गणित मोड में होने से इनकार कर दिया था, इसलिए मेरा बहाना है: पी)। मुझे लगता है कि मुझे पता चला कि = 0 पर्याप्त था, तब। मुझे लगता है कि विकिपीडिया के Erdős-Turan_construction एक बहुपद को बढ़ने देता है (और संभवतः O!) - इष्टतम?) एक यदि आप तत्वों के पहले आधे हिस्से का उपयोग करते हैं (अन्य आधे दोहराव (mod p))।
अर्जन जोहान्सन 18
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.