Разбить проблему на несколько регулируемых частей, найти для каждой практическое решение и медленно прорабатывать их.