ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1227379 Топик полностью
RxTx (29.07.2022 14:53, просмотров: 395) ответил =AlexD= на hint: автоматы могут быть вложенными. Если ты не справляешься со сложностью алгоритма, значит ты не справился с декомпозицией задачи. Отлаживать автоматы легко и просто, т.к. их поведение совершенно предсказуемо.
Когда я писал, уже ожидал такой ответ. "Легко и просто". Да-да-да... И ключ в твоем ответе в последней фразе: «Совершенно предсказуемо». Все мои ответы содержатся в моем же сообщении выше, достаточно его прочесть медленно, попытавшись внимательно проанализировать, а не сфантазировать быстренько, чего я там "не справился", якобы не декомпозировал, и т.д. Вложенные автоматы там как минимум упоминаются. Повторюсь: FSM и отлаживаются и ложатся на задачу легко и просто 

только там, где существует жёсткий, заранее заданный, предопределенный

(тривиальный) граф переходов автомата. Когда © «их поведение совершенно предсказемо». Подобных автоматов я написал не один десяток, как правило написанное не нуждалось в отладке. Всё становится совершенно иначе, как только FSM отрабатывает на естественные события. У нас можно сказать несложный робот - автомат. Вот буквально прошлой командировке разбирали "ленту" телеметрии втроём, восклицая "Ёп, как так-то??!?!? Да как это возможно?!?!?" А вот так. Возможно. Даже зная и предсказывая все состояния, в очень быстрых комбинациях (1 KHz) они могут причинять внешне видимые крайне нетривиальные реакции на внешние события. Аналогично и при написании логики базирующеся на FSM, пока автоматик/подавтоматики тривиальные, всё © легко и просто. Как только это становится хотя бы тупой 3D-стрелялкой уровня Quake (прохождение/отработка уровней это FSM), всё "легко и просто", вот только описать и отладить внутренние автоматы игровой логики на уровне абстракции C кода не-воз-мож-но. Беда не только с представлением/методами отладки автомата. Беда в том что никто в обозримое время не завершит декомпозицию задачи.

Спасибо, князь. Вы настоящий дворянин. И программист.