Monografia - UFF
Monografia - UFF
Monografia - UFF
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.6 Otimizações 46<br />
1: function updateCostMARAP(from) {<br />
2:<br />
3: usedStatistics = probeRateChoice(from);<br />
4: sourceRate = probeRates[usedStatistics];<br />
5: P ab = nLq[from, usedStatistics];<br />
6: P ba = Lq[from, usedStatistics];<br />
7:<br />
8: for (c in sizeClasses) {<br />
9:<br />
10: bestCost = infinity;<br />
11:<br />
12: for (i in availableRates) {<br />
13:<br />
14: newETX = computeETXAtRateMARAP(P ab , P ba , sourceRate, i, c);<br />
15: newCost = (newETX * c) / i;<br />
16:<br />
17: if (newCost < bestCost) {<br />
18:<br />
19: bestCost = newCost;<br />
20: bestRate = i;<br />
21: }<br />
22: }<br />
23:<br />
24: if (bestCost != infinity) {<br />
25:<br />
26: rateForLink[from, c] = bestRate;<br />
27: }<br />
28: }<br />
29: costForLink[from] = bestCost;<br />
30: }<br />
31: function computeETXAtRateMARAP(P ab , P ba , sourceRate, targetRate, targetSize) {<br />
32:<br />
33: SNR ab = findSNRInTable(1 − P ab , sourceRate, probeSize);<br />
34: SNR ba = findSNRInTable(1 − P ba , sourceRate, probeSize);<br />
35: NewP ab = 1 - findPERInTable(SNR ab , targetRate, targetSize);<br />
36: NewP ba = 1 - findPERInTable(SNR ba , targetRate, targetSize);<br />
37: NewET X = 1/(NewP ab * NewP ba );<br />
38:<br />
39: return(NewET X);<br />
40: }<br />
Figura 3.9: Pseudocódigo das funções modificadas no MARA-P.<br />
na estimativa dos valores NewP ab e NewP ba . O tamanho de quadro também é utilizado<br />
agora no cálculo da variável NewCost, substituindo a constante probeSize (linha 15).<br />
A última modificação fica por conta da variável rateF orLink. Enquanto na função