You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算等长二进制序列的稳定性并生成可排序的量化评分

二进制序列稳定性评分方法

你需要的稳定性本质对应二进制序列的相邻元素跳变频率,我们可以用以下两种成熟的计算方案得到可直接排序的量化评分,完全匹配你给出的样例特征:

方案1:相邻跳变率(计算最简单,通用性最强)

设等长二进制序列为 S = [s₁, s₂, ..., sₙ],n为序列长度:

  • 第一步:统计相邻元素数值变化的总次数(跳变数C),计算公式:
    C = Σ(i=1到n-1) |sᵢ₊₁ - sᵢ|
  • 第二步:归一化得到0~1区间的跳变率R,计算公式:
    R = C / (n-1)
  • 排序规则:R值越小,序列稳定性越高
  • 你的样例验证:
    • 全1/全0序列:所有相邻元素无变化,C=0,R=0,稳定性最高
    • [1,0,0,1,1,0]:跳变位置为1→2、3→4、5→6,C=3,R=3/5=0.6,稳定性中等
    • [1,0,1,0,1,0]:所有相邻位置都跳变,C=5,R=1,稳定性最低
      如果你更习惯「得分越高越稳定」的逻辑,直接用 1-R 作为最终评分即可。

方案2:连续段加权评分(适配需侧重长连续段权重的场景)

如果你的业务逻辑里,长连续相同值的稳定性权重更高,可以用连续段长度平方和做归一化:

  • 第一步:拆分序列为连续相同值的片段,统计每个片段的长度
  • 第二步:计算所有片段长度的平方和,除以「n²」做归一化得到0~1区间的评分
  • 排序规则:数值越大,序列稳定性越高
  • 你的样例验证:
    • 全1/全0序列:仅1个长度为6的片段,平方和36,归一化得分1,稳定性最高
    • [1,0,0,1,1,0]:片段长度为1、2、2、1,平方和1+4+4+1=10,归一化得分10/36≈0.278
    • [1,0,1,0,1,0]:6个长度为1的片段,平方和6,归一化得分6/36≈0.167,稳定性最低

两种方案的计算复杂度都是O(n),可以直接用于批量序列的排序对比。

内容的提问来源于stack exchange,提问作者Shyam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:06:05