আদিম পুনরাবৃত্তির ক্রিয়াকলাপগুলির শ্রেণি কি ফাংশন সমাপ্ত করার জন্য প্রমাণিত ফাংশনগুলির শ্রেণীর সমান?


9

ভ্রূণ, যদি আপনি এটি না শুনে থাকেন তবে এখানে পড়তে পারেন । এটি কোনও ফাংশনে পুনরাবৃত্ত কলগুলির সমস্ত 'পুনরাবৃত্তি আচরণ' সন্ধান করতে 'কল ম্যাট্রিকেস' এবং 'কল গ্রাফ' এর একটি সিস্টেম ব্যবহার করে। কোনও ফাংশন এটি বন্ধ করে দেয় তা দেখানোর জন্য এটি দেখায় যে কোনও ফাংশনে করা পুনরাবৃত্ত কলগুলির সমস্ত পুনরাবৃত্তি আচরণ একটি নির্দিষ্ট 'লিক্সোগ্রাফিক অর্ডার' মান্য করে। এটি সমাপ্তি পরীক্ষক সমস্ত আদিম পুনরাবৃত্ত ফাংশন এবং ফাংশন যেমন অ্যাকারম্যান ফাংশনকে অনুমতি দেয়। মূলত এটি বহু-যুক্তির আদিম পুনরাবৃত্তির অনুমতি দেয়। এটিও মূলত আগদার সমাপ্তি পরীক্ষক; আমি বিশ্বাস করি যে কাকের আরও কিছু সাধারণ সুবিধা রয়েছে তবে সম্ভবত আরও সাধারণ though

ডিএ টার্নারের "টোটাল ফাংশনাল প্রোগ্রামিং" পত্রিকাটি পড়া থেকে । তিনি ব্যাখ্যা করেছেন যে তাঁর প্রস্তাবিত ভাষা গডেল দ্বারা অধ্যয়ন করা সিস্টেম টি তে দেখা সমস্ত "আদিম পুনরাবৃত্ত ক্রিয়াকলাপ" প্রকাশ করতে সক্ষম হবে। তিনি আরও বলতে থাকেন যে এই সিস্টেমটি "প্রতিটি পুনরাবৃত্তির ক্রিয়াকলাপ অন্তর্ভুক্ত হিসাবে পরিচিত যাঁর সম্পূর্ণতা প্রথম ক্রমের যুক্তিতে প্রমাণিত হতে পারে"।

ডোজ ভ্রূণ কি সমস্ত আদিম পুনরাবৃত্ত ক্রিয়াকলাপের অনুমতি দেয়? যদি তা হয় তবে এটি এমন ফাংশনগুলিকে অনুমতি দেয় যা আদিম পুনরাবৃত্ত ক্রিয়াকলাপ নয়? এর উত্তরের জন্য একটি প্রশংসা প্রদান করা যেতে পারে? (আমি কেবল আগ্রহী হওয়ায় এটি আসলে প্রয়োজনীয় নয়; এ বিষয়ে কিছু বৈবাহিক পড়া ভাল লাগবে)

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


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

এখানে "আরও ফাংশন সংজ্ঞা গ্রহণ করুন" এবং "গণনীয় ফাংশনগুলির একটি বৃহত্তর শ্রেণি রয়েছে" রয়েছে। দুটো অতুলনীয়। আগদা প্রথম গণনায় জয়ী, তবে কোক স্পষ্টভাবে দ্বিতীয়টিতে জিতল।
কোডি

আমার স্পষ্ট করা উচিত যে আমি কোক এবং আগদাকে একটু ব্যবহার করি নি। দেখে মনে হয়েছিল যে আমি যেটুকু পড়েছি তা থেকে কক গণ্যমান্য ফাংশনের বিস্তৃত শ্রেণির সংজ্ঞা দিতে সক্ষম ছিল তবে আমি জানতাম না তাই আমি বলেছিলাম "আমি বিশ্বাস করি যে কোকের কিছু অনুরূপ সুবিধাগুলি রয়েছে যদিও সম্ভবত আরও সাধারণ"; "বিশ্বাস" এবং "সম্ভবত" এমনটি জানাতে ব্যবহৃত হত যা আমি জানতাম না।
জেক

উত্তর:


7

হ্যাঁ, ভ্রূণ চেকার গোয়েডেলের টি-তে সমস্ত কিছু টাইপ করতে পারেন T টিতে পুনরাবৃত্তি অপারেটরটি সমাপ্ত হচ্ছে তা দেখানোর জন্য আপনি এটি পরীক্ষক ব্যবহার করে দেখাতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত সংজ্ঞাটি কাজ করবে:

আমিটিR:একজন(একজনএকজন)এনএকজনআমিটিRআমি0=আমিআমিটিRআমি(এন+ +1)=(আমিটিRআমিএন)

