প্রোলোজ এবং লিসপের মধ্যে পার্থক্য

Anonim

প্রোলোজ বনাম লিস্প

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

প্রলোভ

প্রলোভ একটি এআই প্রোগ্রামিং ভাষা। এটি লজিক প্রোগ্রামিং ভাষাগুলির পরিবারের অন্তর্গত। Prolog একটি ঘোষণামূলক ভাষা, যার মধ্যে সম্পর্কগুলি (প্রোগ্রাম লজিক প্রতিনিধিত্ব করে) সম্পর্কগুলি সম্পর্কে জিজ্ঞাসা করে, যা নিয়ম এবং সত্য হিসাবে সংজ্ঞায়িত করা হয় দ্বারা গণনা করা হয়। 1970 সালে প্রতিষ্ঠিত, prolog প্রাচীনতম লজিক প্রোগ্রামিং ভাষাগুলির একটি এবং আজকের সর্বাধিক জনপ্রিয় এ.আই. প্রোগ্রামিং ভাষাগুলির মধ্যে একটি (লিপ সহ)। এটি একটি বিনামূল্যের ভাষা, কিন্তু অনেক বাণিজ্যিক রূপগুলি পাওয়া যায়। এটি প্রথম প্রাকৃতিক ভাষা প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়েছিল, কিন্তু এখন এটি বিভিন্ন কাজের জন্য ব্যবহার করা হয় যেমন বিশেষজ্ঞ সিস্টেমগুলি, স্বয়ংক্রিয় উত্তর প্রদানকারী সিস্টেম, গেমস এবং উন্নত নিয়ন্ত্রণ ব্যবস্থা। প্রোলোল কেবলমাত্র একটি ডেটা টাইপ যার নামটি বলা হয়। একটি শব্দ একটি পরমাণু, সংখ্যা, পরিবর্তনশীল বা একটি যৌগিক শব্দ হতে পারে। সংখ্যাগুলি ভাসা বা পূর্ণসংখ্যা হতে পারে। Prolog আইটেম সংগ্রহ হিসাবে তালিকা এবং স্ট্রিং সমর্থন করে। Prolog ধারা ব্যবহার করে সম্পর্ক সংজ্ঞায়িত করে। ক্লজ কোনটি নিয়ম বা ঘটনা হতে পারে। Prolog এর পুনরাবৃত্তিমূলক পূর্বাভাসের পূর্ণতা পরিলক্ষিত করতে পারবেন।

--২ ->

লিপ

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

প্রলোভ এবং লিস্পের মধ্যে পার্থক্য কি?

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