Generare una sequenza di numeri a partire dalla loro media

immagine_numeri

Introduzione

Il pro­ble­ma che voglio affron­ta­re è gene­ra­re una sequen­za di k nume­ri, (x_1,x_2, … x_k), nota che sia la loro media arit­me­ti­ca {M}. Ciò può tor­na­re uti­le, ad esem­pio, nel caso in cui si abbia la neces­si­tà di effet­tua­re simu­la­zio­ni di vota­zio­ni, gra­dua­to­rie etc. L’o­biet­ti­vo è, quin­di, tro­va­re un meto­do, che non richie­da neces­sa­ria­men­te l’u­so di un cal­co­la­to­re, per gene­ra­re k voti o pun­teg­gi  che abbia­no come media un valo­re M pre-asse­gna­to.
Mate­ma­ti­ca­men­te si trat­ta di risol­ve­re l’e­qua­zio­ne linea­re: \begin{aligned} x_1+x_2+…+ x_k&=k\cdot M=n \end{aligned} \tag{1} 

Sen­za per­di­ta di gene­ra­li­tà pos­sia­mo pen­sa­re alle sole solu­zio­ni inte­re non nega­ti­ve del­l’e­qua­zio­ne. I voti, infat­ti, sono espres­si, con nume­ri natu­ra­li o al più con nume­ri deci­ma­li con par­te deci­ma­le in cen­te­si­mi o mil­le­si­mi e quin­di l’e­qua­zio­ne (1) è o, nel caso si ricor­ra a nume­ri deci­ma­li, può esse­re ricon­dot­ta (mol­ti­pli­can­do ambo i mem­bri per 100 o per 1000) a un’e­qua­zio­ne a varia­bi­li natu­ra­li.

 

Prima digressione matematica

L’e­qua­zio­ne linea­re a varia­bi­li natu­ra­li (1) è un’e­qua­zio­ne linea­re dio­fan­tea: le varia­bi­li x_1, x_2, …, x_k e il ter­mi­ne noto n sono nume­ri natu­ra­li. Una solu­zio­ne dell’equazione è una k−upla di nume­ri natu­ra­li (p_1, p_2, …, p_k) ∈ N^k che sosti­tui­ti ordi­na­ta­men­te alle varia­bi­li x_1, x_2, …, x_k ren­do­no l’equazione iden­ti­ca­men­te vera, ossia:
p_1 + p_2 + … + p_k=n

e cia­scu­na com­po­nen­te p_i del­la qua­ter­na sod­di­sfa la con­di­zio­ne p_i ∈ \{0, 1, 2, 3, …, n\}.

Il nume­ro del­le k‑uple di inte­ri non nega­ti­vi che sono solu­zio­ni dell’equazione dio­fan­tea (1) è dato da: \begin{align}\binom{n+k‑1}{k‑1}&=\binom{n+k‑1}{n}\\&=\frac{(n+k‑1)!}{n!\cdot(k‑1)!} \end{align} \tag{2}

Più avan­ti sarà for­ni­ta una sem­pli­ce spie­ga­zio­ne del­la for­mu­la (2).

Simulazione di un concorso

Sup­po­nia­mo di voler simu­la­re la gra­dua­to­ria di un con­cor­so. Sia P_M il pun­teg­gio fina­le in base al qua­le sarà sti­la­ta la gra­dua­to­ria. Imma­gi­nia­mo che nel con­cor­so rea­le il pun­teg­gio fina­le P_M sia cal­co­la­to come media dei pun­teg­gi otte­nu­ti in quat­tro distin­te pro­ve (A, B, C e D) per cia­scu­na del­le qua­li è attri­bui­to al con­cor­ren­te un pun­teg­gio par­zia­le (P_A, P_B, P_C, P_D ) com­pre­so fra 0 e 30 (ammet­tia­mo che i pun­teg­gi sia­no espres­si con nume­ri deci­ma­li con par­te deci­ma­le in cen­te­si­mi, es. 28,70).

