techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
1

Поиск линейной комбинации векторов

24.12.2018, 16:11. Показов 1332. Ответов 12
Метки нет (Все метки)

Задача. Есть единичный 6-вектор. Назовем его target.
Есть набор, состоящий из больее чем одного единичного 6-вектора. Назовем этот набор component.

Задача найти такую единичную линейную комбинацию (combination) векторов из набора component, что скалярное произведение (combination, target) окажется максимально возможным (Совсем уж прямо максимум, на самом деле, необязательно).

Как бы это можно было бы решить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2018, 16:11
Ответы с готовыми решениями:

Найти базис линейной оболочки векторов, и выразить через этот базис остальные векторы системы
Найти базис линейной оболочки векторов, и выразить через этот базис остальные векторы системы:...

Добавить функцию(процедуру) линейной комбинации векторов
Добрый день, есть задача, в ней я читаю сумму векторов, как в нее добавить процедуру линейной...

Определить, можно ли представить число А в виде линейной целочисленной комбинации чисел B и C
Помогите определить, можно ли представить число А в виде линейной целочисленной комбинации чисел B...

Определить, можно ли представить число А в виде линейной целочисленной комбинации чисел B и C
Определить, можно ли представить число А в виде линейной целочисленной комбинации чисел B и C

12
Эксперт по математике/физике
3955 / 2937 / 891
Регистрация: 19.11.2012
Сообщений: 6,043
25.12.2018, 07:54 2
Mirmik, единичный вектор - вектор длины 1? А единичная линейная комбинации - сумма квадратов коэффициентов комбинации равна 1?
0
652 / 456 / 212
Регистрация: 06.09.2013
Сообщений: 1,260
25.12.2018, 11:14 3
Mirmik
Единичная линейная комбинация - это выпуклая линейная комбинация?
Все скалярные произведения целевого вектора и векторов набора заранее просчитываем получаем числа https://www.cyberforum.ru/cgi-bin/latex.cgi?s_i.
Задача сводится к:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\\ \sum \alpha_i s_i \rightarrow max\\ \sum \alpha_i = 1\\ \alpha_i \geq 0
Это задача линейного программирования и она, наверное, очень просто решается.
0
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
25.12.2018, 17:02  [ТС] 4
@kabenyuk
Некоректно сформулировал. Из "единичную линейную комбинацию" слово "единичную" можно убрать.
Да, единичный вектор - это вектор длины один, но без потери общности это условие тоже можно убрать.

@woldemas
Ну таки да. Она самая. Я нашел решение каким-то подобием градиентного спуска, но уверен, все можно сделать гораздо оптимальнее.
Наверняка нужен какой-то симплекс метод...
0
Модератор
Эксперт по математике/физике
6349 / 4057 / 1509
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
25.12.2018, 17:19 5
Mirmik, если опираться на обозначения поста #3, то максимальная сумма будет равна https://www.cyberforum.ru/cgi-bin/latex.cgi?s_{max}=\underset{i=\bar{1;n}}{max}s_i. Т.е наибольшее скалярное произведение с коэффициентом 1, остальные скалярные произведения с коэффициентами 0. Доказательство очень простое:
https://www.cyberforum.ru/cgi-bin/latex.cgi?s_i\leq s_{max}, \: i=\bar{1;n}\\\alpha _is_i\leq \alpha _is_{max}\\\sum_{i=1}^{n}\alpha _i s_i\leq \sum_{i=1}^{n}\alpha_i s_{max} = s_{max}\sum_{i=1}^{n}\alpha_i=s_{max}, причём это максимум достигается, если при этом скалярное произведении взять коэффициент 1.
1
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
25.12.2018, 18:12  [ТС] 6
Кажется мне нужно уточнить исходные.

Есть вектор target.
Есть набор векторов combination.

Необходимо найти такую линейную комбинацию векторов combination, которая в результате дает target.

Понятно, что надо навесить сюда какое-то ограничение....
Ну, незнаю. Пусть сумма коэффициентов линейной комбинации будет минимальной, чтоли...
0
Модератор
Эксперт по математике/физике
6349 / 4057 / 1509
Регистрация: 09.10.2009
Сообщений: 7,550
Записей в блоге: 4
25.12.2018, 18:34 7
Mirmik, а давайте вы вернётесь на шаг назад и объясните, зачем вам всё это нужно, чтобы не было задачи вида "хочу найти не знаю что", так как вы только что поставили совершенно другую задачу - разложение вектора по базису.
0
Эксперт по математике/физике
3955 / 2937 / 891
Регистрация: 19.11.2012
Сообщений: 6,043
25.12.2018, 18:58 8
Цитата Сообщение от jogano Посмотреть сообщение
разложение вектора по базису.
Даже и не по базису, поскольку заранее неизвестно, что за система. Значит может быть много разных комбинаций или ни одной.
0
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
26.12.2018, 11:18  [ТС] 9
Ок. Возвращаемся на шаг назад.

