Пролог менен Лисптин ортосундагы айырма

Пролог менен Лисптин ортосундагы айырма
Пролог менен Лисптин ортосундагы айырма

Video: Пролог менен Лисптин ортосундагы айырма

Video: Пролог менен Лисптин ортосундагы айырма
Video: Кичинекей Стиви 16+ 2024, Июль
Anonim

Prolog vs Lisp

Prolog жана Lisp - бүгүнкү күндө эң популярдуу AI (Жасалма Интеллект) компьютердик программалоо тилдеринин экөө. Алар эки башка программалоо парадигмасы менен курулган. Prolog - декларативдик тил, ал эми Lisp - функционалдык тил. Экөө тең ар кандай AI көйгөйлөрү үчүн колдонулат, бирок Prolog көбүнчө логика жана ой жүгүртүү маселелери үчүн колдонулат, ал эми Lisp тез прототиптөө муктаждыктары үчүн колдонулат.

Пролог

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

Lisp

Lisp – компьютердик программалоо тилдеринин үй-бүлөсү. Бүгүнкү күндө жалпы максаттуу программалоо үчүн колдонулган эң белгилүү Lisp диалектилери Common Lisp жана Scheme. LISP аталышы "LISt Processing" деген сөздөн келип чыккан жана ал ишарат кылгандай, Lispтин негизги маалымат түзүмү - бул шилтемеленген тизме. Чындыгында, бүт булак тизмелер (префикс белгилерин колдонуу менен) же туурараак кашаага алынган тизмелер (s-экспрессиялар деп аталат) аркылуу жазылган. Мисалы, функциянын чакыруусу (f a1 a2 a3) катары жазылат, бул f функциясы функциянын кириш аргументтери катары a1, a2 жана a3 аркылуу чакырылганын билдирет. Ошондуктан ал экспрессияга багытталган тил деп аталат, мында бардык маалыматтар жана код туюнтма катары жазылат (Lispде туюнтмалар менен операторлордун ортосунда эч кандай айырма жок). Бул жакшы өзгөчөлүк Lisp үчүн абдан өзгөчө, анда аны пайдалуу макросторду жазуу менен тилди көйгөйгө кеңейтүү үчүн колдонсо болот. Программисттер циклдерди туюнтуу үчүн куйрук-рекурсияны колдонсо да, Lisp диалектилеринин бардыгына цикл сыяктуу башкаруу структуралары кирет. Андан тышкары, Common Lisp жана схемада функциялардын мисалдары болгон mapcar жана карта бар, алар функцияны анын бардык элементтерине ырааттуу колдонуу менен цикл функциясын камсыз кылат жана натыйжаларды тизмеге чогултат.

Prolog менен Lisp ортосунда кандай айырма бар?

Prolog жана Lisp эң популярдуу AI программалоо тилдеринин экөөсү болгону менен, алардын ар кандай айырмачылыктары бар. Lisp функционалдык тил, ал эми Prolog логикалык программалоо жана декларативдик тилдер. Lisp тез прототиптөө жана макро өзгөчөлүктөрүнөн улам абдан ийкемдүү, андыктан тилди көйгөйгө ылайыкташтырууга мүмкүнчүлүк берет. AI, графика жана колдонуучу интерфейстери тармактарында Lisp бул тез прототиптөө жөндөмүнөн улам кеңири колдонулган. Бирок, орнотулган логикалык программалоо жөндөмдүүлүгүнөн улам, Prolog символикалык ой жүгүртүү, маалымат базасы жана тил талдоо тиркемелери менен AI көйгөйлөрү үчүн идеалдуу. Бирин экинчисинен тандоо толугу менен чечилиши керек болгон AI көйгөйүнүн түрүнө жараша болот.

Сунушталууда: