बाइनरी कॉम्बिनेटरी लॉजिक

From Vigyanwiki

बाइनरी कॉम्बिनेटरी लॉजिक (बीसीएल) कंप्यूटर की ऐसी प्रोग्रामिंग भाषा है जो केवल 0 और 1 प्रतीकों का उपयोग करके कॉम्बिनेटरी लॉजिक का पूरा फॉर्मूलेशन बनाने के लिए बाइनरी शब्द 0 और 1 का उपयोग करती है।[1] एस और के कॉम्बिनेटर का उपयोग करके जटिल बूलियन बीजगणित फ़ंक्शन बनाए जा सकते हैं। इस प्रकार बीसीएल के पास प्रोग्राम-आकार की जटिलता को कोलमोगोरोव जटिलता के सिद्धांत में अनुप्रयोग किया जाता हैं।[1][2]

परिभाषा

S-K बेसिस

कॉम्बिनेटर लॉजिक के K और S कॉम्बिनेटर का उपयोग करते हुए, लाॅजिक से जुड़े कार्यों को कॉम्बिनेटर के कार्यों के रूप में दर्शाया जा सकता है:

बाइनरी कॉम्बिनेटर के रूप में लाॅजिक संचालन की सूची[3]
बूलियन बीजगणित S-K बेसिस
True(1) K(KK)
False(0) K(K(SK))
AND SSK
NOT SS(S(S(S(SK))S))(KK)
OR S(SS)S(SK)
NAND S(S(K(S(SS(K(KK)))))))S
NOR S(S(S(SS(K(K(KK)))))(KS))
XOR S(S(S(SS)(S(S(SK)))S))K

प्रारूप

बैकस नौर फॉर्म:

 <term> ::= 00 | 01 | 1 <term> <term>

शब्दार्थ

बीसीएल के सांकेतिक शब्दार्थ को इस प्रकार निर्दिष्ट किया जा सकता है:

  • [ 00 ] == K * [ 01 ] == S
  • [ 1 <term1> <term2> ] == ( [<term1>] [<term2>] ) कहाँ[...]के अर्थ को संक्षिप्त करता है, इस प्रकार यहाँ पर K और S एसकेआई कॉम्बिनेटर कैलकुलस या केएस-बेस कॉम्बिनेटर हैं, और ( ) संयोजनात्मक तर्क का अनुप्रयोग संचालन करता है। इसमें उपसर्ग 1 बाएं कोष्ठक से मेल खाता है, दायां कोष्ठक स्पष्टीकरण के लिए अनावश्यक है।

इस प्रकार बीसीएल के चार समकक्ष फॉर्मूलेशन हैं, जो ट्रिपलेट के, एस, बाएं कोष्ठक को एन्कोड करने के तरीके पर निर्भर करते हैं। ये (00, 01, 1) (01, 00, 1), (10, 11, 0), और (11, 10, 0) जैसा कि वर्तमान संस्करण में है,

ईटीए-कमी जो ट्यूरिंग-पूर्ण के लिए आवश्यक नहीं है, इसके अतिरिक्त बीसीएल के परिचालन शब्दार्थ को किसी दिए गए शब्द के उप-शब्दों के लिए निम्नलिखित पुनर्लेखन नियमों द्वारा बहुत ही संक्षिप्त रूप से निर्दिष्ट किया जा सकता है, जो बाईं ओर से पदच्छेदित हैं :

  •  1100xy  → x
  • 11101xyz → 11xz1yz

जहाँ x, y, और z उपशब्द हैं, यहाँ पर ध्यान दें, उदाहरण के लिए पार्सिंग बाईं ओर से है, जिसके लिए 10000 11010000 का उपपद नहीं है।

एसके-बेसिस में नियम 110 सेल्युलर ऑटोमेटा का चरण (वुल्फ्राम भाषा में लिखित)।[3]

बीसीएल का उपयोग ट्यूरिंग मशीन और सेलुलर ऑटोमेटन जैसे एल्गोरिदम को दोहराने के लिए किया जा सकता है,[3] इस प्रकार बीसीएल ट्यूरिंग पूर्णता रहती है।

यह भी देखें

  • आयोटा और जोट

संदर्भ

  1. 1.0 1.1 Tromp, John (2007), "Binary lambda calculus and combinatory logic", Randomness and complexity (PDF), World Sci. Publ., Hackensack, NJ, pp. 237–260, CiteSeerX 10.1.1.695.3142, doi:10.1142/9789812770837_0014, ISBN 978-981-277-082-0, MR 2427553.
  2. Devine, Sean (2009), "The insights of algorithmic entropy", Entropy, 11 (1): 85–110, doi:10.3390/e11010085, MR 2534819
  3. 3.0 3.1 3.2 Wolfram, Stephen (2021-12-06). "Combinators: A Centennial View". writings.stephenwolfram.com (in English). Archived from the original on 2020-12-06. Retrieved 2021-02-17.


अग्रिम पठन


बाहरी संबंध