"ল্যাম্‌ডা ক্যালকুলাস" পাতাটির দুইটি সংশোধিত সংস্করণের মধ্যে পার্থক্য

কিছু সম্পাদনা
(কিছু সম্পাদনা)
'''ল্যাম্‌ডা ক্যালকুলাস''' ([[ইংরেজি ভাষা|ইংরেজি]] Lambda Calculus বা λ-calculus) কম্পিউটারের আচরণ অধ্যয়নের জন্য জনপ্রিয় একটি গাণিতিক ব্যবস্থা। [[আলোন্‌জো চার্চ]] তার তাত্ত্বিক গবেষণায় কম্পিউটেবলগণনাযোগ্য ফাংশনের ধারণাকে এর মাধ্যমে প্রকাশ করেন। [[চার্চ-টুরিং প্রকল্প]] দাবী করে যে, যে কোন কম্পিউটিং সমস্যাকে এরল্যাম্‌ডা ক্যালকুলাসের মাধ্যমে (বা [[টুরিং মেশিন|টুরিং মেশিনের]] মাধ্যমে) প্রকাশ করা যায়।
 
== সংজ্ঞা ==
ল্যাম্‌ডা ক্যালকুলাস হলো ল্যাম্‌ডা রাশিমালার বিজ্ঞান, যেখানেবিজ্ঞান। ল্যাম্‌ডা রাশিগুলো মূলত এক প্যারামিটারবিশিষ্ট ফাংশন, যারা প্যারামিটার বা ইনপুট হিসেবে অপর কোন ল্যাম্‌ডা রাশি নেয়, এবং এর ফলাফল বা আউটপুট আরেকটি ল্যাম্‌ডা রাশি। গঠনগতভাবে ল্যাম্‌ডা রাশিগুলো হল
* '''চলক''' - যাকে একটি অক্ষর দিয়ে প্রকাশ করা হয়, যেমন <math>x</math> (আসলে এই চলকটিও একটি ফাংশন, সকল ল্যাম্‌ডা রাশিই যেহেতু ফাংশন,ফাংশন। কিন্তু একে কারো উপর প্রয়োগ করা হয় নি)।
* '''প্রয়োগ''' - একটি ল্যাম্‌ডা রাশিকে আরেকটি ল্যাম্‌ডা রাশির উপর প্রয়োগ করা যায়। প্রয়োগ বুঝাতে যাকে প্রয়োগ করা হচ্ছে এবং যার উপর প্রয়োগ করা হচ্ছে সেই রাশি দুইটিকে পরপর লেখা হয়, যেমন <math>(M N)</math>, যেখানে <math>M</math>কে <math>N</math>এর উপর প্রয়োগ করা হচ্ছে। সম্পূর্ণ রাশিটির মান হল এই প্রয়োগের ফলাফল রাশিটি।
* '''অ্যাবস্ট্রাকশনবিমূর্তায়ন''' - একটি ল্যাম্‌ডা রাশি থেকে যখন কোন একটি চলককে সরিয়ে নেয়া হয় তখন এরকম একটি ফাংশন হয় যাকে অন্য কোন রাশির উপর প্রয়োগ করলে রাশিটির মান হবে ঐ চলককে ঐ রাশিটি দিয়ে প্রতিস্থাপন করলে যেই রাশিটি পাওয়া যায়। কোন রাশি <math>M</math> থেকে কোন চলক <math>x</math> কে সরিয়ে নিলে যে ফাংশনটি পাওয়া যায় তাকে লেখা হয় <math>(\lambda x.\, M</math>), একে অন্য কোন রাশি <math>N</math> এর উপর প্রয়োগ করলে পাওয়া যায় <math>M [x:=N]</math>, অর্থাৎ <math>M</math>এ সকল <math>x</math>কে <math>N</math> দিয়ে প্রতিস্থাপন করলে যে রাশিটি পাওয়া যায়।
 
