деревья и леса - страница 3

 
Aleksey Nikolayev:

SQL, наверное, тоже окажется медленным.

не... там нормальная скорость, но зависит от правильной постановки задачи - если в тестере писать, то придется БД в файле делать и синхронизировать запись от агентов тестирования, если аналитический скрипт, то можно БД в памяти

админ статью сопровождал про SQLite ( в справке ссылка на статью), там очень приличная скорость, думаю, что если у Вас граф из пары тысяч вершин, то точно будет все летать


UPD: для экспериментов с SQLite рекомендую бесплатную DB Browser (SQLite) , русифицирована, приятный интерфейс https://sqlitebrowser.org/

 
Igor Makanu:

не... там нормальная скорость, но зависит от правильной постановки задачи - если в тестере писать, то придется БД в файле делать и синхронизировать запись от агентов тестирования, если аналитический скрипт, то можно БД в памяти

админ статью сопровождал про SQLite ( в справке ссылка на статью), там очень приличная скорость, думаю, что если у Вас граф из пары тысяч вершин, то точно будет все летать


UPD: для экспериментов с SQLite рекомендую бесплатную DB Browser (SQLite) , русифицирована, приятный интерфейс https://sqlitebrowser.org/

Для R есть пакет RSQLite - всё собираюсь освоить его для обмена данными с МТ, но как-то руки не доходят, делаю по привычке через текстовые файлы)

 
Aleksey Nikolayev:

Для R есть пакет RSQLite - всё собираюсь освоить его для обмена данными с МТ, но как-то руки не доходят, делаю по привычке через текстовые файлы)

ну тогда точно звезды сходятся вокруг SQLite )))  - хоть какая унификаиця

вот отличная статья, там очень кратко все https://bitworks.software/2017-10-20-storing-trees-in-rdbms.html

проверил в DB Browser (SQLite)  первый способ  " 1. Список смежности (Adjacency List) "

работает без проблем

ЗЫ: обратите внимание на окончание статьи, там табличка оценки способов хранения деревьев в SQLite

 
Igor Makanu:

ну тогда точно звезды сходятся вокруг SQLite )))  - хоть какая унификаиця

вот отличная статья, там очень кратко все https://bitworks.software/2017-10-20-storing-trees-in-rdbms.html

проверил в DB Browser (SQLite)  первый способ  " 1. Список смежности (Adjacency List) "

работает без проблем

ЗЫ: обратите внимание на окончание статьи, там табличка оценки способов хранения деревьев в SQLite

Спасибо, интересно. Рекурсия в SQLite есть, так что действительно должно работать. Для скорости надо, чтобы БД была в памяти - не очень понял как в MQL перегонять БД из файла в память. Создавать новую БД в памяти и копировать в неё исходную, а в конце наоборот?

 
Aleksey Nikolayev:

не очень понял как в MQL перегонять БД из файла в память. 

никак

только создание БД в памяти или на диске

ну и соответственно копирование в новую БД с диска в память


про скорость... да хватит Вам этой скорости, если вариант №1 из статьи не устроит по скорости - тогда придется остальные методики использовать - там пошустрее будет


ЗЫ: Вы, наверное скорость работы с БД оцениваете исходя из работы в R-Studio? ....ь там вообще все и всегда не спешно работает )))

 
Igor Makanu:

про скорость... да хватит Вам этой скорости, если вариант №1 из статьи не устроит по скорости - тогда придется остальные методики использовать - там пошустрее будет


ЗЫ: Вы, наверное скорость работы с БД оцениваете исходя из работы в R-Studio? ....ь там вообще все и всегда не спешно работает )))

Нужно что-то типа обхода дерева с вычислениями на каждой вершине, причём делается много таких обходов в цикле. Даже не пытался делать на чистом R, поскольку это будет считаться "до скончания века") Когда считал на С++, то сильно зависит от актива - на eurusd довольно шустро, а на золоте или биткоине очень долго (очень много вершин)

 
Aleksey Nikolayev:

Нужно что-то типа обхода дерева с вычислениями на каждой вершине, причём делается много таких обходов в цикле. Даже не пытался делать на чистом R, поскольку это будет считаться "до скончания века") Когда считал на С++, то сильно зависит от актива - на eurusd довольно шустро, а на золоте или биткоине очень долго (очень много вершин)

в  DB Browser (SQLite) можете поэкспериментировать - там скорость выполнения транзакции пишет и скрипты можете там же подготовить и проверить

но SQ?Lite очень производительная БД, сомневаюсь, что сможете добиться тормозов в ней ;)

 
Aleksey Nikolayev:

Нужна возможность всех видов обхода деревьев (штук шесть их), свёртка (фолдинг), чтение/запись в файл, добавление/удавление ветвей. Удобно в хаскеле, но он медленный. Думаю попробовать в rust, там есть много уже готового - не люблю делать всё с нуля) SQL, наверное, тоже окажется медленным.

Если в содержательном плане, то это дерево из ценовых вершин (в духе идей Мандельброта) для подсчёта мультифрактального спектра. Сильно сомневаюсь, что дойдёт дело до тестера - просто поиграться в математику немного) Периодически MQL5 начинает казаться языком вполне подходящим для общих целей, но потом быстро понимаешь что опять ошибся)

А что за свертка в деревьях? Для чего она используется?
Про сверточные слои в НС читал, а в деревьях - впервые слышу.

 
elibrarius:

А что за свертка в деревьях? Для чего она используется?
Про сверточные слои в НС читал, а в деревьях - впервые слышу.

Имеется в виду этот вариант значения слова - обычно для простоты объясняется на примере списка, но вполне обобщается на деревья. Удобный шаблон для работы со сложными структурами.

 
Aleksey Nikolayev:

Имеется в виду этот вариант значения слова - обычно для простоты объясняется на примере списка, но вполне обобщается на деревья. Удобный шаблон для работы со сложными структурами.

Это типа 10 значений из структуры представить одним значением?