Критериальный подход
Нежно люблю определение, подсмотренное где-то по молодости в советском учебнике по газодинамике для уровня ПТУ
К анализу недетерминированных систем следует подходить критериально
Автора можно понять, там несложно: процессы в газодинамике чаще всего стохастические. То есть либо они совсем случайные (т.к Винеровский процесс, молекулы хаотично себя ведут), либо поддающиеся описанию только частично. Например, количественно.
Что здесь для нас важно. Мы понятия не имеем, пока не знаем, или вообще никак не сможем узнать, что происходит внутри системы. Но мы все еще можем применять методы, позволяющие узнать, как система себя ведет. А значит, построить модель (чем занимается газодинамика), изучить и предсказать поведение. Система хаотическая — модель предсказуемая.
Особенно важно это понимание (перечитайте определение) в тот момент, когда у вас в руках появляется какая-то непонятная и не очень познаваемая, аналитически не декомпозируемая хрень. Например, неизвестная система, неизученные процессы, всякий рынок, проблемное решение итп. На старте это всегда черный/серый ящик.
Вам не нужно узнавать, как эта хрень устроена — это может быть и вовсе невозможно. Вам следует узнать, как эта хрень себя ведет, и какие у нее пограничные состояния (не все, а важные вам).
Вот это как раз реально.
Совсем недетерминированных систем, кстати, не так много. Тот же газ детерминирован, только доведение стохастической модели даже до недетерминированного автомата — задача 2^N сложности от количества частиц. То есть вам от этого знания ни разу не легче: да, у вас будет модель, только вы ее резко задолбаетесь считать в сколько-нибудь количественном варианте, потому что рост сложности не в вашу пользу. То же самое касается рынка, сопромата, и подобных.
То же самое с переходом от недетерминированного автомата к детерминированному. Да, это математически решаемая задача (что можно доказать), вот только представьте, что входные символы [сигма] домножаются на N состояний по времени. Наглядный пример — рынок: наверное собрать детерминированную модель математически возможно, но вам нужна на входе НКА посекундная история входных символов за 3 года тому назад.
Достижимо? Да. Реально? Не очень.
Для этого существуют критериальные и вероятностные методы.
Легко найти, не всегда легко применить, пока просто помните, что они есть.
Если вам показалось, что происходящее в голове пользователя (и вообще людей) тоже недетерминированная система — вам не показалось.
Ближе к практике. Вам с ограниченным временем не очень надо знать, как система устроена. Как угодно она может быть устроена, who cares.
Вам нужно знать, как система себя ведёт.
А поведение вы как раз можете изучить, исследовать, померить. Даже если вы сделаете это хреново и наспех, сие будет означать, что у вас в руках окажется не слишком точная модель (может подойдет, может нет). Тут уже вам решать.
Не подойдет — пойдёте уточнять модель, искать узкие места, непроработанные сценарии.
Полезно также помнить про подход duck typing: если выглядит как утка, крякает как утка, значит это утка. Набор критериев совпадает — прекрасно для начала, а в остальном вы будете копаться, только если возникнет надобность.