説明

学級編成装置、学級編成方法、およびプログラム

【課題】適切な学級編成を短時間で行うことができる装置を提供する。
【解決手段】生徒を識別する生徒識別子と、生徒の成績を含む1以上の属性値とを有する2以上の生徒情報を格納し得る生徒情報格納部11と、各学級内において満たす必要がある条件である1以上の学級内条件を格納し得る学級内条件格納部12と、学級間において満たす必要がある条件である1以上の学級間条件を格納し得る学級間条件格納部13と、1以上の学級内条件と1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する学級決定部16と、学級決定部16が決定した各生徒の学級を識別する学級識別子を、各生徒と対応付けて蓄積する学級識別子蓄積部17とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1以上の条件を満たすように、自動的に学級編成を行う学級編成装置等に関するものである。
【背景技術】
【0002】
従来、例えば、小学校や中学校や高等学校等における学級編成は、生徒の学業や相性などを考慮して、1以上の教師の手作業により行われていた。
【0003】
また、従来、多数の選択科目が存在する際におけるクラス編成の受講者割り当てを支援する選択科目クラス編成支援システムがあった(特許文献1参照)。本システムは、ユーザが入力した多様な嗜好及び事業者側の教育効果に関する基準等の条件を制約とし、それらの制約に基づき、複数の選択科目が存在する際におけるクラス編成の受講者割り当てを支援するシステムである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−85655号公報(第1頁、第1図等)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の学級編成において、手作業で行っていたため、効率が悪く、適切な学級編成を行うことは困難であった。
【0006】
また、特許文献1における選択科目クラス編成支援システムは、科目の選択を支援するためのシステムであり、学級内条件や学級間条件や生徒間条件を考慮していないため、小学校や中学校や高等学校等における学級編成を適切に行うことができない。
【課題を解決するための手段】
【0007】
本第一の発明の学級編成装置は、生徒を識別する生徒識別子と、生徒の成績を含む1以上の属性値とを有する2以上の生徒情報を格納し得る生徒情報格納部と、各学級内において満たす必要がある条件である1以上の学級内条件を格納し得る学級内条件格納部と、学級間において満たす必要がある条件である1以上の学級間条件を格納し得る学級間条件格納部と、1以上の学級内条件と1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する学級決定部と、学級決定部が決定した各生徒の学級を識別する学級識別子を、各生徒と対応付けて蓄積する学級識別子蓄積部とを具備する学級編成装置である。
【0008】
かかる構成により、適切な学級編成を短時間で行うことができる。
【0009】
また、本第二の発明の学級編成装置は、第一の発明に対して、生徒間の条件である1以上の生徒間条件を格納し得る生徒間条件格納部をさらに具備し、学級決定部は、1以上の学級内条件と1以上の学級間条件と1以上の生徒間条件とを満たすように、2以上の各生徒の学級を決定する学級編成装置である。
【0010】
かかる構成により、さらに適切な学級編成を短時間で行うことができる。
【0011】
また、本第三の発明の学級編成装置は、第一または第二の発明に対して、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件のうちの1以上の条件は、優先順位を有し、学級決定部は、優先順位に従って、条件を適用し、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件を満たすように、2以上の各生徒の学級を決定する学級編成装置である。
【0012】
かかる構成により、さらに適切な学級編成を短時間で行うことができる。
【0013】
また、本第四の発明の学級編成装置は、第一から第三いずれかの発明に対して、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件のうちの1以上の条件は、必須の条件または必須ではない条件のいずれかであり、学級決定部は、必須の条件は、必ず満たすように、2以上の各生徒の学級を決定する学級編成装置である。
【0014】
かかる構成により、さらに適切な学級編成を短時間で行うことができる。
【0015】
また、本第五の発明の学級編成装置は、第一から第四いずれかの発明に対して、1以上の学級内条件は、各学級の全体人数に関する条件である全体人数条件、男女比に関する条件である男女比条件のうちの1以上の条件である学級編成装置である。
【0016】
かかる構成により、適切な学級編成を短時間で行うことができる。
【0017】
また、本第六の発明の学級編成装置は、第一から第五いずれかの発明に対して、1以上の学級間条件は、生徒の属性値の学級間のばらつきが閾値以内であるという条件である属性値ばらつき条件、特定の属性を有する生徒が学級間にちらばるという条件である属性非集中条件のうちの1以上の条件である学級編成装置である。
【0018】
かかる構成により、適切な学級編成を短時間で行うことができる。
【0019】
また、本第七の発明の学級編成装置は、第一から第六いずれかの発明に対して、1以上の生徒間条件は、一の生徒と他の生徒とを別学級にする別学級条件、一の生徒と他の生徒とを同一学級にする同一学級条件のうちの1以上の条件である学級編成装置である。
【0020】
かかる構成により、適切な学級編成を短時間で行うことができる。
【0021】
また、本第八の発明の学級編成装置は、第一から第七いずれかの発明に対して、1以上の学級内条件のうちの一の学級内条件は、各学級の全体人数に関する条件である全体人数条件であり、1以上の学級間条件のうちの一の学級間条件は、学級内の全員の生徒の成績の学級間のばらつきが閾値以内であるという条件である成績のばらつき条件であり、学級決定部は、各生徒情報をエージェントとして、成績のばらつき条件を満たすように、かつ全体人数条件を満たすように、各エージェントの学級を仮決定する仮決定手段と、各エージェントに対して、学級ごとに、他のエージェントが学級に存在する仮定で、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件のうちの1以上の各条件を順次適用し、エージェントが存在する場合のスコアを算出するスコア算出手段と、スコア算出手段が算出したスコアが所定の条件を満たすほど高い学級に、各エージェントを移動させる学級変更手段と、学級変更手段によりエージェントの学級移動が所定の条件を満たすほど、移動が少なくなるまで、スコア算出手段および学級変更手段の処理を繰り返し行わせる制御手段とを具備する学級編成装置である。
かかる構成により、適切な学級編成を短時間で行うことができる。
【発明の効果】
【0022】
本発明による学級編成装置によれば、適切な学級編成を短時間で行うことができる。
【図面の簡単な説明】
【0023】
【図1】実施の形態1における学級編成装置のブロック図
【図2】同各生徒の学級を仮決定した場合の結果の例を示す図
【図3】同学級編成装置の動作について説明するフローチャート
【図4】同仮決定処理の動作について説明するフローチャート
【図5】同各クラスのスコア算出処理について説明するフローチャート
【図6】同学級編成の他のアルゴリズムについて説明するフローチャート
【図7】同学級編成の他のアルゴリズムについて説明するフローチャート
【図8】同生徒情報管理表を示す図
【図9】同学級内条件管理表を示す図
【図10】同学級間条件管理表を示す図
【図11】同生徒間条件管理表を示す図
【図12】同コンピュータシステムの概観図
【図13】同コンピュータシステムのブロック図
【発明を実施するための形態】
【0024】
以下、学級編成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
【0025】
本実施の形態において、1以上の学級内の条件、1以上の学級間の条件、および1以上の生徒間の条件を満たすように、自動的に学級編成を行う学級編成装置について説明する。
【0026】
また、本実施の形態において、条件に優先順位がある場合、必須の条件および必須でない条件が存在する場合についても説明する。
【0027】
さらに、本実施の形態において、マルチエージェントを用いた学級編成装置について説明する。
【0028】
図1は、本実施の形態における学級編成装置1のブロック図である。学級編成装置1は、生徒情報格納部11、学級内条件格納部12、学級間条件格納部13、生徒間条件格納部14、受付部15、学級決定部16、学級識別子蓄積部17、および出力部18を具備する。
【0029】
学級決定部16は、仮決定手段161、スコア算出手段162、学級変更手段163、および制御手段164を具備する。
【0030】
生徒情報格納部11は、2以上の生徒情報を格納し得る。生徒情報は、生徒を識別する生徒識別子と、1以上の属性値とを有する。1以上の属性値は、生徒の成績を含む。生徒識別子は、例えば、生徒の氏名、生徒を特定するIDなどである。属性値とは、例えば、学業成績(全般的な成績であり、単に成績ともいう)、科目別の成績、性別、リーダー性の有無、個別指導の必要性の有無、運動能力(運動能力のレベルを示す情報など)、運動が得意か苦手かを示す情報、学力不振か否かを示す情報、問題行動を起こしやすいか否かを示す情報、交友関係に関する情報(交友関係が活発化否かを示す情報など)、ピアノが弾けるか否かを示す情報、旧学級の学級識別子、保護者がPTA役員か否かを示す情報、母子家庭または父子家庭か否かを示す情報、準要保護または要保護家庭か否かを示す情報、通学団を識別する情報、誕生月、一人っ子であるか否かを示す情報、兄弟姉妹の中での位置(長男、次男、三男など)、いじめられっ子か否かを示す情報、いじめっ子か否かを示す情報、左利きか否かを示す情報、問題のある保護者であるか否かを示す情報、給食費等を滞納しがちな家庭であるか否かを示す情報などであり、生徒に関する情報であれば何でも良い。なお、生徒情報または生徒情報の一部を、適宜、エージェントということとする。
【0031】
学級内条件格納部12は、1以上の学級内条件を格納し得る。学級内条件とは、各学級内において満たす必要がある条件である。学級内条件は、例えば、各学級の全体人数に関する条件である全体人数条件、学級内の男女比に関する条件である男女比条件、男子、女子の数に関する条件である性別人数条件などである。全体人数条件は、例えば、「30<=1学級の人数<=40」である。男女比条件は、例えば、「0.9<=男女比<=1.1」である。性別人数条件は、例えば、「15<=男子の数<=23 かつ 15<=女子の数<=20」である。なお、学級は、適宜、クラスとも言う。また、各学級内条件に対応付けて、当該条件を満たした場合または条件を満たさない場合のスコアが格納されていても良い。また、スコアは、条件を満たした度合いにより、2以上のスコアが格納されていても良い。また、スコアは、条件を満たさない度合いにより、2以上のスコアが格納されていても良い。例えば、男女比条件は、例えば、「0.9<=男女比<1.0の場合または1<男女比<=1.1の場合は「1」、男女比=1の場合は「2」」などである。また、各学級内条件に対応付けて、優先順位を示す情報または/および必須の条件か否かを示す情報が格納されていても良い。優先順位は、通常、学級内条件、学級間条件、および生徒間条件すべての中での優先順位であるが、学級内条件等の各カテゴリー内の条件の中での優先順位でも良い。
【0032】
学級間条件格納部13は、1以上の学級間条件を格納し得る。学級間条件とは、学級間において満たす必要がある条件である。学級間条件は、例えば、生徒の属性値の学級間のばらつきが閾値以内であるという条件である属性値ばらつき条件、特定の属性を有する生徒が学級間にちらばるという条件である属性非集中条件などである。さらに具体的には、属性値ばらつき条件は、例えば、2以上の学級間の生徒の学業成績のばらつきが一定以下であることである。属性非集中条件は、例えば、リーダー性のある生徒のばらつきが一定以上であることである。ここで、ばらつきとは、例えば、分散や標準偏差や平均値との差など、ばらついていること、またはばらついていないことを示す指標であれば何でも良い。なお、各学級間条件に対応付けて、当該条件を満たした場合または条件を満たさない場合のスコアが格納されていても良い。また、スコアは、条件を満たした度合いにより、2以上のスコアが格納されていても良い。また、スコアは、条件を満たさない度合いにより、2以上のスコアが格納されていても良い。例えば、属性非集中条件は、例えば、「0<=リーダー性のある生徒数の分散<0.5の場合「2」、0.5<=リーダー性のある生徒数の分散<1.0の場合は「1」」などである。また、各学級間条件に対応付けて、優先順位を示す情報または/および必須の条件か否かを示す情報が格納されていても良い。
【0033】
生徒間条件格納部14は、1以上の生徒間条件を格納し得る。生徒間条件は、生徒間の条件である。生徒間条件は、例えば、一の生徒と他の生徒とを別学級にする別学級条件、一の生徒と他の生徒とを同一学級にする同一学級条件などである。別学級条件は、例えば、A君とB君は同じクラスにしない、という条件である。同一学級条件は、例えば、CさんとDさんは同じクラスにする、という条件である。なお、各生徒間条件に対応付けて、当該条件を満たした場合または条件を満たさない場合のスコアが格納されていても良い。また、スコアは、条件を満たした度合いにより、2以上のスコアが格納されていても良い。また、スコアは、条件を満たさない度合いにより、2以上のスコアが格納されていても良い。また、各生徒間条件に対応付けて、優先順位を示す情報または/および必須の条件か否かを示す情報が格納されていても良い。
【0034】
受付部15は、ユーザからの指示やデータを受け付ける。指示とは、例えば、学級編成を開始する学級編成指示や、蓄積された学級編成の情報(例えば、各生徒の氏名と学級識別子など)を出力する出力指示などである。指示やデータの入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部15は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0035】
学級決定部16は、1以上の学級内条件と1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する。また、学級決定部16は、1以上の学級内条件と1以上の学級間条件と1以上の生徒間条件とを満たすように、2以上の各生徒の学級を決定しても良い。学級決定部16は、優先順位に従って、条件を適用し、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件を満たすように、2以上の各生徒の学級を決定しても良い。学級決定部16は、必須の条件は、必ず満たすように、2以上の各生徒の学級を決定することは好適である。さらに、学級決定部16は、必須の条件は必ず満たすように、かつ、必須でない条件は、優先順位に従って、条件を適用し、優先順位の高い方の条件を極力満たすように2以上の各生徒の学級を決定することは好適である。
【0036】
さらに具体的には、学級決定部16は、例えば、仮決定手段161、スコア算出手段162、学級変更手段163、および制御手段164により、2以上の各生徒の学級を決定することは好適である。なお、学級決定部16が行う学級編成処理のアルゴリズムは、種々考えられる。
【0037】
仮決定手段161は、成績のばらつき条件を満たすように、かつ全体人数条件を満たすように、各エージェントの学級を仮決定する。仮決定手段161は、単に、全体人数条件を満たすように、各エージェントの学級を仮決定しても良い。つまり、仮決定とは、全てのエージェントに対して、所属する学級を決める最初の処理である。なお、ここでは、エージェントは生徒情報である。そして、成績のばらつき条件を満たすとは、各学級内の全生徒の成績(総合的な成績)の平均値が概ね一定となるように各エージェントの学級を決定することである。仮決定手段161は、例えば、エージェントを成績順に並べ、各学級の成績が概ね一定となるように各エージェントの学級を決定する。さらに具体的には、学級の数が5(1組から5組)である場合、図2に示すように、1組には学年順位「1」「10」「11」等の生徒が割り当てられ、2組には学年順位「2」「9」「12」等の生徒が割り当てられる。つまり、仮決定手段161は、例えば、エージェントを成績順にソートした後、一位のものから順に1組から5組に配置し、次には、その逆に5組から1組に配置する。そして、1組から5組への順の配置、5組から1組への順の配置を交互に繰り返して、すべての生徒のクラスを決定する。
【0038】
スコア算出手段162は、すべてのエージェントに対して、1以上の条件を順次適用し、エージェントが各学級に存在する場合のスコアを、学級ごとに算出する。なお、1以上の条件とは、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件である。かかる場合、スコアを算出しているエージェント(着目しているエージェント)以外のエージェントについては、最新の学級に存在するとして、スコア算出手段162は、スコアを算出する。スコア算出手段162は、着目しているエージェントが各学級に存在する場合に、各条件を満たすか否かを判断し、条件を満たす場合または条件を満たさない場合に、当該条件に対応付けられているスコアを加算または減算等して、各学級に存在する場合のスコアを算出する。
【0039】
つまり、スコア算出手段162は、仮決定手段161が各エージェントの学級を仮決定した状況において、学級ごとに、エージェントが存在する場合のスコアを算出する。このスコアは、概念的には、各生徒の各クラスでの居心地の良さを示すスコアである、とも言える。また、スコア算出手段162は、通常、最新の各学級の状態において、学級ごとに、エージェントが存在する場合のスコアを算出する。
【0040】
学級変更手段163は、スコア算出手段162が算出したスコアが所定の条件を満たすほど高い学級に、各エージェントを移動させる。エージェントの移動とは、エージェントに対応する生徒の学級を変更することである。さらに具体的には、エージェントの移動とは、通常、エージェントに対応する生徒情報に対応する学級識別子を変更することである。ここで、スコアが所定の条件を満たすほど高い学級とは、スコアが最も高い学級や、スコアが閾値以上の1以上の学級のうちのいずれか等である。
【0041】
制御手段164は、学級変更手段163によりエージェントの学級移動が所定の条件を満たすほど、移動が少なくなるまで、スコア算出手段162および学級変更手段163の処理を繰り返し行わせる。所定の条件とは、例えば、「前回の条件適用において、学級の移動の割合が3%以内であること」などである。また、制御手段164は、学級編成指示が受け付けられてから所定時間以上経過している場合、学級編成の処理を終了しても良い。
【0042】
学級識別子蓄積部17は、学級決定部16が決定した各生徒の学級を識別する学級識別子を、各生徒(各生徒情報)と対応付けて蓄積する。蓄積する記憶領域は、生徒情報格納部11でも良いし、図示しない記録媒体でも良い。
【0043】
出力部18は、受付部15が出力指示を受け付けた場合、各生徒の学級識別子を出力する。出力部18は、通常、生徒識別子と学級識別子とを対応付けて出力する。かかる場合の出力態様は問わない。ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置(例えば、表示装置)への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0044】
生徒情報格納部11、学級内条件格納部12、学級間条件格納部13、生徒間条件格納部14は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0045】
生徒情報格納部11等に生徒情報等が記憶される過程は問わない。例えば、記録媒体を介して生徒情報等が生徒情報格納部11等で記憶されるようになってもよく、通信回線等を介して送信された生徒情報等が生徒情報格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された生徒情報等が生徒情報格納部11等で記憶されるようになってもよい。
【0046】
学級決定部16、仮決定手段161、スコア算出手段162、学級変更手段163、制御手段164、および学級識別子蓄積部17は、通常、MPUやメモリ等から実現され得る。学級決定部16等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0047】
出力部18は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部18は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0048】
次に、学級編成装置1の動作について、図3のフローチャートを用いて説明する。
【0049】
(ステップS301)受付部15は、学級編成指示を受け付けたか否かを判断する。学級編成指示を受け付ければステップS302に行き、学級編成指示を受け付けなければステップS312に行く。
【0050】
(ステップS302)学級決定部16の仮決定手段161は、仮決定処理を行う。仮決定処理とは、各エージェントの学級を最初に仮決定する処理である。仮決定処理について、図4のフローチャートを用いて説明する。
【0051】
(ステップS303)スコア算出手段162は、初期化処理を行う。初期化処理とは、ここでは、カウンタiに1を代入し、変数「移動数」に0を代入する処理である。変数「移動数」は、全エージェントに対して、1以上の条件を適用した場合に、学級を移動したエージェントの数である。
【0052】
(ステップS304)スコア算出手段162は、i番目のエージェントが存在するか否かを判断する。i番目のエージェントが存在すればステップS305に行き、存在しなければステップS310に行く。
【0053】
(ステップS305)スコア算出手段162は、i番目のエージェントが各クラスに存在する場合のスコアを算出する。各クラスのスコアを算出する処理について、図5のフローチャートを用いて説明する。
【0054】
(ステップS306)学級変更手段163は、ステップS305で算出されたスコアのうちの最大スコアに対応するクラスの学級識別子を取得する。また、学級変更手段163は、i番目のエージェントが現在、所属するクラスの学級識別子を取得する。そして、学級変更手段163は、2つの学級識別子を比較し、ステップS305で算出されたスコアのうちの最大スコアに対応するクラスと、i番目のエージェントが現在、所属するクラスとが同一か否か(2つの学級識別子が同一か否か)を判断する。同一であればステップS309に行き、同一でなければステップS307に行く。
【0055】
(ステップS307)学級変更手段163は、i番目のエージェントが属するクラスを、ステップS305で算出されたスコアのうちの最大スコアに対応するクラスに変更する。つまり、学級変更手段163は、i番目のエージェント(生徒情報)に対応する学級識別子を、最大スコアに対応するクラスの学級識別子に書き換える。
【0056】
(ステップS308)学級変更手段163は、変数「移動数」を1、インクリメントする。
【0057】
(ステップS309)スコア算出手段162は、カウンタiを1、インクリメントする。ステップS304に戻る。
【0058】
(ステップS310)制御手段164は、変数「移動数」が所定の条件を満たすほど、エージェントの移動が少ないか否かを判断する。所定の条件を満たすほどエージェントの移動が少ないと判断した場合はステップS311に行き、移動が多いと判断した場合はステップS303に戻る。ここで、「所定の条件」とは、例えば、「移動数=0」や「移動数<=10」や「移動数<全エージェントの1%」などである。
【0059】
(ステップS311)学級識別子蓄積部17は、学級決定部16が決定した各生徒のクラスを識別する学級識別子を、各生徒(各生徒情報)と対応付けて蓄積する。なお、ステップS307において、最終的な状態で、各生徒の学級識別子が蓄積されている場合、本ステップは不要である。ステップS301に戻る。
【0060】
(ステップS312)受付部15は、出力指示を受け付けたか否かを判断する。出力指示を受け付ければステップS313に行き、出力指示を受け付けなければステップS301に行く。
【0061】
(ステップS313)出力部18は、生徒情報に対応付けて蓄積されている各生徒の学級識別子を出力する。なお、出力部18は、通常、生徒識別子と学級識別子とを対応付けて出力する。ステップS301に戻る。
【0062】
なお、図3のフローチャートにおいて、学級決定部16は、各エージェントの学級を仮決定した後、スコアを算出し、当該スコアを用いてエージェントが所属する学級を移動し、条件を満たすほどエージェントの移動が落ち着くまで処理を繰り返したが、他のアルゴリズムにより、各エージェントの学級を決定しても良い。つまり、学級決定部16は、1以上の学級内条件と1以上の学級間条件、または1以上の学級内条件と1以上の学級間条件と1以上の生徒間条件を満たすように各エージェントの学級を決定すれば良い。なお、条件を満たすとは、極力条件を満たす、という意味である。つまり、2以上の条件を与えた場合、相反する条件が存在した場合は、当該相反するすべての条件は満たし得ないことは言うまでもない。
【0063】
また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0064】
次に、ステップS302の仮決定処理について、図4のフローチャートを用いて説明する。
【0065】
(ステップS401)仮決定手段161は、生徒情報格納部11内のエージェントを、エージェント内の属性値「成績」をキーとして、降順にソートする。なお、属性値「成績」をキーとしてソートすることは、一例であることを言うまでもない。
【0066】
(ステップS402)仮決定手段161は、初期化処理を行う。初期化処理とは、ここでは、カウンタiに1を代入し、変数「クラス識別子」に1を代入し、変数「順序」に値「昇順」を代入する処理である。変数「順序」は、値「昇順」または「降順」のいずれかをとり得る。変数「順序」は、ソートされたエージェントの学級識別子を決定する場合に、学級識別子をエージェントに付与する際の手順を示す。
【0067】
(ステップS403)仮決定手段161は、i番目のエージェントが存在するか否かを判断する。i番目のエージェントが存在すればステップS404に行き、存在しなければ上位処理にリターンする。
【0068】
(ステップS404)仮決定手段161は、i番目のエージェントが所属するクラス識別子を、変数「クラス識別子」の値とする。
【0069】
(ステップS405)仮決定手段161は、変数「順序」が値「昇順」であるか否かを判断する。変数「順序」が値「昇順」であればステップS406に行き、値「降順」であればステップS410に行く。
【0070】
(ステップS406)仮決定手段161は、変数「クラス識別子」の値が、クラス識別子の最大値(n)であるか否かを判断する。変数「クラス識別子」の値が、クラス識別子の最大値(n)であればステップS407に行き、最大値(n)でなければステップS409に行く。なお、学級識別子が「1」「2」「3」「4」「5」のいずれかを採り得る場合、最大値(n)は「5」である。
【0071】
(ステップS407)仮決定手段161は、変数「順序」の値を「降順」に変更する。
【0072】
(ステップS408)仮決定手段161は、カウンタiを1、インクリメントする。ステップS403に戻る。
【0073】
(ステップS409)仮決定手段161は、変数「クラス識別子」の値を1、インクリメントする。ステップS408に行く。
【0074】
(ステップS410)仮決定手段161は、変数「クラス識別子」の値が、クラス識別子の最小値(1)であるか否かを判断する。変数「クラス識別子」の値が、クラス識別子の最小値(1)であればステップS411に行き、最小値(1)でなければステップS412に行く。
【0075】
(ステップS411)仮決定手段161は、変数「順序」の値を「昇順」に変更する。ステップS408に行く。
【0076】
(ステップS412)仮決定手段161は、変数「クラス識別子」の値を1、デクリメントする。ステップS408に行く。
【0077】
なお、図4のフローチャートにおいて、クラス識別子を「1」から「n」としたが、例えば、「A」から「H」など、記号であれば何でも良い。なお、通常、かかる記号は、順序性を有する。
また、図4のフローチャートにおいて、全児童を男子と女子に分け、それぞれを属性値(例えば、成績)でソートし、上記のフローチャートを適用し、各クラスの男子の成績が均等になるように、かつ、各クラスの女子の成績が均等になるように、仮決定処理を行うことは好適である。
【0078】
次に、ステップS405のスコア算出処理について、図5のフローチャートを用いて説明する。ここで、各学級内条件、各学級間条件、および各生徒間条件に対応付けて、当該条件を満たした場合または条件を満たさない場合のスコアが格納されている、とする。
【0079】
(ステップS501)スコア算出手段162は、初期化処理を行う。初期化処理とは、ここでは、カウンタiに1を代入し、変数「スコア」に0を代入する処理である。変数「スコア」は、テンポラリのスコアを格納する変数である。
【0080】
(ステップS502)スコア算出手段162は、i番目のクラスが存在するか否かを判断する。i番目のクラスが存在すればステップS503に行き、存在しなければ上位処理にリターンする。
【0081】
(ステップS503)スコア算出手段162は、カウンタjに1を代入する。
【0082】
(ステップS504)スコア算出手段162は、学級内条件格納部12、学級間条件格納部13、または生徒間条件格納部14に、j番目の条件が格納されているか否かを判断する。j番目の条件が格納されていればステップS505に行き、j番目の条件が格納されていなければステップS510に行く。なお、各条件が優先順位を有する場合、条件は、優先順位に従って、ソートされていることは好適である。また、各条件が、必須であるか否かを示す情報を有する場合、必須の条件から適用されることは好適である。
【0083】
(ステップS505)スコア算出手段162は、j番目の条件を読み出す。
【0084】
(ステップS506)スコア算出手段162は、i番目のクラスに、当該エージェント(図3のi番目のエージェント)が存在すると仮定した場合、j番目の条件を満たすか否かを判断する。j番目の条件を満たせばステップS507に行き、j番目の条件を満たさなければステップS508に行く。
【0085】
(ステップS507)スコア算出手段162は、j番目の条件を満たした場合のスコアであり、j番目の条件に対応するスコアを読み出し、当該スコアを用いて、変数「スコア」を更新する。なお、j番目の条件を満たした場合のスコアが格納されていない場合は、変数「スコア」は更新されない。
【0086】
(ステップS508)スコア算出手段162は、j番目の条件を満たさない場合のスコアであり、j番目の条件に対応するスコアを読み出し、当該スコアを用いて、変数「スコア」を更新する。なお、j番目の条件を満たさない場合のスコアが格納されていない場合は、変数「スコア」は更新されない。
【0087】
(ステップS509)スコア算出手段162は、カウンタjを1、インクリメントする。ステップS504に戻る。
【0088】
(ステップS510)スコア算出手段162は、i番目のクラスに対応する学級識別子に対応付けて、変数「スコア」の値を一時蓄積する。
【0089】
(ステップS511)スコア算出手段162は、カウンタiを1、インクリメントする。
【0090】
(ステップS512)スコア算出手段162は、変数「スコア」に「0」を代入する。ステップS502に戻る。
【0091】
次に、学級編成の他のアルゴリズムについて、図6、図7のフローチャートを用いて説明する。図3における学級編成の処理は、ステップS302からステップS311である。
【0092】
(ステップS601)学級決定部16は、生徒情報格納部11から性別「男子」を有するすべての生徒情報を読み出す。
【0093】
(ステップS602)学級決定部16は、ステップS601で読み出した男子の生徒情報に対して、図4の仮決定処理を行う。
【0094】
(ステップS603)学級決定部16は、生徒情報格納部11から性別「女子」を有するすべての生徒情報を読み出す。
【0095】
(ステップS604)学級決定部16は、ステップS603で読み出した女子の生徒情報に対して、図4の仮決定処理を行う。
【0096】
(ステップS605)学級決定部16は、1学級の人数差が1人以下になるように、男子の任意のグループと、女子の任意のグループとを結びつけ、一つの学級にする。例えば、学級決定部16は、男子のグループの中から人数が多い順にグループを決定する。そして、学級決定部16は、女子のグループの中から人数が少ない順にグループを決定する。次に、順次決定した男子グループの生徒情報と、女子グループの生徒情報に、同一の学級識別子を付与する。
【0097】
(ステップS606)学級決定部16は、学級間条件格納部13に格納されている1以上の学級間条件を読み出す。
【0098】
(ステップS607)学級決定部16は、カウンタiに1を代入する。
【0099】
(ステップS608)学級決定部16は、i番目の学級間条件が存在するか否かを判断する。i番目の学級間条件が存在すればステップS609に行き、存在しなければステップS615に行く。
【0100】
(ステップS609)学級決定部16は、現在の各学級に所属する生徒の生徒情報が、i番目の学級間条件を満たすか否かを判断する。i番目の学級間条件を満たす場合はステップS614に行き、i番目の学級間条件を満たさない場合はステップS610に行く。
【0101】
(ステップS610)学級決定部16は、着目する属性値が最大のクラスと、着目する属性値が最小のクラスを決定する。例えば、i番目の学級間条件が「生徒の学業成績のばらつきが一定以下」である場合、まず、学級決定部16は、各クラスの属性値「学業成績」の平均値を算出する。そして、学級決定部16は、クラスの属性値「学業成績」の平均値が最大のクラスの学級識別子と、クラスの属性値「学業成績」の平均値が最小のクラスの学級識別子を取得する。また、例えば、i番目の学級間条件が「リーダー性のある生徒数のばらつきが一定以下(「リーダー性のある生徒のばらつきが一定以上」と同意義である。)」である場合、まず、学級決定部16は、各クラスにおける属性値「リーダー性あり」の合計値(リーダー性のある生徒数)を算出する。そして、学級決定部16は、属性値「リーダー性あり」の合計値が最大のクラスの学級識別子と、属性値「リーダー性あり」の合計値が最小のクラスの学級識別子を取得する。
【0102】
(ステップS611)学級決定部16は、ステップS610で決定した属性値が最大のクラスの生徒の生徒情報の中で、着目する属性値が最大値である生徒を決定する。例えば、i番目の学級間条件が「生徒の学業成績のばらつきが一定以下」である場合、学級決定部16は、ステップS610で決定した属性値が最大のクラスの中で、学業成績が最大(一番)の生徒を決定する。つまり、学級決定部16は、ステップS610で取得した学級識別子と対になる生徒情報の中で、最大の学業成績を有する生徒情報を取得する。また、例えば、i番目の学級間条件が「リーダー性のある生徒数のばらつきが一定以下」である場合、ステップS610で取得した属性値が最大のクラス(「リーダー性あり」の属性値を有する生徒が最も多いクラス)の学級識別子と対になる生徒情報の中で、「リーダー性あり」の属性値を有する生徒情報を任意に一つ取得する。
【0103】
(ステップS612)学級決定部16は、ステップS610で決定した属性値が最小のクラスの生徒の中で、着目する属性値が所定値より小さく、ステップS611で取得した生徒の属性値群(着目する属性値を除く属性値群)と条件を満たす程、類似している属性値群を有する生徒を決定する。つまり、学級決定部16は、ステップS610で決定した属性値が最小のクラスの生徒の生徒情報の中で、着目する属性値が所定値より小さく、ステップS611で取得した生徒情報が有する他の1以上の属性値(着目する属性値を除く属性値群)である属性値ベクトルと条件を満たす程、類似している属性値ベクトルを有する生徒を決定する。なお、2つの属性値ベクトルの類似度を算出する方法は、例えば、2つのベクトルのコサイン値が所定値以内であることである。ただし、2つの属性値ベクトルの類似度を算出するアルゴリズムは問わない。例えば、i番目の学級間条件が「生徒の学業成績のばらつきが一定以下」である場合、学級決定部16は、ステップS610で決定した属性値が最小のクラスの生徒の中で、学業成績が閾値より低く、かつステップS611で取得した生徒の学業成績以外の属性値群(属性値ベクトル)と類似度が所定の値より大きい属性値群(属性値ベクトル)を有する生徒情報を取得する。
また、例えば、i番目の学級間条件が「リーダー性のある生徒数のばらつきが一定以下」である場合、学級決定部16は、ステップS610で決定した属性値が最小のクラスの生徒の生徒情報であり、「リーダー性なし」の属性値を有する生徒情報の中で、ステップS611で取得した生徒の「リーダー性」以外の属性値群(属性値ベクトル)と類似度が所定の値より大きい属性値群(属性値ベクトル)を有する生徒情報を取得する。
【0104】
(ステップS613)学級決定部16は、ステップS611で決定した生徒のクラスと、ステップS612で決定した生徒のクラスとを入れ替える。つまり、学級決定部16は、ステップS611で取得した生徒情報に対応する学級識別子を、ステップS612で取得した生徒情報に対応する学級識別子に書き換え、ステップS612で取得した生徒情報に対応する学級識別子を、ステップS611で取得した生徒情報に対応する学級識別子に書き換える。ステップS609に戻る。
【0105】
(ステップS614)学級決定部16は、カウンタiを1、インクリメントする。ステップS608に戻る。
【0106】
(ステップS615)学級決定部16は、生徒間条件格納部14に格納されている1以上の生徒間条件を読み出す。
【0107】
(ステップS616)学級決定部16は、学級決定部16は、カウンタiに1を代入する。
【0108】
(ステップS617)学級決定部16は、i番目の生徒間条件が存在するか否かを判断する。i番目の生徒間条件が存在すればステップS618に行き、存在しなければステップS628に行く。
【0109】
(ステップS618)学級決定部16は、現在の各学級に所属する生徒の生徒情報が、i番目の生徒間条件を満たすか否かを判断する。i番目の生徒間条件を満たす場合はステップS627に行き、i番目の学級間条件を満たさない場合はステップS618に行く。
【0110】
(ステップS619)学級決定部16は、i番目の生徒間条件に含まれる生徒の生徒情報を取得する。かかる生徒情報は、着目する生徒情報である。なお、ステップS618で、通常、着目する2つの生徒情報を取得している。その場合、本ステップでは、ステップS618で取得した2つの生徒情報を持ってくるだけ、または何もしない(NOPである)。
【0111】
(ステップS620)学級決定部16は、i番目の生徒間条件が、2人の生徒が同一クラスに属さない、という条件であるか否かを判断する。かかる条件であればステップS621に行き、かかる条件でなければステップS623に行く。ステップS623に行く場合、i番目の生徒間条件は、2人の生徒が同一クラスに属する、という条件である。なお、3以上の生徒が同一クラスに属さないという条件は、2人の生徒が同一クラスに属さないという条件が複数存在する、として扱うことができる。また、3以上の生徒が同一クラスに属するという条件についても、同様に、2人の生徒が同一クラスに属するという条件が複数存在する、として扱うことができる。
【0112】
(ステップS621)学級決定部16は、2人の生徒のうちの一方の生徒と属性値群と類似度が最も大きい属性値群を有する他クラスの生徒を決定する。つまり、学級決定部16は、2人の生徒のうちの一方の生徒の属性値群を取得する。そして、学級決定部16は、一方の生徒の属性値群と、他クラスの生徒の生徒情報が有する属性値群との類似度を算出し、当該類似度が最大の他クラスの生徒の生徒情報を取得する。
【0113】
(ステップS622)学級決定部16は、2人の生徒のうちの他方の生徒と属性値群と類似度が最も大きい属性値群を有する他クラスの生徒を決定する。つまり、学級決定部16は、2人の生徒のうちの他方の生徒の属性値群を取得する。そして、学級決定部16は、他方の生徒の属性値群と、他クラスの生徒の生徒情報が有する属性値群との類似度を算出し、当該類似度が最大の他クラスの生徒の生徒情報を取得する。ステップS625に行く。
【0114】
(ステップS623)学級決定部16は、2人の生徒のうちの一方の生徒と属性値群と類似度が最も大きい属性値群を有する他方の生徒と同一クラスの生徒を決定する(他方の生徒は除く)。つまり、学級決定部16は、2人の生徒のうちの一方の生徒の属性値群を取得する。そして、学級決定部16は、一方の生徒の属性値群と、他方の生徒と同一クラスの各生徒(他方の生徒は除く)の生徒情報が有する属性値群との類似度を算出し、当該類似度が最大の生徒の生徒情報を取得する。
【0115】
(ステップS624)学級決定部16は、2人の生徒のうちの他方の生徒の属性値群と類似度が最も大きい属性値群を有する一方の生徒と同一クラスの生徒を決定する(一方の生徒は除く)。つまり、学級決定部16は、2人の生徒のうちの他方の生徒の属性値群を取得する。そして、学級決定部16は、他方の生徒の属性値群と、一方の生徒と同一クラスの各生徒(一方の生徒は除く)の生徒情報が有する属性値群との類似度を算出し、当該類似度が最大の生徒の生徒情報を取得する。
【0116】
(ステップS625)学級決定部16は、算出した2つの類似度のうち大きな類似度に対応する2人の生徒を決定する。つまり、学級決定部16は、ステップS621およびステップS622で算出した類似度のうち、大きい方の類似度の算出元になった2つの各属性値群を有する2つの生徒情報を取得する。または、学級決定部16は、ステップS623およびステップS624で算出した類似度のうち、大きい方の類似度の算出元になった2つの各属性値群を有する2つの生徒情報を取得する。
【0117】
(ステップS626)学級決定部16は、ステップS626で取得した2つの生徒情報に対応する学級識別子を入れ替える。ステップS627に行く。
【0118】
(ステップS627)学級決定部16は、カウンタiを1、インクリメントする。ステップS617に行く。
【0119】
(ステップS628)学級決定部16は、ステップS606からステップS627の一連の動作の中で、クラスの入れ替えが発生したか否かを判断する。入れ替えが発生していればステップS606に戻り、入れ替えが発生していなければ処理を終了する。
【0120】
なお、図6、図7のフローチャートにおいて、タイムアウトにより処理を終了しても良い。つまり、図6、図7のフローチャートにおいて、例えば、相反する条件が存在する場合、処理が終了しないので、タイムアウトにより処理を終了しても良い。
【0121】
また、図3、または図6、7で説明した学級編成のアルゴリズムは、アルゴリズムの例であることは言うまでもない。学級編成装置1は、学級内条件と学級間条件、または学級内条件と学級間条件と生徒間条件を満たすように学級編成を行えば良い。なお、相反する条件が存在する場合、学級編成装置1は、すべての条件を満たすように学級編成を行えないことは言うまでもない。ただし、学級編成装置1は、必須の条件は、必ず満たすように学級編成を行うことは好適である。また、学級編成装置1は、条件に優先順位に従って、条件を適用し、優先順位が高い条件ほど、満たすように学級編成を行うことは好適である。
【0122】
以下、本実施の形態における学級編成装置1の具体的な動作について説明する。なお、以下の具体例において説明するアルゴリズムは、学級編成のアルゴリズムの一例である。
【0123】
今、学級編成装置1の生徒情報格納部11は、図8に示す生徒情報管理表を保持している。生徒情報管理表は、「ID」「生徒情報」を有する2以上(通常、多数)のレコードを有する。「生徒情報」は「生徒識別子」「属性値群」を有する。「属性値群」は、2以上の属性値を有する。属性は「性別」「成績」「リーダー性の有無」「個別指導の必要性の有無」などである。
【0124】
また、学級内条件格納部12は、図9に示す学級内条件管理表を保持している。学級内条件管理表は、「ID」「学級内条件」「スコア」「必須フラグ」「優先順位」を有する。また、学級間条件格納部13は、図10に示す学級間条件管理表を保持している。学級間条件管理表は、「ID」「学級間条件」「スコア」「必須フラグ」「優先順位」を有する。さらに、生徒間条件格納部14は、図11に示す生徒間条件管理表を保持している。生徒間条件管理表は、「ID」「生徒間条件」「スコア」「必須フラグ」「優先順位」を有する。なお、ここでは、「スコア」の値は、対応する条件が満たされる場合に加算されるスコアである。また、「必須フラグ」は、対応する条件が必須の条件であることを示す。さらに、「優先順位」は、条件の適用の優先順位である。「優先順位」の値が「0」である条件は、必須の条件であり、優先順位には無関係であることを示す。
【0125】
なお、図9から図11において、レコードに、「スコア」「必須フラグ」「優先順位」が存在せず、条件のみでも良い。また、図10のN、M、X、Yは、数値である。NとXは、例えば「0」である。Mは、例えば、「7」である。Yは、例えば、「0.5」である。
【0126】
かかる状況において、ユーザが学級編成指示を入力した、とする。すると、受付部15は、学級編成指示を受け付ける。
【0127】
次に、学級決定部16の仮決定手段161は、例えば、図4のフローチャートに従って、生徒情報管理表内のエージェント(レコード)を、成績の順に、降順にソートする。ここで、仮決定手段161は、男女別に、エージェント(レコード)を、成績の順に、降順にソートする、とする。
【0128】
次に、仮決定手段161は、1学級の人数差が1人以下になるように、男子の任意のグループと、女子の任意のグループとを結びつけ、一つの学級にする。
【0129】
次に、学級決定部16は、図9から図11のうちの必須フラグが「1」の条件を読み出す。そして、上記のアルゴリズムにより、必須フラグが「1」の条件を満たすように、各生徒のクラスを変更していく。
【0130】
次に、上記のアルゴリズムにより、学級決定部16は、図9から図11のうちの優先順位が「1」の条件から順に読み出し、条件に合致するように各生徒のクラスを変更していく。かかる場合、上述したように、各生徒のクラスを移動する場合、スコアが最も高くなるクラスに移動する。
【0131】
そして、学級決定部16は、生徒のクラスの移動が所定の条件を満たすまで(例えば、移動がなくなるまで)上記の処理を繰り返し、所定の条件を満たした段階で、処理を終了する。
【0132】
以上、本実施の形態によれば、適切な学級編成を短時間で行うことができる。
【0133】
また、本実施の形態によれば、優先順位に従って条件を適用し、2以上の条件を満たすように2以上の各生徒の学級を決定できる。また、本実施の形態によれば、必須の条件は必ず満たすように2以上の各生徒の学級を決定できる。
【0134】
また、本実施の形態によれば、各生徒情報をエージェントとして、成績のばらつき条件を満たすように、かつ全体人数条件を満たすように、各エージェントの学級を仮決定する仮決定手段と、各エージェントに対して、学級ごとに、他のエージェントが学級に存在する仮定で、1以上の学級内条件および1以上の学級間条件、または1以上の学級内条件および1以上の学級間条件および1以上の生徒間条件のうちの1以上の各条件を順次適用し、エージェントが存在する場合のスコアを算出するスコア算出手段と、スコア算出手段が算出したスコアが所定の条件を満たすほど高い学級に、各エージェントを移動させる学級変更手段と、学級変更手段によりエージェントの学級移動が所定の条件を満たすほど、移動が少なくなるまで、スコア算出手段および学級変更手段の処理を繰り返し行わせる制御手段とを具備する学級編成装置により、より適切な学級編成を短時間で行うことができる。
【0135】
なお、本実施の形態において、条件の種類は、学級内条件と学級間条件と生徒間条件とが存在したが、学級内条件と学級間条件のみでも良い。
【0136】
また、本実施の形態において、学級内条件、学級間条件、および生徒間条件は、それぞれ生徒情報格納部11、学級内条件格納部12、学級間条件格納部13に格納されていたが、プログラム中に分散して存在していても良い。
【0137】
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における学級編成装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、生徒を識別する生徒識別子と、当該生徒の成績を含む1以上の属性値とを有する2以上の生徒情報と、各学級内において満たす必要がある条件である1以上の学級内条件と、学級間において満たす必要がある条件である1以上の学級間条件とを格納しており、コンピュータを、前記1以上の学級内条件と前記1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する学級決定部と、前記学級決定部が決定した各生徒の学級を識別する学級識別子を、前記各生徒識別子と対応付けて蓄積する学級識別子蓄積部として機能させるためのプログラムである。
【0138】
また、記憶媒体に、生徒間の条件である1以上の生徒間条件をさらに格納しており、上記プログラムにおいて、前記学級決定部は、前記1以上の学級内条件と前記1以上の学級間条件と前記1以上の生徒間条件とを満たすように、2以上の各生徒の学級を決定するものとして、コンピュータを機能させることは好適である。
【0139】
また、上記プログラムにおいて、前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件のうちの1以上の条件は、優先順位を有し、前記学級決定部は、前記優先順位に従って、条件を適用し、前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件を満たすように、2以上の各生徒の学級を決定するものとして、コンピュータを機能させることは好適である。
【0140】
また、上記プログラムにおいて、前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件のうちの1以上の条件は、必須の条件または必須ではない条件のいずれかであり、前記学級決定部は、前記必須の条件は、必ず満たすように、2以上の各生徒の学級を決定するものとして、コンピュータを機能させることは好適である。
【0141】
また、上記プログラムにおいて、前記1以上の学級内条件のうちの一の学級内条件は、各学級の全体人数に関する条件である全体人数条件であり、前記1以上の学級間条件のうちの一の学級間条件は、学級内の全員の生徒の成績の学級間のばらつきが閾値以内であるという条件である成績のばらつき条件であり、前記学級決定部は、各生徒情報をエージェントとして、前記成績のばらつき条件を満たすように、かつ前記全体人数条件を満たすように、各エージェントの学級を仮決定する仮決定手段と、各エージェントに対して、学級ごとに、他のエージェントが当該学級に存在する仮定で、前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件のうちの1以上の各条件を順次適用し、当該エージェントが存在する場合のスコアを算出するスコア算出手段と、前記スコア算出手段が算出したスコアが所定の条件を満たすほど高い学級に、各エージェントを移動させる学級変更手段と、前記学級変更手段によりエージェントの学級移動が所定の条件を満たすほど、移動が少なくなるまで、前記スコア算出手段および前記学級変更手段の処理を繰り返し行わせる制御手段とを具備するものとして、コンピュータを機能させることは好適である。
【0142】
また、図12は、本明細書で述べたプログラムを実行して、上述した実施の形態の学級編成装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図12は、このコンピュータシステム340の概観図であり、図13は、コンピュータシステム340の内部構成を示す図である。
【0143】
図12において、コンピュータシステム340は、FDドライブ3411、CD−ROMドライブ3412を含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
【0144】
図13において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0145】
コンピュータシステム340に、上述した実施の形態の学級編成装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
【0146】
プログラムは、コンピュータ341に、上述した実施の形態の学級編成装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
【0147】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0148】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0149】
以上のように、本発明にかかる学級編成装置は、適切な学級編成を短時間で行うことができる。という効果を有し、学級編成装置等として有用である。
【符号の説明】
【0150】
1 学級編成装置
11 生徒情報格納部
12 学級内条件格納部
13 学級間条件格納部
14 生徒間条件格納部
15 受付部
16 学級決定部
17 学級識別子蓄積部
18 出力部
161 仮決定手段
162 スコア算出手段
163 学級変更手段
164 制御手段

