Eclass Метаобчислення та їх застосування інверсне обчислення та інверсне програмування, С

С.М. Абрамов, ІНТУІТ

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

Універсальний вирішальний алгоритм (УРА) дозволяє обчислювати програми «у зворотному напрямку»: для заданої програми p і заданого результату r обчислювати уявлення для багатьох вхідних даних d, для яких програма повертає результат r: p(d) = r. У курсі розглянуто кілька удосконалень алгоритму УРА; перенесення інверсного обчислення будь-якою мовою програмування; інверсне програмування Інверсне програмування - це такий підхід, при якому програміст реалізує не ту програму, яка потрібна в завданні, а ту, яка після інверсії збігається з необхідною. Аналізується тісний зв'язок між інверсним та логічним програмуванням.

  1. Універсальний вирішальний алгоритм. Структура URA
  2. Приведення програми до табличної форми
  3. Алгоритм інверсного обчислення програм
  4. Альтернативне уявлення результатів інверсного обчислення. Коректність URA
  5. Приклади УРА
  6. Різні підходи до обчислення та інверсії програм. Огляд розділу 4
  7. Інверсне програмування. Перенесення інверсних обчислень довільною мовою. Коректність перенесення
  8. Інверсне програмування (повторення). Доказ коректності inv
  9. SURA та XURA. MGU та перетин класів. Таблиця рішень
  10. SURA: симетричний УРА. Інверсне обчислення: перетин графіка з безліччю пошуку. Загальний та окремий випадок. Постановка та вирішення задачі
  11. XURA: симетричний УРА для випадкунепоганих мов. NTSG
  12. Відсікання безперспективних дерев. Backpropagation
  13. Висновки. Поза програмою: BTI замість прямої реалізації
  14. XSG та XURA: стан та перспективи
  15. Околицевий аналіз
  16. Кроки формалізації. Алгоритм nan. Безліч. Околиці
  17. Околицевий аналізатор
  18. Повторення: околицевий аналізатор
  19. Інтуїтивне значення. приклади. Кінцеве об'єднання класів
  20. Операції над класами та околицями. Перевірка належності даних до класу
  21. Декомпозиція околиці
  22. Інтуїтивний сенс околиці. Огляд глави
  23. Окресне тестування програм. Процес тестування
  24. Структурні критерії вибору тестів
  25. Кінцевий автомат. Неформальний граничний критерій
  26. Метасистемні рівні у навколишньому тестуванні. Крок та властивості околицевого тестування
  27. Традиційні проблеми тестування програм