Как уже ни раз говорилось, TDA крайне дорого и долго считать на обычном железе, и основная проблема тут в построении симплициальных комплексов. Для примера так же возьмем Vietoris-Rips complex на n точках содержит до binom(n, k+1) симплексов размерности k, что приводит к кубической сложности уже для вычисления одномерных гомологий, что в свою очередь делает невозможной реализацию в задачах, где задержка должна быть в рамках миллисекунд.
В таких условиях сама по себе реализация этих вычислений на FPGA особых плюсов не дает, а так же требует более сложный подбор структур данных, чтобы они соответствовали и согласовывались с ограничениям параллельного хранилища и пропускной способности памяти.
Но все таки решение есть, а именно Witness complex. В основе он представляет собой конструкцию, которая аппроксимирует облака точек на основе небольшого подмножества landmark-точек. Из за чего размер комплекса теперь определяется числом landmarks, а не общим числом точек, что существенно упрощает работу с ним и делает его основным кандидатом для работы с real time TDA.
И в этом после я хотел в рассказать каким образом можно выбирать landmarks точки, а так же поговорю о возможных способах представления данных для работы с TDA в условиях ограниченной памяти + пример применения алгоритма в детекте аномалий в сетевом трафике.
Post #104
150