== উদাহরণ ==
এমনকি আকারে বাড়ে এরকম উদাহরণও খুবই সহজ,
:<math>(\lambda x.\, x\, x\,x)\, (\lambda x.\, x\, x\,x)\rightarrow_\beta(\lambda x.\, x\, x\,x)\, (\lambda x.\, x\, x\,x)\, (\lambda x.\, x\, x\,x)\rightarrow_\beta\ldots</math>
তবে ''গণনা বা কম্পিউটেশনের'' মূলমন্ত্র যে এই সংক্ষেপনেইসংক্ষেপণেই নিহিত তাতে কোন সন্দেহ নেই। কোন সংক্ষেপণটি থামবে কোনটি থামবে না তা নির্ণয় করার কোন সাধারণ [[অ্যালগোরিদম]] নেই, যার প্রমাণ [[টুরিং মেশিনের থামা-না-থামা সমস্যা]]।
 
== স্থির বিন্দু ==
[[গণিত|গণিতে]] কোন ফাংশন <math>f</math>-এর [[স্থির বিন্দু]] বলতে বোঝায় এমন কোন বিন্দু <math>x</math> যার জন্য
: <math>f(x) = x</math> বা ল্যাম্‌ডা ক্যালকুলাসের রীতিতে, <math>f x = x</math>
যেহেতু ল্যাম্‌ডা ক্যালকুলাসে প্রতিটি রাশিই ফাংশন, তাই এখানে কোন ফাংশনের স্থির বিন্দু নিজেও আরেকটি ফাংশন। লক্ষ্যণীয়লক্ষ্যনীয়, এই ক্যালকুলাসে ফাংশন বাদে অন্য কোন গাণিতিক ধারণা নেই,নেই। বস্তুত, চার্চের প্রাথমিক লক্ষ্য ছিল ফাংশনের ধারণাকে গণিতের ভিত্তি হিসেবে দাঁড় করানো।
 
 
যেখানে সাধারণত কোন গাণিতিক ফাংশনের স্থির বিন্দু নাও থাকতে পারে (বা থাকলেও তাকে খুঁজে বের করা একটা গাণিতিক সমস্যা), ল্যামডা ক্যালকুলাসে প্রতিটি রাশিরই স্থির বিন্দু আছে, এই স্থির বিন্দুটি আরেকটি ল্যাম্‌ডা রাশি।
 
যেখানে সাধারণত কোন গাণিতিক ফাংশনের স্থির বিন্দু নাও থাকতে পারে (বা থাকলেও তাকে খুঁজে বের করা একটা গাণিতিক সমস্যা), কিন্তু ল্যামডা ক্যালকুলাসে প্রতিটি রাশিরই স্থির বিন্দু আছে, এই স্থির বিন্দুটি আরেকটি ল্যাম্‌ডা রাশি।
 
'''প্রমাণ''': <math>\mathbf{Y} = \lambda f.\,(\lambda x.\,f\,(x\,x))\,(\lambda x.\,f\,(x\,x))</math> একটি স্থির বিন্দু নির্ণায়ক (ইংলিশে, [[w:en:Fixed point combinator|Fixed Point Combinator]]),
লক্ষ্যণীয়, এই প্রমাণটি শুধু যে স্থির বিন্দুর অস্তিত্ত্ব দেখায় তাই না, (একটি) স্থির বিন্দু নির্ণয়ও করে দেয়।
 
স্থির বিন্দু নির্ণায়কের মাধ্যমে ল্যাম্‌ডা ক্যালকুলাসে [[পুনরাবৃত্ত ফাংশন]] (ইংলিশে, [[w:en:Recursive function|Recursive function]]) প্রকাশ করা যায়।
 
== টাইপ থিওরীতত্ত্ব এবং ল্যামডা ক্যালকুলাস ==
 
== ল্যাম্‌ডা ক্যালকুলাসে বিভিন্ন ডাটাউপাত্ত-টাইপ ==
 
== কম্পিউটার প্রোগ্রামিং-এ ল্যাম্‌ডা ক্যালকুলাস ==
৩৮,৮৭৭টি

সম্পাদনা