Line 30: |
Line 30: |
| The ParSA library documentation gives the following equation which can be used to estimate performance of an MIR run | | The ParSA library documentation gives the following equation which can be used to estimate performance of an MIR run |
| | | |
− | <math> P(\chi_n \notin Cost_{min}) \sim \left(\frac{K}{n}\right)^{\alpha} </math> | + | {|align=center |
| + | |<math> P(\chi_n \notin Cost_{min}) \sim \left(\frac{K}{n}\right)^{\alpha} </math> |
| + | |(1) |
| + | |} |
| | | |
| where ''P'' is the probability of non-convergence, <math>\chi_n</math> is a solution of a run of length ''n'', <math>Cost_{min}</math> is the minimum acceptable solution, and ''K'' and <math>\alpha</math> are problem specific parameters. ''K'' and <math>\alpha</math> can be determined by plotting the Bayesian estimator for ''P'' versus ''n'' on a log scale and determining the slope and y-intercept. The expression for the Bayesian estimator <math> \hat{p} </math> is given by | | where ''P'' is the probability of non-convergence, <math>\chi_n</math> is a solution of a run of length ''n'', <math>Cost_{min}</math> is the minimum acceptable solution, and ''K'' and <math>\alpha</math> are problem specific parameters. ''K'' and <math>\alpha</math> can be determined by plotting the Bayesian estimator for ''P'' versus ''n'' on a log scale and determining the slope and y-intercept. The expression for the Bayesian estimator <math> \hat{p} </math> is given by |
| + | |
| {|align=center | | {|align=center |
| |<math> \hat{p} = \frac{n_f + 1}{N + 2} </math> | | |<math> \hat{p} = \frac{n_f + 1}{N + 2} </math> |
| + | |(2) |
| |} | | |} |
| + | |
| where <math>n_f</math> is the number of runs whos cost function value is greater than <math>Cost_{min}</math> and ''N'' is the total number of runs. | | where <math>n_f</math> is the number of runs whos cost function value is greater than <math>Cost_{min}</math> and ''N'' is the total number of runs. |
| | | |
Line 52: |
Line 58: |
| | | |
| === Sequential Performance === | | === Sequential Performance === |
| + | |
| + | Using the ''K'' and <math>\alpha</math> parameters determined for the ''alpha'' = 0.5 run, the number of steps that would be needed to achieve <math>50\%</math> probability of convergence for a sequential run can be determined to be on the order of <math>10^{19}</math>. It would take a single processor 500 million years to take this number of steps! |
| + | |
| + | === Optimizing Run Length === |
| + | |
| + | The optimal run length can be determined now that the ''K'' and <math>\alpha</math> parameters are known. Given that the the total number of steps ''T'' is given by the following expression |
| + | |
| + | {|align=center |
| + | |<math> T=Rn </math> |
| + | |(3) |
| + | |} |
| + | |
| + | where ''R'' is the number of runs and ''n'' is the run length. The probability of obtaining one successful run out of ''R'' runs is given by |
| + | |
| + | {|align=center |
| + | |<math> P_s = 1 - \left(\frac{K}{n}\right)^{R\alpha} </math> |
| + | |(4) |
| + | |} |
| + | |
| + | Using the method of Lagrange multipliers, the optimal step number can be found to be |
| + | |
| + | {|align=center |
| + | |<math> n = K e </math> |
| + | |(5) |
| + | |} |
| + | |
| + | and given the ''K'' parameter determined from the ''alpha'' = 0.5 run, the optimal step number can be determined to be <math> (1.44 \pm 0.65) \times 10^5 </math>. |