Декартово (прямое) произведение

02.03.18

Разработка - Математика и алгоритмы

Прямое или декартово произведение двух множеств — это множество, элементами которого являются всевозможные упорядоченные пары элементов исходных множеств.

Скачать файлы

Наименование Файл Версия Размер
Декартово произведение
.epf 10,80Kb
10
.epf 1.1 10,80Kb 10 Скачать

В данной обработке представлен пример для 3-х списков с 9,6 и 2 значениями соответственно. Сам же алгоритм настроен для работы с n-ным количеством массивов различной размерности.  На выходе обработки мы получаем таблицу из 3 (количество массивов) колонок и 108 (9*6*2) строк. 

Пример использования в 1С:
Алгоритм может пригодиться, к примеру, когда открываются аналитические счета в Бухгалтерии НФО. Для 3-х аналитик с 6-10 соответствиями значений необходимо вручную задавать 216-1000 различных соответствий и значений. Это очень трудоемко и практически невыполнимо для ручного ввода. 

В массивах могут содержаться любые типы значений, поэтому обработка подойдет для различных задач. Можно взять алгоритм как есть, заменив использующиеся на входе массивы значений на свои. На выходе будет таблица значений (как в примере) с таким количеством колонок, сколько массивов будет передаваться на вход:

куда передаем свои значения

 

Перебор сочетаний значений полный перебор прямой перебор уникальные сочетания значений списков уникальные сочетания значений массивов все возможные сочетания элементов массивов сочетания элементов массивов

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    1753    stopa85    12    

33

Алгоритм симплекс-метода для решения задачи раскроя

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    4415    user1959478    50    

34

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    7454    4    SpaceOfMyHead    17    

56

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7852    7    kalyaka    11    

44

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    4444    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    8832    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    7797    dusha0020    8    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1679 19.05.16 02:23 Сейчас в теме
Декартово произведение. Википедия: Прямое произведение множеств
В запросе делается легко.
В коде - процедура / функция "Для каждого" (для пары массивов). Для любого количества множеств - делаем последовательное произведение каждого элемента множества, полученного на предыдущем шаге на очередной массив.
2. yojeeg 151 19.05.16 11:07 Сейчас в теме
(1) DrAku1a, спасибо большое за наводку! Переделал рекурсию на запрос.
Оставьте свое сообщение