Wpis z mikrobloga

Mam zbiór zmiennych wartości procentowych łącznie dający 100% np. [10%, 40%, 40%, 10%].

Chciałbym wprowadzić dodatkowy parametr liczbowy A
Niska wartość parametru ma proporcjonalnie wywłaszczać wartości w zbiorze. Wysoka wartość na odwrót, proporcjonalnie zwiększać "kontrast".
Na przykład

Zbiór pierwotny: [10%, 40%, 40%, 10%]

Mniej A daje [15%, 35%, 35%, 15%].
Mniej A daje [20%, 30%, 30%, 20%].
Mniej A daje [25%, 25%, 25%, 25%].

Więcej A daje daje [5%, 45%, 45%, 5%].
Więcej A daje [1%, 48%, 48%, 1%].
itd

Zależy mi aby algorytm działał dla zbioru o dowolnej liczbie elementów.
Aby można było określić, jaka może być maksymalna suma wartości w zbiorze pierwotnym (procenty to tylko przykład).
Aby można było zmienić rozdzielczość parametru A np. 1-10 , 1-100, 1-1000

Znacie jakiś gotowy algorytm, wzór, funkcję?

#programowanie #matematyka
  • 8
@czlowiek_z_lisciem_na_glowie: Poszukaj "softmax with temperature", wydaje mi się, że chodzi o coś takiego. Tylko aplikowałbyś to do "wartości w zbiorze pierwotnym", temperatura pełniłaby funkcję twojego parametru A.

edit: W zasadzie to chyba działa na odwrót, w sensie wyższa temperatura robi to, co niższe A. Musiałbyś po prostu przyjąć A = -T
@czlowiek_z_lisciem_na_glowie: chyba dość prosto by się to dało zrobić, moja idea jest taka:
zakładając że liczby w zbiorze nie są ogromne, to spokojnie można użyć jakieś funkcji do szukania średniej, potem na podstawie średniej sprawdzać, czy zmniejszasz/zwiększasz daną liczbę porównując ją, przy okazji sprawdzając czy nie wychodzi poza jakieś ustalone ramy przez ciebie.