擅长:python、mysql、java
<p>一种方法是选择元素<code>k</code>,其概率与<code>exp(-(x[k] - x[0])/T)</code>成正比,其中<code>x[0]</code>是最小的元素,<code>T</code>是自由参数,类似于温度。这是受到热力学类比的启发,在热力学中,低能(小<code>x[k]</code>)态更有可能,高能(大<code>x[k]</code>)态有可能,但可能性较小;温度的影响是集中在最可能的状态(<code>T</code>接近零)或以几乎相等的概率从所有元素中选择(大的<code>T</code>)</p>
<p>模拟退火的方法就是基于这个类比,也许你能从中得到一些启示</p>
<p>编辑:请注意,此方法对值几乎相等的元素给出了几乎相等的概率;根据你的描述,听起来这是你想要的</p>
<p>第二次编辑:我把它倒过来了;我在上面写的使得较小的值更有可能。与<code>exp(-(x[n - 1] - x[k])/T)</code>成比例的概率,其中<code>x[n - 1]</code>是最大值,使得更大的值更可能</p>