進捗報告:リストからデッキタイプを自動判定した

以前、デッキ名を判断する方法について議題を投げました。
https://note.mu/ictxptcg/n/na33ca982c9a7

妥当な結論は出ていませんが、当面の不自由を解決するために超簡易ロジックで実装してみました。

実用的とは言い難いですが、デッキリストを元にデッキ名を付けることができます。
無名のデッキリストを検索するのは大変だったので、ひとつ前進です。

第1弾・超簡易ロジックは以下のようになりました。

[概要]
採用されたポケモンを3つ選択し、デッキ名とする。

(1) GXが含まれれば優先的に採用する
(2) 採用枚数が多いポケモンを優先する
(3) 上記が同率の場合はデッキリストの記載順に選択する

[詳細]
概要に従い各ポケモンに点数を付け、高い順に3つ選択する。

(1) GX
GXポケモンなら加点 +10,000

(2) 採用枚数
採用枚数 × 100 を加点する

(3) リストの記載順
リストの記載順序と同じ数を減点する

(4) ポケモン選択
点数合計が高い順に、ポケモンを3つ選択する

※カプ・テテフGX、デデンネGXはメインポケモンでないので除外する

作成したプログラムを使い、チャンピオンズリーグ京都大会(マスター)の入賞デッキに名前を付けた結果が以下の通りです。

1位 manaさん
まとめサイトによるデッキ名:レシラム&リザードンGX
自動付与したデッキ名:レシラム&リザードンGX/ジラーチ/ミルタンク

2位 タケトさん
まとめサイトによるデッキ名:ルカリオ&メルメタルGX/フーパ/HAND
自動付与したデッキ名:ルカリオ&メルメタルGX/フェローチェ&マッシブーンGX/フーパ

ベスト4 会長さん
まとめサイトによるデッキ名:レシラム&リザードンGX
自動付与したデッキ名:レシラム&リザードンGX/ブースターGX/ヒードランGX

ベスト4 みれ
まとめサイトによるデッキ名:サーナイト&ニンフィアGX/ムウマージ
自動付与したデッキ名:サーナイト&ニンフィアGX/ムウマ/ムウマージ

当然ですが、違和感がありますね。
TAGTEAMメインのデッキはまだしも、カラマネロのデッキだと「ウルトラネクロズマGX/マーシャドーGX/マーイーカ」となって違和感が増します。

課題をざっと挙げてみます。

[課題]
(1) 進化前を除外できない
(2) メインでないGXポケモンも優先される
(3) 同タイプのデッキでも名称が固定されない

挙げるとキリがないのですが、重要なのはこの辺り。
客観的にみて、このデッキ名を環境分析に使うことはできないでしょう。

改善案としては、カードデータを参照して除外ルールの設定や、加点方法の改良でしょうか。
簡易ロジックをどこまで改善するかはさておき、まだやれることがありそうです。

できるなら完成度の高い、簡易でないロジックを実用化したいところです。
しかし、概念レベルでも答えが出ておらず先になりそうですね。

余談
プログラムはbashで作成し、Windows Subsysytem for Linuxで動かしています。
読み込ませるデッキリストをTSVで用意する必要があったりと、それなりに面倒な作りになりました。

この記事が気に入ったらサポートをしてみませんか?