La nostra simu­la­zio­ne con­si­ste in un’in­ver­sio­ne del pro­ce­di­men­to con­cor­sua­le e cioè, sta­bi­li­to a prio­ri il pun­teg­gio fina­le P_M da asse­gna­re al con­cor­ren­te, voglia­mo gene­ra­re del­le qua­ter­ne (P_A, P_B, P_C, P_D), costi­tui­te dai pun­teg­gi par­zia­li di cia­scu­na pro­va, la cui media esat­ta (cioè sen­za tron­ca­men­ti o arro­ton­da­men­ti) sia pari al pun­teg­gio fina­le P_M.

Esempio pratico

Ad esem­pio sce­glia­mo come pun­teg­gio fina­le 28{,}86.

L’e­qua­zio­ne (1) in que­sto caso diventa:

\begin{aligned}P_A+P_B+ P_C+P_D&=4 \cdot P_M \\ &=4\cdot28{,}86 \\ &=115{,}44 \end{aligned} \tag{3}

L’e­qua­zio­ne (3) ci dice che qua­lun­que qua­ter­na di pun­teg­gi par­zia­li tali che la loro som­ma sia pari a 115{,}44 sod­di­sfa il requi­si­to del­la media.

Per ricon­dur­ci a un’e­qua­zio­ne a varia­bi­li natu­ra­li mol­ti­pli­chia­mo ambo i lati del­l’e­qua­zio­ne per 100:
\begin{aligned} P’_A+P’_B+P’_C+P’_D=11544 \end{aligned} \tag{3} dove P’_i=100\cdot P_i  per i=A,B,C,D sono nume­ri natu­ra­li che pos­so­no assu­me­re un valo­re com­pre­so fra 0 e 3000.

L’equazione lineare a variabili naturali (3) può essere vista come un problema di partizione di un intero (trovare cioè 4 numeri interi non negativi la cui somma sia pari a 11544, soggetti al vincolo P’_i \le 3000 ) o in termini di ripartire 11544 biglie in 4 contenitori o ancora come i possibili lanci di 4 dadi (con 3001 facce, da zero a 3000) la cui somma sia pari a 11544. Il numero delle soluzioni può essere calcolato ricorrendo al calcolo combinatorio e le soluzioni possono essere determinate ricorrendo ad algoritmi combinatori e ricorsivi. Ciò tuttavia non è lo scopo di questo articolo. A noi serve un metodo pratico da poter gestire anche manualmente.

Osser­via­mo, dun­que, che una solu­zio­ne “bana­le” del pro­ble­ma è sce­glie­re come pun­teg­gi par­zia­li pro­prio la media volu­ta, cioè por­re P_A=P_B=P_C=P_D=P_M=28{,}86

Pos­sia­mo rap­pre­sen­ta­re que­sta situa­zio­ne pen­san­do alle pro­ve come a dei con­te­ni­to­ri e ai pun­teg­gi di cia­scu­na pro­va come a del­le biglie con­te­nu­te nei con­te­ni­to­ri (v. fig.1).

figu­ra 1

Per como­di­tà è uti­le ragio­na­re con nume­ri inte­ri (mol­ti­pli­chia­mo cioè per cen­to): 28{,}86 pun­ti per noi cor­ri­spon­do­no a 2886 biglie (in altre paro­le cia­scun cen­te­si­mo di pun­to cor­ri­spon­de a una biglia).

Con in rife­ri­men­to alla figu­ra 1 è chia­ro che pos­sia­mo spo­sta­re le biglie da un con­te­ni­to­re all’al­tro e cam­bia­re, così, il pun­teg­gio par­zia­le attri­bui­to alle pro­ve A, B, C e D  sen­za che ciò modi­fi­chi il nume­ro tota­le di biglie, cioè man­te­nen­do inva­ria­ta la media del­le biglie nei quat­tro con­te­ni­to­ri. Spo­stan­do le biglie pos­so per­tan­to abbas­sa­re o incre­men­ta­re il pun­teg­gio di una pro­va rispet­to alla media.

