زمان تخمینی مطالعه: 5 دقیقه
برنامه نویسی منطقی یک پارادایم برنامه نویسی است که مبتنی بر منطق است. این بدان معنی است که یک زبان برنامه نویسی Logic دارای جملاتی است که از منطق پیروی میکنند، به طوری که آنها حقایق و قوانین را بیان میکنند. محاسبات با استفاده از برنامه نویسی منطق با استنتاج منطقی بر اساس تمام دادههای موجود انجام میشود. برای اینکه برنامههای کامپیوتری بتوانند از برنامه نویسی منطق استفاده کنند، باید مبنایی از منطق وجود داشته باشد که گزاره(predicates) نامیده میشود. گزارهها برای ساختن فرمولهای اتمی(غیرقابل تفکیک) یا اتمها استفاده میشوند که حقایق واقعی را بیان میکنند. گزارهها و اتمها برای ایجاد فرمولها و انجام پرس و جو استفاده میشوند.
به عبارت دیگر برنامه نویسی منطقی یک پارادایم برنامه نویسی کامپیوتری است که در آن عبارات برنامه حقایق و قوانین مربوط به مشکلات را در یک سیستم منطق رسمی بیان میکند. قوانین به صورت بندهای منطقی با سر(Head) و بدن(Body) نوشته میشوند. به عنوان مثال، “H درست است اگر B1، B2، و B3 درست باشند.” حقایق شبیه به قوانین اما بدون بدنه هستند. به عنوان مثال، “H درست است.”
زبانهای منطقی اغلب برای نمایش دادههای مرتبط به پرسوجوها متکی هستند. این پرس و جوها میتوانند به عنوان بخشی از یادگیری ماشینی وجود داشته باشند که میتوانند بدون نیاز به مداخله دستی اجرا شوند. چندین زبان برنامه نویسی منطقی مختلف وجود دارد. رایجترین زبان، Prolog (از برنامه نویسی فرانسوی logique یا برنامه نویسی در منطق) است که میتواند با زبانهای برنامه نویسی دیگر مانند جاوا و C ارتباط برقرار کند. علاوه بر اینکه محبوبترین زبان برنامه نویسی منطقی است، Prolog جزء اولین زبانهای برنامه نویسی منطق نیز هست. زبان Prolog با استفاده از منطق مرتبه اول، که به آن منطق گزاره نیز گفته میشود، توسعه داده شد که امکان استفاده از متغیرها را به جای گزارهها فراهم میکند. Prolog از هوش مصنوعی (AI) برای کمک به نتیجهگیری خود استفاده میکند و میتواند به سرعت حجم زیادی از دادهها را پردازش کند. Prolog را میتوان با یا بدون ورودی دستی اجرا کرد، به این معنی که در آن میتوان برنامهریزی کرد تا به عنوان بخشی از پردازش دادهها به طور خودکار اجرا شود.
برنامه نویسی مبتنی بر منطق و به خصوص Prolog میتواند به کسب و کارها و سازمانها از طریق موارد ارائه شده در ادامه کمک کند:
- پردازش زبان طبیعی: پردازش زبان طبیعی (NLP) امکان تعامل بهتر بین انسان و رایانه را فراهم میکند. NLP میتواند به زبان انسان در زمان واقعی گوش دهد و سپس آن را برای رایانهها پردازش و ترجمه کند. این به فناوری اجازه میدهد تا زبان طبیعی را “درک” کند. با این حال، NLP فقط به زبان گفتاری محدود نمیشود. در عوض، NLP همچنین میتواند برای خواندن و درک مستندات، هم در چاپ فیزیکی و هم از برنامههای پردازش کلمه استفاده شود. NLP توسط فناوریهایی مانند Amazon Alexa و Google Home برای پردازش و درک دستورالعملهای گفتاری، و همچنین توسط برنامههای ایمیل برای فیلتر کردن ایمیلهای هرزنامه و هشدار در مورد تلاشهای فیشینگ استفاده میشود.
- مدیریت پایگاه داده: برنامه نویسی منطقی را میتوان برای ایجاد، نگهداری و پرس و جو از پایگاههای داده NoSQL استفاده کرد. برنامه نویسی منطقی میتواند پایگاه داده را از دادههای بزرگ ایجاد کند. برنامه نویسی میتواند شناسایی کند که کدام اطلاعات به عنوان داده مرتبط برنامهریزی شده است و آن را در ناحیه مناسب ذخیره کند. سپس کاربران میتوانند از این پایگاهدادهها با سؤالات خاصی مانند «بهترین مسیر برای رسیدن به نیویورک چیست» سؤال کنند، و کاربران زبانهای منطقی میتوانند به سرعت تمام دادهها را غربال کنند، تجزیه و تحلیلها را اجرا کنند و نتیجه مربوطه را بدون نیاز به کار اضافی برگردانند.
- تجزیه و تحلیل پیشگویانه: با مجموعه دادههای بزرگ، زبانهای منطقی میتوانند ناهماهنگیها یا زمینههای تمایز را برای پیشبینی جستجو کنند. این موضوع میتواند در شناسایی فعالیتهای بالقوه خطرناک (مانند دوچرخه سواری در وسط طوفان) یا برای پیشبینی خرابی ماشینهای صنعتی مفید باشد. همچنین میتوان از آن برای تجزیه و تحلیل عکسها و پیشبینیهای پیرامون تصاویر، مانند پیشبینی هویت اشیاء در عکسهای ماهوارهای، یا تشخیص الگوهایی که دهانههای آتشفشانی را از تودههای خشکی معمولی متمایز میکند، استفاده کرد.
مثالهایی از زبانهای برنامه نویسی منطقی
در زیر نمونههای مختلفی از زبانهای برنامه نویسی مبتنی منطق آورده شده است: