क्या लिस्प का उपयोग अभी भी एआई समस्याओं से निपटने के लिए किया जा रहा है?


20

मुझे पता है कि कृत्रिम बुद्धि की समस्याओं पर काम करते समय लिस्प की भाषा का उपयोग जल्दी किया गया था। क्या यह आज भी महत्वपूर्ण काम के लिए इस्तेमाल किया जा रहा है? यदि नहीं, तो क्या कोई नई भाषा है जिसने आज एआई में काम के लिए सबसे आम के रूप में अपनी जगह ले ली है?

जवाबों:


9

कुल मिलाकर, इसका उत्तर नहीं है, लेकिन वर्तमान प्रतिमानों का एलआईएसपी पर बहुत अधिक प्रभाव है। आज सबसे अधिक इस्तेमाल की जाने वाली भाषा अजगर है।

प्रासंगिक उत्तर:

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

एआई के लिए प्रतिमान जो वर्तमान में सबसे अधिक ध्यान आकर्षित करता है, वह है मशीन लर्निंग, जहां हम डेटा से सीखते हैं, जैसा कि एक्सपर्ट सिस्टम (80 के दशक में) के पिछले दृष्टिकोणों के विपरीत है, जहां विशेषज्ञों ने एआई के पालन के लिए नियम लिखे थे। पायथन वर्तमान में मशीन सीखने के लिए सबसे अधिक इस्तेमाल की जाने वाली भाषा है और इसमें कई पुस्तकालय हैं, जैसे टेंसोरफ्लो और पाइटोरच और एक सक्रिय समुदाय। भारी मात्रा में डेटा को संसाधित करने के लिए, हमें Hadoop, Hive या Spark जैसी प्रणालियों की आवश्यकता होती है। इनके लिए कोड अजगर, जावा या स्कैला में लिखा गया है। अक्सर, कोर समय-गहन सबरूटीन सी में लिखे जाते हैं।

80 के दशक का एआई विंटर इसलिए नहीं था क्योंकि हमारे पास सही भाषा नहीं थी, बल्कि इसलिए कि हमारे पास सही एल्गोरिदम, पर्याप्त कम्प्यूटेशनल शक्ति और पर्याप्त डेटा नहीं था। यदि आप एआई सीखने की कोशिश कर रहे हैं, तो अपना समय एल्गोरिदम का अध्ययन करने में बिताएं, न कि भाषाओं पर।


6

मैं निश्चित रूप से एआई मॉडल पर काम करते समय अक्सर लिस्प का उपयोग करना जारी रखता हूं।

आपने पूछा कि क्या इसका इस्तेमाल पर्याप्त काम के लिए किया जा रहा है । मेरे अपने काम के संबंध में जवाब देने के लिए यह बहुत व्यक्तिपरक है, लेकिन मैंने अपने एक AI मॉडल को समझा दिया कि क्या यह खुद को पर्याप्त मानता है या नहीं, और इसने एक सकारात्मक प्रतिक्रिया के साथ जवाब दिया। बेशक, यह प्रतिक्रिया स्वाभाविक रूप से पक्षपाती है।

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


पहला IDE एक LISP IDE था। इसके अलावा, EMMAScript, जावास्क्रिप्ट का औपचारिककरण वर्तमान में फैशनेबल पायथन की तुलना में तेजी से प्रोटोटाइप के लिए एक भाषाई प्रणाली बेहतर है, और यह जावा की तुलना में LISP की तरह अधिक है। मुझे मशीन के विजन और सुनवाई में आगे बढ़ने के अलावा एमएल के मौजूदा रुझान से अधिक स्थायी मूल्य नहीं दिख रहा है। मैं मानता हूं कि LISP अभी भी AI प्रयोगशाला के काम के लिए एक उत्कृष्ट भाषा है और संरचित डेटा का प्रतिनिधित्व करने के लिए XML की तुलना में बहुत अधिक प्राकृतिक है।
9 अक्टूबर को FauChristian

4

