দুটি কাউন্টারের অটোমেটা সম্পর্কে ধারণা


19

আমি নিম্নলিখিত অনুমানটি প্রমাণ করতে (বা অস্বীকার) করতে চাই:

অনুমান : একটি দুটি পাল্টা অটোমেটা (2 সিএ) নিম্নলিখিত ভাষাটি সিদ্ধান্ত নিতে পারে না:

L={n এর তিন ও বাইনারি উপস্থাপনাn উভয় এমনকি দৈর্ঘ্য বা বিজোড় দৈর্ঘ্য আছে}

একটি 2 সিএ সহজেই যাচাই করতে পারে বাইনারি উপস্থাপনার সমান বা বিজোড় দৈর্ঘ্য রয়েছে (কেবল দুটি দ্বারা বিভাজন রাখুন এবং প্রতিটি বিভাগের পরে "এমনকি দৈর্ঘ্য" পতাকা আপডেট করুন); একই পদ্ধতিতে এটি পরীক্ষা করতে পারে যে ত্রৈমাসিক উপস্থাপনার সমান বা বিজোড় দৈর্ঘ্য রয়েছে (কেবল তিনটি দিয়ে ভাগ করা এবং প্রতিটি বিভাগের পরে একটি "এমনকি দৈর্ঘ্য" পতাকা আপডেট করুন) update

তবে এগুলির একটির গণনা করার জন্য অবশ্যই এটির ইনপুটটি নষ্ট করতে হবে এবং অন্যটিকে গণনা করার জন্য এটি পুনরুদ্ধার করতে পারে না; সুতরাং দেখে মনে হচ্ছে কে সিদ্ধান্ত নেওয়ার কোনও উপায় নেই L

আপনি কি এমন কোন কৌশল জানেন যা অনুমানকে প্রমাণ করার জন্য ব্যবহার করা যেতে পারে?
অথবা আপনি স্থির করে এমন একটি 2 সিএ তৈরির অনুমানকে অস্বীকার করতে পারেন ? L

আমি প্রমাণ করতে হবে যে একটি একই পদ্ধতির Ibarra দ্বারা অনুসরণ চেষ্টা 2CA সিদ্ধান্ত নিতে পারে না {n2n1} , কিন্তু এটা সঠিক উপায় নয় বলে মনে হয়।

দ্রষ্টব্য : সরলতার জন্য একটি 2 সিএ একটি ভেরিয়েবল সহ একটি প্রোগ্রামের সমান যা প্রাথমিকভাবে ইনপুট এবং নিম্নলিখিত নির্দেশাবলী সেট সহ:c

  • আইএনসি : চলকটিতে একটি যুক্ত করুন;
  • ডিসি : হ্রাস (কেবলমাত্র এটি শূন্যের চেয়ে বেশি হলে);c
  • JZ lab যদি c লেবেলে শূন্য লাফ হয় lab অন্যথায় অবিরত;
  • মুল K : ব্যয় কে দ্বারা গুণমান ;cK
  • K[,lab0,lab1,...,labK1]cKcc=c/KcmodK
  • গোটোlab : নিঃশর্ত জাম্প;
  • হাল্ট গ্রহণ | প্রত্যাখ্যান : থামান এবং গ্রহণ করুন বা থামান এবং প্রত্যাখ্যান করুন।

উদাহরণস্বরূপ, এর বাইনারি উপস্থাপনা এমনকি দৈর্ঘ্য রয়েছে কিনা তা পরীক্ষা করার জন্য একটি প্রোগ্রাম :n

   loop: JZ even   // test if n = 0
         DIV 2
         JZ odd    // test if n = 0
         DIV 2
         GOTO loop
   even: HALT Accept
    odd: HALT Reject

(আমরা একটি সমতুল্য 2 সিএ তৈরি করতে পারি)


