Пролог пен Лисп арасындағы айырмашылық

Пролог пен Лисп арасындағы айырмашылық
Пролог пен Лисп арасындағы айырмашылық

Бейне: Пролог пен Лисп арасындағы айырмашылық

Бейне: Пролог пен Лисп арасындағы айырмашылық
Бейне: ТИМУР ДАНАНЫ ҰРЫП ЖІБЕРДІ😱#qoslike #қослайық #кослайк #кослайкпрямойэфир 2024, Шілде
Anonim

Prolog vs Lisp

Prolog және Lisp - бүгінгі таңда ең танымал AI (жасанды интеллект) компьютерлік бағдарламалау тілдерінің екеуі. Олар екі түрлі бағдарламалау парадигмасымен құрастырылған. Prolog - декларативті тіл, ал Lisp - функционалды тіл. Екеуі де әртүрлі AI мәселелері үшін пайдаланылады, бірақ Prolog көбіне логика мен пайымдау мәселелері үшін пайдаланылады, ал Lisp жылдам прототиптеу қажеттіліктеріне байланысты мәселелер үшін пайдаланылады.

Пролог

Prolog – AI бағдарламалау тілі. Ол логикалық бағдарламалау тілдері тобына жатады. Пролог – декларативті тіл, онда есептеулер ережелер мен факт ретінде анықталған қатынастар (бағдарлама логикасын білдіретін) бойынша сұрауларды орындау арқылы жүзеге асырылады.1970 жылы әзірленген prolog – ең көне логикалық бағдарламалау тілдерінің бірі және бүгінгі таңда ең танымал AI бағдарламалау тілдерінің бірі (Lisp тілімен бірге). Бұл тегін тіл, бірақ көптеген коммерциялық нұсқалары бар. Ол алдымен табиғи тілді өңдеу үшін пайдаланылды, бірақ қазір ол сараптамалық жүйелер, автоматтандырылған жауап беру жүйелері, ойындар және кеңейтілген басқару жүйелері сияқты әртүрлі тапсырмалар үшін қолданылады. Прологта термин деп аталатын бір ғана деректер түрі бар. Термин атом, сан, айнымалы немесе күрделі термин болуы мүмкін. Сандар қалқымалы немесе бүтін сандар болуы мүмкін. Пролог тізімдер мен жолды элементтер жинағы ретінде қолдайды. Пролог сөйлемдерді пайдалана отырып қатынастарды анықтайды. Сөйлемдер ережелер немесе фактілер болуы мүмкін. Пролог өзінің рекурсивті предикаттарын мұқият итерациялауға мүмкіндік береді.

Lisp

Lisp - компьютерлік бағдарламалау тілдерінің тобы. Бүгінгі таңда жалпы мақсаттағы бағдарламалау үшін қолданылатын ең танымал Lisp диалектілері - Common Lisp және Scheme. LISP атауы «LISt өңдеуден» шыққан және ол көрсеткендей, Lisp деректерінің негізгі құрылымы байланыстырылған тізім болып табылады. Шындығында, бүкіл дереккөз тізімдер (префикстік белгілерді пайдалану) немесе дұрыс жақшаға алынған тізімдер (s-өрнектер деп аталады) арқылы жазылған. Мысалы, функция шақыруы (f a1 a2 a3) түрінде жазылады, бұл f функциясы функцияның кіріс аргументтері ретінде a1, a2 және a3 арқылы шақырылатынын білдіреді. Сондықтан оны өрнекке бағытталған тіл деп атайды, мұнда барлық деректер мен код өрнек ретінде жазылады (Lisp тілінде өрнектер мен мәлімдемелер арасында ешқандай айырмашылық жоқ). Бұл жақсы мүмкіндік Lisp үшін өте ерекше, оны пайдалы макростарды жазу арқылы мәселенің тілін кеңейту үшін пайдалануға болады. Бағдарламашылар циклдарды білдіру үшін tail-рекурсияны пайдаланғанымен, барлық жиі кездесетін Lisp диалектілері цикл сияқты басқару құрылымдарын қамтиды. Сонымен қатар, Common Lisp және схемасында функциялардың мысалдары болып табылатын mapcar және map бар, олар функцияны оның барлық элементтеріне дәйекті қолдану арқылы цикл функциясын қамтамасыз етеді, содан кейін нәтижелерді тізімге жинайды.

Пролог пен Лисптің айырмашылығы неде?

Prolog және Lisp ең танымал AI бағдарламалау тілдерінің екеуі болғанымен, олардың әртүрлі айырмашылықтары бар. Lisp - функционалды тіл, ал Prolog - логикалық бағдарламалау және декларативті тілдер. Lisp жылдам прототиптеу және макро мүмкіндіктері арқасында өте икемді, сондықтан ол іс жүзінде мәселеге сәйкес тілді кеңейтуге мүмкіндік береді. AI, графика және пайдаланушы интерфейстері салаларында Lisp осы жылдам прототиптеу қабілетіне байланысты кеңінен қолданылды. Дегенмен, кіріктірілген логикалық бағдарламалау қабілеттерінің арқасында Prolog символдық негіздеу, дерекқор және тілді талдау қолданбалары бар AI мәселелері үшін өте қолайлы. Біреуін екіншісінен таңдау толығымен шешілуі керек AI мәселесінің түріне байланысты.

Ұсынылған: