|
OFF: Заметки из Зазеркалья: платформа 1С сможет решать СЛАУ | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
vis_tmp
10.08.18
✎
12:50
|
"Механизм решения систем линейных алгебраических уравнений"
https://wonderland.v8.1c.ru/blog/mekhanizm-resheniya-sistem-lineynykh-algebraicheskikh-uravneniy Интересно, будут ли применять в "старых" решениях типа УПП 1.3 ? |
|||||||
82
ERWINS
11.08.18
✎
09:21
|
(79) регрессия решается не через матрицу, а итерационно для больших систем (сотни и тысячи уравнений)
МНК даже при предположении номрмальности не эквивалентен наибольшему правдоподобию. (80) РАУЗ решение СЛАУ часто правил? |
|||||||
83
ERWINS
11.08.18
✎
09:22
|
инетересно а как это все будет себя чувствовать на миллионах уравнений?
|
|||||||
84
ERWINS
11.08.18
✎
09:23
|
Миллионы уравнений это расчет себестоимости за месяц на крупном предприятии
|
|||||||
85
Михаил Козлов
11.08.18
✎
09:52
|
(82) Зависит от структуры матрицы: если заполнена, то итерации вряд ли подойдут. Для матриц специального вида (полосатые, блочные с небольшим числом повязывающих уравнений) есть спец. методы. Как правило такие задачи возникают при численном решении задач мат. физики (разностные схемы в механике сплошных сред).
Плохо себе представляю необходимость выявления линейной регрессии для сотен или тысяч факторов. Впрочем совсем не хочу с Вами меряться: был в теме, но во времена царя Гороха. (84) Не смешите: миллион позиций ТМЦ? |
|||||||
86
ERWINS
11.08.18
✎
10:01
|
(85) посерийка
сомневаюсь, что там решение для матриц специального вида. Максимум 2 варианта плотной и разряженной матриц. |
|||||||
87
bolder
11.08.18
✎
10:28
|
Обсуждение кота в мешке.Пока 8.3.14 никто не видел.
|
|||||||
88
Гобсек
11.08.18
✎
13:01
|
"Особенностью нового функционала является то, что он поддерживает параллельное использование вычислительных ресурсов. Вы можете регулировать количество используемых потоков вычисления. Функционал доступен на сервере, в толстом клиенте и в COM-соединении."
Принципиально важный момент. |
|||||||
89
kauksi
11.08.18
✎
13:52
|
Я еще в 2011 когда тока CUDA появилась, предлагал написать компоненту, которая будет решать СЛУ, используя графический процессор. Но в 1С УПП на тот момент это было не самым тормозным местом
Да |
|||||||
90
Aleksey
11.08.18
✎
13:56
|
Интересно а когда 1с сможет в многоядерность?
|
|||||||
91
Сияющий в темноте
11.08.18
✎
18:32
|
(90) На сервере она и сейчас это умеет, если фоновые задания запускать. А вот на клиенте, видимо из-за желания работать в режиме Web-клиента многопоточности не будет никогда.
|
|||||||
92
Aleksey
12.08.18
✎
06:06
|
(91) какое отношение имеет запуск разных потоков на разных ядрах к многоядерности? Или хочешь сказать каждое фоновое умеет в многоядерность? Или оно опять упирается в производительность 1 ядра
|
|||||||
93
bolder
12.08.18
✎
07:01
|
(92) В такое же как и любое иное многопоточное приложение.Задачи эффективно распараллеливаются по разным потокам.Решение СЛАУ в 1с насколько мне известно ,в версии 8.3.14 можно будет распределить в несколько потоков:
«Особенностью нового функционала является то, что он поддерживает параллельное использование вычислительных ресурсов. Вы можете регулировать количество используемых потоков вычисления. Функционал доступен на сервере, в толстом клиенте и в COM-соединении.» |
|||||||
94
kuromanlich
12.08.18
✎
11:40
|
наверное хотят чтоб корректировки списаний были летучими
|
|||||||
95
vis_tmp
12.08.18
✎
13:52
|
(89)Кому предлагал?
|
|||||||
96
zak555
12.08.18
✎
18:53
|
Вот это здорово.
Теперь расчёт себеса в УП будет секунды ? |
|||||||
97
bolder
12.08.18
✎
19:49
|
(96) Ну этого ещё дождаться нужно.А то будет как расширениями - вроде есть,а типовые не поддерживают в полной мере.
Наверное не раньше 2021 года... |
|||||||
98
bolder
12.08.18
✎
19:52
|
(97) К тому времени поддержку УПП вероятно закроют.
Нет |
|||||||
99
Михаил Козлов
13.08.18
✎
09:24
|
(88) Присоединяюсь. Тем более интересно было бы увидеть (или прочитать про) внутренности.
|
|||||||
100
Провинциальный 1сник
13.08.18
✎
09:32
|
Теперь ждем платформенной реализации быстрого преобразования Фурье. На всякий случай. Вдруг 1с выпустит конфигурацию для обработки видео!
Да |
|||||||
101
Кирпич
13.08.18
✎
09:34
|
(80) не переживай. в этом черном ящике стопудово будет лежать какая нибудь либа, написанная на фортране, которой лет 30 и она используется в роскосмосе, гугле, наса и т.д.
|
|||||||
102
ERWINS
13.08.18
✎
09:54
|
(100) тогда прогноз продаж
|
|||||||
103
Nyoko
13.08.18
✎
10:07
|
пострадали херней, теперь нормальные задачи надо делать, своя библиотека ИИ например.
Да |
|||||||
104
YurAnt
13.08.18
✎
10:37
|
Ну если завезут нормальную поддержку распределенных вычислений на GPU - будет очень и очень интересно.
Пока что гораздо производительнее себя показывают решения на том же питоне. Да |
|||||||
105
Вафель
13.08.18
✎
10:38
|
(101) 1с заявляет о СВОЕМ алгоритме
|
|||||||
106
Новиков
14.08.18
✎
12:00
|
||||||||
107
Eiffil123
14.08.18
✎
12:41
|
ну теперь можно биткоины майнить на видюхах, не выходя из 1С.
А как эти СЛАУ к системе взаиморасчетов можно прикрутить, я не очень понял? Нет |
|||||||
108
Вафель
14.08.18
✎
12:45
|
те основная фишка алгоритма, то что они делят на компоненты связности?
|
|||||||
109
vis_tmp
14.08.18
✎
12:51
|
(107)Приблизительно, вероятно )
|
|||||||
110
lodger
14.08.18
✎
12:54
|
(107) первое, и возможно последнее, место применения это расчеты для РАУЗ по себестоимости товаров.
|
|||||||
111
Eiffil123
14.08.18
✎
12:59
|
(110) Ну вот из их статьи из зазеркалья:
Задачи планирования; Взаиморасчеты между некоторым множеством юридических лиц, предприятий или отраслей; Балансовые модели; Прогнозирование; Задачи поиска экстремумов, в том числе условных экстремумов. Т.е. как-то взаиморасчеты будут обсчитывать через СЛАУ |
|||||||
112
Вафель
14.08.18
✎
12:59
|
(111) те с фифо на рауз перейдут чтоли?
|
|||||||
113
ERWINS
14.08.18
✎
13:10
|
(112) в ЕРП рауз
|
|||||||
114
Вафель
14.08.18
✎
13:10
|
(113) по расчетам?
|
|||||||
116
ERWINS
14.08.18
✎
13:20
|
Всего система заполнялась на 5-10%.
Матрицы в РАУЗ почти пустые. заполнение для матрицы 5000 уравнений должно быть 50 000. |
|||||||
117
ERWINS
14.08.18
✎
13:20
|
и где оценка точности? или просто посчитали и не сравнили результат?
|
|||||||
118
Мыш
14.08.18
✎
13:24
|
(115) Этот форум постоянно мониторят сотрудники 1С. Особенно пристальное внимание они обращают на переполненные эмоциями сообщения. И немедля мчатся исправлять все замечания.
|
|||||||
119
H A D G E H O G s
модератор
14.08.18
✎
13:25
|
(115) Рекомендую внимательно почитать пост.
|
|||||||
120
NSSerg
14.08.18
✎
13:33
|
(117) Суть метода в упрощении системы уравнений, без потери точности. Например если в уравнение входит только одна неизвестная, то это уравнение можно исключить. А потом уже решается стандартными методами.
|
|||||||
121
H A D G E H O G s
14.08.18
✎
13:37
|
(120) Товарищь перепутал точный метод Гаусса и приближенный итерационный метод Гаусса-Зейделя и возбудился.
|
|||||||
122
Вафель
14.08.18
✎
13:49
|
Разве может быть 100% точность?
ведь если разделить 10 на 3 то уже 100% точности не будет |
|||||||
123
ERWINS
14.08.18
✎
14:38
|
(119) я внимательно читал
|
|||||||
124
ERWINS
14.08.18
✎
14:39
|
(120) тут им браво. Хотя для метода сопряженных градиентов это не дало бы выйгрыша или метода переменных шагов.
|
|||||||
125
ERWINS
14.08.18
✎
14:41
|
(122) смотрим точность для Гауса.
для n=10 0.0000001 для n=20 0.0000001*2^10 = 0,00001 для n=30 0.0000001*2^20 = 0,01 для n=40 0.0000001*2^30 = 10? для простой итерации точность падает как N^2 |
|||||||
126
ERWINS
14.08.18
✎
14:47
|
(121) разницы нет. если они не считают в рациональных числах. Но тогда им придется счиать в десятичной записи.
|
|||||||
127
ERWINS
14.08.18
✎
15:16
|
как у нее поведение с плохообусловленными матрицами?
|
|||||||
128
ERWINS
14.08.18
✎
15:17
|
а деление на подкластеры легко делается декстрой. там сложность О(N) это нет смыла переностить в спецмодуль. 1с для этого достаточно быстра.
|
|||||||
129
Михаил Козлов
14.08.18
✎
15:33
|
(127) Вот появится и проверим (если не будет лень).
(128) Скажем, несколько почти независимых производств (не пересекающихся по ТМЦ). И заготовительный участок, который делает на всех. Как будете декомпозировать? |
|||||||
130
Eiffil123
14.08.18
✎
15:36
|
Как регистры расчета - изобретены для ЗИК, так и этот механизм - для РАУЗ в ERP
|
|||||||
131
NSSerg
14.08.18
✎
15:39
|
(128) Их алгоритм работает с асимптотикой Θ(n⋅log(n)⋅log(n)), и хорошо параллелится.
Поиск компонент связности это О(n+m) Если это делать в 1С - то не параллелится и имеет плохую константу. Конечно же нельзя переносить поиск компонент связности в 1С. |
|||||||
132
ERWINS
14.08.18
✎
15:46
|
(131) откуда асимптотика?
|
|||||||
133
ERWINS
14.08.18
✎
15:50
|
в матрице n*n*10% коэффициентов. Даже если каждый используется 1 раз асимптотика будет n^2
|
|||||||
134
Михаил Козлов
14.08.18
✎
15:51
|
(132) log(n) - средний размер компоненты связности.
Может в 1С смотрели, может нет: Цурков В.И. "Декомпозиция в задачах большой размерности", 1981г. Там несколько похитрее. |
|||||||
135
NSSerg
14.08.18
✎
15:53
|
(132) Из статьи, которую ты внимательно читал :)
|
|||||||
136
ERWINS
14.08.18
✎
15:54
|
(135) см (133)
|
|||||||
137
ERWINS
14.08.18
✎
15:56
|
(135) нижняя граница не меньше чем n^2*(плотность) - плотность 10%
|
|||||||
138
Михаил Козлов
14.08.18
✎
15:59
|
(136) Пусть k - размер компоненты связности. Тогда общая трудоемкость - О(k^3*n/k) = O(n*k*k). Считаем, что k = log(n).
Так устроит? |
|||||||
139
vvp91
14.08.18
✎
16:03
|
В самом расчете СЛАУ или графов на языке проблемы нет, если алгоритм написан правильно, в соответствии с теорией.
Основное время занимает запись результатов расчетов в базу данных. Еще много времени отжирает получение данных для расчета из базы данных. Запись и выборка занимают до 95%% времени. Убедиться в этом можно в протоколах партионного расчета и расчета себестоимости в ЕРП. |
|||||||
140
Eiffil123
14.08.18
✎
16:06
|
(139) о да. В УПП в свое время 50% времени уходило на запись проводок в регистр бухгалтерии.
|
|||||||
141
бигмак
14.08.18
✎
16:09
|
(139) а щас в памяти будет прикинь
|
|||||||
142
vvp91
14.08.18
✎
16:12
|
(141) что будет в памяти?
И сейчас сами расчеты ведутся в памяти. СЛАУ решается на запросах в памяти SQL, а партионный граф считается в памяти сервера 1С. Только данные для расчета читать из таблиц СУБД и результаты расчета писать в таблицы СУБД все равно придется. |
|||||||
143
Вафель
14.08.18
✎
16:13
|
(139) но тут утверждают что часами и даже днями расчет бывает идет
|
|||||||
144
NSSerg
14.08.18
✎
16:13
|
(133) Они под n могут иметь в виду m, но сути это не меняет.
|
|||||||
145
бигмак
14.08.18
✎
16:21
|
(142) ты говоришь что основное время это запись данных. Ты про итоговые данные расчета говоришь? Я предполагал что при расчете создается много промежуточных записей в РС или врем таблицах, которые при работе нового механизма будут не нужны. Или как?
|
|||||||
146
vvp91
14.08.18
✎
16:30
|
(139) как правило сутками может идти весь блок "закрытие месяца", а там столько навоза намешано разными программистами.
Еще красавцы с суточными расчетами отличаются открытием прошлых периодов за пару лет. При этом сам расчет партий или само решение СЛАУ длится секунды. (145) Конечно и при новом механизме запись на диск будет нужна - память то не резиновая. И сейчас платформа 1С активно использует диск для хранения больших таблиц значений. Например, на ИТС явно описаны ограничение в 64 Мб для выборок, после которого платформа начинает использовать диск. При этом появление такого механизма в платформе - это огромный плюс. Но он направлен на упрощение разработки и снижение требований к прикладным программистам, которым больше не потребуется делать таких алгоритмов самостоятельно. |
|||||||
147
NSSerg
14.08.18
✎
16:33
|
(146) Вы уверены, что ваш пост, и утверждение что расчет идет часами - относятся к одинаковому объему данных?
|
|||||||
148
Вафель
14.08.18
✎
16:34
|
(146) так никто кроме самих 1с таких алгоритмов и не делал
|
|||||||
149
ERWINS
14.08.18
✎
16:35
|
(138) у них явно сказано, что k= 0.1*n
(139) Insert group решает проблему с запись. выйгрыш в 100 раз. так как индексы и т д обновляются одноименно. (144) у них алгоритм лучше теоретического предела!!!!! это минимум абелевка. если правильно написали. |
|||||||
150
NSSerg
14.08.18
✎
16:53
|
Да, что-то они не то написали. Коэффициентов у них 0,1*n^2 - О(n^2), а сложность алгоритма О(n*ln^2) - так не бывает.
|
|||||||
151
NSSerg
14.08.18
✎
16:58
|
Я думаю, что они имеют в виду - что у них переменных не 0,1*n^2, а 0,1*n. Тогда всё похоже на правду.
|
|||||||
152
NSSerg
14.08.18
✎
16:59
|
Ну или в принципе ребер О(n), а не О(n^2)
|
|||||||
153
NSSerg
14.08.18
✎
17:00
|
(148) Параллельные алгоритмы решения больших разреженных СЛАУ востребованы не только в 1С.
|
|||||||
154
бигмак
14.08.18
✎
17:01
|
Партионный граф считается на врем таблицах. Т.е. на СУБД. А будет типа in-memory
|
|||||||
155
Михаил Козлов
14.08.18
✎
17:14
|
(153) Большие разреженные <> блочные.
Например, разностные схемы (полосатые). А по их поводу - половина ЖВМиМФ в советское время. Ничего особо интересного в ссылке (106) не увидел. |
|||||||
156
бигмак
14.08.18
✎
17:44
|
Хотя если посмотреть протокол расчета в ерп, время на создание ВтТаблицаРешений плевое по сравнению с подготовкой данных в другие врем таблицы.
|
|||||||
157
ERWINS
14.08.18
✎
18:09
|
(151) это как?
более вероятно что число не нулевых коэффициентов допустим 10n что в принципе сценарий РАУЗ тогда декстра даст такой порядок, но ГАУСС!!!!! это пи---ц |
|||||||
158
ERWINS
14.08.18
✎
18:10
|
(153) большие это итерационные или даже монтекарло
|
|||||||
159
ERWINS
14.08.18
✎
18:11
|
Добавили бы групповой инсерт.....
пусть блокировка, но БЫСТРО |
|||||||
160
Shrk_V_V_V
15.08.18
✎
12:20
|
Вьюху бы. Уморился одно и тоже из запроса в запрос переписывать.
Но СЛАУ тоже круто)) |
|||||||
161
Вафель
15.08.18
✎
12:21
|
(159) групповой инсерт есть в регистр сведений
|
|||||||
162
Вафель
15.08.18
✎
12:22
|
(153) И что не в 1с специально купят 1с чтоб слау считать?
|
|||||||
163
Гена123
15.08.18
✎
12:29
|
(162) Это всё попытки влезть в Ынтерпрайз, пока не очень успешные...
|
|||||||
164
NSSerg
15.08.18
✎
13:37
|
(162) при чем тут это? Речь шла о том, что крутых алгоритмов решения больших разреженных слау нет потому что они практически нигде не применяются кроме 1С. А я говорю - что применяются, и алгоритмы еще как востребованы.
|
|||||||
165
Вафель
15.08.18
✎
13:58
|
(164) я говорил, что никто кроме самой 1с с ее РАУЗ в 1сном мире не считает СЛАУ
|
|||||||
166
Вафель
15.08.18
✎
14:00
|
И это было ответ на упрощение разботки конф
|
|||||||
167
Михаил Козлов
15.08.18
✎
14:31
|
(165) СЛАУ могут пригодиться не только для РАУЗ.
(164) Алгоритм из (106) не имеет преимуществ перед "классикой": у меняя создалось впечатление, что сравнение делалось на блочных матрицах. Если подкинуть ему 3-х диагональную матрицу, то блоков не будет и трудоемкость - O(n^3), тогда как прогонка - O(n). Апеллируя к содержательной задаче производства, как основному объекту для расчета (дескать, матрица будет блочной) выпадает из внимания случай общих заготовительных цехов. |
|||||||
168
Вафель
15.08.18
✎
14:32
|
(167) покажи мне хотя бы 1 конфу где такое есть?
Хотя может они потом появятся ))) |
|||||||
169
Михаил Козлов
15.08.18
✎
14:44
|
(168) Конфу (типовую) не покажу.
Но может понадобиться для анализа, прогноза, регрессионной модели. Например, как зависят объемы продаж от длины менеджеров по продажам. Хотя для этих задач проще данные выгрузить и крутить их в пакетах анализа. |
|||||||
170
vi0
16.08.18
✎
16:00
|
коллеги, помогите вспомнить математику
приведите практический производственный пример слау с некоторым количество неизвестных, например с четырьмя Чтобы тематика была близка к типовым: себестоимость, взаиморачеты или что то типа того |
|||||||
171
vi0
17.08.18
✎
10:46
|
м?
|
|||||||
172
Вафель
17.08.18
✎
11:02
|
||||||||
173
vi0
17.08.18
✎
14:39
|
(172) вот спасибо!
автор крут |
|||||||
174
vi0
22.08.18
✎
15:56
|
https://habr.com/company/1c/blog/420029/
Объясните, кто в статье понял фразу про транспонирование матрицы. Что здесь дает транспонирование? "При первом же взгляде на неё возникает ассоциация с другим математическим объектом — матрицей смежности графа. Так почему бы не преобразовать данные в списки смежности, сэкономив оперативную память в процессе выполнения и ускорив доступ к ненулевым коэффициентам? Для этого нам достаточно транспонировать матрицу и установить инвариант.." |
|||||||
175
rphosts
22.08.18
✎
15:59
|
(172) супер!
|
|||||||
176
GANR
23.08.18
✎
11:52
|
На кой? Переписывать море уже существующих алгоритмов в умирающей программе.
Нет |
|||||||
177
vi0
23.08.18
✎
15:04
|
(176) да разве там море
|
|||||||
178
Вафель
23.08.18
✎
15:05
|
(117) вообще-то всего одна
|
|||||||
179
Вафель
23.08.18
✎
15:06
|
ну и остальные вырезаются из нее, так что за самостоятельные можно не считать
|
|||||||
180
Михаил Козлов
23.08.18
✎
22:01
|
(174) Я думаю, речь идет о том, чтобы быстро получать коэффициенты матрицы как в строке i, так и в столбце j.
Например, для доступа по строке: массив (по i) соответствий - ключ = j, значение = A[i][j]. По i получаете ссылку на массив соответствий, в котором находите коэффициент для j. |
|||||||
181
vi0
24.08.18
✎
12:56
|
(180) похоже на то
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |