2009-07-20 21 views
5

क्या आपको लगता है कि वीबी एआई के लिए एक अच्छी भाषा है? प्रदर्शन की आवश्यकता होने पर मैंने मूल रूप से लिस्प और सी/सी ++ का उपयोग करके एआई किया था, लेकिन हाल ही में कुछ वीबी प्रोग्रामिंग कर रहे हैं। 1. अच्छा डीबगर (आवश्यक!) 2. अच्छा निरीक्षक (घड़ी सुविधा) 3. आसान वाक्य रचना (Intellisense तुलनीय देर 80 लिस्प वातावरण के संपादकों की संरचना करने के):आर्टिफिशियल इंटेलिजेंस के लिए वीबी का उपयोग

वीबी निम्न लाभ हैं। 4. तृतीय पक्ष सॉफ़्टवेयर के साथ एकीकृत करने में आसान। 5. फास्ट कोड (सीएलआर प्रदर्शन बहुत अच्छा) के लिए संकलित 6. तेज विकास।

वैसे, सभी उपयोगी उत्तरों के लिए धन्यवाद। मैंने योगदान देने वाले हर किसी को उखाड़ फेंक दिया है।

+0

मुझे लगता है कि आपका मतलब वीबी.नेट है, पुराने शैली के वीबी नहीं :-) –

+5

वीबी एआई के साथ काम नहीं करेगा बल्कि एएस (कृत्रिम मूर्खता) के साथ काम करेगा। न केवल भाषा के लिए यह बेहतर फिट है, बल्कि यह वास्तविक दुनिया को अधिक सटीक रूप से मानचित्रित करता है। – lavinio

+2

स्काईनेट शायद वीबी में लिखा गया था। उससे काफ़ी कुछ समझ में आ जाएगा*। – Christopher

उत्तर

5

आप किस वीबी के बारे में बात कर रहे हैं? यदि आप वीबी.नेट से बात कर रहे हैं तो हाँ, और नहीं .. मैं सी # या शायद एफ # का सुझाव दूंगा .. एफ # एक कार्यात्मक भाषा है और इसलिए आमतौर पर प्रोग्रामिंग एआई के साथ आप जिन कई पैटर्न से निपटेंगे, उनके लिए बेहतर अनुकूल है। सी # के नए संस्करणों में लैम्बडा एक्सप्रेशन, गुमनाम डेलगेट्स एट अल जैसी भाषा सुविधाओं के लिए भी समर्थन है जो आपको लाभ भी दे सकता है!

+0

हां, वीबी .NET पाठ्यक्रम :) मैंने पुराने वीबी साल पहले कोशिश की, लेकिन कभी "इसे प्राप्त नहीं कर सका" क्योंकि यह बहुत अजीब लग रहा था। वीबी .NET एक सुखद आश्चर्य था। –

+1

वीबी.नेट में लैम्ब्डा अभिव्यक्तियों और अज्ञात प्रतिनिधियों जैसी विशेषताएं भी हैं। सी # और विजुअल बेसिक .NET में लगभग समान फीचर सेट हैं। –

+0

@ जिम, मैंने कभी नहीं कहा कि वीबी.नेट में लैम्बडा और गुमनाम प्रतिनिधि नहीं हैं लेकिन मेरी सिफारिश सी #, या एफ # पर जाती है .. कि, मैं निश्चित रूप से डाउन-वोटिंग के लिए पर्याप्त कारण नहीं मानता। मुझे खेद है कि अगर मैंने आपको VB.NET –

6

मैं सुझाव दूंगा कि आप VB.Net की बजाय C# के साथ जाएं।

आपको उन सभी अच्छी सुविधाएं मिलती हैं जिन पर आप चर्चा करते हैं लेकिन एक बेहतर (और अधिक परिचित) वाक्यविन्यास।

+1

मैं सुझाव दूंगा कि आप सी # के बजाय एफ # के साथ जाएं। आपको उन सभी अच्छी सुविधाएं मिलती हैं जिन पर आप चर्चा करते हैं लेकिन एक बेहतर (और अधिक अभिव्यक्तिपूर्ण) वाक्यविन्यास प्राप्त करते हैं। – Juliet

+0

मैं अभी काम पर वीबी का उपयोग कर रहा हूं, इसलिए गियर स्विच करना आसान नहीं है। अंतर्निहित सीएलआर –