Решаем задачу о переводе роборуки из текущего положения А в положение Б.

Есть робот-манипулятор или функционально подобное ему изделие, описанное своей кинематической схемой. Каждое звено схемы задаёт тензор перехода системы координат. Тензор звена может параметризоваться кинематической координатой или быть константным. Тензор перехода всего изделия в целом есть функция набора кинематических координат.

Рассматриваем возможные перемещения по кинематическим координатам. Приводя возможное перемещение к выходному звену через тензор перехода соответствующей части звеньев, получаем 6-вектор сформированный координатами линейного и углового перемещения https://www.cyberforum.ru/cgi-bin/latex.cgi?(\mathbf{\varphi}(q_i), \mathbf{r}(q_i)) в системе координат выходного звена. И так по всему набору координат.

Теперь возьмем некоторый целевой тензор перехода, соответствующий положению Б выходного звена. Ищем тензор перехода из положения А в положение Б. Раскладываем тензор на линейный сдвиг и вектор Эйлера. Формируем 6-вектор кратчайшего пути из положения А в положение Б.

Теперь у нас есть целевой 6-вектор того, что мы хотим получить и набор 6-векторов компонент того, что мы можем выдать.
Составим целевой вектор из набора компонент. Получаем набор коэффициент, определяющий какое соотношение https://www.cyberforum.ru/cgi-bin/latex.cgi?\dot{q_i} приведет выходное звено в движение согласованное с направлением целевого 6-вектора.

А с задачей поиска набора коэффициентов компонент я, собственно, сюда и пришел.
0
1470 / 825 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
27.12.2018, 01:12 10
Цитата Сообщение от Mirmik Посмотреть сообщение
о переводе роборуки из текущего положения А в положение Б.
инверсная кинематика fabrik
0
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
27.12.2018, 10:29  [ТС] 11
Fabrik - это решение немного другой задачи. Fabrik отвечает на вопрос куда приеххать, а я решаю задачу о том, как туда ехать. Кроме того класический fabrik решает только поворотные шарниры.
0
1470 / 825 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
27.12.2018, 13:25 12
Цитата Сообщение от Mirmik Посмотреть сообщение
на вопрос куда приеххать, а я решаю задачу о том, как туда ехать.
Если нужна заданная траектории конца манипулятора, то почему не разбить на N точек маршрута. Fabric инверсная кинематика находит положения звеньев чтобы попасть в точку назначения с минимум изменения углов всех шарниров.
Цитата Сообщение от Mirmik Посмотреть сообщение
решает только поворотные шарниры.
Поэтому начинать нужно с кинематической схемы, задания типов шарниров и ограничений в первом посте. А затем слова типа я придумал решать это задачу так: …

Тут наверно 3 варианта:
1)попробуйте связаться с автором темы
Реализация инверсной кинематики методом Fabric
2)искать готовую либу решателей кинематики, неужели все пишут велик…
3)гуглить книги…это будет весь матан с нуля, типа
Инверсная кинематика
Многозвенные манипуляторы
Я бы искал как делали другие, возможно у манипулятора такими шарнирами по схеме есть общепринятое в мире название. Например Stanford Arm. Гуглить как решали. Попробуйте искать на eng либо форумах по робототехнике.
0
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
27.12.2018, 14:46  [ТС] 13
Еще раз ... Мне не нужен фабрик. Мне нужно разложить вектор по базису .

Вопрос. Я правильно понимаю, что не могу применить симплекс метод в силу отсутствия ограничений на положительность коэффициентов разложения и сложность построения линейного функционала, или симплекс может быть применен к этой задаче?

Добавлено через 25 минут
Хотя... Это же просто уравнение...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2018, 14:46
Помогаю со студенческими работами здесь

Размерность и базис линейной оболочки векторов
День добрый! У меня возникла небольшая путаница. Вот есть два задания: 1. Найти базис и ранг...

является ли вектор линейной комбинацией векторов
Является ли вектор Б-(1;9;2) линейной комбинацией векторов a1=(2;0;1), a2=(-1;3;1),a3=(1;3;1) ...

Найти базис линейной оболочки векторов
Есть матрица: \begin{pmatrix}3 & 0 & -6 & 3\\ 4 & 2 & 7 & 0\\ -5 & 3 & 9 & -11\\ 1 & 1 & 2...

Найти базис и размерность линейной оболочки векторов
Найти базис и размерность линейной оболочки векторов a1=(5,2,-3,1), a2=(4,1,-2,3), a3=(1,1,-1,-2),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru