Апроксимация случайных функций
ТЗ:
Необходимо разработать библиотеку, которая имеет следующую функциональность:
1) Получает на вход данные в следующем формате:
F2:
--------------------
[X1, Y1_1, P1,B1] -> R1
[X2, Y1_2, P2,B2] -> R2
...
[XN, Y1_N, PN,BN] -> RN
--------------------
....
F10:
--------------------
[X1, Y1_1 ... Y9_1, P1,B1] -> R1
[X2, Y1_2 ... Y9_2, P2,B2] -> R2
...
[XN, Y1_N ... Y9_N, PN,BN] -> RN
--------------------
где:
X1,Y1,...,Y9 - целые от 1 до 99999, сумма всех X = 100000
P1 - целое от 1 до индекса F (т.е. 5 для F5)
BN - целое от 1 до 20
R1 - целое от 0 до 10
По сути это задание наборов некоторых функций от параметров X,Y1,...,Y9,D,B
результатом которых является случайное значение R.
Разные параметры (комбинации параметров) имеют разную степень влияния на R.
Матожидание и дисперсия значения для каждой F образуют непрерывные поверхности
в пространстве с координатами, заданными переменными X,Y1,...,Y9,D,B
Данные будут примерно в таком формате:
F10:
[1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 3, 1] -> 10
[1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 3, 1] -> 2
[1000,1000,1000,1000,1000,1000,1000,1000,1000,1000, 2, 1] -> 0
[1050,1000,1000,1000,1000,1000,1000,1000,1000,950, 8, 2 ] -> 5
....
[9000,100,100,100,100,100,100,100,100,100, 10, 6 ] -> 9
2) Хранит эти данные в своем внутреннем формате (в т.ч. файловые операции с данными)
3) По полностью заданным параметрам одной из функций:
Вычисляет в данной точке апроксимацию матожидания и дисперсии значения R.
4) По частично заданым параметрам одной из функций:
Отсеивает подходящие наборы параметров и вычисляет для соответсвующих R матожидание и дисперсию.
5) Имеет возможность быстрого обновления внутренного представления функций
Порядка 1 сек при добавлении 100 элементов к существующим 100000 на среднем компьютере.
Подразумевается возможность получения данных для п.3 сразу после выполнения обновления.
6) Необходимо учесть потенциальное увеличение кол-ва/изменение параметров.
Бюджет до 5000 указан исходя из невозможности для меня сколько-либо точно оценить сложность задачи.
Пожалуйста, в предложениях обосновывайте сроки и бюджет.