「ペンシルパズルの難易度」について
こちらは、ペンシルパズル Advent Calendar 2020の22日目の記事です。
テーマはタイトルの通りです。ペンシルパズルの難易度について語ります。
きっかけ
私がインターネット上(twitterやパズルスクエア)でペンシルパズルを解いている時、よく思うことがありました。それは即ち、
設定されている難易度と感じる難易度が違いすぎる
ということです。
知らない単語のたいへんセレクトワーズ、目解きできるアゼンシャカシャカ、永遠に解けないおてごろカーブデータ...
これらの問題は私の考える難易度を大きく逸脱していました。
最初は私の感覚がおかしいのではないかとも考えましたが、私だけの問題ではないようです。
これは、恐らくけーえぬわいさんが作成されたであろうシャカシャカです。
そして、このツイートを見てみましょう。(けーえぬわいさんから引用の許可をいただきました)
なんと、最多票が半数に達していません。あまつさえ同じ問題なのにらくらくの人とアゼンの人がいる始末です。これでは、難易度の設定がまちまちになるのは仕方ないですね。
この理由を2つ挙げてみます。
①各々の考える「ペンシルパズルの難易度」が異なる
②各々の難易度の測定が画一的でない
②の解決には機械的に判定する必要が生じ、それはパズルのルールによって異なる複雑な過程が必要だと思います。数独やへやわけについて機械的な判定を試みている論文は見かけたことがありますが、私には厳しいので今回は触れません。
そこで、「ペンシルパズルの難易度」とは何か、考えてみることにしました。
ニコリの定義
一応ニコリの定義を参照してみます。
らくらく サラサラと流れるようなやさしさ。
おてごろ メキメキ上達するほどよい難しさ。
たいへん タラタラ汗をかくかなりの難しさ。
アゼン ダメダメ難しすぎ 一度は降参もOK。
(パズル通信ニコリ159号より)
「らくらく」<「おてごろ」<「たいへん」<「アゼン」という以上の情報は得られませんね。因みに、各難易度は文字ではなく?に顔がついた様な記号で表されていました。
難易度の存在
ここで、ペンシルパズルの難易度を観測されることで生じるものと捉えることにします。量子論的というかデカルト的というかそんな感じです。
例えば、人類が滅亡して煤けたパズルが道端に落ちている時、それに難易度は存在するでしょうか。私はしないと思います。何故なら、難易度は解くことを想定されることによって成り立つ客体的なものであるからです。上野千鶴子さん風に言うと「難易度は、「解かれる」ことによってのみ「発見」される」ということです。
つまり、人間を主体としてペンシルパズルの難易度を考えようということです。
時間の重要性
まず、ペンシルパズルの難易度を知りたいと思う場面を2つ考えてみます。
①ある難易度の問題を解きたい(簡単な問題を解きたい、難しい問題を解きたい)
これは解く側の立場であり、作る側が設定した難易度を知りたいという状況です。
この目的を2つ考えてみます。
・楽しみたい
・時間を調整したい
前者の楽しさに関しては解く人の基準が大きく影響するため難易度を判定する際に何かに明確に気をつけることは難しいです。
そして重要なのが後者です。「もう夜遅いから簡単な問題を解こう」「今日は時間があるから難しい問題に挑戦しよう」という感じの目的です。これは単純に解くのにかかる時間が難易度によって知りたいものとなっています。
②作った問題に難易度を付けたい
これは作る側の立場であり、解く側に対し難易度を設定したいという状況です。あるいは大会の作問等で思い通りの難易度配分にしたい、という状況です。
これも2つに場合分けします。
・twitterやパズルスクエアに投稿する際
これは1つ目の解く側の「ある難易度の問題を解きたい」という目的を実現することが目的なので、先程と全く変わりません。
・大会で出題する際
「全体的に易しめにしよう」「全体的に難しめにしよう」「順に難しくしよう(ビクツァイト様式)」という感じの目的です。twitterやパズルスクエアと異なる点は算出した難易度を解く側に明示するとは限らない、ということです。
さらに2つに場合分けします。(場合分け多いですね)
・時間制限が重要な大会の場合
殆どの大会がこれに属すると思います。これはいうまでもなく解くのにかかる時間が重要です。
・制限時間が充分長く、解けるかどうかが重要な大会の場合
夏休みパズル大会がこれに属すると思います。この場合、解けないということを無限の時間がかかるとみなすことで解くのにかかる時間で包含することができます。
ということで、場合分けの結果解くのにかかる時間が重要であることが分かりました。
拡張
実際に大雑把に難易度を考えてみましょう。前述しましたが難度の厳密な測定は今回は扱わないので、数値は適当です。
まず、解答時間の平均を難易度としてみます。この時、平均をとる母体はニコリを解いたことや、パズルスクエアを開いたこと、twitterのペンシルパズルを開いたことがある程度にはペンシルパズルに興味がある人とします。そうしないとペンシルパズル界隈では有名なパズルでも母体の殆どがルールを知らないことになるからです。
<ましゅ>
簡単ですね。ほとんどの人が数秒以内に解けたのではないでしょうか。
ということで、難易度は「3秒」にしておきましょう。
(母体を絞らないとルールの理解で恐らく平均が数十秒になります)
ここまでなら話は簡単、単純です。
通常サイズにしてみます。特に解く必要はありません。
<ましゅ>
昔私がパズルスクエアに投稿した問題です。難易度は、まあ「2分」位でしょうか。
この程度のサイズでも、かかる時間に「慣れ」や「思考力」による個人差が生まれてきます。
ではさらに大きく。と言いたいところですが問題がないので想像しましょう。
こうなると、解くのにかかる時間の個人差は決して無視できないものにまで広がります。
これは「平均」という大雑把な評価の誤差が大きいためですね。
さらに、このような問題もあります。
↓全探索or神頼みの黒どこ(理詰めなし)
ほとんどの人について、この問題を解いて時間を測ることは乱数を生成するようなものではないでしょうか。Light and Shadowが思い出されます。
では、この評価を改善してみましょう。回避したいのは、次のような事象です。
2つの問題A,Bについて難易度がA<Bだとしてもかかる時間がA>Bとなる
これの対処は単純です。そもそもペンシルパズルの難しさ自体が全順序でないので、難易度評価も全順序でないようにする必要があります。即ち、新たな軸を加えた多元的評価にするということです。
今までは解答時間の平均でしたが、これを解答時間の分布図にしてみます。
多分こんな感じです。人数の合計は1とします。
これは完全に平均の上位互換ですね。これには情報量が多いという問題があるのですがそれは一旦無視します。
しかし、まだ問題があります。
このペンシルパズル(??)を見てみましょう。
1000以下の素数の個数を答えよ。
地道に2,3,5,7,11,13...と数えると数分はかかるでしょうし、数え間違えてしまうかもしれません。しかし、ある程度の人は数秒でわかるのではないでしょうか。理由は簡単、「知っているから」です。
この場合、分布図は大体こんな感じになるでしょう。
知識で解く人と数えて解く人で山が2つできるということです。
上記は露骨な例でしかもパズルなのか微妙ですが、知識によって大きな差異が生まれることは結構よくあります。
例えば、ヤジリンには下図のような手筋がありますが、これは知っているかどうかによってかなりかかる時間が変わると思います。
そして、この様な知識が問われる部分が複数積み重なれば時間差は生まれるでしょう。
そこで、この「知っているか」によって分布図に新たな軸を設けることにします。さっきの素数の個数の例で言うとこんな感じです。
実際には素数の個数を知ってはいないが素数をある程度覚えているという人もいるでしょうし、素数かどうか確かめるには平方根以下の素数で割るだけで良いと知らない人もいるかもしれません。だから3つめの軸は端だけでなく中間もあるはずです。
そこで、この「知っているか」をさらに一般化し「練度」とします。
(本当は各手筋についてそれを知っているか、言い換えると各盤面(無数にある)を見た時どのように行動するか(時間を含む)で解く人を分類する方が厳密なのですが、その場合肝心の問題自体が各盤面の中に含まれてしまい意味がなくなる(この盤面を1分で解ける人の集団は皆1分で解く、というような情報しか生まれない)ので練度という1つの実数とします。小さい手筋を基に帰納的に難易度を判定することは定義ではなく測定の領域だと思うので今回は触れません。そしてその結果練度が曖昧どころか自己言及的な概念になっているのですがそれは解決できませんでした。)
練度が0に収束すると人数は0に収束し時間は無限に発散するとします。練度が無限に発散すると人数は0に収束し時間も0に収束するとします。
このグラフで難易度の定義の目的は概ね達成されました。
ではこれを圧縮してみよう、と私は考えました。
.........
......
...
...そして、大きな間違いに気がつきました。
<今までの流れ>
各々の考える「ペンシルパズルの難易度」が異なる
「ペンシルパズルの難易度」とは何か考えてみることにする
ペンシルパズルの難易度を「観測されて生じるもの」と捉える
それを踏まえ実際の例を場合分けし時間が重要であると分かる
解答時間の平均を考える
ペンシルパズルの難易度は全順序ではないので必然的に多元的評価になる
情報を拡張し解答時間の分布図を考える
練度を導入する
間違いはこの中にありました。
前述した通りペンシルパズルの難易度は「観測されて生じるもの」です。観測は主体が必要で、結果は主体に影響されます。
私は人類が滅亡したらペンシルパズルに難易度はないというようなことを言いましたが、これはもう少し掘り下げるべきでした。即ち、
らくらくであると考える人が世界に1人もいないパズルはらくらくではない
そう、観測は主体が必要ですが、結果は「主体の集合」に影響されます。
あるペンシルパズルにおける「主体の集合」とはそのペンシルパズルの難易度を考えた人達のことです。
つまり私がするべきだったことは、適切に難易度を評価することではなく、適切な難易度評価方法を考えることでもなく、用いられている難易度評価を評価することだったのです。
そして、これは一番最初に行われていました。
恐らくけーえぬわいさんが作成されたであろうシャカシャカ、この問題の難易度はらくらくでもおてごろでもたいへんでもアゼンでもましてや3次元のグラフでもなく、
これです。この投票結果がこの問題の難易度に違いありませんでした。
私は結論を最初に見ていることに気がついていなかったのです。
<今までの流れ>のどこが間違っていたのか。それはこの部分です。
各々の考える「ペンシルパズルの難易度」が異なる
正しくは、こうするべきでした。
各々の考えるペンシルパズルの難易度が異なる
そう、ペンシルパズルの難易度は観測され生じるものですが、「ペンシルパズルの難易度」は観測と発生という現象そのものだからです。
私はペンシルパズルの難易度と「ペンシルパズルの難易度」を混同していたということです。
私はこの記事で「ペンシルパズルの難易度」について語りました。記事の題名もそれに倣うことにします。ペンシルパズルの難易度は結局よく分かりません。あのシャカシャカをアゼンと考える人がいる理由は分かりません(私はらくらくに入れました)。
長々と書きましたが、ここまで読んでいただきありがとうございます。
最後に、まだ間違いに気がついていなかった頃の私が書いた段落を置いておきます。頑張って評価しようとしていますね。
機械の要因
ペンシルパズルは時に、同じ問題でもそれを解く際の媒体によって難易度が大きく変わることがあります。それは問題によっては無視できない差異になり得るので一応例を挙げておきます。
・正解判定
puzz.linkには正解を判定する機能があり、ボタンを押すだけですぐにどこがルールに違反しているか分かります。その結果、特に大きい問題に関しては紙やpenpa-editで解く際と異なり「正解なのかわからない」「(アンサーキー等により)どこかが間違っていることはわかるがそれがどこかわからない」という事態が起こりません。
・領域の表示
領域に色を付けるという機能が難易度に大きく関わる場合があります。見ればわかると思うので例を挙げます。
先日私がパズルスクエアに投稿したLITSです。私が言及するまでもなくY.Y.さんが
「誌面なら余裕で詐称ですね」
とコメントされました。全くもってその通りです。puzz.linkの場合適当に1つの領域の4マスを黒く塗るとその領域全体に色がつくので、かなり考えやすくなります。これは領域系のパズルでpuzz.linkに対応しているもの全般に言えることだと思います。
・美術館
puzz.linkの美術館は照明に照らされているマスが一目で分かりますね。
・ひとりにしてくれ
puzz.linkのひとりにしてくれには、同じ行・列に同じ数字がある数字を赤くする機能があります。そしてその結果単純作業にかかる時間という意味でも思考のしやすさという意味でもかなり難易度を下げていると思います。
・大盤面の表示
これは私のPCとスマートフォンの場合のみを基にしていることですが、スマートフォンだとpuzz.linkのある程度大きい問題について領域の線等が重なってしまい解くことが事実上不可能になります。例えば先ほどの巨大LITSはスマートフォンだとこんな感じです。
とてもではありませんが解くことはできませんね。
上記4つの例は人による思考を機械(プログラム)が少し補助していることが原因なので、いわば「機械を使う人間」という主体の存在によって引き起こされているといえます。ですがソルバーはパズルスクエアを埋めたり大会に参加したりする際の「解く」には用いられないと思うので難易度評価に考慮する必要はないでしょう。
この記事が気に入ったらサポートをしてみませんか?