Pos­sia­mo pro­ce­de­re in que­sto modo: estra­ia­mo dai con­te­ni­to­ri un cer­to nume­ro di biglie e per sem­pli­ci­tà estra­ia­mo da ogni con­te­ni­to­re lo stes­so nume­ro di biglie. Se ad esem­pio toglia­mo da cia­scun con­te­ni­to­re 2 biglie si pre­sen­te­rà la situa­zio­ne raf­fi­gu­ra­ta in figu­ra 2.

figura 2
figu­ra 2

Così facen­do avrò tol­to dai con­te­ni­to­ri 8 biglie (v. fig.3) e quin­di avrò a dispo­si­zio­ne 8 pun­ti da distri­bui­re a pia­ci­men­to nei quat­tro contenitori.

figura 3
figu­ra 3

Se ad es. ridi­stri­buia­mo le otto biglie met­ten­do­ne una nel con­te­ni­to­re A, una nel con­te­ni­to­re B, due nel con­te­ni­to­re C e quat­tro nel con­te­ni­to­re D, la situa­zio­ne sarà quel­la raf­fi­gu­ra­ta in figu­ra 4.

In que­sto modo avre­mo una nuo­va qua­ter­na di pun­teg­gi par­zia­li P_A=28{,}85, P_B=28{,}85, P_C=28{,}86 e P_D=28{,}88 men­tre il pun­teg­gio fina­le, cioè la media dei pun­teg­gi, lega­ta alla som­ma del­le biglie che rima­ne inva­ria­ta, si man­ter­rà ugua­le a P_M=(28{,}85+28{,}85+28{,}86+28{,}88):4=11544:4=28{,}86.

figura 4
figu­ra 4

Considerazioni

Fac­cia­mo alcu­ne riflessioni:

  1. dal­l’e­sem­pio è chia­ro che pos­so gene­ra­re qua­ter­ne diver­se dei pun­teg­gi par­zia­li sem­pli­ce­men­te distri­buen­do in modo diver­so le 8 biglie fra i 4 contenitori;
  2. il nume­ro di biglie che all’i­ni­zio del pro­ce­di­men­to estrag­go da cia­scun con­te­ni­to­re fis­sa il pun­teg­gio par­zia­le mini­mo, P_{min}. Pri­ma ho estrat­to 2 biglie da cia­scun con­te­ni­to­re, per cui se suc­ces­si­va­men­te nel ridi­stri­bui­re le 8 biglie non met­tes­si in uno dei con­te­ni­to­ri, ad es. A, nes­su­na del­le 8 biglie, il pun­teg­gio P_A sareb­be il più bas­so dei pun­teg­gi e sareb­be pari a 28{,}84. Ribal­tan­do il ragio­na­men­to si evin­ce che il nume­ro del­le biglie da toglie­re da cia­scun con­te­ni­to­re lo pos­so sce­glie­re in fun­zio­ne del pun­teg­gio par­zia­le mini­mo che voglio avere;
  3. più biglie tol­go e mag­gio­re sarà la pos­si­bi­li­tà di aumen­ta­re la varia­bi­li­tà del­la qua­ter­na dei pun­teg­gi par­zia­li, nel sen­so che potrò otte­ne­re scar­ti mag­gio­ri fra i pun­teg­gi par­zia­li e la media;
  4. per cal­co­la­re le varie qua­ter­ne dei pun­teg­gi par­zia­li basta por­re l’at­ten­zio­ne sul­le biglie estrat­te da ridi­stri­bui­re: tut­ti i modi diver­si in cui rie­sco a distri­bui­re le 8 biglie nei quat­tro con­te­ni­to­ri, daran­no vita a qua­ter­ne di pun­teg­gi par­zia­li la cui media sarà sem­pre la stes­sa. Mate­ma­ti­ca­men­te i pos­si­bi­li modi in cui pos­so ridi­stri­bui­re le 8 biglie saran­no la solu­zio­ne del­l’e­qua­zio­ne:  \begin{aligned} x_1+x_2+x_3+x_4=8 \end{aligned} \tag{4} con x_i per i=1,2,3,4 inte­ri non nega­ti­vi, cioè x_i \in [0..8] ; l’e­qua­zio­ne (4) è un caso par­ti­co­la­re del­l’e­qua­zio­ne gene­ra­le (1) con k=4 e n=8;  
  5. i pun­teg­gi par­zia­li (P_A, P_B, P_C, P_D) si otten­go­no som­man­do al pun­teg­gio mini­mo P_{min} le solu­zio­ni del­l’e­qua­zio­ne (4), cioè: \begin{aligned} P_j=P_{min}+x_i \end{aligned} per i=1,2,3,4 e j=A,B,C,D. Pos­sia­mo rap­pre­sen­ta­re il nostro esem­pio in for­ma tabel­la­re (si potrà ricor­re­re per pra­ti­ci­tà anche ad un foglio di calcolo).
P_AP_BP_CP_D
P_{min}28,8428,8428,8428,84
QUATERNA1224
P_{min} + QUATERNA28,8528,8628,8628,88

Al cuore del problema

Il noc­cio­lo del pro­ble­ma è, per­tan­to, deter­mi­na­re le solu­zio­ni del­l’e­qua­zio­ne (4) ovve­ro­sia tro­va­re i modi in cui pos­sia­mo otte­ne­re il nume­ro 8 som­man­do quat­tro nume­ri inte­ri non nega­ti­vi o, in latri ter­mi­ni, deter­mi­na­re i modi in cui pos­so distri­bui­re le 8 biglie nei 4 con­te­ni­to­ri. Per fare ciò pos­sia­mo ricor­re­re a un ausi­lio gra­fi­co cono­sciu­to in mate­ma­ti­ca com­bi­na­to­ria come meto­do “pal­li­ne e bar­re” (chia­ma­to anche “basto­ni e pie­tre”, “stel­le e bar­re”  e “pun­ti e divisori”).

Met­tia­mo in fila le nostre otto biglie e per rap­pre­sen­ta­re la ripar­ti­zio­ne “ini­zia­le” nei quat­tro con­te­ni­to­ri, uti­liz­zia­mo 3 bar­re inter­po­ste alle biglie come in figu­ra 5. Si noti che il nume­ro di biglie da uti­liz­za­re è pari al nume­ro di biglie estrat­te dai con­te­ni­to­ri (nel nostro esem­pio n=8) men­tre il nume­ro di bar­re neces­sa­rie è pari al nume­ro dei con­te­ni­to­ri meno uno, (k‑1=4–1=3).

La figu­ra 5 mostra la rap­pre­sen­ta­zio­ne tra­mi­te biglie e bar­re  del­la qua­ter­na (2, 2, 2, 2) che som­ma­ta a P_{min} por­ta, come det­to in pre­ce­den­za, alla solu­zio­ne “bana­le” in cui i pun­teg­gi par­zia­li sono pari al pun­teg­gio finale.

 

figu­ra 5

Con in men­te la fig. 5 è faci­le com­pren­de­re che i pos­si­bi­li modi di ripar­ti­re le otto biglie nei quat­tro con­te­ni­to­ri, si pos­so­no facil­men­te otte­ne­re spo­stan­do la posi­zio­ne del­le bar­re. Spo­stia­mo ad esem­pio l’ul­ti­ma bar­ra fra le pri­me due biglie (v. fig. 6). 

figu­ra 6

Il risul­ta­to sarà quel­lo mostra­to in fig. 7 che cor­ri­spon­de alla qua­ter­na (1, 1, 2, 4) ovve­ro­sia alla ridi­stri­bu­zio­ne del­le biglie che rea­liz­za la con­fi­gu­ra­zio­ne fina­le già vista in fig. 4. 

figu­ra 7

