точно сега съм заседнал в решаването на следния "полу" математически проблем.
Бих искал да разделя n-мерно ограничено пространство (по-точно хиперкуб)
D={(x_1, ...,x_n), x_i \in IR and -limits<=x_i<=limits \forall i<=n}
На по-малки кубчета.
Което означава, че бих искал да уточня n,limits,m
където m
ще бъде броят на дяловете на всяка страна на куба - 2*limits/m
ще бъде дължината на малките кубчета и ще получа m^n
такива кубчета.
Сега бих искал да върна вектор от вектори, съдържащ някои различни координати на тези малки кубчета. (или може би може да се представят кубовете като обекти, които се характеризират с вектор, сочещ към "левия" външен ъгъл?)
По принцип нямам представа дали нещо подобно дори е възможно с помощта на C++. Прилагането на това за фиксирано n не представлява проблем. Но бих искал да дам възможност на потребителя да има свободен избор на измерението.
История: Нещо подобно би било безценно при оптимизирането. Където човек би разделил пространството на по-малки и използва напр. генетични алгоритми за всяко от подпространствата и по-късно сравнете резултатите. По този начин може да се избегнат огромни първоначални популации и резултатите от търсенето да се подобрят драстично. Освен това просто съм любопитен дали sth. така става :)
Моето предложение: Да се използват B+ дървета?