Шаги малыша

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

Время выбирать алгоритм!

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

Изучив свои книги по алгоритмам и подумав о прошлых алгоритмах, которые я решал, я обратился к Google. Google познакомил меня с динамическим программированием!

Динамическое программирование — это метод упрощения сложной задачи путем ее разбиения на более простые подзадачи с последующим рекурсивным решением подзадач. (Это также часть моего проекта хореографии, так что давайте обратимся к этому мета-пространству).

Алгоритм, которым я буду заниматься, — это самая длинная общая подпоследовательность.

Итак, что такое подпоследовательность?

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

Найти подпоследовательность — это одно. Другое дело — найти самую длинную подпоследовательность. Здесь я сделаю паузу и подумаю о том, как движения моего тела могут сопоставляться с общей идеей поиска подпоследовательности внутри двух более крупных последовательностей.

Вот мои первоначальные мысли:

  • Поиграйте с делением тела пополам. Две стороны тела движутся отдельно, но с несколькими похожими мотивами. Каждое движение представляет символ в последовательности. Например, букву «А» в одной из последовательностей можно было представить в движении как быстрый толчок локтем в сторону от корпуса.
  • Продолжайте фразу, пока последующие движения не станут больше и драматичнее, а другие символы в последовательности не станут меньше и не исчезнут.
  • У нас осталась только подпоследовательность (выход).

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

Я поработаю над некоторыми паттернами движения, основываясь на своих первоначальных мыслях и на основе данных, перечисленных выше.

Оставайтесь с нами для следующего поста, который будет включать видео моя работа до сих пор!