প্রোলোগ এআই প্রোগ্রামিংয়ের জন্য কেন ভাল? [বন্ধ]


25

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

আপনি কীভাবে যুক্তি দিতে পারেন যে এআই প্রোগ্রামিংয়ের জন্য প্রোলোগ আরও কার্যকর হবে?

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

এআই-তে প্রোলোগের জন্য আরও কিছু বলা যেতে পারে?


1
লিস্পে প্রোলোগ সংকলক / দোভাষী লিখতে খুব বেশি কাজ হয় না। পন গ্রাহাম অন ​​লিস্পে একটি উদাহরণ রয়েছে ।
ল্যারি কোলেম্যান

আমার এক সহপাঠী আমাকেও এটি বলছিলেন। আমি এটি সত্যিই আকর্ষণীয় পেয়েছি যে এলআইএসপির প্রতীকী ম্যানিপুলেশন আমাকে প্রোলগ পুনরায় তৈরি করতে দেয়। একপাশে সুন্দর জন্য ধন্যবাদ!
2rs2ts

4
@ ল্যারি কোলম্যান: লিস্পে একটি নিষ্পাপ প্রোলোগ সংকলক / দোভাষী লিখতে খুব বেশি কাজ হয় না। দক্ষ এবং সম্পূর্ণরূপে কার্যক্ষম একটি তৈরি করা যে কোনও ভাষায় অপ্রয়োজনীয়।
আমার সঠিক মতামতটি

উত্তর:


19

কৃত্রিম বুদ্ধিমত্তার জন্য প্রোলগ প্রোগ্রামিংয়ের প্রবর্তন থেকে শুরু করে :

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

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


আমার এখানে ছোটখাটো সংযোজন হ'ল প্রলগ আপনাকে তথ্যগুলি ঘোষণার অনুমতি দেয় এবং তারপরে সেই সমস্ত তথ্যের উপর ভিত্তি করে নিয়ম করে। তোমার নিয়ম তারপর Prolog দ্বারা ব্যবহার করা যেতে পারে কারণ এবং যুক্তি দ্বারা অন্যান্য প্রশ্নের উত্তর deducing উত্তর। উদাহরণস্বরূপ, যদি কোনও সত্যটি এটিকে বি এর পূর্বপুরুষ এবং অন্য কোনও সত্যে বলা হয় যে বি সি এর পূর্বপুরুষ, তবে প্রোলোগ অনুমান করতে পারেন যে এটি পরীক্ষা করার জন্য আপনাকে অ্যালগরিদম না লিখেই সি এর পূর্বপুরুষ হতে হবে।
কোড_ড্রেড

25

আমি আমার আন্ডারগ্র্যাডে এআই কোর্সের একটি ভূমিকা নিয়েছিলাম যা প্রোলোগকে আমাদের একটি বিশেষজ্ঞ সিস্টেম প্রয়োগ করতে ব্যবহার করে।

একটি বিশেষজ্ঞ সিস্টেম হ'ল একটি সফ্টওয়্যার যা খুব নির্দিষ্ট সমস্যা সমাধানের জন্য ব্যবহৃত হয় যার সমাধান একটি উচ্চ সংখ্যক নিয়ম এবং ভেরিয়েবলের উপর নির্ভরশীল।

উদাহরণস্বরূপ, আপনি এমন একটি বিশেষজ্ঞ সিস্টেম কল্পনা করতে পারেন যা আপনাকে জানায় যে বাইরে বেরোনোর ​​সময় আপনার সাথে একটি ছাতা নেওয়া উচিত কিনা; আপনি এটিকে এক সেট ডেটা দেবেন (মেঘলা মেঘলা হোক, আগের দিন বৃষ্টি হয়েছিল কিনা, কোন মরসুম ইত্যাদি ইত্যাদি) এবং বিশেষজ্ঞ সিস্টেম আপনাকে একটি উত্তর দেওয়ার জন্য নিয়মগুলি অনুসরণ করবে (যদি এটি মেঘলা থাকে এবং বৃষ্টি হলে আগের দিন, তারপরে আপনার একটি ছাতা নেওয়া উচিত)।

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