এটি ভ্রূণ পরীক্ষক (বা অন্য কোনও সমাপ্তি পরীক্ষক) এর জন্য চেক করা খুব সহজ, কারণ এটি সম্ভবত কাঠামোগতভাবে পুনরাবৃত্ত সংজ্ঞা।

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

টি এর বাইরে যে কোনও কিছুর একটি সহজ উদাহরণ হ'ল গোদেলের টি নিজেই ধারাবাহিকতা! আমরা ডেটাটাইপ হিসাবে সিনট্যাক্সটি দিতে পারি:

data T : Set where 
   N : T 
   _⇒_ : T → T → T

data Term : T → Set where 
   zero : Term N
   succ : Term (N ⇒ N)
   k    : {A B : T} → Term (A ⇒ B ⇒ A)
   s    : {A B C : T} → Term ((A ⇒ B ⇒ C) ⇒ (A ⇒ B) ⇒ A ⇒ C)
   r    : {A : T} → Term (A ⇒ (A ⇒ A) ⇒ N ⇒ A)
   _·_  : {A B : T} → Term (A ⇒ B) → Term A → Term B

নোট করুন যে প্রকার নির্ভরতা আমাদের কেবলমাত্র টি-তে বেশ ভাল টাইপ করা শর্তাদি যুক্ত শর্তগুলির একটি ডেটাটাইপ সংজ্ঞায়িত করার অনুমতি দেয় then আমরা তারপরে এই ধরণেরগুলির জন্য একটি ব্যাখ্যা ফাংশন দিতে পারি:

interp-T : T → Set 
interp-T N       = Nat 
interp-T (A ⇒ B) = (interp-T A) → (interp-T B)

এটি বলে যে Nআগদা প্রাকৃতিক সংখ্যা হওয়া উচিত, এবং টি এর তীরটি আগদা ফাংশন স্পেস হিসাবে ব্যাখ্যা করা উচিত। এটি একটি "বৃহত" নির্মূল, কারণ আমরা ডেটাটাইপ টি এর কাঠামোর উপরে পুনরাবৃত্তি করে একটি সেট নির্ধারণ করি

এরপরে আমরা একটি ব্যাবহারের ফাংশন সংজ্ঞায়িত করতে পারি, দেখানো হয় যে গোয়েডেলের টি এর প্রতিটি শব্দকে আগদার শব্দ দ্বারা ব্যাখ্যা করা যেতে পারে:

interp-term : {A : T} → Term A → interp-T A
interp-term zero    = 0 
interp-term succ    = \n → n + 1
interp-term k       = \x y → x
interp-term s       = \x y z → x z (y z)
interp-term r       = Data.Nat.fold 
interp-term (f · t) = (interp-term f) (interp-term t)

(এই মেশিনে আমার আগদা নেই, তাই নিঃসন্দেহে কিছু অনুপস্থিত আমদানি, স্থিরকরণের ঘোষণা এবং টাইপস রয়েছে Fix এটি পাঠকের জন্য ফিক্সিং, যা তারা চাইলে সম্পাদকও হতে পারে))

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


নোট করুন যে আপনি আপনার উদাহরণে বৃহত্তর নির্মূলকরণ ব্যবহার করেন নি। বড় বিলোপ আসলে কম্পিউটারের শক্তি যোগ করে না। ইমড্রেডাক্টিভিটিটি করে: সিস্টেম এফ এর প্রাক্তনটি নেই, তবে সিস্টেম টি তে প্রকাশযোগ্য নয় এমন ফাংশন প্রকাশ করতে পারে
কোডি

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

আমি দুঃখিত: হ্যাঁ ইন্টারপ-টি ফাংশনটি প্রকৃতপক্ষে বড় বিলোপ ব্যবহার করে। আমি এটিও সম্মত হই যে 0! = 1 প্রমাণ করার জন্য এটির প্রয়োজন হয় না। তবে, গণনামূলক ফাংশন সংজ্ঞায়িত করা গাণিতিক বক্তব্য প্রমাণ করার মতো জিনিস নয় । আমার উত্তর এটি কিছুটা স্পষ্ট করে। খাঁটি ক্যালকুলাস অফ কনস্ট্রাকশনস, উদাহরণস্বরূপ, 0! = 1 প্রমাণ করতে পারে না এটি অবশ্য আপেক্ষিক স্বাচ্ছন্দ্যে একারম্যান ফাংশনটি সংজ্ঞায়িত করতে পারে।
কোডি

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

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

3

স্পষ্টকরণের মাধ্যম হিসাবে, আমার নোট করা উচিত যে ভ্রূণটি আন্দ্রেস আবেল দ্বারা বিকাশ করা হয়েছিল , যিনি আগদার জন্য মূল সমাপ্তি পরীক্ষকও বিকাশ করেছিলেন এবং আরও উন্নত সমাপ্তির কৌশলগুলিতে কাজ করেছিলেন ।

