研究内容:池田 覚

研究テーマ『CABの問題の自動生成アルゴリズム』
(更新日:12月2日)

目次
1. はじめに
–1.1 背景
–1.2 目的
–1.3 意義
–1.4 オリジナリティ
2. CABについて
–2.1 四則逆算
–2.2 法則性
–2.3 命令表
–2.4 暗号
3. 問題の自動生成
–3.1 具体的なアルゴリズ
–3.2 追加機能
4. 評価実験
5. おわりに
6. 進捗

 

1. はじめに

1.1  背景
本章では、研究の背景について、既存の物の問題点を挙げる。
・CABの問題集は数多く発売されているが、そのどれにも共通する問題点として以下が挙げられる。
①一つの問題集に収録されている問題は限られていて、人によっては何冊も買う必要があり、それだけコストがかかる
②分厚い問題集だと、移動中の利用には適さないなど、利用できる環境が限定される (ex:満員電車、短い休憩時間
③一度解いた問題は、意識せずとも順番などを記憶してしまうことがある

1.2  目的
本章では、研究の目的として、先にあげた問題点の具体的な解決策を挙げる。
・既存の問題集は予め例題を用意しておくものばかり。
⇒その場で問題を自動生成することで解決できるのではないか。
・自動生成のアルゴリズムを考える上で、CABの問題の種類ごとに特徴を理解する必要がある。
⇒既存の問題集を参考に、特徴を理解する。
・従来の紙媒体では実現できないような機能を、電子媒体で作成することで実現させる。

1.3  意義
本章では、研究の意義として、問題点がどのように解決されるかを説明する。
・背景で上げた問題点が、以下のように解決される。
①⇒ これ一つ(本研究の成果物)で大量に問題が解けるので、問題集に欠けるコストが減る。
②⇒ 電子媒体なので、利用できる環境が広がる。
③⇒ 解くたびに自動生成されるので、毎回違う問題を解くことができる。

1.4 オリジナリティ
本章では、本研究の独自性(オリジナリティ)を挙げる。
・問題の自動生成。
⇒過去にある問題集はすべて制作側(出版社など)のもとで問題と解答が作られているので、利用者の手元で問題と解答が作られるといったものは新しい。
・間違えた問題の記録と、それを基に苦手問題を集中的に解く形式。⇒ユーザー毎に解いた問題を常に記録しておく。そうすることで、そのユーザーが何を正解し何を間違えたかわかる。それを元に、それぞれのユーザーにあった、苦手問題を集中的に出題することのできる形式。
・気になる問題の登録できる。⇒問題を解いている最中、後で見直したいと思う問題が出てくることもあるかもしれないので、それを簡単にお気に入り登録する機能を搭載することで、問題を全て解き終わった後に、見直すことが出来る機能。

2. CABについて
本章では、CABについて詳しく説明する。
一般的に就職活動は「書類審査→適性検査→面接」といった流れで行われる。CABはその適性検査の一種。IT系の企業で多く使われていて、一般的に最優先で対策するべきであるとされる。
CAB以下の4種類から成る。
★現在以下の図は抜粋であるが、最終的には自作し、より分かりやすく・統一感をもったものにする。

2.1 四則逆算

単純な計算問題。旨く割り切れたりと、工夫次第で簡単に解けるようにできているのが特徴。2
2.2 法則性

規則性のある5つの図があり、1つだけ空白になっている部分を答える。20110111_1998916
2.3 命令表

図形を記された命令に従って変形や入れ替えを行い、すべての命令を満たしたもの答える。20110111_1998939
2.4 暗号

空白に正しい命令をいれ、末端の図形の関係が正しくなるようなものを探す。20110111_1998878

3. 問題の自動生成
・問題を自動で生成するアルゴリズムの考案
(既存の問題を自分なりに分析して考案する)

3.1 具体的なアルゴリズ
本章では、アルゴリズムを自動生成するための具体的なアルゴリズムについて説明していく。
※4種類それぞれフローチャートを用意する予定。
それぞれテストプログラムが完成できた時点で一度作成する予定。

【四則逆算】:★フローチャートでも説明する予定
・問題毎に途中式を考え、似た部分を見つる。その部分まで同じアルゴリズムで生成する。
・例 四角で囲まれた部分がどれも『x=○+○+○ (演算記号は任意)』といった形である。
ここまでは同じアルゴリズムで生成し、ここから式変形をして異なる形の問題として出力することで、
多種多様な問題生成を可能とする。

図2

【法則性】:★フローチャートでも説明する予定
・市販されている問題を分析し、どんな法則性があるか調査する。
・法則性は同じで図形が違うだけ、といったものが多いと思われるので、法則性が同じものは同じアルゴリズムで生成できる。

【命令表】:★フローチャートでも説明する予定
・予め問題となる図を複数(50個程度?)用意。
・図と命令をランダム(不適切なものを除く)で設定。
・命令を順に実行し、答えを生成。

【暗号】:★フローチャートでも説明する予定
・4×4のマス目に、それぞれ暗号をランダムで設定するイメージ。
※抽象的でわかりずらいが、まだ形にできていないので、簡単なテストプログラムが出来次第、改めて文章化する予定。

3.2 追加機能 ★SSを用意する予定
本章では、よりオリジナリティを出すための追加機能について説明する。
自動生成の時点で既にウリは十分であるが、さらに電子媒体であることを活かした機能も追加する。
・問題の解き方
→「実際の試験を模した形式」と「一問一答で解いていく形式」の2つ
・間違えた問題の記録
→不正解した問題の系統を自動で記録し、それを基にして苦手問題を集中的に解く形式
・気になる問題の登録
→途中で気になる問題があったら、お気に入り登録ができる

4. 評価実験
本章では、評価実験について説明する。
6.1 何を評価したいのか
・この成果物を利用することで「問題に慣れ、解答力を上げる」ことが出来るか。
(ひたすら反復練習することに向いているか)
・実際の問題とどれだけ酷似していそうか
6.2 CABを実際に経験した人に使ってもらう
・再検討中。
6・3 問題を生成し、どれだけ既存の問題を網羅できるか
3章でも述べたように(後に記述予定)アルゴリズムを自動生成するうえで、既存の問題集2冊を参考に、問題の法則性や出題意図などを考慮し、いくつかのタイプに分類している。
評価実験では、新たに問題集を用意し、問題一つ一つを、自分のタイプに分類できるかどうかで評価する。
例:分類できる⇒その問題は自動生成出来るということなので、網羅できている
分類できない⇒その問題は生成出来ないということなので、網羅できていない。

5. おわりに
本研究では、より低コストで手軽にCABの勉強をするために、自動で問題生成し、モバイル環境でも利用可能なものを開発する。
今後は、アルゴリズムの質の向上に多くの時間を費やしたいと考えている。

6. 進捗
・「命令表」のアルゴリズム・テストプログラムの完成 :100% (ファイル完成数:2/2)
・「四則逆算」のアルゴリズム・テストプログラムの完成:90% (ファイル完成数:9/11)
・「法則性」のアルゴリズム・テストプログラムの完成 :70% (ファイル完成数:10/18)
・「暗号」のアルゴリズム・テストプログラムの完成  :10% (ファイル完成数)
・それぞれの解答フォームの完成:100% 80% 10% 0% (ファイル完成数:1/4)
・ユーザーが最低限利用できるレベルのフォームの完成 :0%
・追加機能の実装 :0%
※最終段階で可能な限りファイル数は減らす予定

進捗SS
・四則逆算タイプ分け表の一部(自分用)
s

・法則性タイプ分け表の一部(自分用)
h

<参考>
http://blog.spi-gab-cab.net/?eid=582386(法則性の図)
http://blog.spi-gab-cab.net/?eid=585348(命令表の図)
http://blog.spi-gab-cab.net/?eid=578013(暗号の図)
SPIノートの会: CAB/GAB完全突破法! 洋泉社(2012)
最新最強のCAB・GAB超速解法 成美堂出版 (2013)