এআই এর জন্য সাম্প্রতিক প্রোগ্রামিং ভাষা? [বন্ধ]


15

কয়েক দশক ধরে এআইয়ের পছন্দের প্রোগ্রামিং ভাষা হয় প্রোলগ বা এলআইএসপি , এবং আরও কয়েকজন যা এতটা পরিচিত নয় । তাদের বেশিরভাগগুলি 70 এর দশকের আগে ডিজাইন করা হয়েছিল।

অন্যান্য অনেকগুলি ডোমেন নির্দিষ্ট ভাষার ক্ষেত্রে পরিবর্তনগুলি অনেক ঘটে, তবে এআই ডোমেনে এটি ওয়েব নির্দিষ্ট ভাষা বা স্ক্রিপ্টিং ইত্যাদির মতো এতটা সামনে আসে নি had

এখানে কি সাম্প্রতিক প্রোগ্রামিং ভাষা রয়েছে যা এআইতে গেমটি পরিবর্তন করার এবং পূর্ববর্তী ভাষার অপ্রতুলতা থেকে শিখার উদ্দেশ্যে তৈরি হয়েছিল?


1
যদি এআই এর শাখাটি আপনার আগ্রহী হয় তবে মেশিন লার্নিংয়ের জন্য অক্টাভা একটি ভাল ভাষা।
setzamora

একটি মেটা-প্রোগ্রামিং পদ্ধতির বিবেচনা করুন (অর্থাত্ প্রোগ্রামিং উত্সকরণ)) দেখব J.Pitrat এর ব্লগ । তারপরে আপনি যে ভাষাটি উত্পন্ন করেন তাতে প্রচুর পরিমাণে তাত্পর্য নাও থাকতে পারে, এটি
সিও

উত্তর:


23

স্ট্যানফোর্ডে শেখানো আমি যে অনলাইন এআই কোর্সে অনলাইনে অংশ নিয়েছিলাম, সেটিকে হোম ওয়ার্কের জন্য পাইথনটি ব্যবহার করার পরামর্শ দেওয়া হয়েছিল। আমার বিশ্বাস জর্জিয়া টেক এখনও এলআইএসপি ব্যবহার করে।

এখানে মিথ্যাচারটি "নতুন" হ'ল "ভাল"। এআই গবেষণা প্রাচীনতম কম্পিউটিং গবেষণা শাখাগুলির মধ্যে একটি। এটি সাবফিল্ডগুলিকে প্রশ্রয় দেয় কারণ লোকেরা বুঝতে পারে যে এর থেকে কৌশলগুলি অন্য কোথাও ব্যবহার করা যেতে পারে। ভাষা প্রক্রিয়াজাতকরণ, মেশিন লার্নিং এবং ডেটা মাইনিং সমস্ত "ব্যবহারিক" অ্যাপ্লিকেশনগুলির উদাহরণ যা ভাষার বিশাল সংখ্যক হোস্ট ব্যবহার করে।

সুতরাং এটি কম যে মূল ক্ষেত্রটি সম্পর্কিত শাখাগুলির বিশাল অ্যারেতে সংশোধিত হওয়ার চেয়ে পরিবর্তিত হয়েছে। এটি অনেকটা "সায়েন্টিফিক কম্পিউটিং" বলা এবং এটি লিনিয়ার সমীকরণগুলি সমাধান করার অর্থ প্রত্যাশা করার মতো।

আপনি উল্লিখিত ভাষাগুলি গত 20 বা 30 বছর ধরে বেশ বিকশিত হয়েছে। লিস্প সাধারণ লিপ্প এবং ক্লোজারে জড়িত। প্রোলোগ ভিজ্যুয়াল প্রোলোগ তৈরি করেছে (এতে বস্তু রয়েছে ...) এবং বুধ (হাস্কেল এবং প্রোলোগ নিন, তাদের একসাথে একটি ঘরে লক করুন ... ভালভাবে দাঁড়ান এবং চালানোর জন্য প্রস্তুত হন)।