+0

एफ # की वजह से भाषाएं बराबर लगती हैं, यह एक अच्छा है ... मैंने इसके बारे में भी सोचा नहीं था। वीबी का उपयोग करने के संबंध में क्योंकि आप काम पर जा रहे हैं .... मैं अभी भी इससे सहमत नहीं हो सकता। एआई प्रिंसिपल सी # (और निश्चित रूप से एफ #) में व्यक्त करना बहुत आसान है। वीबी एक व्यापारिक भाषा के रूप में बनाया गया था।यह वर्बोज़ है और इसका व्याकरण कुछ चीजों को व्यक्त करना मुश्किल बनाता है। चूंकि यह स्पष्ट रूप से एक पूर्ण भाषा है, इसलिए यह एआई कर सकता है, लेकिन सवाल यह है कि ... क्या आप वास्तव में एआई करना चाहते हैं? यह एक वायवीय प्रभाव रिंच की बजाय एक cresent रिंच के साथ एक 12 इंच अंतराल बोल्ट डूबने की तरह है। eqaul परिणाम – joejoeson

1

1, 2, और 3 सभी पहलुओं हैं जो किसी भी पर्याप्त उन्नत आईडीई के पास हैं, इसलिए अधिकांश भाषाओं के लिए यह कोई समस्या नहीं है। 4, 5, और 6 के लिए: पायथन 4 और 6 फिट बैठता है, लेकिन 5 नहीं, क्योंकि यह बहुत तेज़ नहीं है, हालांकि पाइथन के कुछ कार्यान्वयन में उनकी कॉन्फ़िगरेशन के आधार पर दूसरों की तुलना में बेहतर गति होती है। (बस पाइथन का जिक्र है क्योंकि आपने अपने प्रश्न को पायथन टैग के साथ टैग किया है।)

यदि आप .NET Framework का उपयोग करने की योजना बनाते हैं, तो क्या मैं सी # का सुझाव दे सकता हूं? सिंटैक्स सी और सी ++ (जैसा कि जावा सिंटैक्स के समान है) के समान है, इसलिए यह आपके लिए अधिक परिचित होगा, और यह वही काम करता है जो वीबी करता है (और सभी समान आईडीई विशेषताएं हैं, क्योंकि वे दोनों विजुअल स्टूडियो आईडीई का उपयोग करते हैं, हालांकि मुझे लगता है कि यदि आप कामना करते हैं तो आप एक वैकल्पिक आईडीई का उपयोग कर सकते हैं, क्योंकि वीबी और सी # कंपाइलर्स वास्तव में .NET Framework के साथ आते हैं और विजुअल स्टूडियो के साथ नहीं)।

4

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

+0

असल में मेरा मुख्य क्षेत्र आईएलपी था :) स्टीव मगलटन (जिन्होंने आईएलपी शब्द बनाया) रचनात्मक प्रेरण पर आईजेसीएआई 87 में पत्र प्रस्तुत किए। –

+0

क्या आपने आईएलपी (शान-ह्वेई निएनहुइज़-चेंग और रोनाल्ड डी वुल्फ) की नींव पढ़ी है? यदि आप रुचि रखते हैं तो महान पढ़ें। मेरा मानना ​​है कि जाने का सबसे अच्छा तरीका (कम से कम आईएलपी दृष्टिकोण से) कुछ प्रकार का इंटरऑप है। मेरे यहां सी #/लिस्प इंटरऑप के बारे में एक सवाल है। – SpaceghostAli

+0

नहीं, मैंने उस पुस्तक को नहीं पढ़ा है। मेरा अनुमान है कि एक लेखक सलाहकार है और दूसरा एक पूर्व पीएचडी है। छात्र और यह उनका शोध प्रबंध है :) –

1

वीबी निम्न लाभ हैं: [...]

लेकिन तब आप पर जाने के लिए और सूची सामान कि कॉमन लिस्प प्रस्ताव, विशेष रूप से वाणिज्यिक लोगों की सबसे आधुनिक कार्यान्वयन।

क्या आपने हाल ही में आम लिस्प की कोशिश की है? जब आप सीएल में प्रोग्रामिंग कर रहे हों तो VB.NET के कौन से हिस्से आपको याद करते हैं?