2
আমি কিভাবে অসম্ভবতা প্রমাণাদি যেতে জানি না, কিন্তু { | এর তিন উপস্থাপনা বিজোড় দৈর্ঘ্য} ক্ষেত্রে হয় , সমাধেয় কারণ যখনই আপনার ইনপুট শুধুমাত্র মৌলিক উত্পাদক জেনেছে আপনি আপনার বহিঃপ্রকাশ (এখানে এন চিকিৎসা করতে পারে ) সিমুলেটেড অটোমেটনে কাউন্টার হিসাবে যতগুলি কাউন্টার (অতিরিক্ত প্রাইমগুলি দ্বারা সিমুলেটেড) আপনি চান, সুতরাং টুরিং-সম্পূর্ণ। 2n2n
janrjan জোহানসেন

2
আমি আপনাকে কিছু "কোড" ইমেল করেছি এবং অন্য কেউ যদি দেখছে সে ক্ষেত্রে এটি আমার ওয়েবসাইটেও রেখেছি
janrjan Johansen

1
@ জোজোরো আমি যে পদ্ধতিটি বর্ণনা করেছি তার একটি কঠোর সীমাবদ্ধতা রয়েছে: এটি কেবল ইনপুটটির চূড়ান্তভাবে অনেকগুলি প্রধান উপাদানগুলি পরিচালনা করতে পারে (বাকিগুলি সমস্ত 0 হয় বা না তা পরীক্ষার ব্যতীত।) সমস্যাটি হ'ল সাধারণ সমস্যাটিতে, সমস্ত প্রধানের প্রকাশক কারণ গণনা। আপনি আসলে নিরূপণ করতে পারেন পারেন আপনার অথবা আপনার সমতা পর্যন্ত, কিন্তু যতদূর আমি জানি, সেখানে একটি সাধারণ ইনপুট তুলনা করতে কোন উপায় নেই বা প্রক্রিয়ায় এটা অন্তক ছাড়া, যাতে আপনি পরীক্ষা করতে পারেন না অন্যান্য এক পরে। আমার এই মুহূর্তে হুঙ্কটি হ'ল সাধারণ সমস্যাটি 2 সিএ'র সাথে অলসযোগ্য। km2k3m
র্জন জোহেনসেন

1
@ আরজান জোহানসেন: আমি ভিজেএনএর সাথে একমত: আপনি চাইলে সীমাবদ্ধ সরল সমস্যার সমাধান দিয়ে উত্তরটি পোস্ট করতে পারেন (অনুগ্রহযোগ্য :-) মূল্যবান এবং যারা দ্রুত মূল সমস্যাটিতে যেতে চান তাদের পক্ষে সহায়ক হতে পারে)। আপনি খুব সংক্ষেপে এটিও লক্ষ করতে পারেন যে সাধারণ সমস্যার জন্য ইবারার দৃষ্টিভঙ্গি কেন ব্যর্থ হয় এবং সাধারণ সংস্করণটির সমাধান সাধারণটির জন্য কেন ব্যর্থ হয় (মন্তব্যটি জোরোর সাথে কপি-পেস্ট করুন)।
মারজিও ডি বায়াসি

1
ধন্যবাদ! এই সমস্যাটিতে সমস্ত আগ্রহ / ক্রিয়াকলাপ দেখতে দুর্দান্ত / বিরল। এই সমস্যা সম্পর্কে আরও কয়েকটি মন্তব্য / প্রশ্ন
vzn

উত্তর:


11

সুতরাং লোকেরা এটি পোস্ট করার জন্য আমাকে টানতে থাকে যদিও এটি কেবল সমস্যার একটি সহজ সংস্করণ সমাধান করে sol ঠিক আছে তাহলে :)

এর শেষে, আমি ইবারার এবং ট্রেনের কাগজ থেকে যা শিখেছি তার কিছু এবং কেন সেই পদ্ধতিটি আমাদের সাধারণ সমস্যার উপর ভেঙে যায়, তার কিছু রেখে দেব, তবে সম্ভবত এখনও কিছু কার্যকর তথ্য দেয়।

তবে প্রথমে আমরা সেটটি স্থির করার চেষ্টা করার সহজ সমস্যাটি দেখব