এআই গবেষণা আরও তাত্ত্বিক বলে বিবেচনা করে এটি উপলব্ধি করে যে এটি ব্যবহারিকাগুলি (ভাষাগুলি) না দিয়ে তত্ত্বের (গণিত) দিকে মনোনিবেশ করবে।

যা যা বলা হচ্ছে, এআই প্রযুক্তিগুলির সবচেয়ে বড় উদ্ভাবক হ'ল গুগল। তারা পাইথনকে সমর্থন করে (এবং গো এবং ডার্ট তবে এটি পয়েন্টের পাশে)। সুতরাং আমি বলতে চাই পাইথনটি "পছন্দসই সাম্প্রতিক ভাষা" তবে আপনি হাস্কেল বা ওক্যামেল বা এফ # বা সি # বা এমনকি জাভাও ব্যবহার করতে পারেন।


+1 বুধ উল্লেখ করার জন্য।
গাই কোডার

8

স্প্রিংগার দ্বারা প্রকাশিত জার্মান এআই জার্নাল কেআই-কানস্টেলিচে ইন্টেলিজ , খণ্ড 26, সংখ্যা 1 এর সাম্প্রতিক বিশেষ সংখ্যা "স্প্রেচেন ডের কেআই" ("এআই এর ভাষা") থেকে আপনি আপনার প্রশ্নের উত্তর পেতে পারেন । আমি এতে অন্তর্ভুক্ত আলোচনার কাগজের একটি অংশের সহ-লেখক: "আপনার এআই প্রোগ্রামগুলি তৈরি করতে আপনি কোন ভাষা ব্যবহার করেন এবং কেন?" এখানে এর একটি প্রিন্ট দেওয়া আছে: http://ai.cs.unibas.ch /papers/schmid-et-al-kijournal2012.pdf

সংক্ষেপে, কিছু এআই গবেষক এখনও ক্লাসিক এআই ভাষা লিস্প এবং প্রোলোগের শপথ করে। অন্যরা মূলধারার ভাষা যেমন সি ++, জাভা বা পাইথন ব্যবহার করে। এখনও অন্যরা নতুন গুপ্ত প্রোগ্রামিং ভাষা অন্বেষণ করতে পছন্দ করে।

আমি বিশ্বাস করি এআই সম্পর্কে এমন বিশেষ কিছু নেই যার জন্য বিশেষ প্রোগ্রামিং ভাষার প্রয়োজন হবে। গবেষকরা সাধারণত যা চান তা হ'ল প্রোগ্রামিং ভাষাগুলি যা দ্রুত প্রোটোটাইপিংয়ের অনুমতি দেয়। এটি পুরানো এআই ভাষা (লিস্প, প্রোলোলগ) এবং আরও নতুন "স্ক্রিপ্টিং" ভাষা (পার্ল, পাইথন, রুবি, বা ক্লোজারের মতো সাম্প্রতিক জেভিএম ভাষাগুলি) দুর্দান্ত।

কিছু গবেষক প্রোটোটাইপিংয়ের বাইরে যেতে চান, বা তাদের বিশেষ প্রয়োজনীয়তা রয়েছে (উদাহরণস্বরূপ বড় ডেটা) এবং অনুসন্ধানের প্রোগ্রামিং পর্ব শেষ হয়ে গেলে তাদের সিগেট, সি ++ বা জাভা এর মতো সংকলিত বা দৃ strongly়ভাবে টাইপিত ভাষায় তাদের অ্যালগোরিদমগুলি পুনরায় প্রয়োগ করতে হবে এবং তাদের একটি সমস্যা আরও ভাল গ্রেপ্তি। কেউ কেউ বলবে যে সেই সময়ে (যখন সমস্যাটি ভালভাবে বোঝা যায়), আপনি আর এআইয়ের সাথে আর व्यवहार করছেন না।

