P1-17

制約特殊化による行き詰まり原因自己認識法とその習得支援システムの設計と開発
Design and development of a system that supports learn how to recognize
the cause of deadlocks in problem solving by specializing constraints
元川 凱喜*1, 林 雄介*1, 平嶋 宗*1
Kaiki Motokawa*1, Yusuke Hayashi*1, Tsukasa Hirashima*1*1
広島大学院工学研究科*1Graduate School of Engineering, Hiroshima University
Email: motokawa@lel.hiroshima-u.ac.jp
あらまし：問題解決の行き詰まりを能動的な学習の機会とするためには，学習者自身に行き詰まり原因を認識させることが有効と期待できる．本研究では，問題の制約を特殊化していくことで解ける問題を見つけ，元の問題との差分を行き詰まり原因として検出する方法（制約特殊化による行き詰まり原因自己認識法）を力学問題において定式化し，その方法の習得を支援する演習システムを設計開発する．
キーワード：単純化, 特殊化, 単純化方略, 自己克服

1.

はじめに学習者が問題解決の際に，その問題を解くための知識は持っているにもかかわらず失敗してしまうことがある.一般的な学習では教授者が問題の正しい解き方を教えることが多いが，これでは学習者がその正しい解き方を受動的に受け入れてしまいがちであり，学習としては効果的であるとはいえない．一
方，学習者が行き詰まりの原因を自身で発見し，再び元の問題に挑戦して克服することを自己克服といい，学習者が能動的に自己調整活動の一つであり，高い学習効果が期待できる失敗の解消法となる. 本
研究では，制約特殊化による問題の単純化による自己克服に焦点を当てる．
自己克服する方法としてポリヤ(1)は『もしも，与えられた問題がとけなかったならば，何かこれと関連した問題を解こうとせよ. もっと易しくてこれと似た問題は考えられないか. 』と述べている. しかし，ここでは「易しくて似た問題」が明言されていない. 筆者らの先行研究ではこの易しく似た問題を「単純化」と呼び，この単純化とは問題の正答率といった難易度ではなく解決過程の包含関係によって定義を試みている. 解決過程の包含関係で定義する
ことで行き詰まりの原因を差分として抽出することが可能になる．
先行研究で開発された力学の問題演習における自己克服を支援するシステム（ICP）(2)では，学習者に初期問題を与え，その問題を解決できなかった際に，その問題を単純化した問題を提供して解かせることで元問題の自己克服を促すものである. この自己克服の方法を単純化方略(3)と呼んでいる. 単純化方略
では行き詰った問題を一段階単純化し，解ける問題が見つかるまで繰り返す. 解ける問題が見つかった

ときは直前の問題と比較する. 単純化は先ほど述べたように解決過程の包含関係で定義しているので，比較し差分をとることで学習者は行き詰まりの原因を発見することができる.
この ICP による自己克服支援は実践的利用を通して有効性が確認された. しかし，このシステムではシステム内で単純化を行った問題を提供していた.
つまり，単純化をブラックボックス的に行われたた
め，学習者はシステム演習中に何を学習しているのかわからない可能性や，システムなしでは単純化を行えない可能性がある. そこで本研究では単純化の仕組みを，システム利用を通して再構成し，学習者にとってホワイトボックス化することで単純化の習得を目的とする.
2. 単純化の定義
単純化を定義するためにはまず問題の構造を定義する必要がある. 先行研究(4)では力学における問題を表層構造(問題文)，制約構造(物理状況)，解法構造(解法)に分類して定義し，このうち問題を解く際に特に影響する物理状況と解法において単純化を定義した. 「状況」は重力加速度や質量といった問題を構成する属性と，それらの属性を結ぶ数量関係によって構成されたネットワークであり，「解法」はそのネットワーク内で問題から与えられた入力属性と求めるべき出力属性をつなぎ合わせた木構造で表現される解法構造である. これらの構造に操作を行うことで関連した問題を作ることができる.
状況の単純化では問題の持つ属性の値を考えなくてよい値にデフォルト化することで単純な問題を得る（たとえば，摩擦係数を０とする，など）. これを「特殊化」と定義する. 摩擦係数が存在する状態― 33 ―

教育システム情報学会 JSiSE2019
第44回全国大会 2019/9/11-9/13が一般的な状態であり，摩擦係数が０という値に特定されているのが特殊な状態である．複雑な問題の解決過程は，摩擦係数が０でない場合の解決過程は，０である場合の解決過程を含んでいることになる．
解法の単純化は解法構造の一部分を抜き出すことであり，中間属性を出力属性や入力属性にすることで単純な問題を得る. これを部分化と定義する.以下
本稿では，特殊化に焦点を絞って話を進める．

3.3 解法構造特殊化演習
特殊化が解き方にどのように影響するのかを解法構造を再構成することにより学習する. 元問題の解法構造において特殊化によってデフォルト化される属性(図 3)，それにより考える必要のなくなる部分(図 4)を選択することで単純化後の問題の解法構造を再構成する演習を行う.

3. システム
3.1 システム概要
本システムでは問題間構造の可視化，操作可能化をシステムで実現することで，問題の単純化をホワイトボックス化し，「特殊化」の習得支援の実現を目指す. 具体的には，問題間の特殊化関係の構造の可視化し，さらにその構造を部品から再構成することを演習としている.

3.2 問題間構造組み立て演習
問題間構造組み立て演習では問題間構造が体系的な構造をとることを学習者に意識させることを目的とする. 具体的には状況をノード，単純化する属性をリンクとしたキットを組み立てることでマップを組み立てる. 例えば図 1 では，リンクラベルは摩擦係数になっており，リンク元（矢印のないほう）のノードの問題は摩擦係数が 0 でなく，摩擦力が働いている問題，リンク 先となっているノードの問題は，摩擦係数が 0 に特殊化され，摩擦力が働ない特殊化，つまり単純化された問題となっている. 続いて図 2では完成したマップを各ノードが何度単純化されたかを「単純度」とし，その単純度に従って所定の位置に再配置することで階層構造をとることを学習できる.

図 3 解法構造特殊化演習①

図 4 解法構造特殊化演習②

4.

まとめと今後の課題

本研究では制約特殊化による問題間構造の組み立て、また特殊化による解法構造の変化を再構成することで特殊化の習得を支援するシステムを設計・開発した. 今後の課題としては正誤判定以外のフィードバックの追加や実践的な利用があげられる.

図 1 問題間構造組み立て演習①

図 2 問題間構造組み立て演習②

参考文献(1) Polya:“How to solve it”, Princeton University Press（1957）(2) 林直也,篠原智哉,山元翔,林雄介,堀口知也,平嶋宗,”単純化による問題解決行き詰まりの自己克服支援”,第39 回教育システム情報学会全国大会,I1-28,pp. 55-56,(2014,09,10-12)(3) 武智俊平,林直也,篠原智哉,山元翔,林雄介,平嶋宗：単純化方略を用いた問題解決失敗の自己克服支援シス
テムとその実践的評価―初等力学を対象として―,電子情報通信学会論文誌 D, J98-D No. 1, pp. 130141(2015. 1)(4) 平嶋 宗，東 正造，柏原 昭博，豊田 純一：“補助問題の定式化”，人工知能学会誌，Vol.10，No.3，pp.413420(1995)― 34 ―