= 0 for p in particles: w_sum += p.w threshold = w_sum * random() w_sum = 0 for i in range(particle_num): w_sum += p.w if w_sum > threshold: return p ·ͣɼύʔςΟΫϧͷॏΈͷ૯Λग़͢ ૯ʹ(0,1)ͷϥϯμϜͳ࣮Λ͔͚ͨΛ ᮢͱ͢Δ ύʔςΟΫϧͷॏΈΛॱ൪ʹ͠߹Θͤͯɼ ᮢΛ͑ͨ࣌ͷύʔςΟΫϧΛબ͢Δ ॏΈ͕େ͖͍ύʔςΟΫϧ΄Ͳબ͞ΕΔ͕֬ߴ͍