Я намагався прочитати « Перлини функціонального алгоритму », а згодом « Алгебра програмування », і явна відповідність між рекурсивно (та поліноміально) визначеними типами даних та комбінаторними об'єктами, що мають однакове рекурсивне визначення та згодом провідні до тих самих формальних енергетичних рядів (або генеруючих функцій), як показано у вступках до комбінаторних видів (я читав " Види та функціонери та типи, о, мій! ").
Отже, для першого питання, чи є спосіб відновити генеруюче (рекурсивне) рівняння з ряду потужностей? Це, однак, думка.
Мене більше зацікавило поняття початкових алгебр та кінцевої когелгери як своєрідного «визначення процедур щодо структури даних». Існують деякі практичні правила функціонального програмування, що стосуються композиції, продуктів відображення між алгебрами тощо тощо, описаних, наприклад, у цьому підручнику. Мені здається, що це міг би бути досить потужним способом підходу до складності, і, наприклад, виглядає досить просто, щоб відновити теорему Майстра в такому контексті (я маю на увазі, ви повинні зробити той самий аргумент, тому в цьому випадку не так багато виграшу), і унікальний катаморфізм початкової алгебри та факт (я помиляюсь?), що алгебри між A і FA для фунома-полінома є ізоморфними, мені здається, що такий підхід може мати багато переваг при аналізі складності операції над структурами даних.
З практичної точки зору, схожі на правила злиття (в основному, способи складання алгебрних морфізмів один з одним, морфізми вугілля та загальних морфізмів) є дуже потужною методикою оптимізації програмної трансформації та рефакторингу. Я маю рацію, думаючи, що повне використання цих правил може створити оптимальну програму (без зайвих структур проміжних даних чи інших зайвих операцій).
Я тут щось (і що)? Чи бенефіціар (з точки зору навчання) намагається розглянути складність обчислень таким чином? Чи структури, для яких ми можемо мати «хороші» початкові алгебри, якось занадто обмежені для деяких проблем?
Я в основному намагаюся знайти спосіб подумати про складність з точки зору структури пошукового простору та способу взаємодії "простору пошуку" та "алгоритму пошуку" через якийсь "приємний" об'єкт, наприклад, початкова алгебра функтора і зрозуміти, чи корисно спробувати переглянути речі таким чином, дивлячись на складніші структури.