तर्क और कंप्यूटर विज्ञान के बीच बहुत गहरे और व्यापक संबंध हैं। यह समझने में कि वे क्या हो सकते हैं, ध्यान रखें कि कंप्यूटर विज्ञान को "सूचना प्रौद्योगिकी" या "सूचना विज्ञान" भी कहा जाता है, जिसका अर्थ है कि कंप्यूटर सिस्टम जानकारी को पकड़ना, संसाधित करना और वितरित करना है। खैर, तर्क एक ऐसी ही बात है। यह अध्ययन करता है कि सूचनाओं को वाक्यों में कैसे कैद किया जाता है और एक कथन का दूसरे के परिणाम के लिए कैसे संभव है , अर्थात, इसकी सूचना सामग्री पहले से ही दूसरे कथन (या कथनों का संग्रह) में मौजूद है। उस अर्थ में, तर्क और कंप्यूटर विज्ञान अनिवार्य रूप से समान हैंअनुशासन, विभिन्न पहलुओं पर ध्यान केंद्रित करना। तर्कशास्त्रियों (चर्च, क्लेने, ट्यूरिंग, पोस्ट और उनके छात्रों और सहकर्मियों) ने कंप्यूटर विज्ञान का अनुशासन बनाया, और कई तर्कशास्त्रियों ने कंप्यूटर विज्ञान में योगदान देना जारी रखा, विशेष रूप से जीन-यवेस गिरार्ड और उनके छात्रों ने।
कंप्यूटर विज्ञान में तर्क के कुछ मानक अनुप्रयोग इस प्रकार हैं:
डिजिटल सर्किट का डिज़ाइन पूरी तरह से प्रस्ताव तर्क पर आधारित है, इतना है कि इसके इंजीनियर इसे "सर्किट डिज़ाइन" के बजाय "लॉजिक डिज़ाइन" कहते हैं। यहां तक कि एक कंप्यूटर प्रोग्राम लिखना भी अक्सर अपने "तर्क" को तैयार करना शामिल होता है। (ध्यान दें कि बाद के अर्थ में "तर्क" औपचारिक तर्क के बजाय एक अनौपचारिक विचार है, जिसका उपयोग कार्यक्रम के माध्यम से जानकारी पर प्रवाह को संदर्भित करने के लिए किया जाता है और क्या इसे सही तरीके से संसाधित किया जा रहा है।)
विधेय तर्क और उसके गणितीय चचेरे भाई, सेट सिद्धांत, का उपयोग विभिन्न कंप्यूटिंग भाषाओं में किया जाता है , उदाहरण के लिए, रिलेशनल डेटाबेस प्रश्नों के लिए भाषा एसक्यूएल। लॉजिक पर आधारित प्रोग्रामिंग लैंग्वेज भी हैं, जिन्हें "लॉजिक प्रोग्रामिंग लैंग्वेज" कहा जाता है।
ज्ञान प्रतिनिधित्व , जिसका आपने पहले ही उल्लेख किया है, तर्क के आधार पर कई औपचारिकताएं हैं। यहां तक कि अगर यह गैर-तार्किक औपचारिकताओं का उपयोग करता है, तो उनमें से कई अभी भी एक तार्किक अर्थ है , और इसलिए तर्क पर आधारित हैं।
संभाव्य तर्क, जहां बयानों में केवल सही / गलत मूल्य नहीं होते हैं, लेकिन निश्चितता / अनिश्चितता के स्तर, तेजी से सीखने की प्रणाली की नींव रखते हैं ।
यदि आप औपचारिक रूप से यह बताना चाहते हैं कि कोई प्रोग्राम क्या करता है, अर्थात, प्रोग्राम स्पेसिफिकेशन देने पर , आप किसी तार्किक भाषा के कुछ रूप का उपयोग करके समाप्त हो जाएंगे। दरअसल, जेड और बी जैसी कई कार्यक्रम विनिर्देश भाषाएं हैं, जो विधेय तर्क और सेट सिद्धांत पर आधारित हैं। लर्स्च जैसे तार्किक तर्क पर आधारित विनिर्देश भाषाएं भी हैं। कंप्यूटर वैज्ञानिक अक्सर कंप्यूटर विज्ञान की आवश्यकताओं का प्रतिनिधित्व करने के लिए नए लॉजिक्स का आविष्कार करते हैं, जैसे, होरे लॉजिक और सेपरेशन लॉजिक, या वे पारंपरिक लॉजिक्स के विभिन्न अप्रयुक्त रूपों जैसे अस्थायी तर्क और मोडल लॉजिक को उठाते हैं और विकसित करते हैं, और उन्हें आगे विकसित करते हैं।
यदि आप यह सत्यापित करना चाहते हैं कि क्या कोई प्रोग्राम वह करता है जो उसे करना चाहिए, तो आप न केवल तर्क की भाषा का उपयोग करते हैं, बल्कि तर्क की पूरी मशीनरी : प्रमाण सिद्धांत, मॉडल सिद्धांत और निर्णय प्रक्रियाएं। सत्यापन तकनीक अब छलांग और सीमा से बढ़ रही है और मुझे उम्मीद है कि, एक और दशक में, वे लगभग सभी सॉफ्टवेयर विकास के लिए नियमित रूप से उपयोग किए जाएंगे।
वास्तव में, तर्क और कंप्यूटर विज्ञान के बीच संबंध इतने गहरे और व्यापक हैं कि मैं कहूंगा कि तर्क की गहन समझ के बिना एक अच्छा कंप्यूटर वैज्ञानिक बनना कठिन है।
इस समय एआई के कुछ वैज्ञानिक तर्क देते हैं कि एआई के कुछ शुरुआती डेवलपर्स ने ऑफ-द-शेल्फ तर्क को एक उपकरण के रूप में प्रस्तावित किया थानींव के बजाय। एआई, अपने स्वभाव से, जादू देने का वादा करता है। परिणाम देने के लिए हमें प्रोग्रामिंग सिस्टम का कठिन काम नहीं करना है। वे अपने आप यह पता लगाने में सक्षम होंगे कि समाधान कैसे उत्पन्न किया जाए क्योंकि वे "बुद्धिमान" होंगे। लॉजिक उस रास्ते को इंगित करता था क्योंकि अगर कंप्यूटर सिस्टम तर्क को समझते थे और तर्क के नियमों का उपयोग करके जानकारी को संसाधित करना जानते थे, तो वे जादू देने में सक्षम होंगे। तर्क में इस तरह की आस्था थी, पूर्वव्यापी में, गलत तरीके से। पहली बार में, ऑफ-द-शेल्फ तर्क एक ही समय में बहुत मजबूत और बहुत कमजोर है। यह इस अर्थ में बहुत मजबूत है कि प्रभावी प्रक्रियाओं को तैयार करने के लिए तर्क के नियम बहुत सामान्य हैं। यह बहुत कमजोर भी है क्योंकि यह गणित की जरूरतों के लिए गणितज्ञों द्वारा तैयार किया गया तर्क है और यह नहीं है ' टी को वास्तविक दुनिया की कई प्रकार की सूचनाओं से निपटने के लिए आवश्यक शब्दावली है जो एआई सिस्टम को संभालना चाहिए (जैसे कि अनिश्चितता, प्रासंगिक जानकारी जैसे समय, परिवर्तन, ज्ञान, एजेंसी और आगे)। इसलिए, एआई वर्तमान में तर्क के खिलाफ बैकलैश से गुजर रहा है। लेकिन मुझे लगता है कि, जब वे उस बैकलैश पर पहुंच जाते हैं, तो एआई वैज्ञानिकों को एहसास होगा कि सभी नए तरीके अभी भी आधारित हैंतर्क, मोटे तौर पर संकुचित ।