L={2n তিন এবং বাইনারি উপস্থাপনা উভয় এমনকি দৈর্ঘ্য বা বিজোড় দৈর্ঘ্য আছে2n}

এটি কীভাবে মূল সমস্যার মতো চেয়ে রয়েছে তা নোট করুন । বিশেষত যদি ইনপুট সংখ্যা 2 এর শক্তি না হয় তবে আমরা কোনও বেসে তার দৈর্ঘ্য গণনা করার চেষ্টা করার পরিবর্তে এটিকে প্রত্যাখ্যান করতে চাই।2nn

এটি বিষয়গুলিকে খুব সরল করে : মূল সংখ্যাটি যদি নির্ধারিত তবে বাদে সমস্ত কেবল দরকার যে তারা সব ।2v23v35v57v7...viv20

এটি আমাদেরকে একটি গুণ / বিভাগ অটোমেটনের একক ভেরিয়েবলের প্রাইম ফ্যাক্টরাইজেশনের এক্সট্রোটারগুলিতে একটি কাউন্টার অটোমেটনের অবস্থাকে এনকোড করার পুরানো পদ্ধতি (মিনস্কি দ্বারা অনুমান করে) এর চারপাশে একটি র‌্যাপার ব্যবহার করে এই সরল সমস্যার সমাধান করতে সহায়তা করে , যা উপরের ওপিতে উল্লিখিত হয়েছে এটি 2-কাউন্টার কাউন্টার অটোমেটনের সমতুল্য।k

প্রথমে, মোড়ানোর জন্য আমাদের একটি কাউন্টার অটোমেটনের প্রয়োজন । আমরা , এবং নামে 3 টি কাউন্টার ব্যবহার করব ।kv2v3v5

প্রাথমিক কাউন্টার মানগুলির জন্য অটোমেটন iff গ্রহণ করবে, the এর ত্রৈমাসিক এবং বাইনারি উপস্থাপনা উভয়ই দৈর্ঘ্য বা বিজোড় দৈর্ঘ্য এবং এবং উভয়ই শূন্য। এটি যখন গ্রহণ করবে তখন প্রথমে এর সমস্ত কাউন্টার শূন্য হবে।2v2v3v5

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

// Check that v3 and v5 are both zero.
                JZ v3, check5
                GOTO reject
check5:         JZ v5, init3
                GOTO reject
// Decrement v2 until it is zero, constructing 2^n in the process.  If 2^n
// was even, we will then pass to even2 with 2^n in v3; If 2^n was odd, we
// will pass to odd2 with 2^n in v5.
init3:          INC v3          // Set v3 to 1 = 2^0 to start with.
even1:          // We have decremented v2 an even number of times so far.
                // 2^decremented amount is in v3.
                JZ v2, odd2
                DEC v2
dup3to5:        JZ v3, odd1
                DEC v3
                INC v5
                INC v5
                GOTO dup3to5
odd1:           // We have decremented v2 an odd number of times so far.
                // 2^decremented amount is in v5.
                JZ v2, even2
                DEC v2
dup5to3:        JZ v5, even1
                DEC v5
                INC v3
                INC v3
                GOTO dup5to3
// The second part checks the ternary length of 2^n, which starts out in v3
// or v5 according to whether the *binary* length of 2^n (i.e. n+1) was odd
// or even.
odd2:           // v3 needs to have odd ternary length to accept.
                // It is simplest to consider 0 to have even length in both
                // binary and ternary.  This works out as long as we're
                // consistent.
                JZ v3, reject
trisect3to5:    DEC v3
                DEC v3
                JZ v3, even2
                DEC v3
                INC v5
                GOTO trisect3to5
even2:          // v5 needs to have even ternary length to accept
                JZ v5, accept
trisect5to3:    DEC v5
                DEC v5
                JZ v5, odd2
                DEC v5
                INC v3
                GOTO trisect5to3
accept:         HALT Accept
reject:         HALT Reject

