Некоторые подходы к разбиению задачи на дискретные шаги в современном программировании:
- Нисходящее динамическое программирование. 1 Задача разбивается на подзадачи меньшего размера, они решаются и затем комбинируются для решения исходной задачи. 1 Используется запоминание для решений уже решённых подзадач. 1
- Восходящее динамическое программирование. 1 Все подзадачи, которые впоследствии понадобятся для решения исходной задачи, просчитываются заранее и затем используются для построения решения исходной задачи. 1
Также в дискретном программировании для разбиения задачи на подмножества используется метод ветвей и границ. 4 Его суть в упорядоченном переборе вариантов и рассмотрении лишь тех из них, которые оказываются по определённым признакам перспективными, и отбрасывании бесперспективных вариантов. 4