Abbia­mo, così, a dispo­si­zio­ne un meto­do faci­le, gra­fi­co e pra­ti­co per otte­ne­re tut­te le pos­si­bi­li qua­ter­ne. In altre paro­le le solu­zio­ni del­l’e­qua­zio­ne (4) si otten­go­no spo­stan­do le bar­re e ponen­do x_1 ugua­le al nume­ro di pal­li­ne pri­ma del­la pri­ma bar­ra, x_2  ugua­le al nume­ro di pal­li­ne fra la pri­ma e la secon­da bar­ra, x_3 ugua­le al nume­ro di pal­li­ne fra la secon­da e la ter­za bar­ra e infi­ne x_4 ugua­le al nume­ro di pal­li­ne dopo l’ul­ti­ma barra.

Con que­sto meto­do spo­stan­do oppor­tu­na­men­te le bar­re è pos­si­bi­le gene­ra­re anche qua­ter­ne con­te­nen­ti lo zero. Per como­di­tà sosti­tuia­mo le biglie con del­le stel­le. Pos­sia­mo ad esem­pio gene­ra­re le seguen­ti quaterne:

\begin{aligned}|★★|★★★★|★★ \iff (0, 2, 4, 2) \end{aligned}

\begin{aligned} |★★||★★★★★★ \iff (0, 2, 0, 6) \end{aligned}    

Seconda digressione matematica

Il nume­ro di pos­si­bi­li qua­ter­ne è dato dal­la for­mu­la (2) sosti­tuen­do  n=8 e k=4:

 

\binom{8+4–1}{4–1}=\binom{11}{3}=\frac{11!}{8!\cdot3!}=\frac{9\cdot10\cdot11}{6}=165

 

Il meto­do del­le stel­le e del­le bar­re ci for­ni­sce anche una faci­le spie­ga­zio­ne del­la for­mu­la (2). Se infat­ti pen­sia­mo all’in­sie­me del­le otto stel­le e del­le tre sbar­re come a undi­ci pos­si­bi­li dif­fe­ren­ti posi­zio­ni (v. fig. 8)  occu­pa­bi­li da tre indi­stin­gui­bi­li bar­re (o da otto indi­stin­gui­bi­li stel­le) si com­pren­de che il nume­ro del­le qua­ter­ne è pari ai modi in cui pos­so com­bi­na­re le tre bar­re negli undi­ci posti (o le otto stel­le negli undi­ci posti), cioè al nume­ro del­le com­bi­na­zio­ni sem­pli­ci di 11 ele­men­ti di clas­se 3 (o di 11 ele­men­ti di clas­se 8) che è pari a \binom{11}{3}=165 (o \binom{11}{8}=165). Gene­ra­liz­zan­do, poi­ché il nume­ro di posi­zio­ni è pari a n+k‑1 (come det­to in pre­ce­den­za le stel­le sono n e le bar­re sono k‑1) e il nume­ro di bar­re è k‑1 (o il nume­ro di stel­le è pari a n) si ottie­ne la for­mu­la (2). 

figu­ra 8

Allarghiamo  l’orizzonte

E se nel nostro ipo­te­ti­co con­cor­so rea­le anche i pun­teg­gi par­zia­li P_A, P_B, P_C, P_D fos­se­ro del­le medie, otte­nu­te ad es. dal­la media dei voti attri­bui­ti per cia­scu­na del­le quat­tro pro­ve da un nume­ro l di com­mis­sa­ri? Come fac­cia­mo a simu­la­re i voti di cia­scun com­mis­sa­rio? 
Con lo stes­so ragio­na­men­to por­ta­to avan­ti per la simu­la­zio­ne dei pun­teg­gi par­zia­li, basta par­ti­re dal valo­re del pun­teg­gio par­zia­le, es. P_A, pren­de­re in con­si­de­ra­zio­ne tan­ti con­te­ni­to­ri quan­ti sono i com­mis­sa­ri, estrar­re da cia­scun con­te­ni­to­re un pre­fis­sa­to nume­ro di biglie e ridi­stri­bui­re le biglie estrat­te col meto­do del­le stel­le e del­le bar­re.
Per chia­ri­re ripren­dia­mo l’e­sem­pio di pri­ma. Sup­po­nia­mo che i com­mis­sa­ri sia­no set­te (cioè l=7 ) e che si voglia simu­la­re il loro voto: voglia­mo cioè otte­ne­re una sequen­za di 7 voti, una set­ti­na,  la cui media sia pari a P_A=28{,}85. In ana­lo­gia a quan­to det­to pri­ma, pos­sia­mo imma­gi­na­re di ave­re 7 con­te­ni­to­ri in ognu­no dei qua­li ci sono 2885 biglie (mol­ti­pli­chia­mo per cen­to per poter lavo­ra­re con inte­ri). Sce­glia­mo di estrar­re da cia­scun con­te­ni­to­re tre biglie. Ciò, se ricor­da­te, equi­va­le a fis­sa­re un voto mini­mo pari a 28{,}82 (poi­ché 2885–3=2882). Avre­mo così a dispo­si­zio­ne 7 \times 3=21 biglie da ripar­ti­re col meto­do del­le stel­le (che ricor­dia­mo saran­no pari al nume­ro del­le biglie) e del­le bar­re (che saran­no pari a sei, cioè al nume­ro dei com­mis­sa­ri meno uno).  Qua­lun­que dispo­si­zio­ne del­le bar­re darà vita ad una set­ti­na vali­da. Una set­ti­na inte­res­san­te è quel­la che si ottie­ne incre­men­tan­do di una biglia alla vol­ta il nume­ro di biglie da rimet­te­re nei con­te­ni­to­ri: par­ten­do ad es. da sini­stra e muo­ven­do­si ver­so destra, imma­gi­nia­mo di met­te­re zero biglie nel pri­mo con­te­ni­to­re, una nel secon­do, due nel ter­zo, … sei nel set­ti­mo con­te­ni­to­re. Col meto­do del­le stel­le e del­le bar­re si ottie­ne la seguen­te configurazione:

\begin{aligned}|★|★★|★★★|★★★★|★★★★★|★★★★★★  \end{aligned}

che equi­va­le alla set­ti­na (0, 1, 2, 3, 4, 5, 6).

Ma per­ché è inte­res­san­te? Per capir­lo simu­lia­mo i pun­teg­gi attri­bui­ti dai set­te com­mis­sa­ri som­man­do al pun­teg­gio P_{A_{min}}=28{,}82 la set­ti­na. Ci ser­via­mo, come pri­ma, di una tabella. 

\bm{P_1}\bm {P_2} \bm{P_3} \bm{P_4} \bm{P_5} \bm{P_6} \bm {P_7}
P_{A_{min}}28,8228,8228,8228,8228,8228,8228,82
SETTINA0123456
Pun­teg­gi28,8228,8328,8428,8528,8628,8728,88
Scar­ti-3-2-10+1+2+3

L’ul­ti­ma riga del­la tabel­la mostra gli scar­ti, ossia la dif­fe­ren­za fra i pun­teg­gi di cia­scun com­mis­sa­rio e la media. Si può vede­re che ad ogni pun­teg­gio supe­rio­re alla media (es. P_5) cor­ri­spon­de un pun­teg­gio sot­to la media (es. P_3) di scar­to ugua­le in valo­re asso­lu­to ma di segno oppo­sto. In altri ter­mi­ni ridi­stri­bui­re le biglie aggiun­gen­do via via a cia­scun con­te­ni­to­re una biglia in più, signi­fi­ca gene­ra­re una sequen­za di pun­teg­gi per­fet­ta­men­te sim­me­tri­ca rispet­to al pun­teg­gio cen­tra­le P_4=28{,}85 (che è pari alla media) dove ogni pun­teg­gio a sini­stra è bilan­cia­to da un cor­ri­spon­den­te pun­teg­gio a destra.