+0

मैंने कई सामान्य लिस्प बोलीभाषाएं - एसबीसीएल, सीएलआईएसपी, लिस्पावर्क्स की कोशिश की है। मुझे थ्रेडिंग और जीयूआई के लिए मानक, भरोसेमंद ढांचे, और स्थापित करने में आसान, मुसीबत मुक्त आईडीई (कीचड़ बट में दर्द था) –

+0

मैं देख सकता हूं कि एसबीसीएल और सीएलआईएसपी के रूप में आप क्या मतलब रखते हैं। लेकिन लिस्पावर्क्स और एलेग्रो में काफी नौसिखिया-अनुकूल यूआई है और समवर्ती और जीयूआई के साथ आते हैं। बेशक वाईएमएमवी ताकि आपको उनके आईडीई बहुत अच्छे न हों। फिर भी यह मेरे लिए लिस्प के बजाय किसी भी Visual .NET विकास पर्यावरण के साथ काम करने का कारण नहीं होगा - जब तक कि आपके ऐप प्रोग्रामिंग का 9 0% GUI सामान न हो। – skypher

+1

मुझे लगता है कि समस्या यह है कि मैं एक वाणिज्यिक उत्पाद (वीबी .NET) के साथ ओपन सोर्स की तुलना कर रहा हूं जो वास्तव में एक उचित तुलना नहीं है। मुझे वास्तव में वैध तुलना के लिए एलेग्रो या लिस्पार्क्स को आज़माएं। –

1

यह निर्भर करता है कि आपका मतलब "एआई" है।

एक आम अर्थ सिर्फ "अग्रणी एज सॉफ्टवेयर तकनीक" है (उदाहरण के लिए शतरंज खेल 2010 के रूप में अब कृत्रिम बुद्धि के बारे में बहुत कुछ नहीं मानता है, केवल बुनियादी सहायक तकनीकों का एक सेट है, क्योंकि यह अब तक बढ़त नहीं है) ।अग्रणी किनारे की सामग्री के लिए, विशेष तकनीक के अनुरूप भाषा को चुना जाना चाहिए। न तो वीबी (विभिन्न प्रकार) और न ही सी ++ अच्छे उम्मीदवार होने की संभावना है।

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

चीयर्स & hth,

-। Alf

0

बात नहीं क्या भाषा आप ऐ में, कोड नहीं करता है, तो उस भाषा आप जटिल गणित करने की अनुमति देता है। वीबी.नेट में सी # जैसी ही विशेषताएं हैं क्योंकि यह समान ढांचे का उपयोग करती है। ढांचे के उन हिस्सों तक पहुंचने से अलग कॉलर्स हो सकते हैं।

एआई को स्मृति और छंटनी के कस्टम कार्यों के लिए बहुत सारे अनुकूलन की आवश्यकता है ... अन-प्रबंधित मेमोरी कॉलर्स के लिए प्रतिबिंब नामस्थान से परिचित हो जाएं। पॉइंटर्स अन-प्रबंधित मेमोरी में संभव और उपयोगी हैं; वीबी इनके लिए भी अनुमति देता है जो सभी सी # लोग लड़ते हैं क्योंकि वे नहीं जानते कि वीबी में इसे कैसे किया जाए। मेमोरी/पॉइंटर और डिस्क आवंटन मार्शल क्लास में स्थित है जो एक इंटरऑप सेवा है।

http://msdn.microsoft.com/en-us/library/vstudio/system.runtime.interopservices.marshal%28v=vs.100%29.aspx

किसी को भी जो आपको बताता है, सी ++ जाना प्रोग्रामिंग नहीं समझती या बस एक धर्मांध कि विश्वास रखता है सी ++ दुनिया का एकमात्र भाषा है एक ही रास्ता है।

एआई आमतौर पर गणित प्रतिनिधियों द्वारा परिभाषित किया जाता है जो एक क्रिया के कार्यात्मक प्रतिनिधित्व होते हैं; इसलिए यदि आपका गणित अच्छा नहीं है; आपका कोड अच्छा नहीं होगा।

तंत्रिका नेटवर्क परवाह नहीं है कि वे किस प्लेटफॉर्म को इकट्ठा किए जाने पर लिखे गए थे; वे विधानसभा हैं।

संबंधित मुद्दे