Sequential Impulses With Warmstarting (Последовательные импульсы) (комментарии)
Это сообщение сгенерировано автоматически.
Внес некоторые изменения в терминологии:
SI - не совсем метод решения LCP. LCP - один из возможных вариантов решения системы ограничений, а SI, можно сказать, ему альтернатива. LCP для того чтобы решать реальные системы нужно подточить напильником еще. Ну и оно конечно не только коллизии вроде разрешает :)
Про O(n3) это ты наверное Dantzig/Lemke ввиду имел, а они MLCP решают а не СЛАУ :)
Ну и немного поубавил гордости за Эрина Катто - все-таки Split Impulses не совсем он разработал :) Просто приложил уже к конечному варианту SI.
XperienS
> SI - не совсем метод решения LCP. LCP - один из возможных вариантов решения
> системы ограничений, а SI, можно сказать, ему альтернатива
это не альтернатива.
SI алгоритмически не просто похож, а полностью идентичен PGS (было сверено и сопоставлено)
отличия SI от PGS в алгоритмической части
1. Есть пара оптимизаций из расчета того, что некоторые векторы являются единичными
2. PGS считает множители лагранжа отдельно,
потом использует их уже для изменения скоростей тел
SI сливает результат расчета множителей на каждой итерации, сразу изменяя скорости тел
Разница в идеологиях - Erin Catto объясняет SI в несколько иных терминах, чем LCP,
что, имо не очень хорошо, так как не дает понимания, откуда вообще эти методы и формулы взялись
Shalom
это пахнет холиваром, но все же:
LCP - система вида Ax + q = b;
xi >= 0; bi >= 0; xi * bi = 0;
имеются проблемы для bilateral constraints - решается через MCLP.
PGS - решение системы вида Ax = b;
xi > loi
xi < hii
SI - конкретное решение конкретной проблемы ( система ограничений в динамике твердых тел ).
да, это можно свести через некоторые "тернии" к решению ЛЦП и доказать. Я уверен что можно свести к простому GS и доказать через него. Но это не имеет смысла, по-моему.
Потому что SI направлен не на решение LCP, а на решение системы ограничений конкретно динамики твердых тел, а что он использует в качестве математической подоплеки - не имеет практически никакого отношения к теме. Вообще, если уж так говорить, то SI - это просто PGS, адаптированный к конкретной задаче. Поэтому говорить что SI в основном предназначен для решения LCP помоему - не корректно.
XperienS
> Вообще, если уж так говорить, то SI - это просто PGS, адаптированный к
> конкретной задаче
абсолютно согласен
в литературе по physics programming очень плохо, имо, вводится понятие LCP
это понятие все время вводят в контексте ограничений, заданных якобианами
и после прочтения статей лично у меня создалось полное ощущение, что LCP - это именно один
из способов задания ограничений и их разрешения.
спасибо, что Suslik сказал мне русский эквивалент - СЛАУ =)))
тогда все стало на свои места.
SI - всего лишь численный метод, описанный в контексте решения конкретной СЛАУ
но все равно он предназначен именно для решения MLCP (или на русском СЛАУ с ограничениями на вектор решений)
Про MLCP ты меня очень хорошо поправил, это я что-то уже привык, что в солвере СЛАУ всегда с ограничениями
Shalom
Ненене. Погоди. LCP != СЛАУ. Совсем нет.
СЛАУ - Система Линейных Алгебраических Уравнений, и она суть Ax = b. Решать ее - одно удовольствие вобщем-то.
LCP же это некий апгрейд, добавляются complementarity constraints. Как я и писал, оно имеет вид
Ax + q = b;
xi >= 0; bi >= 0; xi * bi = 0;
очевидно, что решается подобная система, мягко говоря, гораздо сложнее.
Принадлежит задача эта к теории оптимизаций, и применяется совсем не только в физике. В экономике еще, например.
Далее, Mixed LCP. Complementarity constraints задаются для всех элементов LCP, что делает невозможным внедрение в схему bilateral constraints ( простейший пример - шарнирное соединение, aka ball-and-socket joint ). Зато они очень хорошо решаются вышеупомянутым обыкновенным СЛАУ. Поэтому решили смешать LCP и LS ( в английском - эквивалент СЛАУ есть Linear System, LS; вовсе не LCP ), откуда и пошло название.
Придется термин наверное писать.
XperienS
> Принадлежит задача эта к теории оптимизаций
хм, этого я не знал
а какая критериальная функция у этой задачи, значение которой мы оптимизируем?
термин напиши. это точно
перечитав не менее десятка статей, я так, получается и не разобрался что к чему.
XperienS
> Поэтому решили смешать LCP и LS
во блин!!! я думал, что MLCP - это добавление к СЛАУ ограничений на вектор решения
cпасибо большое!
но ведь все равно PGS и SI solver - один человек в разной одеже.
ведь один численный метод одной и той же задачи реализуют: PGS для MLCP
Или и тут я не прав?
Короче, думал забросить physics development, а оно опять тянет к себе непонятками =)
спасибо большое за статейку
да и другие то же самое наверняка скажут =)
Тема в архиве.