পরবর্তী পদক্ষেপটি হ'ল উপরের একক ভেরিয়েবল অটোমেটনের এক্সপোজারগুলিতে পুনরায় এনকোড করা। ফলাফলটি বেশ দীর্ঘ হওয়ায় আমি কেবল সাধারণ পদ্ধতিটি বর্ণনা করব, তবে একটি সম্পূর্ণ সংস্করণ (দাগগুলিতে কিছুটা "অনুকূলিত") আমার ওয়েবসাইটে রয়েছে।

                JZ vp, label
                DEC vp
next:           ...

হয়ে যায় (মূলত পি দ্বারা ভাগ করুন, এবং তারপরে বিভাজনটি না থাকলে পূর্বাবস্থায় ফেলার জন্য ক্লিনআপ করুন):

                DIV p, next, ..., newlabel.fp-1
newlabel.f1:    MUL p
                GOTO newlabel.i1
...
newlabel.fp-1:  MUL p
                INC
newlabel.ip-2:  INC
...
newlabel.i1:    INC
                GOTO label
next:           ...

INC vpহয়ে MUL p। স্বতন্ত্র JZএবং DECপ্রথমে সম্মিলিত আকারে পরিবর্তন করা যেতে পারে। GOTO labelএবং HALT Rejectঅপরিবর্তিত।

HALT Acceptঅপরিবর্তিত হবে, ছাড়া আমাদের ক্ষেত্রে আমরা এখনও করতে এক চূড়ান্ত চেক রয়েছে: আমাদের নিশ্চিত করার সেখানে সংখ্যায় কোন মৌলিক উত্পাদক আছে প্রয়োজন অন্যান্য 2,3 এবং 5. আমাদের বিশেষ 3-পাল্টা যন্ত্রমানব শূন্য যেহেতু এটা কাউন্টারে চেয়ে এটি গ্রহণ করার সময় ব্যবহার করে, এটি সহজ: কেবলমাত্র পরীক্ষা করুন যে চূড়ান্ত ভেরিয়েবল 1, যা কোডে ঝাঁপিয়ে পড়ে করা যেতে পারে

                DEC     // BTW it cannot be zero before this.
                JZ accept
                HALT Reject
accept:         HALT Accept

আমার ওয়েবসাইটের কোডটিতে একটি প্রাথমিক চেকও রয়েছে যে সংখ্যাটি শূন্য নয়, যা আমি ঠিক বুঝতে পেরেছি v3, v5 শূন্য চেকগুলি, ওহ ভাল red

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

  • কাউন্টারগুলির জন্য আমাদের ব্যবহারের জন্য কোনও "ফ্রি" প্রাইম নেই।
  • এমনকি যদি আমরা করেনি কাউন্টারে জন্য বিনামূল্যে মৌলিক আছে, আমরা সত্যিই সব অসীম অন্যান্য অনেক মৌলিক যার এক্সপোনেন্ট মান থেকে প্রয়োজনীয় তথ্য বের করে আনতে একটি উপায় না থাকে না ব্যাপার।

সুতরাং আসুন যে কীভাবে প্রমাণ করা যায় যে কোনও সমস্যা 2 সিএ দ্বারা সমাধান করা যায় না এবং কীভাবে আমাদের বিরক্তিকরভাবে ভেঙে যায় তা প্রমাণ করার জন্য উপরের লিঙ্কযুক্ত কাগজটি থেকে ইবাররা এবং ট্রেন ( অবাধে ডাউনলোডযোগ্য সংস্করণ ) থেকে সাধারণ পদ্ধতির সংক্ষেপের ব্যাখ্যা দিয়ে শেষ করা যাক কেস।

প্রথমত, তারা প্রতি 2 সিএকে একটি "স্বাভাবিক ফর্ম" রূপান্তরিত করে, যেখানে দুটি কাউন্টারগুলি "পর্যায়ক্রমে" একের মধ্যে বৃদ্ধি পায় এবং অন্যটি কেবল শূন্যে না পৌঁছানো অবধি কমতে থাকে। রাজ্যের সংখ্যা এই সাধারণ যন্ত্রমানব অনুমান গুরুত্বপূর্ণ ভূমিকা পালন করে।s