আপনার শেষ প্রশ্নে ফিরে আসছি, আমি যে নতুন এআই ভাষাগুলির বিষয়ে অবগত সেগুলি সম্পর্কিত সমস্ত উল্লেখযোগ্য পরিবর্তনগুলি সীমাবদ্ধতা ভিত্তিক প্রোগ্রামিং দ্বারা অনুপ্রাণিত। কেউ এসআইসিস্টাস এবং এসডাব্লুআইয়ের মতো প্রোলোগ বাস্তবায়নে প্রবেশ করেছে, আবার কেউ বুর্ক এবং মোজার্ট / ওজ-এর মতো প্রোলোগ-জাতীয় ভাষা তৈরি করেছেন। অবশ্যই উল্লেখযোগ্য নতুন উন্নয়ন হতে পারে যা সম্পর্কে আমি অবগত নই।


2

যদিও এই উত্তরগুলির বেশিরভাগটি "ভাষা" শব্দের উপর আলোকপাত করে কারণ আপনি এটি আপনার প্রশ্নে ব্যবহার করেছেন, আমি বিশ্বাস করি না যে এআই ভাবছেন যখন আপনার একটি নির্দিষ্ট ভাষা ভাবা উচিত।

আমি বছরের পর বছর ধরে এই প্রযুক্তির সাথে কাজ করছি এবং আমি বর্তমানে প্রুফ সহায়কদের সাথে কাজ করছি এবং ওসিএএমএল থেকে এফ # তে কিছু কোড রূপান্তর করছি code এটি ভাষা নয় যা এআই অর্জন করে তবে ভাষাতে প্রয়োগ করা নির্দিষ্ট অ্যালগরিদম। PROLOG এর জন্য এটি একীকরণের ভিত্তিতে একটি অনুমান ইঞ্জিন । এখন আপনি যদি একীকরণের সাথে শুরু করেন এবং কয়েক বছর ধরে এটি কীভাবে কাস্টমাইজড এবং উন্নত হয়েছে তা দেখুন তবে আমি মনে করি আপনি যে অগ্রগতির সন্ধান করেছেন তাতে আপনি খুঁজে পাবেন। ভাষার উপর ফোকাস করবেন না, অ্যালগরিদমগুলিতে ফোকাস করুন।

উদাহরণস্বরূপ, কার্যকরী ভাষাগুলিতে টাইপ অনুক্রমটি হিন্ডলি – মিলার ব্যবহার করে যা একীকরণের ভিত্তিতে।

প্রুফ অ্যাসিস্ট্যান্টের সাথে নির্দিষ্ট আরেকটি উদাহরণ এখানে , বিজ্ঞপ্তি prolog.ML ml প্রোলোগের জন্য অনুমান ইঞ্জিনটি ওক্যামেলে প্রয়োগ করা হয় এবং এফ # তে অনুবাদ করা হচ্ছে। সুতরাং ওসিএএমএল এবং এফ # এআই ভাষা হিসাবে সাধারণত চিহ্নিত হয় না তবে এআই অ্যালগরিদমগুলি প্রয়োগ করতে তারা সম্পূর্ণ সক্ষম।


আমার এই প্রশ্নটি সম্পর্কে আমি যা ভাবছি ঠিক তা-ই বলতে হবে: আপনি যে ভাষাগুলি লিখতে ব্যবহার করেন তার চেয়ে অ্যালগরিদমগুলি আরও বেশি গুরুত্বপূর্ণ, এ কারণেই আমি যে প্রতিটি এআই বই পড়েছি সেগুলি অ্যালগরিদমের জন্য সিউডোকোড দেওয়ার জন্য জোর দিয়েছিল।
জেজেপি

1