LISP अभी भी काफी उपयोग किया जाता है, लेकिन कम और कम। पूर्व में इसका उपयोग करने वाले बहुत से लोगों के कारण अभी भी गति है, जो अभी भी उद्योग या अनुसंधान में सक्रिय हैं (उपाख्यान: अंतिम वीसीआर जुलाई 2016 में एक जापानी निर्माता द्वारा निर्मित किया गया था, हाँ)। हालांकि, एआई के प्रकार के लिए भाषा का उपयोग किया जाता है (जो मेरी जानकारी के लिए है) मशीन लर्निंग का लाभ नहीं उठाता है, आमतौर पर रसेल और नॉरविग की संदर्भ पुस्तकों के रूप में। ये एप्लिकेशन अभी भी बहुत उपयोगी हैं, लेकिन मशीन लर्निंग इन दिनों सभी भाप प्राप्त करता है।

गिरावट का एक और कारण यह है कि एलआईएसपी के चिकित्सकों ने आंशिक रूप से क्लोजर और अन्य हालिया भाषाओं में स्थानांतरित कर दिया है।

यदि आप एआई तकनीकों के बारे में सीख रहे हैं, तो एलआईएसपी (या स्कीम या प्रोलॉग) यह समझने के लिए अच्छा विकल्प है कि बड़े पैमाने पर "एआई" के साथ क्या हो रहा है। लेकिन अगर आप चाहते हैं या बहुत व्यावहारिक होना चाहते हैं, तो पायथन या आर सामुदायिक विकल्प हैं

नोट: उपरोक्त में ठोस उदाहरण और संदर्भ का अभाव है। मैं विश्वविद्यालयों में कुछ काम के बारे में जानता हूं, और कुछ कंपनियां एलआईएसपी से सीधे या सीधे प्रेरित हैं।


@ हर्ष के उत्तर को जोड़ने के लिए, LISP (और स्कीम, और प्रोलॉग) में ऐसे गुण हैं जो यह देखते हैं कि यह बुद्धिमान तंत्र बनाने के लिए बेहतर अनुकूल था --- 60 के दशक में एआई जैसा माना जाता है।

गुणों में से एक यह था कि भाषा का डिज़ाइन डेवलपर को एक बहुत ही सुरुचिपूर्ण तरीके से सोचने के लिए, एक बड़ी समस्या को छोटी समस्याओं आदि में विघटित करने के लिए ले जाता है, आदि "चतुर", या "बुद्धिमान" यदि आप करेंगे। कुछ अन्य भाषाओं की तुलना में, इस तरह से विकसित करने के अलावा कोई विकल्प नहीं है। LISP एक सूची प्रसंस्करण भाषा है, और "विशुद्ध रूप से कार्यात्मक" है।

हालाँकि, एक समस्या, LISP से संबंधित कार्य में देखी जा सकती है। एआई डोमेन में एक उल्लेखनीय स्थिति स्थिति पथरी पर काम है , जहां (संक्षेप में) एक "दुनिया" में वस्तुओं और नियमों का वर्णन करता है, और इसे स्थितियों की गणना करने के लिए विकसित कर सकता है --- दुनिया के राज्यों। तो यह स्थितियों पर तर्क करने के लिए एक मॉडल है। मुख्य समस्या को फ्रेम समस्या कहा जाता है , जिसका अर्थ है कि यह पथरी यह नहीं बता सकती है कि क्या नहीं हैपरिवर्तन --- बस क्या परिवर्तन। दुनिया में परिभाषित कुछ भी संसाधित नहीं किया जा सकता है (एमएल के साथ यहां अंतर पर ध्यान दें)। पहले कार्यान्वयन में LISPs का उपयोग किया गया था, क्योंकि तब AI भाषा थी। और फ्रेम की समस्या से बंधे थे। लेकिन, जैसा कि @ हर्ष ने उल्लेख किया है, यह एलआईएसपी की गलती नहीं है: किसी भी भाषा को एक ही फ्रेमिंग मुद्दे (स्थिति गणना की एक वैचारिक समस्या) का सामना करना पड़ेगा।

इसलिए भाषा वास्तव में एआई / एजीआई / एएसआई के दृष्टिकोण से कोई फर्क नहीं पड़ता है। अवधारणाएं (एल्गोरिदम, आदि) वास्तव में मायने रखती हैं।

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


1

मेरी राय में अजगर और जावा ने LISP से कब्जा कर लिया है। बहुत से लोग उनका उपयोग करते हैं, बड़ी मात्रा में पुस्तकालय उपलब्ध हैं। और अधिक महत्वपूर्ण बात, वे वेब प्रौद्योगिकियों में एकीकृत करना आसान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.