তারপরে, তারা এই অটোমেটনের বিশ্লেষণ করে এই সিদ্ধান্তে আসে যে তারা সংখ্যার কয়েকটি নির্দিষ্ট গাণিতিক অনুক্রম তৈরি করতে পারে যার আচরণের সাথে যুক্ত রয়েছে। সুনির্দিষ্টভাবে বলতে গেলে (এর কয়েকটি প্রপঞ্চ হিসাবে বর্ণনা করা হয়নি, তবে তাদের দুটি প্রধান উদাহরণের প্রমাণেই জড়িত):

  1. যদি কোনও ধরণের এক্স অটোমেটনের দ্বারা গ্রহণ করা হয় তবে যে কোনও ধাপে যাচ্ছি এমন কোনও সূচনার শুরুতে নানজারো কাউন্টারটির আকার without , তবে সেখানে একটি পূর্ণসংখ্যার রয়েছে যা সমস্ত সংখ্যা , গৃহীত হয়।vixi sD>0x+nDn0
  2. একটি সেট করেন তাহলে অন্তত রয়েছে গৃহীত নম্বরগুলি আলাদা প্রতিটি সংখ্যার জন্য একটা ফেজ যা যেমন যে , তাহলে আমরা জানতে পারেন , এবং পূর্ণসংখ্যার এমনXs2+1xXivixsp,rXK1,K2

    • প্রতিটি পূর্ণসংখ্যার জন্য , হয় এবং উভয়ই দ্বারা গৃহীত হয়, বা উভয়ই প্রত্যাখাত হয়।n0p+nK1r+nK2

(থটস:

  • তারা প্রয়োজন জন্য কিন্তু আমি মনে করি আসলে এই অপ্রয়োজনীয়। আসলে তাই তারা গ্রহণ করা হয়।x>sxX
  • এর মধ্যে বেশিরভাগের প্রত্যাখ্যান করা সংখ্যার জন্যও রাখা উচিত , যতক্ষণ না প্রত্যাখ্যানের পরিবর্তে স্পষ্টভাবে থামিয়ে প্রত্যাখ্যান করা হয়))

তাদের নিজস্ব উদাহরণের জন্য তারা ঘন ঘন যে ব্যবহার কোন মৌলিক উত্পাদক আছে । অসম্ভবতা প্রমাণ করার জন্য, তারা এ জাতীয় গাণিতিক ক্রমগুলি বিদ্যমান থাকতে পারে না তা দেখিয়ে দ্বন্দ্বগুলি গ্রহণ করে।D,K1,K2>s

আমাদের সমস্যায়, এ থেকে একটি বৈপরীত্য প্রাপ্তি দ্বিতীয় কেসের সাথে ভেঙে যায়। যদি আমাদের কাছে , যেখানে এত বড় যে এবং মধ্যে কোনও সংখ্যা বা দ্বারা বিভাজ্য হয় না , তবে মধ্যে 2 বা 3 এর কোনও ক্ষমতাও থাকবে না এবং , সুতরাং সেগুলি উভয়ই গৃহীত হয় বা উভয়ই প্রত্যাখ্যাত হয়।K1=K2=6kkpr2k3kp+6knq+6kn

পয়েন্ট 1 এখনও অসম্ভব হিসাবে দেখানো যেতে পারে, কারণ 2 এবং 3 এর ক্ষমতা বেশিরভাগই আরও এবং আরও পৃথকভাবে বৃদ্ধি করে। এবং আমি বিশ্বাস করি যে আমি যদি (আমি যুক্তিটি @ মারজিও ডেবিয়াসিকে ইমেল করেছি) তবে আমি দ্বিতীয় মামলাটি অসম্ভবকে দেখাতে পারব। সুতরাং সম্ভবত কেউ এই তথ্যটি অটোমেটনের ফর্মটিকে আরও সীমাবদ্ধ করতে ব্যবহার করতে পারে এবং অবশেষে সেখান থেকে বৈপরীত্য অর্জন করতে পারে।K1K2


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