(57)【特許請求の範囲】
【請求項１】
家畜の発情期を診断するコンピュータシステムであり、
入力データから所定パラメータを生成する関数を複数種記憶した記憶部と、
家畜に取り付けられた行動量センサの測定値を測定日時情報と共に入力部ないし前記行動量センサとの通信部にて受け付けて取得し、記憶部に格納する測定値取得部と、
前記記憶部から所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部に格納するパラメータ生成部と、
前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部に格納する個体群生成部と、
前記記憶部における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部に格納する遺伝的操作部と、
前記各世代の個体群が示す各係数を、前記記憶部に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定部と、
前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部に格納する世代特定部と、
以降、前記家畜に取り付けられた行動量センサより得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部に出力する時期診断部と、
を備えることを特徴とする発情期診断システム。
【請求項２】
前記最適世代の個体群に基づいて前記時期診断部が特定した発情期と、入力部より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成部、前記遺伝的操作部、前記パラメータ判定部、および前記世代特定部に対して処理の再実行を指示する継続判定部を備えることを特徴とする請求項１に記載の発情期診断システム。
【請求項３】
入力データから所定パラメータを生成する関数を複数種記憶した記憶部を備え、家畜の発情期を診断するコンピュータが、
家畜に取り付けられた行動量センサの測定値を測定日時情報と共に入力部ないし前記行動量センサとの通信部にて受け付けて取得し、記憶部に格納する測定値取得処理と、
前記記憶部から所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部に格納するパラメータ生成処理と、
前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部に格納する個体群生成処理と、
前記記憶部における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部に格納する遺伝的操作処理と、
前記各世代の個体群が示す各係数を、前記記憶部に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定処理と、
前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部に格納する世代特定処理と、
以降、前記家畜に取り付けられた行動量センサより得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部に出力する時期診断処理と、
を実行することを特徴とする発情期診断方法。
【請求項４】
前記コンピュータが、
前記最適世代の個体群に基づいて前記時期診断部が特定した発情期と、入力部より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成処理、前記遺伝的操作処理、前記パラメータ判定処理、および前記世代特定処理の再実行をする継続判定処理を行うことを特徴とする請求項３に記載の発情期診断方法。
【請求項５】
入力データから所定パラメータを生成する関数を複数種記憶した記憶部を備え、家畜の発情期を診断するコンピュータに、
家畜に取り付けられた行動量センサの測定値を測定日時情報と共に入力部ないし前記行動量センサとの通信部にて受け付けて取得し、記憶部に格納する測定値取得処理と、
前記記憶部から所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部に格納するパラメータ生成処理と、
前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部に格納する個体群生成処理と、
前記記憶部における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部に格納する遺伝的操作処理と、
前記各世代の個体群が示す各係数を、前記記憶部に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定処理と、
前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部に格納する世代特定処理と、
以降、前記家畜に取り付けられた行動量センサより得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部に出力する時期診断処理と、
を実行させることを特徴とする発情期診断プログラム。
【請求項６】
前記コンピュータに、
前記最適世代の個体群に基づいて前記時期診断部が特定した発情期と、入力部より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成処理、前記遺伝的操作処理、前記パラメータ判定処理、および前記世代特定処理の再実行をする継続判定処理を実行させることを特徴とする請求項５に記載の発情期診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発情期診断システム、発情期診断方法、および発情期診断プログラムに関するものであり、具体的には、飼養施設や環境、時期など様々に異なる条件に対応して、家畜の発情期診断を高精度に実行する技術に関する。
【背景技術】
【０００２】
畜産農家一戸あたりの経営規模拡大並びに家畜の飼養頭数増加という傾向が強くなっている。多頭化にすることで家畜１頭当たりにかかる労働時間等が低減され、作業効率の向上が見込まれるためである。ところが、多頭化した家畜全頭に対して目視確認等を継続することは大変な労苦であり、確認漏れなどが生じやすい。こうした状況においては、家畜の繁殖管理を行う上で、畜産経営に大きく影響する発情体の発見割合の低下が問題視されている。
【０００３】
そこで、家畜一頭ずつの目視による発情確認作業の負荷を軽減するため、家畜の体調や行動量をセンサ類で測定し、この測定値と発情期における家畜の体調や行動量の基準値とを照合して発情期を診断するといった技術が提案されている。
【０００４】
こうした従来技術としては例えば、サーモグラフィを用いて哺乳類の外陰部周辺部位とその隣接部位を撮影し、得られた熱画像を解析することにより発情の可能性のある個体のスクリーニングを行うことを特徴とする、哺乳類の雌の発情時期のスクリーニング方法（特許文献１参照）などが提案されている。
【０００５】
また、装着型振動計を起動スイッチの操作で駆動させ、間欠振動数値、連続振動数値、静動または振動停止数値などを発生させ、これら振動数値情報を集中計算装置に伝送、入力、記憶し、棒グラフ、折れ線グラフ等の図表に図表化し、解析機能で解析された解析内容に基づき、牛、豚、馬等の発情を集中計算装置の発情予知機能で発情の時期を予知し、かつ、受精後の分娩日時予知を集中計算装置の分娩日時予知機能で分娩日時を予知し、さらに、集中計算装置の疾病発見機能で疾病を発見する技術（特許文献２参照）なども提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２０４７５０号公報
【特許文献２】特開２００３−３２５０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これまでの発情期診断手法は、行動量センサ等の測定値から固定的に所定指標を求め、単純に、この指標が所定閾値を越えた時期を発情期であると診断していた。一方、畜産家の施設毎に家畜の飼養方法や環境、或いは地域や家畜個体の特性は異なる。そのため、一律の指標や閾値を用いた診断を行う場合、ある時期の特定の施設では発情期の診断精度が高くても、別の時期の別の施設では発情期の判別が精度良くできないという問題が発生していた。つまり、家畜の飼養方法や環境、地域や家畜個体の特性、或いは時期等といった多様な条件に適応した発情期診断が出来ず、実は不十分な精度での発情期診断しか出来ない状況にあった。
【０００８】
そこで本発明は上記課題を鑑みてなされたものであり、飼養施設や環境、時期など様々に異なる条件に対応して、家畜の発情期診断を高精度に実行する技術の提供を主たる目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決する本発明の発情期診断システムは、家畜の発情期を診断するコンピュータシステムであり、入力データから所定パラメータを生成する関数を複数種記憶した記憶部と、以下の機能部を有している。
【００１０】
すなわち、前記発情期診断システムは、家畜に取り付けられた行動量センサの測定値を測定日時情報と共に入力部ないし前記行動量センサとの通信部にて受け付けて取得し、記憶部に格納する測定値取得部を備えている。
【００１１】
また、前記発情期診断システムは、前記記憶部から所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部に格納するパラメータ生成部を備えている。
【００１２】
また、前記発情期診断システムは、前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部に格納する個体群生成部を備えている。
【００１３】
また、前記発情期診断システムは、前記記憶部における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部に格納する遺伝的操作部を備えている。
【００１４】
また、前記発情期診断システムは、前記各世代の個体群が示す各係数を、前記記憶部に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定部を備えている。
【００１５】
また、前記発情期診断システムは、前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部に格納する世代特定部を備えている。
【００１６】
また、前記発情期診断システムは、以降、前記家畜に取り付けられた行動量センサより得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部に出力する時期診断部を備えている。
【００１７】
なお、前記発情期診断システムは、前記最適世代の個体群に基づいて前記時期診断部が特定した発情期と、入力部より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成部、前記遺伝的操作部、前記パラメータ判定部、および前記世代特定部に対して処理の再実行を指示する継続判定部を備えるとしてもよい。
【００１８】
また、本発明の発情期診断方法は、入力データから所定パラメータを生成する関数を複数種記憶した記憶部を備え、家畜の発情期を診断するコンピュータが、以下の処理を実行するものである。
【００１９】
すなわち、前記コンピュータは、家畜に取り付けられた行動量センサの測定値を測定日時情報と共に入力部ないし前記行動量センサとの通信部にて受け付けて取得し、記憶部に格納する測定値取得処理を実行する。
【００２０】
また、前記コンピュータは、前記記憶部から所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部に格納するパラメータ生成処理を実行する。
【００２１】
また、前記コンピュータは、前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部に格納する個体群生成処理を実行する。
【００２２】
また、前記コンピュータは、前記記憶部における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部に格納する遺伝的操作処理を実行する。
【００２３】
また、前記コンピュータは、前記各世代の個体群が示す各係数を、前記記憶部に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定処理を実行する。
【００２４】
また、前記コンピュータは、前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部に格納する世代特定処理を実行する。
【００２５】
また、前記コンピュータは、以降、前記家畜に取り付けられた行動量センサより得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部に出力する時期診断処理を実行する。
【００２６】
なお、前記発情期診断方法において、前記コンピュータが、前記最適世代の個体群に基づいて前記時期診断部が特定した発情期と、入力部より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成処理、前記遺伝的操作処理、前記パラメータ判定処理、および前記世代特定処理の再実行をする継続判定処理を行うとしてもよい。
【００２７】
また、本発明の発情期診断プログラムは、入力データから所定パラメータを生成する関数を複数種記憶した記憶部を備え、家畜の発情期を診断するコンピュータに、以下の処理を実行させるプログラムである。
【００２８】
すなわち、前記発情期診断プログラムは、コンピュータに、家畜に取り付けられた行動量センサの測定値を測定日時情報と共に入力部ないし前記行動量センサとの通信部にて受け付けて取得し、記憶部に格納する測定値取得処理と、前記記憶部から所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部に格納するパラメータ生成処理と、前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部に格納する個体群生成処理と、前記記憶部における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部に格納する遺伝的操作処理と、前記各世代の個体群が示す各係数を、前記記憶部に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定処理と、前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部に格納する世代特定処理と、以降、前記家畜に取り付けられた行動量センサより得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部に出力する時期診断処理と、を実行させることを特徴とする。
【００２９】
なお、前記発情期診断プログラムにおいて、前記コンピュータに、前記最適世代の個体群に基づいて前記時期診断部が特定した発情期と、入力部より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成処理、前記遺伝的操作処理、前記パラメータ判定処理、および前記世代特定処理の再実行をする継続判定処理を実行させる、としてもよい。
【発明の効果】
【００３０】
本発明によれば、飼養施設や環境、時期など様々に異なる条件に対応して、家畜の発情期診断を高精度に実行できる。
【図面の簡単な説明】
【００３１】
【図１】本実施形態の発情期診断システムの概略構成を示す図である。
【図２】本実施形態の関数データベースのデータ構造例を示す図である。
【図３】本実施形態の行動量データベースのデータ構造例を示す図である。
【図４】本実施形態のパラメータデータベースのデータ構造例を示す図である。
【図５】本実施形態の個体群データベースのデータ構造例を示す図である。
【図６】本実施形態の世代個体群データベースのデータ構造例を示す図である。
【図７】本実施形態の最適世代データベースのデータ構造例を示す図である。
【図８】本実施形態の閾値データベースのデータ構造例を示す図である。
【図９】本実施形態における発情期診断方法の処理フロー例１を示す図である。
【図１０】本実施形態における発情期診断方法の処理フロー例２を示す図である。
【図１１】本実施形態における発情期診断方法の処理フロー例３を示す図である。
【図１２】本実施形態における発情期診断方法の処理フロー例４を示す図である。
【図１３】本実施形態の行動量推移の例を示す図である。
【図１４】本実施形態におけるパラメータ算定結果の例を示す図である。
【図１５】本実施形態の判定結果例を示す図である。
【発明を実施するための形態】
【００３２】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の発情期診断システム１００を含むネットワーク構成図である。図１に示す発情期診断システム１００（以下、システム１００）は、飼養施設や環境、時期など様々に異なる条件に対応して、家畜の発情期診断を高精度に実行するコンピュータシステムである。本実施形態では、一例として前記システム１００を畜産農家等が管理するサーバコンピュータとして想定している。また、本実施形態において発情期診断対象たる家畜として、一例として牛を想定するが、勿論、牛だけに適用対象を限定するものではなく、他の様々な家畜に適用できる。
【００３３】
また、本発明におけるネットワーク構成例では、前記システム１００の他、例えば無線ネットワーク２１で通信可能に結ばれる行動量センサ１０、および有線ネットワーク２０で通信可能に結ばれたリーダ３０が含まれている。このうち前記行動量センサ１０は、前記畜産農家の牛舎や放牧場などの各種施設で飼養される牛（家畜）に取り付けられた装置であり、前記無線ネットワーク２１を介して前記システム１００とは通信可能に結ばれている。詳細な構造については特に説明しないが、当該行動量センサ１０は、例えば、牛の頸部に装着されたバンドと一体となった装置であり、牛の首の振動数をカウントする。
【００３４】
一方、前記リーダ３０は、前記畜産農家の施設のうち例えば放牧場に分散配置されている装置であり、当該リーダ３０に接近して通信可能（無線通信電波の到達圏内に入った）となった牛の行動量センサ１０より測定値データを取得し、これを有線ネットワーク２０を介して前記システム１００に送信するコンピュータである。
【００３５】
続いて、上記各装置の構成について説明する。前記システム１００は、記憶部１０１、ＲＡＭ１０３、ＣＰＵなどの制御部１０４、通信部１０７らがＢＵＳにより互いに接続されて構成されている。前記記憶部１０１には後述する各種データベース１２５〜１３１が少なくとも記憶されている。
【００３６】
前記システム１００は、ハードディスクドライブなどの前記記憶部１０１に格納されたプログラム１０２を、ＲＡＭ１０３などの揮発性メモリに読み出すなどして制御部１０４により実行することになる。また、前記システム１００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力部１０５、ディスプレイなどの出力部１０６を備えている。また前記システム１００は、他装置との間のデータ授受を担うＮＩＣ（Network Interface Card）など通信部１０７を有し、前記行動量センサ１０やリーダ３０などとネットワークを介して通信可能となっている。
【００３７】
続いて、前記システム１００が、例えばプログラム１０２に基づき記憶部１０１にて構成・保持する機能部につき説明を行う。前記システム１００は、家畜に取り付けられた前記行動量センサ１０の測定値を測定日時情報（および家畜ＩＤ）と共に入力部１０５ないし前記行動量センサ１０との通信部１０７にて受け付けて取得し、前記記憶部１０１の行動量データベース１２６に格納する測定値取得部１１０を備えている。
【００３８】
また、前記システム１００は、前記記憶部１０１の行動量データベース１２６から（処理対象の家畜ＩＤに紐付いた）所定期間毎の前記測定値のデータを読み出し、この測定値データを前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記所定期間に対応付けて記憶部１０１のパラメータデータベース１２７に格納するパラメータ生成部１１１を備える。なお、前記関数としては、例えば、ある数のデータ（＝ある期間内、例えば８時間分、１２時間分、の行動量センサ１０の測定値）の積算、ある時間帯の積算値と隣接する時間帯の積算値との差分（＝微分）、ある時間帯（例えば、午前４時〜午前７時の間、午後１０時〜午前２時の間、など）のデータの積算、各積分値の二乗、など様々な関数を想定できる。ここでは「関数」と表現したが、当然、各種数式の概念を含むものである。
【００３９】
また、前記システム１００は、前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部１０１の個体群データベース１２８に格納する個体群生成部１１２を備えている。なお前記係数は、例えば１０段階の変更ができるものとする。また、その初期値は例えば各パラメータ間で等しく「１」とするか、或いは、乱数発生プログラム（特に図示しないがサーバコンピュータとして前記システム１００が当初から当然備える機能）で発生させた乱数値の所定桁の値などとして、前記ＲＡＭ１０３に格納するものとできる。また、各計数を初期値からランダムに変化させる処理は、例えば、前記乱数発生プログラムに乱数値を発生させ、この乱数値の所定桁の値で前記初期値を更新するなどとすればよい。
【００４０】
前記個体群としては、例えば、パラメータ群が含むパラメータ数が５つであれば、初期値「１１１１１」から変化した、「２１１５３」、「１３４０７」、「１１１１３」・・・といったものを具体的には想定できる。
【００４１】
また、前記システム１００は、前記記憶部１０１の個体群データベース１２８における前記個体群より複数個体（例えば２つ）を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部１０１の世代個体群データベース１２９に格納する遺伝的操作部１１３を備えている。個体群よりの個体の選択や交叉、突然変異の各処理に関しては、遺伝的アルゴリズムの一般的手法（＝に対応したプログラム）を採用すればよい。
【００４２】
また、前記システム１００は、前記各世代の個体群が示す各係数を、前記記憶部１０１のパラメータデータベース１２７に格納された前記各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を世代毎に生成し、前記各所定期間のパラメータ群が含む各パラメータとパラメータ種毎に予め定めた閾値（閾値データベース１３１）との比較処理を前記各世代について実行し、各世代における各所定期間の各パラメータの閾値到達可否を判定する、パラメータ判定部１１４を備えている。
【００４３】
また、前記システム１００は、前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部１０５より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部１０１の最適世代データベース１３０に格納する世代特定部１１５を備えている。
【００４４】
また、前記システム１００は、以降、前記家畜に取り付けられた行動量センサ１０より得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部１０６に出力する時期診断部１１６を備えている。
【００４５】
なお、前記システム１００は、前記最適世代の個体群に基づいて前記時期診断部１１６が特定した発情期と、入力部１０５より受け付けた前記家畜の実際の発情期とを照合し、両者が一致しなかった場合に、前記個体群生成部１１２、前記遺伝的操作部１１３、前記パラメータ判定部１１４、および前記世代特定部１１５に対して処理の再実行を指示する継続判定部１１７を備えるとしてもよい。
【００４６】
一方、前記行動量センサ１０は、上述したように、畜産農家が飼養する牛に取り付けられた装置であり、前記無線ネットワーク２１を介して前記システム１００やリーダ３０とは通信可能に結ばれている。前記行動量センサ１０は、ＣＰＵなどの制御部１４、記憶部１１、ＲＡＭ１３、日時情報を管理するクロック機能１５、センサ部１６、通信部１７らがＢＵＳにより互いに接続されて構成されている。前記記憶部１１内には、プログラム１２と家畜ＩＤが格納されている。こうした行動量センサ１０は、不揮発性記憶部である記憶部１１に格納されたプログラム１２を、ＲＡＭ１３などの揮発性メモリに読み出すなどして制御部１４により実行することになる。また、前記通信部１７は、前記システム１００やリーダ３０との間のデータ授受を担うＮＩＣ（Network Interface Card）などである。
【００４７】
続いて、前記行動量センサ１０が、例えばプログラム１２に基づき記憶部１１にて構成・保持する機能につき説明を行う。前記行動量センサ１０は、家畜たる牛の頸部の振動数をカウントするセンサ部１６を制御して一定時間毎（例えば、５分毎など）の振動数をカウントし、クロック機能１５にて例えば代表時間＝前記一定時間の開始時刻などを測定日時情報として得て、前記測定値たる振動数値と測定日時情報とを対応付けて記憶部１１に蓄積しておく機能を備える。
【００４８】
また、前記行動量センサ１０は、自身が備える通信部１７に対し、前記システム１００の通信部１０７ないし前記リーダ３０の通信部３７との無線通信の確立を一定時間毎に試行させ続け、システム１００ないしリーダ３０との無線通信が確立できた際に、前記記憶部１１に蓄積された前記振動数値と測定日時情報との対に家畜ＩＤ（家畜を一意に特定可能な識別情報であり記憶部１１に予め設定されている）を対応付けて通信部１７からシステム１００ないしリーダ３０に送信する機能を備える。
【００４９】
他方、前記リーダ３０は、上述したように、畜産農家の施設のうち例えば放牧場内に分散設置される装置であり、前記無線ネットワーク２１を介して前記行動量センサ１０と、また前記有線ネットワーク２０を介して前記システム１００とは通信可能に結ばれている。前記リーダ３０は、ＣＰＵなどの制御部３４、記憶部３１、ＲＡＭ３３、通信部３７らがＢＵＳにより互いに接続されて構成されている。前記記憶部３１内には、プログラム３２が格納されている。こうしたリーダ３０は、不揮発性記憶部である記憶部３１に格納されたプログラム３２を、ＲＡＭ３３などの揮発性メモリに読み出すなどして制御部３４により実行することになる。また、前記通信部３７は、前記システム１００や行動量センサ１０との間のデータ授受を担うＮＩＣ（Network Interface Card）などである。
【００５０】
続いて、前記リーダ３０が、例えばプログラム３２に基づき記憶部３１にて構成・保持する機能につき説明を行う。前記リーダ３０は、自身が備える通信部３７に対し、前記行動量センサ１０の通信部１７との無線通信の確立を一定時間毎に試行させ続け、行動量センサ１０との無線通信が確立できた際に、前記行動量センサ１０から送信されてくる前記振動数値と測定日時情報との対に家畜ＩＤが対応付けされたデータを通信部３７を介して受信すると共に、これを有線ネットワーク２０を介して前記システム１００に送信すると共に、前記行動量センサ１０に対して前記記憶部１１に蓄積している前記振動数値と測定日時情報との対のデータの削除指示を通知する機能を備える。このようなリーダ３０が放牧場内に分散設置されているとすれば、家畜が放牧場に所在している時にも測定値等の収集処理を行うことができる。
【００５１】
これまで示した前記システム１００における各部１１０〜１１７はハードウェアとして実現してもよいし、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶部に格納したプログラムとして実現するとしてもよい。この場合、システム１００のＣＰＵ１０４など制御部がプログラム実行に合わせて記憶部より該当プログラムを読み出して、これを実行することとなる。
【００５２】
−−−データ構造例−−−
次に、本実施形態の前記システム１００が利用するデータベース等のデータ構造例について説明する。図２は本実施形態の関数データベース１２５のデータ構造例を示す図である。この関数データベース１２５は、入力データ＝前記行動量センサ１０の測定値たる振動数値から所定パラメータを生成する関数を複数種記憶したデータベースである。この関数データベース１２５は、例えば、関数ＩＤに対して、関数を対応付けたデータ構造となっている。関数の例としては、１．最大値（ある期間内での）、２．平均値（ある期間内での）、３．周期、４．標準偏差、５．各時間間隔での積分値、６．積分値の二乗、７．前期間との微分値、８．微分値の絶対値、９．前記６．で求めた値（積分値の二乗）の微分値、１０．前記９．で求めた値の絶対値、１１．前期間との相対比、１２．各関数の全期間平均値に対する相対値、など様々な関数を想定できる。
【００５３】
また、積算時に用いる測定値の処理範囲たる時間間隔としては、例えば、１時間間隔、３時間間隔、６時間間隔、８時間間隔、１２時間間隔といった例を想定できる。或いは、特定の時間帯（例：深夜帯、早朝帯）について測定値を積算するなどとしてもよい。
【００５４】
図３は本実施形態の行動量データベース１２６のデータ構造例を示す図である。この行動量データベース１２６は、前記家畜たる牛に取り付けられた行動量センサ１０の測定値たる前記振動数値と、測定日時情報と、家畜ＩＤとを格納するデータベースである。この例では、家畜ＩＤ毎にシートを分けて前記振動数値や測定日時らを管理している。
【００５５】
図４は本実施形態のパラメータデータベースのデータ構造例を示す図である。このパラメータデータベース１２７は、前記行動量データベース１２６における所定期間毎（例えば、１時間毎などの時間帯）の前記振動数値のデータを、前記複数種の関数（関数データベース１２５に格納されているもの）それぞれに適用して生成された複数種のパラメータを、前記所定期間に対応付けて格納したデータベースである。この例では、家畜ＩＤ毎にシートを分けて前記複数種のパラメータらを管理している。
【００５６】
図５は本実施形態の個体群データベース１２８のデータ構造例を示す図である。この個体群データベース１２８は、前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とした場合、前記係数群に含まれる各係数を初期値からランダムに変化させて生成した所定数の個体群を格納するデータベースである。図示した例では、個体ＩＤをキーにして、パラメータ毎の係数値を対応付けた構成としている。前記個体群としては、例えば、パラメータ群が含むパラメータ数が５つであれば、初期値「１１１１１」（＝パラメータ数に対応した５桁となる）から変化した、「２１１５３」、「１３４０７」、「１１１１３」・・・といったものを具体的に想定できる。
【００５７】
図６は本実施形態の世代個体群データベース１２９のデータ構造例を示す図である。この世代個体群データベース１２９は、前記個体群データベース１２８における前記個体群より複数個体を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理で得られる、所定世代分の個体群を記憶したデータベースである。図示した例では、例えば、世代ＩＤをタブとした各シート（つまり世代ごとのシート）に、個体ＩＤ、および各パラメータ毎の計数値を対応付けた構成としている。
【００５８】
図７は本実施形態の最適世代データベース１３０のデータ構造例を示す図である。この最適世代データベース１３０は、家畜の実際の発情期と候補期間とが一致する世代＝最適世代の個体群のデータを格納したデータベースである。図示した例では、例えば、登録日時をキーとして、該当日時における最適世代の個体群のデータを対応付けた構成としている。この最適世代データベース１３０から最適世代の個体群のデータを利用する場合、システム１００は、前記登録日時が最新のものを選んで読み出すこととすればよい。
【００５９】
図８は本実施形態の閾値データベース１３１のデータ構造例を示す図である。この閾値データベース１３１は、パラメータ種毎に予め定めた閾値を格納したデータベースである。
【００６０】
−−−処理手順例１−−−
以下、本実施形態における発情期診断方法の実際手順について図に基づき説明する。以下で説明する発情期診断方法に対応する各種動作は、前記システム１００のＲＡＭ１０３に読み出して実行するプログラム１０２によって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００６１】
図９は、本実施形態における発情期診断方法の処理フロー例１を示す図である。ここでは、前記行動量センサ１０から前記システム１００に、前記振動数値等のデータをアップロードする処理について説明する。この場合、前記行動量センサ１０は、家畜たる牛の頸部の振動数をカウントするセンサ部１６を制御して一定時間毎（例えば、５分毎など）の振動数をカウントし、クロック機能１５にて例えば代表時間＝前記一定時間の開始時刻などを測定日時情報として得て、前記測定値たる振動数値と測定日時情報とを対応付けて記憶部１１に蓄積している（ｓ１００）。
【００６２】
また、前記行動量センサ１０は、自身が備える通信部１７に対し、前記システム１００の通信部１０７との無線通信の確立を一定時間毎に試行させ続け、システム１００との無線通信が確立できた際に、前記記憶部１１に蓄積された前記振動数値と測定日時情報との対に家畜ＩＤ（家畜を一意に特定可能な識別情報であり記憶部１１に予め設定されている）を対応付けて通信部１７からシステム１００に送信する（ｓ１０１）。
【００６３】
一方、前記システム１００の測定値取得部１１０は、前記行動量センサ１０から、前記測定値たる振動数値と測定日時情報と家畜ＩＤとを、前記通信部１０７にて受け付けて取得し、前記記憶部１０１の行動量データベース１２６に格納する（ｓ１０２）。なお、前記行動量センサ１０から振動数値等を取得するのではなく、行動量センサ１０が測定した振動数値等のデータを目視する担当者が、前記入力部１０５を介して振動数値等を入力するに応じて取得するとしてもよい。
【００６４】
−−−処理手順例２−−−
図１０は、本実施形態における発情期診断方法の処理フロー例２を示す図である。次に、前記行動量センサ１０から前記リーダ３０を経由して前記システム１００に、前記振動数値等のデータがアップロードされる処理について説明する。この場合、前記行動量センサ１０は、家畜たる牛の頸部の振動数をカウントするセンサ部１６を制御して一定時間毎（例えば、５分毎など）の振動数をカウントし、クロック機能１５にて例えば代表時間＝前記一定時間の開始時刻などを測定日時情報として得て、前記測定値たる振動数値と測定日時情報とを対応付けて記憶部１１に蓄積する（ｓ２００）。
【００６５】
また、前記行動量センサ１０は、自身が備える通信部１７に対し、前記システム１００の通信部１０７ないし前記リーダ３０の通信部３７との無線通信の確立を一定時間毎に試行させ続ける（ｓ２０１）。
【００６６】
前記試行の結果、前記リーダ３０との無線通信が確立できた場合（ｓ２０２：リーダ）、前記リーダ３０は、前記記憶部１１に蓄積された前記振動数値と測定日時情報との対に家畜ＩＤ（家畜を一意に特定可能な識別情報であり記憶部１１に予め設定されている）を対応付けて通信部１７からリーダ３０に送信する（ｓ２０３）。なお、前記リーダ３０は前記システム１００との無線通信が確立できた場合（ｓ２０２：システム）、上記処理手順例１のステップｓ１０１以降と同様の処理を実行することになる。
【００６７】
一方、前記リーダ３０は、自身が備える通信部３７に対し、前記行動量センサ１０の通信部１７との無線通信の確立を一定時間毎に試行させ続け、行動量センサ１０との無線通信が確立できた際に、前記行動量センサ１０から送信されてくる前記振動数値と測定日時情報との対に家畜ＩＤが対応付けされたデータを通信部３７を介して受信する（ｓ２０４）。また、前記リーダ３０は、前記ステップｓ２０４で受信したデータを、前記有線ネットワーク２０を介して前記システム１００に送信する（ｓ２０５）。また前記リーダ３０は、前記行動量センサ１０に対して前記記憶部１１に蓄積している前記振動数値と測定日時情報との対のデータの削除指示を通知する（ｓ２０６）。行動量センサ１０ではこの削除指示を受けて、記憶部１１に蓄積している前記振動数値と測定日時情報との対のデータの削除処理を実行する（ｓ２０７）。
【００６８】
他方、前記システム１００の測定値取得部１１０は、前記リーダ３０を経由して送られてきた前記行動量センサ１０の測定値と測定日時情報と家畜ＩＤとを、前記通信部１０７にて受け付けて取得し、前記記憶部１０１の行動量データベース１２６に格納する（ｓ２０８）。
【００６９】
−−−処理手順例３−−−
図１１は、本実施形態における発情期診断方法の処理フロー例３を示す図である。次に、前記行動量センサ１０由来の振動数値等のデータに基づいて、最適世代の個体群を特定し、最終的に発情期の診断結果を出力する処理について説明する。この場合、前記システム１００のパラメータ生成部１１１は、前記記憶部１０１の行動量データベース１２６から、処理対象とした家畜ＩＤ（例えば、ＩＤの数値が小さいものから順に選び出す）に紐付いた所定期間毎、例えば、１時間間隔の前記振動数値のデータを読み出して積算する（ｓ３００）。本実施形態では１つの振動数値のデータは午前７時からの５分ごとの値であるから、１２個分の振動数値のデータを積算し、午前７時から１時間毎の値を得ることになる。
【００７０】
こうした各時刻ごとの振動数（積算値）を「行動量」としてグラフ化したのが、図１３の上段に示す「１日の行動量推移」グラフである。この例では、“Ｕ２１６１”、“Ｕ５８３５”、“Ｙ０５１５”、“Ｙ４３７４”、の各牛についての毎時の行動量を１つのグラフ中にあわせて示している。また、同図の中段には「発情期が判別しやすい牧場・個体の例」、および下段には「発情期の判別が困難な牧場・個体の例」、として、前記毎時の行動量推移を一ヶ月間にわたってまとめたグラフを示している。図でわかるように、「発情期が判別しやすい牧場・個体」＝Ｕ牧場の“Ｕ５８３５”なる牛の場合、２００８／０６／１８から、２００８／０６／１９の間に行動量のピークが明確に現れており、この期間が発情期であろうと判断しやすい。一方、「発情期の判別が困難な牧場・個体」＝Ｙ牧場の“Ｙ０５１５”なる牛の場合、明らかな行動量のピークが特に無く、このままでは発情期の判断は困難である。
【００７１】
また前記パラメータ生成部１１１は、前記１時間毎の振動数値を前記関数データベース１２５の関数（ｆ１〜）それぞれに適用して複数種のパラメータを生成する（ｓ３０１）。また、前記パラメータ生成部１１１は、前記生成したパラメータを、図４でも示したように、前記７時から１時間おきの各時刻に対応付けて記憶部１０１のパラメータデータベース１２７に格納する（ｓ３０２）。こうして得たパラメータの具体例として、前記“Ｕ５８３５”および“Ｙ０５１５”の各牛に関する「６時間間隔の積分値の二乗」のパラメータ値を図１４に示す。“Ｕ５８３５”なる牛に関しては、２００８／０６／１８から、２００８／０６／１９の間にパラメータ値のピークが明確に現れており、一方、“Ｙ０５１５”なる牛に関しては、明らかなピークが特に無い。
【００７２】
続いて、前記システム１００の個体群生成部１１２は、前記複数種のパラメータ間での各パラメータの重み付けを示す係数群を遺伝的アルゴリズムにおける個体とし、前記係数群に含まれる各係数を初期値からランダムに変化させて所定数の個体群を生成し、記憶部１０１の個体群データベース１２８に格納する（ｓ３０３）。
【００７３】
なお前記係数は、例えば１０段階の変更ができるものとする。また、その初期値は例えば各パラメータ間で等しく「１」とするか、或いは、乱数発生プログラム（特に図示しないがサーバコンピュータとして前記システム１００が当初から当然備える機能）で発生させた乱数値の所定桁の値などとして、前記ＲＡＭ１０３に格納するものとできる。また、各計数を初期値からランダムに変化させる処理は、例えば、前記乱数発生プログラムに乱数値を発生させ、この乱数値の所定桁の値で前記初期値を更新するなどとすればよい。
【００７４】
前記個体群としては、例えば、パラメータ群が含むパラメータ数が５つであれば、初期値「１１１１１」から変化した、「２１１５３」、「１３４０７」、「１１１１３」・・・といったものを具体的には想定できる。
【００７５】
次に、前記システム１００の遺伝的操作部１１３は、前記記憶部１０１の個体群データベース１２８における前記個体群より複数個体（例えば２つ）を抽出して遺伝的アルゴリズムにおける交叉、または、前記個体群より１個体を抽出して遺伝的アルゴリズムにおける突然変異の少なくともいずれかの処理を行って次世代の個体群を生成する処理を所定世代分繰り返し、各世代の個体群を記憶部１０１の世代個体群データベース１２９に格納する（ｓ３０４）。個体群よりの個体の選択や交叉、突然変異の各処理に関しては、遺伝的アルゴリズムの一般的手法（＝に対応したプログラム）を採用すればよい。
【００７６】
また、前記システム１００のパラメータ判定部１１４は、前記各世代の個体群（前記世代個体群データベース１２９のもの）が示す各係数を、前記記憶部１０１のパラメータデータベース１２７に格納された前記各所定期間（例：毎時、或いはこの毎時のデータを２４時間分＝日毎）の対応パラメータに乗じて（例：本実施形態の場合、パラメータ（ｆ１）には係数（ｆ１）を乗じる）、例えば毎時あるいは日毎における重み付け済みのパラメータの群を世代毎に生成し、この毎時或いは日毎の重み付け済みパラメータ群が含む各パラメータと前記閾値（閾値データベース１３１の格納値）との比較処理を前記各世代について実行し、各世代における毎時或いは日毎の各パラメータの閾値到達可否を判定する（ｓ３０５）。
【００７７】
図１５において、ある世代に関しての日毎の閾値到達可否の判定結果例を示している。図１５の上段に示した表では、“Ｕ牧場”の牛“Ｕ５８３５”に関して、「６月１９日」、「６月１６日」、「６月２４日」の３日について、積算（１２Ｈ）、積算（８Ｈ）、微分（１２Ｈ）、行動量（深夜帯）、行動量（朝）の各パラメータの閾値到達可否の結果を示している。この例では、重み付け済みパラメータが閾値に到達していた場合、「○」としている。また、図１５の下段に示した表では、“Ｙ牧場”の牛“Ｙ４３７４”に関して、「７月２５日」と、「７月１１日」から「７月３０日」まで断続的に計８日について、積算（１２Ｈ）、積算（８Ｈ）、微分（１２Ｈ）、行動量（深夜帯）、行動量（朝）の各パラメータの閾値到達可否の結果を示している。この例では、重み付け済みパラメータが閾値に到達していた場合、「○」としている。
【００７８】
続いて、前記システム１００の世代特定部１１５は、前記各世代における各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を候補期間として特定し、前記各世代のうち、入力部１０５より受け付けた前記家畜の実際の発情期と候補期間が一致する世代を最適世代として特定し記憶部１０１の最適世代データベース１３０に格納する（ｓ３０６）。図１５の上段に示した例（ある世代）では、閾値に到達したパラメータの割合が所定割合以上＝５パラメータとなったのが「６月１９日」であり、つまりこの日を候補期間として特定している。図１５の下段に示した例（ある世代）では、閾値に到達したパラメータの割合が所定割合以上＝５パラメータとなったのが「７月２５日」であり、つまりこの日を候補期間として特定している。図示はしていないが、当然、他の世代に関しても、同様に候補期間を特定している（勿論、候補期間が無い世代が出てくることもあり得る）。
【００７９】
前記世代特定部１１５は、前記入力部１０５より前記家畜たる牛（“Ｕ５８３５”、および“Ｙ４３７４”）の実際の発情期を受け付けたとする（ｓ３０７）。そして、前記世代特定部１１５は、前記候補期間が実際の発情期と一致する世代を最適世代として特定し、前記記憶部１０１の最適世代データベース１３０に格納する（ｓ３０８）。図１５の上段に示す例では、ある世代に関して牛“Ｕ５８３５”の発情期の候補期間として特定した「６月１９日」が、実際の発情期と一致する結果となっている（“最終判定”＝“◎”）。同様に、図１５の下段に示す例では、ある世代に関して牛“Ｙ４３７４”の発情期の候補期間として特定した「７月２５日」が、実際の発情期と一致する結果となっている（“最終判定”＝“◎”）。
【００８０】
こうして最適世代、つまりは発情期診断に最適なパラメータの係数群を特定した前記システム１００は、これ以降、前記行動量センサ１０から得る振動数値等に関しては、この最適世代のパラメータの係数群（最適世代データベース１３０に格納されているもののうち登録日時最新のもの）を用いて発情期診断を実行することになる。すなわち、前記システム１００の時期診断部１１６は、以降、前記行動量センサ１０より得た測定値について、前記複数種の関数それぞれに適用して複数種のパラメータを生成し、前記最適世代の個体群が示す各係数を各所定期間の対応パラメータに乗じて、各所定期間における重み付け済みのパラメータの群を生成し、前記各所定期間のパラメータ群が含む各パラメータと前記閾値との比較処理を実行し、各所定期間の各パラメータの閾値到達可否を判定し、前記各所定期間の各パラメータのうち前記閾値に到達したパラメータの割合が所定割合以上となった期間を発情期として特定し、当該発情期の情報を出力部１０６に出力する（ｓ３０９）。
【００８１】
−−−処理手順例４−−−
図１２は、本実施形態における発情期診断方法の処理フロー例４を示す図である。次に、上述のように最適世代のパラメータの係数群が特定された後も、実際の発情期と診断結果とが一致するか引き続き判定し続ける処理について説明する。この場合、前記システム１００の継続判定部１１７は、前記最適世代の個体群（前記最適世代データベース１３０に格納のもの）に基づいて前記時期診断部１１６が特定した発情期と、入力部１０５より受け付けた前記家畜の実際の発情期とを照合する（ｓ４００）。
【００８２】
そして両者が一致した場合（ｓ４０１：ＯＫ）、前記継続判定部１１７は処理を前記ステップｓ４００に戻す。一方、両者が一致しなかった場合（ｓ４０１：ＮＧ）、前記継続判定部１１７は、前記個体群生成部１１２、前記遺伝的操作部１１３、前記パラメータ判定部１１４、および前記世代特定部１１５に対して処理の再実行を指示する（ｓ４０２）。つまり、前記処理手順例３における前記ステップｓ３０３〜ｓ３０９が再実行されることになる。こうした処理を継続することで、たとえ家畜を飼養する施設や環境、気候、体調や年齢など各種条件が変化していったとしても、常に前記最適世代のパラメータの係数群が特定されている状態を維持することができる。
【００８３】
以上説明したように本実施形態によれば、例えば牧場毎に異なる飼養形態、方法等に対応して、（導入初期には既存システムと同様に誤判別や判別不能の可能性があるものの）飼養期間が伸び、データが蓄積されることにより、発情期診断精度が著しく向上していく。つまり、多様な環境・使用条件下であっても、システムが牧場等の飼養施設毎や飼養家畜の種類毎等に独自に進化しつづけて、発情期診断精度が向上していくことになる。また、本実施形態の発情期診断システムを実際に導入・運用するに際して、コストが大きな特別な装置を導入する必要が無く、既存のＰＣ等を利用すればよい為、利用者にとって過大なコスト負担を危惧する必要も無い。
【００８４】
したがって、飼養施設や環境、時期など様々に異なる条件に対応して、家畜の発情期診断を高精度に実行できる。
【００８５】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００８６】
１０  行動量センサ
１５  クロック機能
１６  センサ部
２０  有線ネットワーク
２１  無線ネットワーク
３０  リーダ（放牧場）
１００  発情期診断システム
１０１、１１、３１  記憶部
１０２、１２、３２  プログラム
１０３、１３、３３  ＲＡＭ
１０４、１４、３４  制御部（ＣＰＵ）
１０５  入力部（キーボード、マウス等）
１０６  出力部（ディスプレイ、スピーカー等）
１０７、１７、３７  通信部
１１０  測定値取得部
１１１  パラメータ生成部
１１２  個体群生成部
１１３  遺伝的操作部
１１４  パラメータ判定部
１１５  世代特定部
１１６  時期診断部
１１７  継続判定部
１２５  関数データベース
１２６  行動量データベース
１２７  パラメータデータベース
１２８  個体群データベース
１２９  世代個体群データベース
１３０  最適世代データベース
１３１  閾値データベース
【図１】
0005398069.tif 000002
【図２】
0005398069.tif 000003
【図３】
0005398069.tif 000004
【図４】
0005398069.tif 000005
【図５】
0005398069.tif 000006
【図６】
0005398069.tif 000007
【図７】
0005398069.tif 000008
【図８】
0005398069.tif 000009
【図９】
0005398069.tif 000010
【図１０】
0005398069.tif 000011
【図１１】
0005398069.tif 000012
【図１２】
0005398069.tif 000013
【図１５】
0005398069.tif 000014
【図１３】
0005398069.tif 000015
【図１４】
0005398069.tif 000016