আপনার প্রশ্নের উত্তরটি কিছুটা হতাশ হতে পারে: থেকে ফাংশনগুলির শ্রেণি N প্রতি Nহয় ঠিক ফাংশন যে সিস্টেমে সংজ্ঞায়িত করা যায়F। এর কারণ: পূর্বোক্ত শ্রেণিটি দ্বিতীয় আদেশ গাণিতিকের মধ্যে সম্ভাব্য সমাপ্ত ফাংশনগুলির সমান (PA2) যা পরিবর্তে সিস্টেমে নির্ধারিত ফাংশনের সমান F(উদাহরণস্বরূপ প্রুফ এবং প্রকারগুলি , অধ্যায় 11 দেখুন)। তদ্ব্যতীত, আপনি যদি পলিমারফিজমটি সরিয়ে ফেলেন, তবে আপনি নিখুঁত ফাংশনে নেমে যাবেনPA, যা সিস্টেমের মধ্যে তাদের সাথে সংশোধনযোগ্য হয় T

আবার, এর জন্য অনুরণন হ'ল "কল ম্যাট্রিক্স" দ্বারা ক্যাপাসিত হ্রাস সম্ভবত সুপ্রতিষ্ঠিত এবং এই প্রমাণটি সম্পূর্ণরূপে সম্পাদন করা যেতে পারেPA

তবে এর অর্থ এই নয় যে ভ্রূণ সিস্টেমের চেয়ে বেশি কার্যকর নয়T! অনুশীলনে, আরও জটিল সমাপ্তি বিশ্লেষণগুলি গণ্যযোগ্য ফাংশনের নির্দিষ্ট উপস্থাপনা গ্রহণ করতে সক্ষম হতে হবে । উদাহরণস্বরূপ, প্রতিবার আপনি যখন একত্রীকরণের ফাংশনটি লিখবেন তখন আপনাকে পিয়ানো অ্যারিমেটমিকের কোনও জটিল প্রমাণ করতে হবে না। সুতরাং এই ক্ষেত্রে, ভ্রূণস খুব শক্তিশালী, এবং আপনাকে ফাংশনগুলি এমনভাবে সংজ্ঞায়িত করতে দেয় যা কক, আগদা বা অন্য কোনও সাধারণ প্রমাণ সিস্টেমের দ্বারা গ্রহণযোগ্য হবে না।


প্রযোজ্যভাবে সমাপ্ত হওয়া (PA ^ 2) এক শ্রেণির ফাংশন কীভাবে সিস্টেম এফের ফাংশনগুলির শ্রেণির সমতুল্য হতে পারে যা আমি যতদূর জানি না? আপনি কীভাবে আমাকে প্রশ্নের উত্তর দিচ্ছেন তাও আমি বুঝতে পারি না। আপনি কি বলছেন যে টি টিতে একটি বৃহত শ্রেণি গণনীয় ফাংশন রয়েছে বা আপনি কি বলছেন যে ভ্রূণ? আমি মনে করি আপনার যুক্তিতে এমন একটি লাফ রয়েছে যা আশা করেছিল যে আমার তুলনায় আমার আরও পটভূমি রয়েছে। এছাড়াও আপনার সরবরাহিত লিঙ্কটি এমন খারাপ পৃষ্ঠাতে নিয়ে গেছে যা সঠিকভাবে রেন্ডার করে না।
জেক

সিস্টেম এফের সমস্ত কাজ শেষ হয়। ভ্রূণ সিস্টেম টি-এর তুলনায় বৃহত্তর শ্রেণীর কম্পিউটিং ফাংশন ধারণ করে, তবে "দুর্ঘটনাক্রমে", আপনি যদি বহুবর্ষটি সরিয়ে ফেলেন, তবে ভ্রূণ কেবল ঠিক সিস্টেম টি কে ধরে ফেলবে? আপনি কি আমাকে বলতে পারবেন কোন লিঙ্কটি আপনার পক্ষে কাজ করে না? (এবং আপনি কোন ব্রাউজারটি ব্যবহার করছেন :)
কোডি

1

যদি আদিম পুনরাবৃত্ত ক্রিয়াকলাপগুলির দ্বারা আপনি বোঝাচ্ছেন আদিম পুনরাবৃত্ত ফাংশন এবং আপনি জানেন যে ভ্রূণের একারম্যান ফাংশন রয়েছে তবে ভ্রূট জন ফাংশনগুলির শ্রেণির সাথে একরমন ফাংশনটির সাথে মিলিত হবে না কারণ অ্যাকারম্যান ফাংশন আদিম পুনরাবৃত্ত নয়। এটি আ্যাকারম্যান দেখিয়েছিলেন এবং পরে রোজা পিটার একটি " ক্যানস্রেকশন নিক্ট্রেকুরসিভার ফানকিশেন " 1935 সালে (দুর্ভাগ্যক্রমে কেবল জার্মান হিসাবে আমি জানি যতদূর জানি) একটি সরল প্রমাণ দেওয়া হয়েছিল ।

