বাস্তবতা তত্ত্ব: ল্যাম্বদা ক্যালকুলাস এবং ট্যুরিং মেশিনের মধ্যে পাওয়ারের মধ্যে পার্থক্য


48

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

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

  • আমি একটি ব্যাখ্যা / অনানুষ্ঠানিক প্রমাণ দেখতে চাই।

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

  • তদ্ব্যতীত, যদি সমস্যাটি ল্যাম্বডা-টার্মের অন্তর্নিবেশের সাথে থাকে তবে আমি মনে করি যে ল্যাম্বডা-টার্মের একটি জিডেল এনকোডিং পাস করাও গ্রহণযোগ্য হবে, তাই না?

একদিকে, লাম্বডা ক্যালকুলাসে তার উদাহরণটি কম্পিউটিংয়ের সাথে জড়িত রয়েছে, প্রদত্ত টাস্কটি সম্পন্ন করার জন্য ট্যুরিং মেশিনের প্রয়োজনীয় পদক্ষেপের সংখ্যা, আমি খুব অবাক হই না।

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

উত্তর:


56

জন লংলির জড়িত বিষয়গুলি নিয়ে আলোচনা করার জন্য একটি বিস্তৃত সমীক্ষা নিবন্ধ রয়েছে, "উচ্চতর ধরণের সংযোগের ধারণাগুলি"

মূল ধারণাটি হ'ল চার্চ-টিউরিং থিসিসটি কেবল থেকে functions পর্যন্ত ফাংশন সম্পর্কে - এবং এটির তুলনায় আরও অনেক গুণ আছে! বিশেষত, যখন আমরা প্রোগ্রামগুলি লিখি আমরা উচ্চতর ধরণের ফাংশন ব্যবহার করি (যেমন )।NN(NN)N

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

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

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

সম্পাদনা: এখানে পিসিএফ-তে নির্দিষ্ট একটি ফাংশন উদাহরণ, তবে টিএম + গোয়েডেল এনকোডিংগুলিতে নয়। আমি isAlwaysTrueফাংশন ঘোষণা করব

 isAlwaysTrue : ((unit → bool) → bool) → bool

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

isAlwaysTrue p = p (λ(). true) ∧ p (λ(). false) ∧ p (λ(). ⊥)

কোথায় লুপিং গণনা এবং এটি বুলিয়ানগুলির অপারেটর। এটি কাজ করে কারণ unit → boolপিসিএফ-এ কেবলমাত্র তিন জন বাসিন্দা রয়েছেন এবং তাই আমরা এগুলি পরিস্কারভাবে গণনা করতে পারি। যাইহোক, একটি টিএম + গোয়েডেল-এনকোডিং শৈলীর মডেলটিতে pএটি পরীক্ষা করতে পারে যে তার যুক্তি উত্তরটি পেতে কতক্ষণ সময় নেয় এবং এর ভিত্তিতে বিভিন্ন উত্তর ফেরত দেয়। সুতরাং isAlwaysTrueটিএমগুলির সাথে বাস্তবায়নটি অনুমানটি পূরণ করতে ব্যর্থ হবে।


1
এটি একটি দুর্দান্ত সমীক্ষা। লিঙ্কের জন্য ধন্যবাদ!
সুরেশ ভেঙ্কট

আমি ঠিক বুঝতে পেরেছি যে আমি আপনার উত্তরটি গ্রহণ করতে চেয়েছি, আমি কোনও উত্তর গ্রহণ করতে ভুলে গিয়েছি। দুঃখিত!
ব্লেজারব্ল্যাড

"এনকোডিংয়ের পার্থক্যের অর্থ হ'ল আপনি টিএম-স্টাইলের এনকোডিং দিয়ে তর্কটির বাক্য গঠনটি বিশ্লেষণ করতে পারেন, এবং আপনি কোনও স্ট্যান্ডার্ড ল্যাম্বডা-ক্যালকুলাস উপস্থাপনা দিয়ে পারবেন না” ": তবে ফাংশন রচনাটির জন্য আপনার যদি উপস্থাপনা থাকে? এছাড়াও, আপনি যা বলছেন বলে মনে হচ্ছে এইচএলএল টাইপ করা ল্যাম্বদা ক্যালকুলাসের তত্ত্বের চেয়ে বেশি, এটি কি এর চেয়ে বেশি?
Hibou57

এছাড়াও, এটি সম্পর্কে কী: cs.virginia.edu/~evans/cs150/class/class39/lecture39.pdf । এটি কি কোনওভাবে ভুল?
Hibou57

প্রিয় নীল, আপনার কোনও ফাংশনের উদাহরণ রয়েছে যা ল্যাম্বডা ক্যালকুলাস মডেলটিতে অনুধাবন করা যায় তবে ট্যুরিং মডেলটিতে নয়?
ইনগো ব্লিচসমিট

29

নীল কী বলেছিল, এবং তাও নিম্নলিখিত।

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

একটি বিবৃতি যা ল্যাম্বদা-স্থায়ী মডেলটিতে অনুধাবনযোগ্য তবে টুরিং মেশিনের মডেলটিতে নয় এটি "প্রতিটি ফাংশন নয় not a এর একটি গডেল কোড রয়েছে", যা একধরনের নির্বোধ। আমি আরও ভাল একটি সঙ্গে আসা এবং এই উত্তর সম্পাদনা করার চেষ্টা করব।λNN


