要素の複雑さ:競技課題(情報)の負荷
一言でいうと
競技課題がワーキングメモリに与える認知負荷の内、要素の複雑さの負荷です
競技課題の作業や、扱う道具・部材・機材などの複雑さです。2つに分かれます。
1つは客観的な要素の複雑さです。誰が見ても複雑だと感じる内容のことです。例えば、素材を加工する場合、四角く加工するよりも、五角形や六角形に加工する方が、要素の複雑さは高くなります。
もう1つは主観的な要素の複雑さです。人によって複雑さの感じ方が変わるもののことです。例えば、五角形に加工するのは、初心者にとって複雑かもしれませんが、普段から八角形などの加工をしている人にとっては、あまり複雑ではりません。
何が負荷になるのか?
要素の複雑さが多いと、ワーキングメモリ量を多く消費します
人が一度に覚えておける量(短期記憶)はおよそ7つと言われています
これが、何か作業しながら覚えておける量(ワーキングメモリ)となると4〜5になると言われています
要素の複雑さが多いほど、技能者が作業中に注意を向けなければいけないことの量は増えます。
また、複雑なもの程高い精度が必要なので、強く集中し続ける必要があります。
その結果、ワーキングメモリに大きな負荷がかかります。
負荷が限界を超えると、忘れたり、やり間違ったりが、増えてしまいます。
初心者と熟練者の違いは?
初心者
初心者は、その分野の知識(領域固有知識)や、その知識を入れておく引き出し(スキーマ)がまだ未熟です。そのため、あまり複雑な要素を頭に入れておくことができません。比較的少ない要素の量でも、ワーキングメモリが圧迫され、忘れてしまったり、やり間違えたりします。
熟練者
熟練者はその分野の知識(領域固有知識)や、その知識を入れておく引き出し(スキーマ)が発達しています。
そのため、複雑な要素を1つのパターンに単純化したり、既に持っている知識を利用しつつ作業できます。ドラえもんの四次元ポケットのように、容量制限なく記憶できるようになることもあります(長期ワーキングメモリ)。
そのため、複雑な要素でも、ワーキングメモリがあまり圧迫されず、速く正確な作業が可能となります。
日常ではどんな場面で起こる?
大河ドラマなど、放送期間が長くてたくさんの人物が登場する物語では、それぞれの人間関係は複雑になります。そのため、誰が誰とどんな関係にあるのか、理解するのは大変です。一方で、2時間ドラマなどは登場人物があまり多くないので、人間関係がそれほど複雑ではなく、理解に困りません。もっとも、映画の中には2時間ドラマくらいの上映時間で大河ドラマ並の数の人物が登場するものもあり、その場合、理解することが難しくなります。
仕事に置き換えると、プロジェクトやものづくりで実現や完成を目指すものが当てはまります。
参考記事:「わからないから見ない」渋谷駅の構内図と選択的注意
チェックの仕方
自分が何かの作業やタスクに取り組んだ時を振り返ります。
そしてこの認知負荷を、
「1.少ない~5.多い」の5段階で回答します。
sns.set_style("whitegrid")
#ペア・ブートストラップの関数:回帰用
def draw_bs_pairs_linreg(x, y, size=1):
"""Perform pairs bootstrap for linear regression."""
# Set up array of indices to sample from: inds
inds = np.arange(0, len(x))
# Initialize replicates: bs_slope_reps, bs_intercept_reps
bs_slope_reps = np.empty(size)
bs_intercept_reps = np.empty(size)
# Generate replicates
for i in range(size):
bs_inds = np.random.choice(inds, size=len(inds))
bs_x, bs_y = x[bs_inds], y[bs_inds]
bs_slope_reps[i], bs_intercept_reps[i] = np.polyfit(bs_x, bs_y , 1)
return bs_slope_reps, bs_intercept_reps
x=df["ECL-課題負荷:54要素の複雑さ"]
y=df["メダルスコア"]
# ブートストラップで傾きと切片を作る
bs_slope_reps, bs_intercept_reps = draw_bs_pairs_linreg(x, y, size = 1000)
# 95% CI 傾きの。
print(np.percentile(bs_slope_reps, [2.5, 97.5]))
# ブートストラップ用のXを作る
x_bs = np.array([1, 5])
# ブートストラップで直線をかく
for i in range(100):
_ = plt.plot(x_bs, bs_slope_reps[i]*x_bs + bs_intercept_reps[i],
linewidth=1, alpha=0.5, color='Orange')
# 描画
x_jitter = x + np.random.normal(0, 0.1, len(x))
y_jitter = y + np.random.normal(0, 0.1, len(x))
_ = plt.plot(x_jitter, y_jitter, marker= ".", linestyle = "none", alpha=0.5, markersize=15)
plt.xlabel("情報の負荷:要素の複雑さ", igfont, fontsize = 12)
plt.ylabel("メダルスコア",igfont, fontsize = 12)
plt.show()