زبانهای برنامهنویسیAI، برنامهنویسی تابعی ، برنامهنویسی تابعی در Lisp ، A- Syntax (نحو) و semantic های (معانی) Lisp ، لیست انواع داده ، تعریف توابع جدید ، تعریف ساختارهای کنترلی ، تعریف توابع بازگشتی ، توابع مرتبه بالا ، سایر زبانهای برنامهنویسی تابعی غیر از Lisp ، برنامهنویسی منطقی در Prolog ، سایر روشهای برنامهنویسی
واژه نامه
بندهای برنامه Prolog شامل مجموعهای از جملات بنام بندها هستند که برای نشان دادن دادهها و برنامهها بکار میروند.
تابع مرتبه بالا تعریف تابعی است که اجازه میدهد آرگومانها یا مقدار بازگشتی تابع، مقدار توابع باشد. نماد ساختار لیستها اغلب نشاندهنده نحوه استفاده از لیست ساختاری داده هستند، که یک عنصر لیست ممکن است نماد یا لیست دیگر باشد. لیستها ساختاری مرکزی Lisp هستند که برای نشان دادن دادهها و برنامهها بکار میروند. بازگشت تکنیکی الگوریتمی برای انجام یک کار است که یک تابع با بعضی از قسمتهای کار خودش را فراخوانی میکند.
محاسبات نمادین برنامهنویسی AI (اساساً) شامل دستکاری نمادها است نه اعداد. این نمادها میتوانند اشیاء در جهان و ارتباط بین آن اشیاء را نشان دهند- ساختارهای پیچیده نمادها نیاز به دانش ما از جهان دارند. واژه ساختار اساسی دادهها در Prolog واژهای است که میتواند یک ثابت، یک متغیر یا یک ساختار باشد. ساختارها موضوعات ریز محاسبات گزارهای را نشان میدهند و شامل یک عملگر نام و یک پارامتر لیست هستند.
زبانهای برنامهنویسی هوش مصنوعی(AI) ابزار اصلی بررسی و ساخت برنامههای کامپیوتری هستند که میتوانند در شبیهسازی فرایندهای هوشمند مانند یادگیری، استدلال و فهم اطلاعات نمادین بکار بروند. هر چند اخیراً زبان کامپیوتر اصولاً برای استفاده از کامپیوترها برای انجام محاسبات با اعداد طراحی شده بود، اما بزودی دریافتند که رشتهای از بیتها نه تنها اعداد بلکه میتوانند اشیای دلخواه را نیز نمایش دهند. عملیات روی ویژهگیها یا نمادها میتواند با استفاده از قوانین برای ایجاد، انتساب یا دستکاری نشان داده شود. این تصور از محاسبات نمادین بعنوان تعریف الگوریتمهایی که هر نوع اطلاعات را پردازش میکنند و بنابراین میتواند برای شبیهسازی هوش انسان بکار برود مناسب است.بزودی برنامه نویسی با نمادها که نیاز به سطح بالایی از چکیدگی دارند تولید میشوند، غیر از امکاناتی که با زبانهای برنامه نویسی مخصوص پردازش اعداد ممکن بود مانند فرترن
I-زبانهای برنامه نویسی AI
در AI خودکار کردن یا برنامهنویسی همه جنبههای شناخت انسانی بوسیله بنیادهای شناخت علمی روشهای نمادین و غیر نمادین AI، پردازش زبان طبیعی، دید کامپیوتری و سیستمهای تکامل یا سازگار مطرح میشود. لازم است دامنه مسئلههای خیلی پیچیده در ابتدای مرحله برنامهنویسی یک مسئله AI معین، مشخص شود که کافی نیست. تنها بوسیله تعامل و افزایش اصلاحات خصوصیات بسیار دقیق ممکن است. در حقیقت مسئلههای معمول AI به بسیاری از زمینههای خاص گرایش دارند، بنابراین روشهای ذهنی باید بوسیله تولید و آزمایش روشها بطور تجربی توسعه یابند(مشهور به نمونه سازی سریع). در اینصورت برنامهنویسی AI بطور قابل توجهی با روشهای استاندارد مهندسی نرمافزار متفاوت بوده زیرا برنامهنویسی معمولا از یک مشخصات رسمی با جزئیات شروع میشود. در برنامهنویسی AI پیادهسازی در واقع جزئی از پردازش مشخصات مسئله است. به اقتضای طبیعت مسئلههای AI برنامهنویسی AI مزایای بسیاری دارد اگر زبانهای برنامه نویسی، برنامهنویسAI را آزاد بگذارند و در بسیاری از ساختارهای فنی محدود نکنند (مانند ساختار انواع دادهای جدید سطح پایین، دستیابی دستی به حافظه). ترجیحاً سبک برنامهنویسی اعلانی برای استفاده در ساختارهای پیشساخته دادهای سطح بالا(مانند لیستها و درختها) و عملیات(مانند تطبیق الگوها) مناسب است، بنابراین محاسبات نمادین سطح خلاصهسازی بیشتری نسبت به آنچه که با زبانهای دستوری استاندارد مانند فرترن، پاسکال یا C امکانپذیر خواهد بود را پشتیبانی میکند. البته طبقهبندی خلاصه سازی آسان نیست، زیرا تدوین برنامههای AI روی کامپیوترهای استاندارد وان نیومن نمیتواند به کارآمدی زبانهای دستوری باشد. هر چند یک مسئله مسلم AI فهم آن است (حداقل جزئیات) امکان دارد با تنظیم مجدد آن به شکل خصوصیات جزئی شده با بکار بردن یک زبان دستوری پیاده سازی مجدد شود. با توجه به نیازمندیهای محاسبات نمادین و برنامهنویسی AI دو الگوی جدید برنامهنویسی که به سبک دستوری پیشنهاد میشوند بوجود میآید: سبک برنامهنویسی تابعی و منطقی. هر دو بر مبنای ریاضیات طرحریزی شدهاند، یعنی نظریه توابع بازگشتی و منطق رسمی. اولین زبان برنامهنویسی AI کاربردی که هنوز هم بطور گسترده استفاده میشود زبان برنامهنویسی Lisp است که در اواخر دهه 1950 توسط جان مک کارتی توسعه یافته است. Lisp برمبنای نظریه توابع ریاضی و خلاصهسازی Lambda است. تعدادی از کاربردهای مهم و موثرAI در Lisp نوشته شده است. که ما بعضی از جزئیات این زبان برنامهنویسی را در این مقاله شرح خواهیم داد. در اوایل دهه 1970 یک الگوی برنامهنویسی جدید بنام برنامهنویسی منطقی بر اساس محاسبات گزارهای بوجود آمد. اولین و مهمترین زبان برنامهنویسی منطقی Prolog است که توسط آلن کالمرار، رابرت کوالسکی و فیلیپ راسل توسعه یافته است. مسئلهها در prolog بصورت حقایق، بدیهیات و قوانین منطقی برای استنباط حقایق جدید بیان میشوند. Prolog با قانون ریاضی در محاسبات گزارهای و نتایج نظری بدست آمده در زمینه اثبات قضیه خودکار در اواخر دهه 1960 بنا نهاده شده است.
شامل 19 صفحه word
دانلود تحقیق زبانهای برنامهنویسی در هوش مصنوعی