Декларативні мови програмування

Декларативні мови програмування - це мови програмування високого рівня, в яких програмістом не задається покроковий алгоритм рішення задачі ("як" вирішити завдання), а деяким чином описується, "що" потрібно отримати як результат. Механізм обробки зіставлення за зразком декларативних тверджень вже реалізовано у пристрої мови.

Типовим прикладом таких мов є мови логічного програмування (мови, засновані на системі правил). У програмах на мовах логічного програмування відповідні дії виконуються тільки за наявності необхідного дозвільної умови.

Характерною особливістю декларативних мов є їхня декларативна семантика. Основна концепція декларативної семантики полягає в тому, що зміст кожного оператора не залежить від того, як цей оператор використовується в програмі. Декларативна семантика значно простіша за семантику імперативних мов.

Найпоширенішою мовою логічного програмування є мова Пролог.

2). Логічне програмування — парадигма програмування, а також розділ дискретної математики, що вивчає методи і можливості цієї парадигми, засновані на виведенні нових фактів з даних фактів згідно із заданими логічними правилами. Логічне програмування засноване на теорії математичної логіки. Найвідомішою мовою логічного програмування є Prolog, що є за своєю суттю універсальною машиною виводу, що працює в припущенні замкнутості системи фактів.

Першою мовою логічного програмування була мова Planner, в якій була закладена можливість автоматичного виведення результату з даних і заданих правил перебору варіантів (сукупність яких називалася планом). Planner використовувався для того, щоб знизити вимоги до обчислювальних ресурсів (за допомогою методу backtracking) і забезпечити можливість виведення фактів, без активного використання стека. Потім була розроблена мова Prolog, яка не вимагала плану перебору варіантів і була, в цьому смислі, спрощенням мови Planner.

Від мови Planner також відбулися логічні мови програмування QA-4, Popler, Conniver, і QLISP. Мови програмування Mercury, Visual Prolog, Oz і Fril будувалися вже від мови Prolog. На базі мови Planner було розроблене також декілька альтернативних мов логічного програмування, не заснованих на методі backtracking, наприклад, Ether.

Пролог — мова логічного програмування. Пролог заснований на теорії предикатів першого порядку. Назва мови програмування розшифровується як (Програмування в логіці). Ідея використання можливостей наведення теорії предикатів першого порядку — одна з головних переваг мови Пролог для комп'ютерних наук взагалі та штучного інтелекту.

Основними поняттями у мові Пролог є факти, правила логічного висновку та запити, що дозволяють описувати бази знань, процедури логічного виводу та прийняття рішень.

Факти у мові Пролог описуються логічними предикатами з конкретними значеннями. Правила в Пролозі записуються у формі правил логічного виводу з логічними висновками і списком логічних умов.

Особливу роль у інтерпретаторі Прологу відіграють конкретні запити до баз знань, на які система логічного програмування генерує відповіді «істина» і «брехня». Для узагальнених запитів із змінними у якості аргументів система Пролог виводить конкретні дані на підтвердження істинності узагальнених відомостей і правил виводу.

Факти в базах знань на мові Пролог представляють конкретні відомості (знання). Узагальнені відомості і знання в мові Пролог задаються правилами логічного виводу (визначеннями) і наборами таких правил виводу (визначень) над конкретними фактами і узагальненими відомостями.

Майже всі сучасні комп’тери засновані на ранніх, розроблених у 40-х роках ідеях фон Неймана та його коллег. Машина фон Неймана має більшу пам’ять і процесор, оснащений локальною пам’яттю і комірками, що називаються регістрами. Процесор може завантажувати дані з пам’яті в регістри, виконувати арифметичні та логічні операції над вмістом регістрів і надсилати значення регістрів на згадку. Програма мащини фон Неймана являє собою послідовність команд виконання перерахованих операцій разом з додатковою більшістю команд управління, які впливають на вибір наступної команди.В міру подолання технічних проблем створення комп’ютерів накопичувалися проблеми пов’язані з їх використанням.Труднощі змістилися з області виконання програм комп’ютера в область створення програм для комп’ютера. Почалися пошуки мов програмування, які були зрозумілі людині. Починаючи з мови, яка сприймається комп’ютером (машинної мови), стали з’являтися більш зручні формалізми і системи позначень. І хоч ступінь абстракції мов зріс, починаючи з нібито асемблера і далі до Фортрана, Алгола, Паскаля і Ади,всі вони несуть друк машини з архітектурою фон Неймана. Характерні особливості програмування на комп’ютерах фон Неймана призводять до розподілу праці: є люди, які думають як вирішити задачу, і розробляють відповідні методи, а є люди-кодувальщики, які пишуть тексти программ, тобто виконують прозаїчну і стомлюючу роботу з перекладом інструкції розроблювачів у команди, які сприймаються комп’ютером.

Джерела логіки пов’язані з дослідженнями наукової думки. Логіка є точною мовою для явного вираження цілей, знань і припущень. Логіка дає выражения целей, знаний и предположений. Логіка дає підставу, що дозволяє виводити наслідкиз вихідних положень. Логіка дозволяє, виходячи зі знання про істинність або помилковість деяких тверджень, зробити висновок про істинність або помилковість інших тверджень. Логіка дозволяє обґрунтовувати несуперечність тверджень і перевіряти істинність наведених доводів.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: