██ چکیده‌ی مطلب‌های فصل بیست و چهارم نسخه‌ی پولی ایبوک هوش مصنوعی ██

 

مترجم: سهراب جلوه گر جلوه‌گر

 

چکیده‌ی مطلب‌های فصل بیست و چهارم- آشنایی با زبان برنامه‌نویسی پرولوگ

برنامه‌ها از تعریف روال‌ها تشکیل شده‌اند‌؛ یک روال، منبعی برای ارزیابی چیزی می‌باشد‌.

در پرولوگ‌، «-:»‌، به معنای «if‌(اگر)»‌؛ «,»‌، به معنای «and»؛ و «;»، به معنای «or» می‌باشد‌.

پرولوگ فراخوانی‌های در یک پرس‌و‌جو را به صورت ترتیبی و با همان ترتیبی که از چپ به راست‌ نوشته شده‌اند‌، ارزیابی می‌کند‌.

واژگان شروع شده با یک حرف بزرگ یا خطّ زیرین(‌_‌)‌، متغیّر هستند‌.

گزاره‌ها و ثابت‌ها همیشه با حروف کوچک یا عدد‌ شروع می‌شوند‌.

در پرولوگ دو نوع عبارت داریم‌؛ یکی‌، قانون‌ها که دارای علامت «-:» هستند؛ و دیگری‌، واقعیّت‌ها که دارای علامت «-:» نمی‌باشند.

قانون «a:-b,c.»؛ ‌یعنی‌، «اگر b و c‌ (هر دو) درست باشند‌، آنگاه a‌ درست خواهد بود‌.»

هر واقعیّت‌، مثل «happy(mary).» فقط دارای یک گزاره است‌.

هر عبارت در پرولوگ با نقطه(.) خاتمه می‌یابد‌.

تعریف یک گزاره در پرولوگ تقریباً با تعریف یک زیربرنامه برابر است و گزاره‌هایی که در بدنه‌ی شرط می‌آیند‌، تقریباً با فراخوانی زیربرنامه‌ برابر هستند‌.

توضیح‌ها به وسیله‌ی پرولوگ پردازش نمی‌شوند‌؛ به عبارت دیگر، کاری بر روی آنها انجام نمی‌شود.

متغیّرهایی که درون پرس‌و‌جوها هستند، به صورت سور وجودی(‌$‌) رفتار می‌نمایند‌.

متغیّرهای درون شرط‌های برنامه به صورت سورهای عمومی(‌"‌)‌ عمل می‌کنند‌.

واژه‌ها‌ عناصری هستند که می‌توانند به صورت آرگومان‌های گزاره‌ها ظاهر شوند‌.

اتم‌ها، عددها و متغیّرها اجزای سازنده‌ی واژه‌های پیچیده هستند.

دو عبارت در پرولوگ‌ یکسان هستند‌، اگر برای هر متغیّر موجود در آنها(دو عبارت) موردی وجود داشته باشد که آنها(دو عبارت) را برابر نماید‌.

از عملگر مساوی(‌=‌)‌ برای برّرسی یکسان بودن دو عبارت‌ استفاده می‌نماییم‌.

لیست‌‌، رشته‌ای محدود از عنصرها است.

لیست‌، از دو قسمت سر(H) و دنباله یا دم(T)‌ تشکیل می‌شود‌؛ اگر n‌، طول لیست باشد‌، قسمت اوّل لیست‌، سر‌ نام دارد و بقیّه‌ی لیست (‌که لیستی با طول n-1 است‌)‌، دم یا دنباله‌ نام دارد‌؛ به عنوان مثال، در لیست [a,b,c]‌، a‌، سر و [b,c]‌، دنباله می‌باشد‌.

در پرولوگ، از عملگرهای «/»، برای «انجام عمل تقسیم»؛ «**»، برای «انجام عمل به توان رساندن»؛ «//»، برای «به دست آوردن خارج قسمت تقسیم صحیح» و از «mod»، برای «به دست آوردن باقیمانده‌ی تقسیم صحیح» استفاده می‌نماییم‌.

برای وادار کردن پرولوگ به محاسبه‌ی عبارت‌های محاسباتی، مثل جمع، ضرب، تقسیم و غیره می‌توان از عملگر is استفاده کرد.

در پرولوگ ‌برای برّرسی مساوی یا کوچک‌تر بودن‌ از عملگر «>=» استفاده می‌کنیم و عملگر «=>» نداریم.

بازگشت‌، در هر زبانی‌، تابعی است که می‌تواند تا زمانی که به هدف خود برسد‌، خودش را فراخوانی نماید‌.