AI難易度表

AI難易度表

BMSをプレイする人工知能さんが私の所持している全譜面をプレイして難易度をつけてくれました!

現在実験中です。

譜面が増えたり減ったり仕様が変わったり推定難易度がぶっ飛んだり読み込めなくなったりするかもしれません。

それでも構わないから使ってみたいという方はこのページのURLを難易度表管理ツールで読み込んでください。(BMSeeker, beatoraja で動作確認済み)

推定難易度が ★0 以上の譜面のみの軽量版はこちら

タイトルや URL を含むフルバージョンはこちら

難易度表の仕様

  • とても重たいです。
    • BMSeeker を使用して読み込んだ場合、難易度表の更新に10分以上かかる可能性があります。
    • BMSeeker で使用する場合は、この難易度表の同期モードをオフにしておき、更新したいときだけオンにすることを推奨します。
  • 難易度は通常難易度表(☆1 - ☆10)と、発狂難易度表(★0 - ★27)スケールで評価されます。
  • LN を多く含む譜面は LN 難易度(◆8 - ◆27)として推定されます。
    • ただし、★0 に満たない譜面や、◆8 に満たない譜面は通常難易度として評価されます。
    • LN判定がまだ曖昧です。
      • (2021/05/15) LN 判定、LN 難易度推定を更新しました。
    • LN 難易度は自分がプレイしないため、正しく推定できているかは全くわかりません。
  • BMSeeker を使用すると小数点以下を含む難易度の数値を表示することができます。
    • ★ を基準とするため ☆ はマイナスの値になります。(-1.0 ~ 0.0 → ☆10)
    • LN難易度は+100されています。(112.34 → ◆12.34)
  • comment に曲中の最大難易度が書かれています。
  • 私が所持している 10 - 100000 ノーツのすべての7鍵譜面が含まれています。(現在 85000 譜面くらい)ただし正常に読み込むことが出来なかったBMSは含まれていません。
  • 当然ながら私が所持していない譜面は含まれていません。
    • そのうちこのページに難易度推定ツールを公開するかも。
  • 難易度表のデータには level(難易度) と md5(ハッシュ値) しか含まれていません。(軽量化のため)
  • この世に存在しない譜面が含まれている可能性があります。
  • 危険な譜面が紛れ込んでいる可能性があります。
  • BMSeeker を使用するとより詳細な難易度の数値が表示されます。

推定の仕様

  • 客観的な難易度評価がされているメジャーな難易度表を基準として難易度を推定しています。(発狂難易度表、Stella など)
    • 基準となる難易度表の難易度が絶対に正しいと信じたうえで推定しているということです。
    • 特殊な譜面にもとりあえず難易度をつけるために癖譜面コレクションなども基準に含まれています。
  • トータル値、判定は考慮されています。
    • トータル値の計算は LR2 基準で設定されています。
      • トータル値未設定の場合(トータル値が 1 未満の場合を含む)は 0.16 * (総ノーツ数) + 192 をトータル値として設定。(LR2基準)
    • 通常ゲージ基準での推定難易度となります。
      • 超高トータル(1ノーツでゲージが100%以上回復するものなど)は超高密度でも超低難易度として推定される可能性が高いです。
    • ハード判定以上はまともに推定できていない可能性が高いです。(そもそも発狂難易度で分類することが困難)
  • 配置にランダムをかけても難易度は変化しないという前提で推定しています。(より汎化するため)
    • そのため、く ぱ ぁ などの譜面傾向は過大評価される可能性があります。
  • 譜面の流れは考慮されています。
    • いわゆるラス殺しや最初だけ難しいは考慮されます(たぶん)
    • この難易度表には最終的な難易度のみ掲載していますが、実際には全体の難易度の流れも出力されます。そのうちこのデータも参照できるようにする予定です。
  • スクロール速度の変化は考慮されています。
    • 最もノート数の多い BPM を基準に設定し、この BPM からの加速や減速が考慮されます。つまり beatoraja で MAIN BPM に設定してプレイしたと仮定します。
    • ギアチェンやタオルは使用しないものとします。
    • 正直あまり考慮されていない気がします。
  • LN は複合している場合のみ考慮されます。
    • ある LN を押しながら他のキーを押すという操作になる LN のみが LN の扱いを受けます。
    • 複合しない LN は通常ノートと同じものとしています。
  • #RANDOM を使用している BMS はランダムに選ばれたある1つのパターンで推定されます。
    • 本来なら全てのパターンで推定してパターンごとに難易度を出すべきなんだろうけど面倒くさいのでやりません。
  • 地雷ノートは存在しないものとして処理されます。
  • 前例の少ない譜面に対して弱いです。(あたりまえ体操)
  • BMS ファイルは bms-js を使用して読み込まれています。したがって bms-js で正常に読み込むことができない BMS はうまく推定できていない可能性があります。

そのうちやるリスト

  • このページで直接 bms ファイルの難易度推定を行えるようにする(coming soon)
    • その推定結果を難易度表に追加する。
  • このページで譜面の検索などを行えるようにする(coming soon)
  • カスタムフォルダ作成ツールをこのページに作成する。
  • 明らかに推定値がおかしいものを募集しデータセットに追加する。
  • 細かい話を書く。
  • 発狂難易度データベースを形にする。(coming soon ?)

更新履歴(難易度推定モデルの方)

  • 2021/05/22 LN 推定モデルを更新
  • 2021/05/15 難易度推定モデルを更新
    • 学習に用いる特徴量を増やした
      • 連打や軸などがより考慮されるようになった(たぶん)
    • 学習時の用いるデータセットを見直した
    • LN 判定、LN 難易度推定モデルを更新した
    • その他細かい修正
  • 2021/01/27 通常難易度の難易度推定モデルを更新(LN難易度は未更新)
  • 2020/11/11 難易度推定モデルを更新
  • 2020/11/07 とりあえず公開