Эта заметка вдохновлена эссе из цикла об инструментальной рациональности «Время молотков».
Почитать её можно на русском и на английском. Также она доступна в аудио-формате на русском (телеграм-канал).
День 28 из 31. Снова редукционизм.
Теперь я отчётливо понял как связаны парадокс Зенона и нелинейный прогресс выполнения задач. Это напомнило мне Puzzle Driven Development[^2] от Егора Бугаенко.
Выписал себе следующий алгоритм декомпозиции задач:
- Разбей сложную задачу примерно пополам
- Если первая половина всё ещё сложна, то также разбей её пополам
- Повторяй алгоритм пока «левая» половина не станет достаточно лёгкой для выполнения
Это соответствует теории об экспоненциальной динамике выполнения задач. К примеру, вместо разбиения задачи на 3 равные части, её стоит разбить так чтобы каждый последующий шаг был бы всё большей частью от исходной задачи. К примеру: 1-ый шаг — 17%, второй — 33%, третий — 50%.
Для задач в 10 шагов существует следующая шкала прогресса:
1, 2, 3, 6, 9, 15, 24, 39, 63, 100 (%)
Это подогнанная последовательность Фибоначчи. И у неё есть проблема: дробить задачи сложно в направлении от частного к общему. Так, взяв задачу я понятия не имею сколько в ней шагов на самом деле.
С помощью описанного алгоритма достигается похожий же результат, но в направлении от общего к частному.
- 1: Цикл статей «Время Молотков» (lesswrong.ru)
- 2: Puzzle Driven Development (yegor256.com)