О блоге
Чат
Канал
Toss a coin ♪
 
20 Mar 2020

Умное разбиение задач

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

Ты можешь подписаться

powered by 
boosted by