আমি বলব এটি এআই দ্বারা আপনি কী বোঝাতে চেয়েছেন তার উপর নির্ভর করে। সাধারনত মেশিন লার্নিং টুলিংয়ের কিছু দ্রুত বিকাশ দেখেছিল, তাই শ্রেণিবিন্যাস, ক্লাস্টারিং এবং তত্ত্বাবধানে এবং নিরীক্ষণযোগ্য শিক্ষার অন্যান্য ধরণের জন্য বিশেষত সম্ভাব্য গ্রাফিকাল মডেলগুলির সাথে প্রচুর অ্যালগরিদমগুলি পাইথন, সি #, রুবি, ওক্যামল এবং প্রয়োগ করা হয়েছে জাভা, কিছু নাম লিখতে।

আপনি যদি সুপারিশ ইঞ্জিন, সহযোগী ফিল্টারিং বা অন্যান্য ধরণের নিরীক্ষণযোগ্য বা তদারকি করা তত্ত্বাবধানের সমস্যা তৈরির জন্য ডেটাগুলি বড় আকারের হেরফের করছেন তবে আপনি মাহউটের দিকে একবার নজর দিতে পারেন । এটি সত্যিকার অর্থে কোনও "প্রোগ্রামিং ভাষা" নয়, তবে এই ধরণের সমস্যার জন্য এটি সরঞ্জামগুলির একটি সেট। আপনি জাভাতে মডেল কোড, বা গ্রোভির মতো অন্যান্য জেভিএম ভাষাগুলি (একটি গতিশীল, যুক্তিযুক্ত ভাষাগত ভাষা) বা ক্লোজার (লিস্পের মতো) লিখতে পারেন।

আপনি কেন লিস্পকে তারিখ বিবেচনা করবেন তা আমি নিশ্চিত নই; এখান থেকেই অন্যান্য ভাষার (ক্লোজার ইত্যাদি) ভাষার বেশিরভাগ "নতুন" ভাষার বৈশিষ্ট্য উদ্ভূত হয়েছিল।

অবশ্যই, মেশিন লার্নিং কৌশলগুলি সাধারণত বাইনারি লজিকের তুলনায় সম্ভাব্য মডেলগুলির দিকে অগ্রসর হয়, সিদ্ধান্ত-গাছের শৈলীর পদ্ধতির যে প্রায় প্রাথমিক পর্যায়ে এআই প্রচেষ্টা শুরু করেছিল, তাই তর্ক করা সম্ভব যে মেশিন লার্নিং একটি বড় শাখা থেকে একটি শাখা বা একটি রূপান্তর এআই এর


0

আমি বহু বছর আগে এআইয়ের পছন্দের ভাষাটি ছিল প্রোলোগ, যার ভিজ্যুয়াল প্রোলগ সংস্করণ রয়েছে যা ডেলফির মতো আইডিই সহ এসেছে।

প্রোলোগ (এবং এর জিইউআই সংস্করণ ভিজ্যুয়াল প্রোলগ) হ'ল কৃত্রিম বুদ্ধিমত্তা এবং গণ্য ভাষাতত্ত্বের সাথে যুক্ত একটি সাধারণ উদ্দেশ্য যুক্তিযুক্ত প্রোগ্রামিং ভাষা programming

তবে, সাম্প্রতিক প্রবণতাটি দেখায় যে সি #, জাভা, পাইথন, হাস্কেল ইত্যাদি যে কোনও ওওপি ভাষা এআই অ্যাপ্লিকেশনগুলির জন্য প্রোগ্রামেবল হয়ে উঠছে।


3
হাস্কেল ওওপি কখন থেকে?
Andrea

আপনি হাসপেলে ওওপি অনুকরণ করতে পারেন, তাই না?
ইউসুবভ

1
আপনি এটিকে যে কোনও ভাষায় অনুকরণ করতে পারেন, এর অর্থ এই নয় যে আপনি সাধারণত কোনও ভাষাকে ওও
জে কে হিসাবে বিবেচনা করবেন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.