2013-10-07 এ সম্পাদনা করুন: এখানে "কারি করানো অসম্পূর্ণযোগ্য" বলতে আমি বোঝাতে চাইছি। ধরুন আমরা untyped ব্যবহার -calculus আমাদের গণনীয় মডেল হিসেবে, কিন্তু তারপর আমরা ঠিক যে আমরা মানচিত্রে উপস্থাপিত করে গোডেলের কোড সঙ্গে (টুরিং মেশিন, চার্চ সংখ্যাসমূহ যেমন এনকোড এর)। নির্দোষ মনে হচ্ছে, তাই না? সর্বোপরি আমরা মন্ত্রটি বিশ্বাস করি "টুরিং মেশিন এবং ল্যাম্বদা-ক্যালকুলাস সমতুল্য"।λNNλ

ঠিক আছে, এই নতুন উপস্থাপনার জন্য আসলে of এর বৈধ উপস্থাপনা হওয়ার জন্য আমাদের প্রয়োগ এবং কারিঙ উপলব্ধি করাও প্রয়োজন (কারণ "ফাংশনগুলিকে উপস্থাপন করা" মানে একই উপায়ে একটি প্রতিনিধিত্ব করা " সূচকীয় বস্তু ")। বিশেষ করে, আমরা প্রয়োজন একটি -term যেমন যে, যখনই চার্চ সংখ্যা প্রতিনিধিত্ব করে তারপর দ্বারা প্রতিনিধিত্ব করা হয় । (এখানে আমি চার্চের সংখ্যাটি উপস্থাপন করে write write লিখি )) এই জাতীয়NNλappn¯f:NNf(k)appn¯k¯n¯nappকারণ এটি টুরিং মেশিনের জন্য একজন দোভাষী, বাস্তবায়িত পরিমাণ সহজলভ্য -calculus।λ

তবে তরকারি কীভাবে? তার জন্য আমাদের নিম্নলিখিতগুলি প্রয়োজন। ধরা যাক একটি উপস্থাপিত সেট। যে কোনও মানচিত্র দেওয়া হয়েছে a একটি টার্ম দ্বারা গুণিত হয়েছে , আমাদের দেখানো দরকার যে স্থানান্তর কে কিছু টার্ম দ্বারাও গণনা করা হয় । তবে উদাহরণটি বিবেচনা করুন যেখানে সেট -terms দ্বারা প্রতিনিধিত্ব করা fmaps is, এবং প্রয়োগ রয়েছে consider তারপরে এমন মানচিত্র হবে যা identity তে পরিচয় হিসাবে কাজ করেXf:X×NNλtf~:X(NN)λsXNNλff~NN, কিন্তু তার realizer একটি হল -term যে ধর্মান্তরিত -terms প্রতিনিধিত্বমূলক মানচিত্রগুলি সংশ্লিষ্ট গোডেলের কোডগুলির। এ জাতীয় mb বিদ্যুতের অস্তিত্ব নেই (উদাহরণস্বরূপ, কারণ এটি টপোলজিকাল সিমেটিক মডেলটিতে বিচ্ছিন্ন হবে)।λλNNλ

আপনি আপত্তি করার চেষ্টা করতে পারেন যে আমার maps টারমস দ্বারা প্রতিনিধিত্ব করা maps of এর নির্দিষ্ট প্রতিনিধিত্ব করা সেট ব্যবহার করা উচিত নয় , কারণ আমরা "সম্মত" হয়েছি যে সেগুলি গডেল কোড দ্বারা প্রতিনিধিত্ব করা উচিত । তবে আপনি ভুল হবে। প্রথমত, আমি আরও জটিল প্রমাণ সহ একটি ভিন্ন ব্যবহার করতে পারতাম যা আপনাকে বিস্মৃত করতে পারে তবে এখনও একই ফলাফলটি সম্পাদন করতে পারে। দ্বিতীয়ত, বিভাগে রয়েছে এবং সূচকীয় সংজ্ঞাটির জন্য প্রয়োজন যে সমস্ত বস্তুর প্রতি শ্রদ্ধাশীল হয় work আপনি বিভাগ শ্রদ্ধা করতে হবে। আপনি এলোমেলোভাবে কসাই করতে পারেন না এবং কিছু জিনিস বের করতে পারেন (ভাল, তবে আপনি তবে কসাই হন)।XNNλXX


2
এখনও সেই সর্বোত্তম উদাহরণটির জন্য অপেক্ষা করছি ...
জ্যাক কেরেটে

1
ঠিক আছে, আমি অনেকগুলি বক্তব্য সম্পর্কে ভাবতে পারি যা ট্যুরিং মেশিনগুলির সাথে উপলব্ধিযোগ্য তবে শর্তগুলির সাথে নয় । আমি মনে করি আপনি বিপরীত চান। হুম। λ
আন্দ্রেজ বাউয়ার

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

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

ব্যাখ্যা করার জন্য ধন্যবাদ! দুর্ভাগ্যক্রমে আমি আবার উত্সাহ দিতে পারে না। আমি বেশিরভাগ প্রযুক্তিগত বিবরণ অনুসরণ করতে পারি; আমি টপোলজিক্যাল মডেলগুলির সাথে পরিচিত নই, তবে আমি "যেহেতু আপনি কার্যকরী প্রোগ্রামিং / λ-ক্যালকুলাসে ফাংশনগুলি পরীক্ষা করতে পারবেন না" এর সাথে আমি পরিচিত familiar আপনার শেষ অনুচ্ছেদে আরও ব্যাখ্যা করা হয়েছে যে কেন আমি স্ম্নের মধ্য দিয়ে যেতে পারছি না, কারণ স্ম্ন দ্বারা প্রদত্ত কারিটি আবার গডেল কোড তৈরি করে, আপনার প্রয়োজনীয় স্ট্যান্ডার্ড ফাংশনগুলি নয়। আমি সেই অনুচ্ছেদে ধ্যান করব।
ব্লেজারব্লেড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.