Как выбрать единицу для отображения значения? - PullRequest
2 голосов
/ 10 октября 2008

У меня есть значение, и я знаю, что его единицы:

метров мн / мд * кг кн / кд * с sn / sd * K кн / кд * A Вкл / Ad

Примечание: показатели являются рациональными, действительные единицы: м 0,5

Вопрос в том, как выбрать, как разбить блоки на более компактные

например, если

md=kd=sd=Kd=Ad=1
mn=Kn=An=0
kn=1
sn=-1

Я могу использовать н / м

Я подозреваю, что это некоторая часть проблемы дискретной оптимизации.

1 Ответ

1 голос
/ 10 октября 2008

Определите сложность как общее количество символов: единица степени 1 имеет сложность 1, любая другая целочисленная степень равна 2, дробная степень равна 3. Попробуйте несколько примеров и посмотрите, каково это. Возможно, вам придется использовать другие числа, кроме 1, 2, 3 для сложности.

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

...