আপনি যদি এই বিষয়ে আগ্রহী হন তবে আমি আপনাকে একটি প্রোলোগ দোভাষী ইনস্টল করার পরামর্শ দিচ্ছি এবং এটির জন্য অনুভূতি অর্জনের জন্য একটি খুব বেসিক বিশেষজ্ঞ সিস্টেমটি প্রয়োগ করার চেষ্টা করব - এটি আপনাকে এই কাজগুলির জন্য এতো শক্তিশালী সরঞ্জাম কেন বুঝতে পারে help


আমি আমার গবেষণায় পড়েছিলাম যে প্রোলোগ বিশেষজ্ঞ সিস্টেমগুলি কার্যকর করা সহজ করে তোলে। কিছু ব্যাখ্যার সাথে এটি ব্যাক আপ করার জন্য ধন্যবাদ :)
2rs2ts

16

পার্থক্যটি একটি প্রোগ্রাম লেখার পরিবর্তে ডাটাবেস প্রশ্নের জন্য এসকিউএল ব্যবহার করার মতো, বলুন, সি এসকিউএলে আপনি যা চান তা বলেন - তবে আপনাকে (সরাসরি) এটিকে প্রাপ্ত করার জন্য ব্যবহৃত অ্যালগরিদম নির্দিষ্ট করতে হবে না।

কোনও প্রোলোগ প্রোগ্রামকে কখনও কখনও ডেটাবেস বলা হয় তবে এটি প্রকৃতপক্ষে অনুমানমূলক যুক্তির একটি সেট। মূল্যায়ন প্রক্রিয়াটি ক্যোয়ারীটি গ্রহণ করে এবং ভবিষ্যদ্বাণীপূর্ণ যুক্তিযুক্ত বিবৃতিগুলির ভিত্তিতে সঠিক সমাধানগুলি অনুসন্ধানের জন্য অনুসন্ধান করে এটির উপর ভিত্তি করে প্রতিস্থাপন করে। প্রয়োজনীয় সমস্ত অনুসন্ধান অ্যালগরিদম (এসকিউএল ক্যোয়ারীর চেয়ে অনেক বেশি জড়িত) প্রোলগ সংকলকটিতে অন্তর্নির্মিত।

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

সিতে প্রয়োগ করা একটি প্রোলোগ ক্যোয়ারির জন্য ইউনিয়ন-আবিষ্কার কৌশলটি ব্যবহার করে একটি ব্যাকট্র্যাকিং অনুসন্ধান প্রয়োজন (কমপক্ষে)। এবং এটি আবার একটি নিষ্পাপ সমাধান।

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

ভবিষ্যদ্বাণী যুক্তি হ'ল এআই সমস্যার সেই স্টাইলটি সংজ্ঞায়িত করার প্রাকৃতিক পন্থা এবং প্রোলগ-এ একবার আপনি যখন এই সংজ্ঞাটি পেয়ে থাকেন তবে এই সমস্ত বিশ্রী অনুসন্ধান অ্যালগরিদমগুলি প্রয়োগ না করেই আপনি সরাসরি চালাতে পারবেন।


3

আমি বিশ্ববিদ্যালয়ে 2 টি প্রোলোগ মডিউল নিয়েছি এবং ভাষায় বিকাশ করা খুব উপভোগ করেছি।

এটি বিশেষজ্ঞ সিস্টেমগুলির জন্য বিশেষত ভাল, আমি একটি মেডিকেল সিমটম ডায়াগনোসিস লিখেছিলাম।

আমাকে যেভাবে ব্যাখ্যা করা হয়েছিল তা হ'ল লিস্প নির্দিষ্ট কিছু দেশে বেশি ব্যবহার করা এবং অন্য দেশে প্রোলোগ ব্যবহার করার ঝোঁক।

যার দিক থেকে সবচেয়ে ভাল, আমি কেবল তখন লিপকে সংক্ষিপ্তভাবে আচ্ছাদিত করেছিলাম যখন আমি একটি তাত্ত্বিক কম্পিউটার বিজ্ঞান মডিউলে ল্যাম্বডা ক্যালকুলাস করেছি তাই আমি প্রোলোগের দিকে পক্ষপাতদুষ্ট।

আপনি যদি উত্তরগুলি পেতে নিয়ম এবং তথ্যাদি মোকাবেলার জন্য একটি অ্যাপ্লিকেশন বিকাশ করছেন তবে প্রোলোগ খুব ভাল এবং স্বাভাবিকভাবে ব্যাকট্র্যাকিং সমর্থন করে।

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