Шаги малыша
В предыдущем сообщении в блоге я описал свой проект по привязке движений к алгоритмическим решениям с намерением в конечном итоге решить алгоритм, используя только движения.
Время выбирать алгоритм!
Мне нужен динамический алгоритм, в котором есть много субстанции, к которой я могу привязать движения.
Изучив свои книги по алгоритмам и подумав о прошлых алгоритмах, которые я решал, я обратился к Google. Google познакомил меня с динамическим программированием!
Динамическое программирование — это метод упрощения сложной задачи путем ее разбиения на более простые подзадачи с последующим рекурсивным решением подзадач. (Это также часть моего проекта хореографии, так что давайте обратимся к этому мета-пространству).
Алгоритм, которым я буду заниматься, — это самая длинная общая подпоследовательность.
Итак, что такое подпоследовательность?
Для двух последовательностей подпоследовательность — это последовательность, которая появляется в том же относительном порядке, что и другая, но не обязательно непрерывно.
Найти подпоследовательность — это одно. Другое дело — найти самую длинную подпоследовательность. Здесь я сделаю паузу и подумаю о том, как движения моего тела могут сопоставляться с общей идеей поиска подпоследовательности внутри двух более крупных последовательностей.
Вот мои первоначальные мысли:
- Поиграйте с делением тела пополам. Две стороны тела движутся отдельно, но с несколькими похожими мотивами. Каждое движение представляет символ в последовательности. Например, букву «А» в одной из последовательностей можно было представить в движении как быстрый толчок локтем в сторону от корпуса.
- Продолжайте фразу, пока последующие движения не станут больше и драматичнее, а другие символы в последовательности не станут меньше и не исчезнут.
- У нас осталась только подпоследовательность (выход).
Это не решит алгоритм. Это позволит установить, что именно происходит в алгоритме самой длинной общей последовательности. Это часть сеанса кодирования псевдокода/высказывания.
Я поработаю над некоторыми паттернами движения, основываясь на своих первоначальных мыслях и на основе данных, перечисленных выше.
Оставайтесь с нами для следующего поста, который будет включать видео моя работа до сих пор!