Eclass Метаобчислення та їх застосування інверсне обчислення та інверсне програмування, С
С.М. Абрамов, ІНТУІТ
У навчальному курсі визначається один із методів метаобчислень - інверсне обчислення, - і для простої (але повної) мови програмування TSG будується відповідна метапрограма - універсальний вирішальний алгоритм.
Універсальний вирішальний алгоритм (УРА) дозволяє обчислювати програми «у зворотному напрямку»: для заданої програми p і заданого результату r обчислювати уявлення для багатьох вхідних даних d, для яких програма повертає результат r: p(d) = r. У курсі розглянуто кілька удосконалень алгоритму УРА; перенесення інверсного обчислення будь-якою мовою програмування; інверсне програмування Інверсне програмування - це такий підхід, при якому програміст реалізує не ту програму, яка потрібна в завданні, а ту, яка після інверсії збігається з необхідною. Аналізується тісний зв'язок між інверсним та логічним програмуванням.
- Універсальний вирішальний алгоритм. Структура URA
- Приведення програми до табличної форми
- Алгоритм інверсного обчислення програм
- Альтернативне уявлення результатів інверсного обчислення. Коректність URA
- Приклади УРА
- Різні підходи до обчислення та інверсії програм. Огляд розділу 4
- Інверсне програмування. Перенесення інверсних обчислень довільною мовою. Коректність перенесення
- Інверсне програмування (повторення). Доказ коректності inv
- SURA та XURA. MGU та перетин класів. Таблиця рішень
- SURA: симетричний УРА. Інверсне обчислення: перетин графіка з безліччю пошуку. Загальний та окремий випадок. Постановка та вирішення задачі
- XURA: симетричний УРА для випадкунепоганих мов. NTSG
- Відсікання безперспективних дерев. Backpropagation
- Висновки. Поза програмою: BTI замість прямої реалізації
- XSG та XURA: стан та перспективи
- Околицевий аналіз
- Кроки формалізації. Алгоритм nan. Безліч. Околиці
- Околицевий аналізатор
- Повторення: околицевий аналізатор
- Інтуїтивне значення. приклади. Кінцеве об'єднання класів
- Операції над класами та околицями. Перевірка належності даних до класу
- Декомпозиція околиці
- Інтуїтивний сенс околиці. Огляд глави
- Окресне тестування програм. Процес тестування
- Структурні критерії вибору тестів
- Кінцевий автомат. Неформальний граничний критерій
- Метасистемні рівні у навколишньому тестуванні. Крок та властивості околицевого тестування
- Традиційні проблеми тестування програм