Среда, 27.11.2024
Ukrainiancontet.at.ua
Меню сайта
Категории раздела
Програмування [35]
Мови веб-програмування [5]
О компании [0]
Новости игры
Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0
Главная » 2015 » Октябрь » 25 » Програмування в обмеженнях
22:46
Програмування в обмеженнях
Програмування в обмеженнях (або програмування обмеженнями) є парадигмою програмування, в якій відношення між змінними вказані у формі обмежень. Обмеження відрізняються від загальних примітивів мов імперативного програмування тим, що вони визначають не послідовність кроків для виконання, а властивості шуканого рішення. Це робить програмування в обмеженнях формою декларативного програмування. Обмеження, які використовуються в програмуванні в обмеженнях, бувають різних видів: ті, які використовуються в задачі задоволення обмежень (наприклад, «А або В істинно»), ті, які вирішуються симплекс-алгоритму (наприклад, «x ≤ 5») та інші. Обмеження, як правило, вбудовані в мову програмування або здійснюються через окремі програмні бібліотеки.

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

Програмування в обмеженнях почалося з логічного програмування з обмеженнями (ЛПО), яке є вкладанням обмежень в логічне програмування. Поява цього варіанту логічного програмування пов'язане з іменами Jaffar і Lassez, які розширили в 1987 році певний клас обмежень, які були введені в Prolog II. Першими реалізаціями логічного програмування в обмеженнях були Пролог III, CLP (R) і CHIP. Деякі інтерпретатори логічного програмування в обмеженнях існують і сьогодні, наприклад GNU Prolog.

Крім логічного програмування, обмеження можуть бути змішані з функціональним програмуванням, переписування термів та імперативним мовою. Мови програмування з вбудованою підтримкою обмежень включають Oz (функціональне програмування) і Kaleidoscope (імперативне програмування). Головним чином, обмеження здійснюються в імперативних мовах через інструментальні засоби для рішення задач з обмеженнями, які є окремими бібліотеками для існуючих імперативних мов

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

CHIP був першим мовою ЛПО, використовують поширення обмежень. Іншими прикладами систем ЛПО можуть служити бібліотеки підтримки обмежень ILOG і COSYTEC, а також мови логічного програмування в обмеженнях Prolog III, Prolog IV, CLP(R), ECLiPSe, CIAO, CLP(FD). Використовуючи ці системи, багато складні прикладні завдання були успішно вирішені за допомогою технологій програмування в обмеженнях. У числі прикладів згадаємо перевірку електронних схем, календарне планування, розподіл ресурсів, складання розкладів, керуючі системи, графічні інтерфейси, а також безліч комбінаторних задач.
Категория: Програмування | Просмотров: 491 | Добавил: Admin | Теги: Програмування в обмеженнях | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт

Поиск
Интернет
Здоровье
Афиша
Ситуация на восток
Религия
Архив записей
Каталог сайтов Всего.RU
Рейтинг@Mail.ru
Copyright Ukrainiancontet.at.ua © 2024
uCozЯндекс.Метрика