【特許請求の範囲】
【請求項1】
生徒を識別する生徒識別子と、当該生徒の成績を含む1以上の属性値とを有する2以上の生徒情報を格納し得る生徒情報格納部と、
各学級内において満たす必要がある条件である1以上の学級内条件を格納し得る学級内条件格納部と、
学級間において満たす必要がある条件である1以上の学級間条件を格納し得る学級間条件格納部と、
前記1以上の学級内条件と前記1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する学級決定部と、
前記学級決定部が決定した各生徒の学級を識別する学級識別子を、前記各生徒と対応付けて蓄積する学級識別子蓄積部とを具備する学級編成装置。
【請求項2】
生徒間の条件である1以上の生徒間条件を格納し得る生徒間条件格納部をさらに具備し、
前記学級決定部は、
前記1以上の学級内条件と前記1以上の学級間条件と前記1以上の生徒間条件とを満たすように、2以上の各生徒の学級を決定する請求項1記載の学級編成装置。
【請求項3】
前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件のうちの1以上の条件は、優先順位を有し、
前記学級決定部は、
前記優先順位に従って、条件を適用し、前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件を満たすように、2以上の各生徒の学級を決定する請求項1または請求項2記載の学級編成装置。
【請求項4】
前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件のうちの1以上の条件は、必須の条件または必須ではない条件のいずれかであり、
前記学級決定部は、
前記必須の条件は、必ず満たすように、2以上の各生徒の学級を決定する請求項1から請求項3いずれか記載の学級編成装置。
【請求項5】
前記1以上の学級内条件は、
各学級の全体人数に関する条件である全体人数条件、男女比に関する条件である男女比条件のうちの1以上の条件である請求項1から請求項4いずれか記載の学級編成装置。
【請求項6】
前記1以上の学級間条件は、
生徒の属性値の学級間のばらつきが閾値以内であるという条件である属性値ばらつき条件、特定の属性を有する生徒が学級間にちらばるという条件である属性非集中条件のうちの1以上の条件である請求項1から請求項5いずれか記載の学級編成装置。
【請求項7】
前記1以上の生徒間条件は、
一の生徒と他の生徒とを別学級にする別学級条件、一の生徒と他の生徒とを同一学級にする同一学級条件のうちの1以上の条件である請求項1から請求項6いずれか記載の学級編成装置。
【請求項8】
前記1以上の学級内条件のうちの一の学級内条件は、
各学級の全体人数に関する条件である全体人数条件であり、
前記1以上の学級間条件のうちの一の学級間条件は、
学級内の全員の生徒の成績の学級間のばらつきが閾値以内であるという条件である成績のばらつき条件であり、
前記学級決定部は、
各生徒情報をエージェントとして、
前記成績のばらつき条件を満たすように、かつ前記全体人数条件を満たすように、各エージェントの学級を仮決定する仮決定手段と、
各エージェントに対して、学級ごとに、他のエージェントが当該学級に存在する仮定で、前記1以上の学級内条件および前記1以上の学級間条件、または前記1以上の学級内条件および前記1以上の学級間条件および前記1以上の生徒間条件のうちの1以上の各条件を順次適用し、当該エージェントが存在する場合のスコアを算出するスコア算出手段と、
前記スコア算出手段が算出したスコアが最も高い学級に、各エージェントを移動させる学級変更手段と、
前記学級変更手段によりエージェントの学級移動が所定の条件を満たすほど、移動が少なくなるまで、前記スコア算出手段および前記学級変更手段の処理を繰り返し行わせる制御手段とを具備する請求項1から請求項7いずれか記載の学級編成装置。
【請求項9】
記憶媒体に、
生徒を識別する生徒識別子と、当該生徒の成績を含む1以上の属性値とを有する2以上の生徒情報と、
各学級内において満たす必要がある条件である1以上の学級内条件と、
学級間において満たす必要がある条件である1以上の学級間条件とを格納しており、
学級決定部、および学級識別子蓄積部とにより実現される学級編成方法であって、
前記学級決定部が、前記1以上の学級内条件と前記1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する学級決定ステップと、
前記学級識別子蓄積部が、前記学級決定ステップで決定された各生徒の学級を識別する学級識別子を、前記各生徒識別子と対応付けて蓄積する学級識別子蓄積ステップとを具備する学級編成方法。
【請求項10】
記憶媒体に、
生徒を識別する生徒識別子と、当該生徒の成績を含む1以上の属性値とを有する2以上の生徒情報と、
各学級内において満たす必要がある条件である1以上の学級内条件と、
学級間において満たす必要がある条件である1以上の学級間条件とを格納しており、
コンピュータを、
前記1以上の学級内条件と前記1以上の学級間条件とを満たすように、2以上の各生徒の学級を決定する学級決定部と、
前記学級決定部が決定した各生徒の学級を識別する学級識別子を、前記各生徒識別子と対応付けて蓄積する学級識別子蓄積部として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−103842(P2012−103842A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−250780(P2010−250780)
【出願日】平成22年11月9日(2010.11.9)
【出願人】(591280197)株式会社構造計画研究所 (59)
【出願人】(510297059)
【出願人】(510297071)