যদি আপনি বৃহত্তর শ্রেণীর পুনরাবৃত্ত ফাংশনগুলির সন্ধান করেন যা ফেটাস দ্বারা বন্দী ফাংশনগুলির শ্রেণীর সাথে মিলিত হতে পারে যা সমাপ্তির গ্যারান্টিযুক্ত থাকে তবে রোজা পিটারের আরও কিছু কাজ আপনার আগ্রহী হতে পারে।

একারম্যান ফাংশনটি একাধিক পুনরাবৃত্ত ফাংশনগুলির শ্রেণীর মধ্যে রয়েছে যেমন রোজা পিটার দ্বারা " উবার ডাই মেহেরফাচে রেখারিশন " 1935-এ সংজ্ঞায়িত করা হয়েছিল। অনানুষ্ঠানিকভাবে একাধিক পুনরাবৃত্তির পিছনে ধারণাটি এমন যে আপনার একাধিক পুনরাবৃত্ত পরিবর্তনশীল থাকতে পারে যা পুনরাবৃত্তির পদক্ষেপের পরে পরিবর্তিত হতে পারে। উদাহরণ স্বরূপf(a,b) কল করতে পারে f(a,b1) অথবা f(a1,b)

তবুও আরও শক্তিশালী শ্রেণি দেওয়া হয়েছে রোজা পিটারের " জুসামেনহ্যাং ডের মেহেরফাচেন আন ট্রান্সফিনিটেন রেকার্সন " -এ বর্ণিত ট্রান্সফাইমেন্ট রিক্রুশন ধারণার মাধ্যমে। অস্থায়ী পুনরাবৃত্তির জন্য আপনার কাছে একটি পুনরাবৃত্ত পরিবর্তনশীল রয়েছে যা পূর্বসূরিদের একটি বিশেষ ক্রমকে আর্ট বলতে পারে<

উদাহরণস্বরূপ, আপনি একটি পূর্ণসংখ্যার জোড় হিসাবে পূর্ণসংখ্যা ব্যাখ্যা করতে পারেন এবং ক্রমটি ব্যবহার করতে পারেন

(একটি,)<(,)(একটি<)(একটি<)
এটি তিনগুণ এবং আরও অনেকের জন্য সাধারণীকরণ করা যেতে পারে can পিটার এই আদেশগুলি কল করেω2,ω3ইত্যাদি। আপনি আরও একধাপ এগিয়ে যেতে পারেন এবং একটি পূর্ণসংখ্যাটিকে একটি নির্বিচার সংখ্যার পূর্ণসংখ্যার হিসাবে ব্যাখ্যা করতে পারেন। দিনপিআমি থাকা আমি-পরিম সংখ্যা। তাহলে আমরা বিবেচনা করতে পারিz- র=পি1এনপি2এক্স1পি3এক্স2... কোথায় এন এনকোড করা পূর্ণসংখ্যার সংখ্যা বোঝায় z- র এবং এক্সআমিএর মধ্যে শ্বাস থাকে। মান। তিনি যেমন পূর্ণসংখ্যার তালিকার জন্য একটি অর্ডারকে বোঝায়ωωএবং তির্যক দ্বারা দেখানো হয় যে এই জাতীয় পুনরাবৃত্তি একাধিক পুনরাবৃত্তির চেয়ে শক্তিশালী। তবে, আমি নিশ্চিত নই যে এই শ্রেণীর সিন্টেক্সটিকাল বৈশিষ্ট্য আছে কিনা।

[সম্পাদনা] আদিম পুনরাবৃত্ত ফাংশনগুলি আদিম পুনরাবৃত্ত ক্রিয়াকলাপগুলির মতো নয় যা নীচের মন্তব্যে উল্লিখিত হয়েছে। তবুও আমি মনে করি যে কেউ একটি স্থানান্তর পুনরাবৃত্তি ধারণাটি কার্যকরীতে স্থানান্তর করতে পারে। তবে এটি এখনও কার্যকরী সেটিং আরও শক্তিশালী কিনা তা পরিষ্কার নয়।


2
সীমাবদ্ধ ধরণের আদিম পুনরাবৃত্ত ক্রিয়াকলাপগুলির শ্রেণিটি আদিম পুনরাবৃত্ত ফাংশনের শ্রেণীর চেয়ে বেশি সাধারণ। এটি উদাহরণস্বরূপ একারম্যান ফাংশন প্রকাশ করতে পারে এবং গোডেলের সিস্টেম টিতে দেখা যাবে
জ্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.