(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024070164
(43)【公開日】2024-05-22
(54)【発明の名称】関数推定システム、関数推定方法およびプログラム
(51)【国際特許分類】
G06Q 50/02 20240101AFI20240515BHJP
G06Q 10/04 20230101ALI20240515BHJP
【FI】
G06Q50/02
G06Q10/04
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022180607
(22)【出願日】2022-11-10
(71)【出願人】
【識別番号】504182255
【氏名又は名称】国立大学法人横浜国立大学
(71)【出願人】
【識別番号】516099255
【氏名又は名称】株式会社プランテックス
(74)【代理人】
【識別番号】110003476
【氏名又は名称】弁理士法人瑛彩知的財産事務所
(72)【発明者】
【氏名】長尾 智晴
(72)【発明者】
【氏名】中西 諒
(72)【発明者】
【氏名】坂口 俊輔
(72)【発明者】
【氏名】竹山 政仁
【テーマコード(参考)】
5L010
5L049
5L050
【Fターム(参考)】
5L010AA04
5L049AA04
5L049CC01
5L050CC01
(57)【要約】
【課題】対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、前記対象の挙動を表す対象関数、を推定する関数推定部を有する仕組みを提供する。
【解決手段】関数推定システムであって、対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、前記対象の挙動を表す対象関数を推定する関数推定部、を有する、関数推定システム。
【選択図】
図6
【特許請求の範囲】
【請求項1】
関数推定システムであって、
対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、前記対象の挙動を表す対象関数を推定する関数推定部、を有する、
関数推定システム。
【請求項2】
前記関数情報として、関数形状に関する関数形状情報を記憶する関数情報記憶部を有し、
前記関数推定部は、前記関数情報記憶部に記憶された前記関数情報についての前記ユーザによる選択入力を受け付ける、
請求項1に記載の関数推定システム。
【請求項3】
前記関数推定部は、前記ユーザにより選択された前記関数形状情報、及び、補間曲線に基づいて、推定した前記対象関数を、出力する、
請求項2に記載の関数推定システム。
【請求項4】
前記関数推定部は、複数個の制御点の値を進化計算法に基づいて調整した前記補間曲線を用いる、
請求項3に記載の関数推定システム。
【請求項5】
前記関数推定部は、前記制御点の個数に関する前記ユーザによる選択入力を受け付ける、
請求項4に記載の関数推定システム。
【請求項6】
前記関数推定部は、
前記対象関数を、複数の1次元関数の和に基づいて、作成し、
それぞれの前記1次元関数を、推定する、
請求項5に記載の関数推定システム。
【請求項7】
前記関数推定部は、前記対象の挙動に影響する要素ごとに、前記要素の前記1次元関数を作成する、
請求項6に記載の関数推定システム。
【請求項8】
前記対象関数の少なくとも1つの特徴を探索し、探索した前記少なくとも1つの特徴を出力する、特徴探索部を有する、
請求項7に記載の関数推定システム。
【請求項9】
前記特徴探索部は、前記1次元関数の特徴に基づいて、前記対象関数の特徴を探索する、
請求項8に記載の関数推定システム。
【請求項10】
前記対象が植物であり、
前記対象関数が、前記植物の栽培に関連する栽培パラメータを用いて表される前記植物の収穫量の関数、であり、
前記特徴探索部は、前記収穫量を最大化する前記栽培パラメータを出力する、
請求項9に記載の関数推定システム。
【請求項11】
請求項1から10のいずれか一項に記載の関数推定システムを用いて関数を推定する関数推定方法。
【請求項12】
請求項1から10のいずれか一項に記載の関数推定システムの各機能を関数推定システムに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、関数推定システム、関数推定方法及びプログラム等に関する。
【背景技術】
【0002】
本技術分野の背景技術として、非特許文献1、非特許文献2、非特許文献3等がある。これらの文献では、いわゆるブラックボックス関数推定問題や関数の特徴を決定する問題について記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ベイズ最適化法(Bayesian optimization):Jonas Mockus (2012). Bayesian approach to global optimization: theory and applications. Kluwer Academic.
【非特許文献2】EMアルゴリズム(expectation-maximization algorithm):Dempster, A.P.; Laird, N.M.; Rubin, D.B. (1977). "Maximum Likelihood from Incomplete Data via the EM Algorithm". Journal of the Royal Statistical Society, Series B. 39 (1): 1-38. JSTOR 2984875. MR 0501537.
【非特許文献3】階層型ニューラルネットワーク(neural network):David E. Rumelhart、他2名、”Learning representations by back-propagating errors”、 Nature 323 (6088)、p. 533-536、1986年
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記非特許文献1から3には、例えば、対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、対象の挙動を表す対象関数を推定する仕組みは開示されていない。
【0005】
そこで、本発明は、上述した課題に鑑み、対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、前記対象の挙動を表す対象関数、を推定する関数推定部を有する仕組みなど、従来よりも優れた関数推定システム等を提供する。
【課題を解決するための手段】
【0006】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本発明は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、関数推定システムが、対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、前記対象の挙動を表す対象関数、を推定する関数推定部、を有する、ことを特徴とする。
【発明の効果】
【0007】
本発明によれば、対象から取得した少なくとも1つの検出データ、及び、ユーザから取得した関数情報、に基づき、前記対象の挙動を表す対象関数、を推定することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
なお、この従来よりも優れた関数推定システムについて、以下、単に関数推定システムと称する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、ネットワーク5に接続された関数推定端末1等を説明する説明図の例である。
【
図2】
図2は、関数推定端末1のハードウェア構成の例である。
【
図3】
図3は、栽培装置300の構成を示す機能ブロック図の例である。
【
図4】
図4は、栽培装置300の内部を示す図の例である。
【
図5】
図5は、少数のサンプル点から関数形状と関数の最大値を探索する様子を説明する説明図の例である。
【
図6】
図6は、関数推定端末1による関数推定フロー600を説明するフロー図の例である。
【
図7】
図7は、
図6の関数推定フロー600を実行する関数推定部110aの構成を説明する説明図の例である。
【
図8】
図8は、第1の関数推定部による処理例を説明する説明図の例である。
【
図9】
図9は、テスト関数を構成する要素関数fi(x)の例を説明する説明図の例である。
【
図10】
図10は、テスト関数Z(x,y)と推定結果の比較を説明する説明図の例である。
【
図11】
図11は、
図10の説明図を別の方向から見た、テスト関数Z(x,y)と推定結果の比較を説明する別の説明図の例である。
【
図12】
図12は、進化計算法による最適化過程の例を説明する説明図の例である。
【
図13】
図13は、得られた要素関数の例を説明する説明図の例である。
【
図14】
図14は、得られた最適栽培条件の例を説明する説明図の例である。
【
図15】
図15は、得られた最適栽培条件による成長率の比較結果の例を説明する説明図の例である。
【
図16】
図16は、収穫量の予測曲線の例を説明する説明図の例である。
【
図17】
図17は、関数推定端末1の関数推定機能を実行するための操作画面1700の例を説明する説明図の例である。
【
図18】
図18は、関数推定端末1の特徴探索機能を実行するための操作画面1800の例を説明する説明図の例である。
【発明を実施するための形態】
【0009】
以下、実施形態を図面を用いて説明する。
なお、以下に説明する実施形態は、請求の範囲にかかる発明の一例であり、以下の記載は本発明の内容をそれに限定するものではない。
また、以下の説明では、最適値を関数の最大値として説明する記載があるが、最適値が関数の最小値などの場合であっても、本発明は同様に有効である。
【0010】
図1は、ネットワーク5に接続された関数推定端末1等を説明する説明図の例である。
図1の実施形態では、関数推定端末1は、ネットワーク5を介して、植物栽培工場2、実験・研究施設3、繁殖・育成施設4、と接続されている。
【0011】
関数推定端末1は、関数推定システムの一例であり、関数推定端末1は、各種の情報を入力するための入力装置104や各種の情報を出力するための出力装置105を備えた装置である。
関数推定端末1の具体的な構成の例については、
図2を用いてより詳細に説明する。
【0012】
なお、
図1では、関数推定端末1は、植物栽培工場2、実験・研究施設3、繁殖・育成施設4の外部に存在するように、図示されているが、関数推定端末1は、植物栽培工場2、実験・研究施設3、繁殖・育成施設4の内部に存在していてもよい。
【0013】
別の実施形態では、1つの関数推定端末1が、植物栽培工場2、実験・研究施設3、繁殖・育成施設4のそれぞれに対して、関数推定機能等を提供する構成であってもよい。
【0014】
関数推定端末1は、ネットワーク5を介して、植物栽培工場2、実験・研究施設3、繁殖・育成施設4等から各種の情報を取得することができる構成であるとよい。
更に、関数推定端末1が推定した各種のパラメータ、例えば植物栽培工場2、実験・研究施設3、繁殖・育成施設4等の目的により適したパラメータ、を植物栽培工場2、実験・研究施設3、繁殖・育成施設4等の管理部や制御部へ提供することができる構成であるとよりよい。
【0015】
植物栽培工場2は、各種の植物を栽培する工場である。植物栽培工場2では、例えば、植物の栽培に関連する各種のパラメータを管理することができるとよい。
植物栽培工場2の具体的な構成の例については、
図3、
図4を用いて、より詳細に説明する。
【0016】
実験・研究施設3は、各種の実験や研究を行う施設である。実験・研究施設3は、例えば、大学や企業や組織等の実験室や研究室であってもよいし、大学や企業や組織等の大型の実験棟や研究棟であってもよい。
【0017】
後述するように、実験・研究施設3は、例えば目的の微生物や細胞の培養等の、目的や結果を獲得するまでに、例えば数週間から数ヶ月、更には数年、等の長期間の時間を要する実験や研究が行われる施設であってもよい。
【0018】
繁殖・育成施設4は、各種の動物の繁殖や育成を行う施設である。繁殖・育成施設4では、例えば、動物の繁殖環境や育成環境に関連する各種のパラメータを管理することができるとよい。
更に、繁殖・育成施設4は、例えば、採卵用養鶏場や酪農牧場や養殖場等であってもよい。
【0019】
ネットワーク5は、関数推定端末1と、植物栽培工場2、実験・研究施設3、繁殖・育成施設4等とを接続する各種の通信ネットワークである。
【0020】
ネットワーク5は、例えば植物栽培工場2の管理装置と植物栽培工場2内に存在する関数推定端末1とを接続する、通信ネットワークであり、例えば有線LAN(Local Area Network)や、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)、等であってもよい。
【0021】
また、ネットワーク5は、例えば植物栽培工場2の管理装置と、植物栽培工場2とは別の場所、例えば、関数推定端末1を用いた機能やサービスを提供する企業等、とを接続する、例えば携帯電話網やインターネット等の通信ネットワーク、であってもよい。
【0022】
関数推定端末1は、ネットワーク5を介して、更に別の施設、端末、サーバ等と接続していてもよい。別の施設とは、例えば、国や地方自治体により運営される施設やその他の公共の組織により運営される施設、関数推定端末1の開発、製造、販売等を行う企業により運営される施設等、である。
別の端末とは、例えば上記の施設等に存在する端末等であり、別のサーバとは、例えば上記の施設等に存在するサーバ等である。
【0023】
図1に記載のそれぞれの端末や、植物栽培工場2、実験・研究施設3、繁殖・育成施設4等で利用される装置等は、例えば、スマートフォン、タブレット、携帯電話機、携帯情報端末(PDA)などの携帯端末(モバイル端末)でもよいし、メガネ型や腕時計型、着衣型などのウェアラブル端末でもよい。また、据置型又は携帯型のコンピュータや、クラウドやネットワーク上に配置されるサーバでもよい。また、機能としてはVR(仮想現実:Virtual Reality)端末、AR(拡張現実:Augmented Reality)端末、MR(複合現実:Mixed Reality)端末でもよい。あるいは、これらの複数の端末の組合せであってもよい。例えば、1台のスマートフォンと1台のウェアラブル端末との組合せが論理的に一つの端末として機能し得る。またこれら以外の情報処理端末であってもよい。
【0024】
図1に記載のそれぞれの端末や、植物栽培工場2、実験・研究施設3、繁殖・育成施設4等で利用される装置等は、それぞれオペレーティングシステムやアプリケーション、プログラムなどを実行するプロセッサと、RAM(Random Access Memory)等の主記憶装置と、ICカードやハードディスクドライブ、SSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置と、ネットワークカードや無線通信モジュール、モバイル通信モジュール等の通信制御部と、タッチパネルやキーボード、マウス、音声入力、カメラ部の撮像による動き検知による入力などの入力装置と、モニタやディスプレイ等の出力装置と、を備える。なお、出力装置は、外部のモニタやディスプレイ、プリンタ、機器などに、出力するための情報を送信する装置や端子であってもよい。
【0025】
主記憶装置には、各種プログラムやアプリケーションなど(モジュール)が記憶されており、これらのプログラムやアプリケーションをプロセッサが実行することで全体システムの各機能要素が実現される。なお、これらの各モジュールは集積化する等によりハードウェアで実装してもよい。また、各モジュールはそれぞれ独立したプログラムやアプリケーションでもよいが、1つの統合プログラムやアプリケーションの中の一部のサブプログラムや関数などの形で実装されていてもよい。
【0026】
本明細書では、各モジュールが、処理を行う主体(主語)として記載をしているが、実際には各種プログラムやアプリケーションなど(モジュール)を処理するプロセッサが処理を実行する。
補助記憶装置には、各種データベース(DB)が記憶されている。「データベース」とは、プロセッサ又は外部のコンピュータからの任意のデータ操作(例えば、抽出、追加、削除、上書きなど)に対応できるようにデータ集合を記憶する機能要素(記憶部)である。データベースの実装方法は限定されず、例えばデータベース管理システムでもよいし、表計算ソフトウェアでもよいし、XML、JSONなどのテキストファイルでもよい。
【0027】
図2は、関数推定端末1のハードウェア構成の例である。
関数推定端末1の主記憶装置101には、関数推定モジュール110、特徴探索モジュール111、連携モジュール112、学習モジュール113、更新モジュール114等のプログラムやアプリケーションが記憶されており、これらのプログラムやアプリケーションをプロセッサ103が実行することで関数推定端末1の各機能要素が実行される。
【0028】
関数推定モジュール110は、サンプル点から、特には数少ないサンプル点から、元の関数を推定する機能を制御する。
関数推定モジュール110は関数推定部の一例である。
【0029】
関数推定モジュール110は、推定しようとする関数について人間があらかじめ概略的、直感的、経験的、または先験的な知識(ヒューリスティクス)を有している場合には、その知識を利用して、関数推定を行なう構成であるとよい。
【0030】
特徴探索モジュール111は、関数推定モジュール110を用いて推定した関数に関する特徴を探索する機能を制御する。
特徴探索モジュール111を、特徴探索部の一例ある。
【0031】
特徴探索モジュール111は、関数に関する特徴として、最大値、最小値、最大勾配、最小勾配等に関する情報を探索する構成であるとよい。
特徴探索モジュール111は、関数推定モジュール110によって推定された関数形全体に対する探索処理を行うことで、関数の最小値や極小値・極大値、値が同一の点すべてなど、目的によって最適値の定義を変えて求めるようにしてもよい。
【0032】
特徴探索モジュール111は、推定した関数の特徴を、例えば最適値として、探索する。例えば最適値として特徴される関数の特徴は、上述のように、最大値、最小値、極大値,極小値等が想定される。上記の特徴の探索には、一般にn次元関数の最適値探索に利用できる手法を適用してもよい。
【0033】
連携モジュール112は、関数推定端末1と、その他の端末や装置やサーバ、例えば植物栽培工場2、実験・研究施設3、繁殖・育成施設4等の環境を管理する管理装置等、との間の連携を制御する。
連携モジュール112は、ネットワーク5を介して関数推定端末1と接続する各種の端末や装置やサーバの間での、情報の送信や受信等を制御する構成であるとよい。
【0034】
学習モジュール113は、関数推定モジュール110や特徴探索モジュール111が取得した情報や、関数推定モジュール110や特徴探索モジュール111が出力した情報等に基づく学習を制御する。
学習モジュール113は、学習の結果を、上述の更新モジュール114へ送信する構成を有しているとよい。学習モジュール113は、例えばユーザごとに異なる特徴的な操作や解析処理等を学習し、ユーザごとに使い慣れた操作や処理を提案するための情報を出力すること等ができる。
【0035】
更新モジュール114は、学習モジュール113から取得した学習の結果に関する情報や、関数推定端末1を開発、製造、販売等をする企業からの更新情報に基づく、関数推定端末1の機能や構成の更新を、制御する。
更新モジュール114は、後述の補助記憶装置102に記憶される各種の情報の更新を制御する構成であるとよい。
【0036】
関数推定端末1の補助記憶装置102には、関数情報や関数形状情報120、要素情報121、補間曲線情報122、パラメータ情報123、設定情報124、ユーザ情報125等が格納されている。
それらの情報120~125等の少なくとも一部は、学習モジュール113や更新モジュール114を用いて、又は、関数推定端末1の外部からの入力情報に基づいて、変更され得る。
【0037】
関数情報や関数形状情報120は、対象の挙動を表す対象関数Fについての関数情報やそのような関数の形状に関する関数形状情報である。
関数情報や関数形状情報120として、例えば、対象の種類や分類ごと、対象が存在する環境ごとに、異なる関数情報や関数形状情報を割り当ててもよい。
【0038】
要素情報121は、対象の挙動に影響を与える可能性のある要素についての要素情報である。
要素情報121は、1つの要素に対して、少なくとも1つの要素関数、例えば一次元の要素関数、を有しているとよい。
【0039】
補間曲線情報122は、後述の補間プロセスにおいて利用可能な補間曲線に関する情報である。
補間曲線情報122としては、例えば、ベジェ曲線、スプライン曲線、B-スプライン(英:B-spline)曲線、NURBS(英:Non-Uniform Rational B-Spline(非一様有理Bスプライン))曲線、等に関する曲線情報を利用することができる。
【0040】
補間曲線情報122としては、上記の曲線情報に追加して、過去の関数推定処理において学習モジュール113により学習された曲線、ユーザが独自に定義した曲線、関数推定端末1の開発、製造、販売等を行う企業等が提供する曲線等も利用され得る。
【0041】
パラメータ情報123は、関数推定端末1の各種の機能、関数情報や関数形状情報120、要素情報121等に関連するパラメータについての情報である。
パラメータ情報123は、植物栽培工場2、実験・研究施設3、繁殖・育成施設4等から取得した個々の工場2や、個々の施設3、4等に関連するパラメータについての情報であってもよいし、関数推定端末1の開発、製造、販売等を行う企業等から取得した情報であってもよい。
【0042】
設定情報124は、関数推定端末1を利用する際の設定に関連する情報である。
ユーザ情報125は、関数推定端末1を利用するユーザに関連する情報である。
設定情報124及びユーザ情報125は、互いに関連付けて記憶されているとよりよい。
【0043】
プロセッサ103は、関数推定端末1の制御部として、それらの情報の少なくとも一部及び上記の各モジュール110~114等を用いて、関数推定端末1の各種の機能を実行する。
入力装置104は、キーボードやマウス等の入力デバイスである。
入力装置104は更に、入力端子や入力インターフェースとして構成されていてもよく、ユーザの利用環境に応じて、タッチパネルやジェスチャー入力デバイス等の入力デバイスを接続することができる構成であるとよい。
【0044】
出力装置105は、ディスプレイやプロジェクタ等の出力デバイスである。
出力装置105は更に、出力端子や出力インターフェースとして構成されていてもよく、ユーザの利用環境に応じて、VR機能、AR機能、MR機能を有するヘッドマウントディスプレイ(HMD)やスマートグラス等の出力デバイスを接続することができる構成であるとよい。
【0045】
通信制御部106は、関数推定端末1のネットワーク5を介した通信を制御する。
通信制御部106は、例えば、ネットワークカードや無線通信モジュール、モバイル通信モジュール等として構成されているとよい。
【0046】
図3は、栽培装置300の構成を示す機能ブロック図の例である。
図3は上記の植物栽培工場2で用いられる栽培装置300の構成を示す機能ブロック図の例である。
栽培装置300は、栽培室310と、複数の栽培チャンバ320と、空気循環装置330と、養液循環装置340と、操作部350と、管理装置360と、表示部370と、を備える。
【0047】
栽培室310は、内部を密閉可能な直方体形状の外壁を備えており、栽培装置300が配置される植物栽培工場2の作業室の環境(温度や湿度)から独立した栽培環境を維持可能である。外壁の素材としては、栽培室310の外側である作業室の環境の影響を受けにくいように、断熱材を用いるのが好ましい。
【0048】
図4は、栽培装置300の内部を示す図の例である。
図4には、栽培室310の外壁を取り除いた状態の栽培装置300を示す。
複数の栽培チャンバ320は、それぞれが略直方体形状を有する。
【0049】
各栽培チャンバ320には、養液トレイ410及び栽培プレート420が、これらの短手方向が栽培チャンバ320の長手方向に沿うように、複数枚配置される。養液トレイ410は、矩形状の栽培プレート420と略同じ大きさで、栽培プレート420をはめ込むように配置可能な矩形状トレイで構成されている。本実施形態では、およそ30cm×120cmの養液トレイ410に栽培プレート420がはめ込まれた状態で、各栽培チャンバ320に16枚配置される。なお、枚数は栽培装置300の規模に応じて調整することができる。
【0050】
なお、栽培チャンバ320の形状は、生産規模の大きい植物栽培工場2に好適に用いられるため、長手方向の長さが短手方向の長さに対して2倍以上である長尺な形状であることが好ましい。本実施形態では、短手方向の長さ:長手方向の長さ=1:5である。ただし、栽培チャンバ320の大きさ(栽培チャンバ320に配置される栽培プレート420の枚数)は、上述の実施形態の大きさに限られない。
【0051】
また、本実施形態で養液トレイ410及び栽培プレート420は矩形であるが、これに限らず正方形であってもよい。正方形の場合、正方形の栽培プレート420の一辺が栽培チャンバ320の長手方向に沿うよう配置される。
【0052】
このように、養液トレイ410が配置された状態においては、複数の栽培チャンバ320は、それぞれが密閉又は半密閉の状態となる。
なお、養液トレイ410は、栽培プレート420の1枚分に対応するサイズでなくてもよく、複数枚の栽培プレート420を1つの養液トレイ410に配置することができるよう構成してもよい。
【0053】
各栽培チャンバ320の上方には、人工光源が配置され、人工光源の調光を行う調光器が接続される。本実施形態では、人工光源は、養液トレイ410及び栽培プレート420の長手方向(栽培チャンバ320の短手方向)に沿うように、2本配置される。人工光源としては、消費電力が少く薄型に構成できるLEDが好適に用いられる。また、人工光源として蛍光灯を用いてもよい。
【0054】
人口光源の光量の明るさ(強さ)や明るさの時間変化等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0055】
空気循環装置330は、少なくとも温度、湿度、二酸化炭素濃度及び空気の流速(流量)を調整する機能を有しているとよい。本実施形態では、空気循環装置330は、空気滅菌装置と、空調装置と、加湿機能を有する加湿装置と、二酸化炭素濃度を調整する二酸化炭素供給装置と、吸引ポンプと、圧縮ポンプと、を備える。
【0056】
空調装置は、例えば、加温、冷却及び除湿機能を有する直膨式(冷媒で直接空気を冷やす方式)の空調装置として形成されているとよい。
また、温度を調整する機能を有する装置として、間膨方式(冷媒で水を介して空気を冷やす方式)のチラー装置を用いてもよい。
【0057】
空気循環装置330によって調整された各種の制御量の値や時間変化等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0058】
各栽培チャンバ320と空気循環装置330は、空気回収管及び空気供給管を介して接続される。空気回収管及び空気供給管は、栽培チャンバ320の長手方向に延びている。空気回収管には所定の間隔で設けられる複数の空気回収口が形成されている。
【0059】
空気供給管には所定の間隔で設けられる複数の空気供給口が形成され、これら空気供給口には定流量弁が設けられている。
また、温度センサ、湿度センサ及び二酸化炭素濃度センサが各栽培チャンバ320の所定箇所に取り付けられ、循環中の空気の温度、湿度や二酸化炭素濃度がモニタされる。
【0060】
定量弁の開度やモニタされた温度、湿度や二酸化炭素濃度等の値や時間変化等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0061】
吸引ポンプにより空気回収管を介して各栽培チャンバ320から回収された空気は、空気滅菌装置を経て滅菌され、空調装置に送られる。
空気滅菌装置の出力(滅菌強度)の値やその時間変化等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0062】
空調装置では、温度センサ及び湿度センサの測定結果に応じて温度調整や除湿がなされたのち、加湿装置で加湿が行われる。その後、二酸化炭素供給装置により、二酸化炭素濃度センサの測定結果に応じて二酸化炭素ボンベ等の二酸化炭素供給源から二酸化炭素が供給される。
二酸化炭素供給源の出力(二酸化炭素供給量)の値やその時間変化等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0063】
圧縮ポンプは空気供給管を介して各栽培チャンバ320に所定の条件及び所定の流速に調整された空気を供給する。
なお、空気の流速の設定値は、固定でもよく、また変更可能でもよい。
【0064】
圧縮ポンプにより供給される空気に関する所定の条件や所定の流速、例えば空気の供給量や供給量の変化等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0065】
栽培チャンバ320における空気の流れ方向は、栽培チャンバ320の短手方向に沿っている。これにより、空気の流れ方向を栽培チャンバ320の長手方向に沿うように供給した場合に比べて、空気の供給から回収までの時間を短くすることができる。よって、空気の流れの上流側と下流側とで生じる温度や湿度、二酸化炭素濃度等の栽培環境の変化を小さくすることができる。
ただし、これに限定されず、栽培チャンバ320における空気の流れ方向は、栽培チャンバ320の上方から下方に沿っていてもよい。
【0066】
栽培チャンバ320における空気の流れ方向、当該流れ方向の変化、当該流れ方向の変化のタイミング等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0067】
なお、実施形態においては、1つの栽培装置300が1つの栽培室310を備え、1つの栽培室310が複数の栽培チャンバ320と1つの空気循環装置330を備え、複数の栽培チャンバ320に1つの空気循環装置330から空気が送られる。
【0068】
ただし、これに限定されず、1つの栽培装置300が1つの栽培室310を備え、1つの栽培室310が複数の栽培チャンバ320と、それぞれの栽培チャンバ320に対応する複数の空気循環装置330を備え、複数の栽培チャンバ320のそれぞれに、対応する空気循環装置330から空気が送られる構成であってもよい。
【0069】
この場合、栽培チャンバ320ごとに循環中の空気の温度、湿度、二酸化炭素濃度及び流速(流量)等を変えることができる構成であるとよく、栽培チャンバ320ごとに調整された循環中の空気の温度、湿度、二酸化炭素濃度及び流速(流量)等に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0070】
また、1つの栽培装置300が複数の栽培室310を備え、複数の栽培室310がそれぞれ、複数の栽培チャンバ320と1つの空気循環装置330を備えてもよい。
更に、1つの栽培装置300が複数の栽培室310を備え、複数の栽培室310がそれぞれ、複数の栽培チャンバ320と、それぞれの栽培チャンバ320に対応する複数の空気循環装置330を備えてもよい。
【0071】
養液循環装置340は、
図4に示すように、栽培室310の下方に配置され、所定の条件に調整された養液を所定の流速で各栽培チャンバ320の養液トレイ410に供給し、各養液トレイ410を通過した養液を回収して、所定の条件となるように調整し、これを繰り返して養液の循環供給を行う。
【0072】
養液トレイ410へ入る養液の状態、例えば各成分の濃度、養液の温度等、に関する情報や、養液トレイ410から出る養液の状態、例えば各成分の濃度、養液の温度等、に関する情報は、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0073】
栽培装置300は更に、各栽培チャンバ320内で栽培中の植物の重量を測定する重量センサ、各植物の間の間隔を検出したり各植物の葉の面積や枚数や拡がり方を判定したりするカメラや画像処理装置、を有しているとよい。
【0074】
重量センサやカメラや画像処理装置が取得した情報は、例えば植物の成長度や成長速度、成長のしやすさ等を表す情報として、ネットワーク5を介して、関数推定端末1へ送信されるとよい。それらの情報は、要素情報121やパラメータ情報123等として、上述の補助記憶装置102に記憶される。
【0075】
また、
図3、
図4を用いて説明した栽培装置300は、比較的大きな、中型・大型の直物栽培工場で使用される装置であるが、栽培装置300や栽培チャンバ320に関して説明した各種のパラメータ調整の制御は、より小型の装置、例えば栽培チャンバ320を単独の装置としたようなもの、でも実行することができる。
【0076】
また、栽培装置300の管理装置360は、栽培装置300内の複数の栽培チャンバ320に対して、栽培チャンバ320に関して説明した各種のパラメータ調整の制御を、個別に調整して実施することができる構成であるとよい。
【0077】
個別にパラメータの調整が可能な上記のような小型装置は、実験・研究施設3において使用することも可能である。
実験・研究施設3においては、小型装置として、例えば1つの栽培チャンバのみを有する小型条件探索装置を、1つ又は複数用いて、異なる多様な、パラメータの組み合わせやパラメータ調整の組み合わせ、に基づいて、植物を栽培することができる。
【0078】
実験・研究施設3の研究者等のユーザは、上記のようなそれぞれに異なる多様なパラメータやパラメータ調整に基づいて、複数の小型装置で同時並行的に栽培レシピを探索することによって、研究開発(レシピ開発)を行うことができる。
【0079】
それにより、実験・研究施設3の研究者等のユーザは、同時並行的に探索された栽培レシピの中から、目的により適合するレシピ、例えば、植物の成長率が最大となるレシピ、植物に含まれる目的成分量が最大となるレシピ、植物の形状や色彩が設定した範囲に近くなるレシピ等、を取得することができる。
【0080】
複数の小型装置を用いて、個々の小型装置内で異なるレシピで同時並行的に植物を栽培し、且つ、それらの栽培結果を利用した後述の関数推定システムを用いた関数推定及び特徴探索を行うことで、従来に比べて格段に短期間且つコンパクトな空間内で、効率的且つ低演算負荷で、所望のレシピを取得することが可能となる。
【0081】
例えば、実験・研究施設3に設けられた制御装置は、ネットワーク5を介して、探索した栽培レシピを、少なくとも1つの、大型の植物工場等の植物栽培工場2へ、シームレスに適用できる構成であるとよい。
【0082】
実験・研究施設3が、例えば植物工場を提供する企業により、運営されている場合、当該企業は、探索により新たに発見したより効率的なレシピを、植物工場を導入した顧客企業に対して、販売したり提供したりすることができる、或いは、現在のレシピをより効率的なレシピへ更新することができる。
【0083】
また、植物工場を提供する企業が、当該植物工場を導入した顧客企業の要望に応じたレシピを、顧客企業に対して提供する場合、顧客企業は、長い時間と多額の費用をかけて、独自に多数の栽培レシピで植物を栽培して研究等を行う必要がなく、植物製品の栽培にコストを集約することができる。
【0084】
図3、
図4を用いて説明した栽培装置300や栽培チャンバ320における各種のパラメータ調整の制御と同様又は類似の制御は、
図1に記載の繁殖・育成施設4、例えば採卵用養鶏場や酪農牧場や養殖場、等にも、適用することが可能である。
【0085】
例えば、養殖水槽に対して上記の制御を適用する場合では、養殖水槽の管理部や制御部等は、養殖水槽を用いた養殖に関連する各種のパラメータを調整、制御すること、及び、より目的に適合する養殖レシピ、例えば養殖された魚介類の大きさや含有成分が最大となるレシピ、養殖された魚介類が所望の形状や色彩となるレシピ、等を探索すること、ができる構成であるとよい。
【0086】
上記のような構成では、例えばメダカや熱帯魚等の観賞用の生体の育成や品種改良等の分野おいても同様に、様々な、繁殖個体の組み合わせ方や、繁殖環境のパラメータや、パラメータの調整・制御の組み合わせ、を同時並行的に管理することで、従来に比べて格段に短期間且つコンパクトな空間内で、効率的且つ低演算負荷で、所望のレシピを探索することが可能となる。
【0087】
以下、関数推定システムによる関数推定や特徴探索について、より具体的に説明する。
関数推定システムは、前述の植物栽培工場2、実験・研究施設3、繁殖・育成施設4や後述の適用対象例1から適用対象例5、等の分野に適用することができるが、それらは関数推定システムの適用分野の一例であり、関数推定システムの適用はそれらの分野に制限されるものではない。
【0088】
図5は、少数のサンプル点から関数形状と関数の最大値を探索する様子を説明する説明図の例である。
関数形状とは、
図5で破線で示されている曲線の形状である。
図5に図示されている関数の最大値とは、関数の特徴点の一例であり、最適値と呼ぶこともある。
【0089】
図5には3つのサンプル点が図示されている。
サンプル点から元の関数を推定するとともに、その最適値(最大値など)を求めるためには、
図5の場合のようにサンプル点が少数の場合、通常、情報が足りないため何等かの知識によってそれを補う必要がある。
なお、「少数」とは、1(又は1セット)から10(又は10セット)程度、特には3(又は5セット)から5(又は5セット)程度、の数である。
【0090】
関数推定端末1は、推定しようとする関数について人間があらかじめ概略的、直感的、経験的、または先験的な知識(ヒューリスティクス)を有している場合に、その知識の入力に基づいて関数推定を行なうことで、
図5の場合のようにサンプル点が少数の場合であっても、破線で示されているような関数形状を推定することができる。
【0091】
関数推定端末1は、関数の形状およびその最適値を求めるブラックボックス関数推定問題において、ごく少ないサンプル点しか存在しない問題に対して、有効な推定手段として使用することができる。
【0092】
図5では説明のために、推定対象の関数が1次元の場合を図示しているが、関数推定端末1は、後述するように、関数がn(n=1,2,...)次元の場合でも、少数のサンプル点から関数を推定することができる。
【0093】
関数推定端末1は、後述するように、サンプル点が非常に少なく、ベイズ最適化やEMアルゴリズム、階層型ニューラルネットワークなどの一般的な関数推定手法が使用できないものが推定の対象であっても、従来技術に比べて格段に高い精度で推定を行うことができる。
【0094】
図6は、関数推定端末1による関数推定フロー600を説明するフロー図の例である。
ユーザは、目的の対象の挙動を推定するために、関数推定端末1を用いて、対象の挙動を表す対象関数Fの関数推定フロー600を開始することができる。
【0095】
関数推定フロー600が開始されると、関数推定モジュール110は、要素情報121やパラメータ情報123を参照して、対象の挙動に影響を与える要素を確認する(S610)。
なお、対象の挙動に影響を与える要素は、実際に影響を与えることが特定されている要素のみならず、影響を与える可能性がある要素であってもよい。また、影響を与える可能性については、ユーザが設定できるとよい。
【0096】
一般的に、対象の挙動に影響を与える要素がn個存在する場合、対象の挙動は、n次元関数F(x1,x2,...,xn)で表される。
それに対し、関数推定モジュール110は、対象の挙動に影響を与える各要素に対して、個別に要素関数を割り当てて、推定する対象関数Fを各要素関数の和として設定する(S620)。
【0097】
具体的には、関数推定モジュール110は、対象の挙動に影響を与える各要素に対して、個別に1次元要素関数f(xi)を割り当てて、推定する対象関数Fを、1次元要素関数f(xi)の和(F=Σf(xi),i=1,2,...,n)として設定する(S620)。
【0098】
関数推定モジュール110は、推定する対象関数Fを設定すると、対象の挙動に関連して、言い換えれば、推定する対象関数Fに関連して、外部知識の入力があるかを確認する(S630)。
外部知識とは例えば、「対象の濃度は連続的に上昇した後、連続的に降下する可能性が高い」、「求める関数は上に凸の形状である可能性が高い」等の人の知識、例えば管理者、実験者、研究者、分析者等の知識である。
【0099】
外部知識の入力がある場合(S630のYes)、関数推定モジュール110は、第1の関数推定プロセスにより各要素関数を推定する(S640)。
第1の関数推定プロセスの具体例は、
図8を用いて説明する。
【0100】
S640では、関数推定モジュール110は、例えば、各f(xi)関数を、入力された外部知識(人の知識)に矛盾しないように、かつサンプル点の値との誤差が小さくなるように1次元の関数を推定する。
【0101】
外部知識の入力がない場合(S630のNo)、関数推定モジュール110は、第2の関数推定プロセスにより各要素関数を推定する(S650)。
第2の関数推定プロセスでは、要素関数として、外部知識に制限されない任意の形状の関数が推定され得る。第2の関数推定プロセスでは、例えば、複数の制御点の補間によって要素関数を推定してもよい。
【0102】
関数推定モジュール110は、各要素関数f(xi)の推定、例えば各要素関数f(xi)の最適化、をi=1,2,...,nの順に個別に順番に行ってもよいが、一挙に並列して行うとよりよい。
推定が終わっていない未定義の要素関数f(xi)が存在する場合は、関数推定モジュール110は、S630及びS640、又は、S630及びS650、を繰り返す。
【0103】
関数推定モジュール110は、各要素に対して要素関数を推定した後、対象関数Fを、具体的に推定した1次元要素関数f(xi)の総和(F=Σf(xi),i=1,2,...,n)として、生成する(S660)。
それにより、対象関数Fは、各要素の要素関数f(xi)として、具体的な関数が適用された状態で、記載される。
【0104】
関数推定モジュール110は、生成した対象関数Fを、サンプル点のデータと比較し(S670)、比較結果が設定範囲内にあるかを判定する(S680)。
サンプル点の具体例については後述する。
【0105】
比較結果が設定範囲内にない場合(S680のNo)、例えば生成した対象関数Fとサンプル点の間の誤差が設定よりも大きい場合、関数推定モジュール110は、再びS630及びS640、又は、S630及びS650、を繰り返す。
【0106】
比較結果が設定範囲内にある場合(S680のYes)、例えば誤差が許容範囲以下まで小さくなった場合、所定の設定範囲に収まる程度に対象の挙動を良好に表現する対象関数Fを推定できたと判断し、生成した対象関数Fを、対象関数Fの推定結果として出力し(S690)、関数推定フロー600を終了する。
【0107】
関数推定モジュール110は、上記の関数推定フロー600に基づいて、人の知識に合った特徴をもつ要素関数の和として、推定対象の対象関数Fを推定することができる。
特徴探索モジュール111は、関数推定モジュール110によって推定された対象関数Fの、各種の特徴を探索することができる。
【0108】
例えば、特徴探索モジュール111は、推定された対象関数Fの特徴値、例えば最大値や最小値など、を最適値として探索する構成であるとよい。
特徴値が最大値あるいは最小値の場合は非常に簡単に最適値を求めることができる。なぜなら、対象関数Fが要素関数f(xi)の和、F=Σf(xi)、であるため、例えば、最大値であれば、各f(xi)の最大値を与えるxiを求めるだけで済むからである。最小値の場合も同様である。
【0109】
言い換えれば、最大値や最小値を最適値とする場合は、対象関数Fが各f(xi)の線形和の構造をしているため、各f(xi)の最大値、あるいは最小値を与える点が全体の関数でも最大値、あるいは最小値を与える点に等しくなる。
それにより、最適値を求める手間を省くことができるため、演算負荷を低減することができる。また、あらためて進化計算法などの探索法を利用して関数の最大値や最小値を求める必要はない。
【0110】
図7は、
図6の関数推定フロー600を実行する関数推定部110aの構成を説明する説明図の例である。
図7の関数推定部110aは、上述の通り、
図2や
図6を用いて説明した関数推定端末1の主記憶装置101に記憶された関数推定モジュール110であってもよいし、関数推定システムを構成する単独の装置であってもよい。
【0111】
関数推定部110aは、対象関数Fを設定する対象関数定義部710を有する。
対象関数Fを設定する対象関数定義部710は、
図6の関数推定フロー600のS610及びS620に対応する処理を実行する。
【0112】
対象関数定義部710は、n個の要素により影響を受ける推定対象の挙動を表す対象関数F、例えば推定対象のn次元対象関数F(x1,x2,...,xn)、をn個の1次元関数f(xi)(i=1,2,...,n)の和、すなわち、F(x1,x2,...,xn)=Σf(xi)、として設定する。
【0113】
関数推定部110aは、対象関数Fを構成する要素関数f(xi)を推定する要素関数推定部720を有する。
要素関数推定部720は、
図6の関数推定フロー600のS620からS680に対応する処理を実行し、n個の要素関数f(xi)を推定する。
【0114】
図7の実施例では、関数推定部110a自体が、外部知識730に関する情報、及び、サンプル点のデータ740に関する情報を有している。
なお、関数推定部110aは、関数推定部110aの外部に記憶された外部知識730に関する情報、及び、サンプル点のデータ740に関する情報を取得する構成であってもよい。
【0115】
例えば、要素関数推定部720では、外部知識確認部721が、要素関数f(xi)に関する人の外部知識があるか否かを外部知識730に対して問合せる。
【0116】
具体的な外部知識の例を以下に示す。
外部知識例1:関数は上に凸の形状をしている。
外部知識例2:関数は下に凸の形状をしている。
外部知識例3:関数は2つの山をもつ形状をしている。
外部知識例4:関数は線形に増加する形状をしている。
【0117】
外部知識としては、上記の外部知識例以外の、関数の形状を規定する情報を利用することも可能である。
関数の形状を規定する情報は、ユーザが数式で入力したり、ユーザが手書き等で形状を入力したり、関数推定端末1の開発、製造、販売等を行う企業が提供したり、することで更新することができるとよりよい。
【0118】
例えば、サンプル点のデータ170は、推定対象関数Fの実測値の集合であり、サンプル点が全部でN個の場合は、F(x11,x12,...,x1n),F(x21,x22,...,x2n),...F(xN1,xN2,...,xNn)のN個のスカラー値である。
【0119】
要素関数推定部720は、対象の挙動や対象関数に関する外部知識730の有無を確認する外部知識確認部721を有する。
要素関数推定部720は、
図6の関数推定フロー600のS630に対応する処理を実行する。
外部知識確認部721は、処理結果に応じて、第1の関数推定部722又は第2の関数推定部723へ、次の処理を行わせる。
【0120】
要素関数推定部720は、上述の第1の関数推定部722及び第2の関数推定部723を有する。
第1の関数推定部722は、
図6の関数推定フロー600のS640に対応する処理を実行する。
第2の関数推定部723は、
図6の関数推定フロー600のS650に対応する処理を実行する。
【0121】
要素関数推定部720は、推定された要素関数f(xi)に基づいて対象関数Fを生成する関数推定終了判定部724を有する。
要素関数推定部720は、
図6の関数推定フロー600のS660からS680に対応する処理を実行する。
【0122】
関数推定部110aは、推定した対象関数Fの推定結果を出力する対象関数出力部750を有する。
対象関数出力部750は、
図6の関数推定フロー600のS690に対応する処理を実行する。
【0123】
上述の対象関数定義部710、要素関数推定部720、外部知識確認部721、第1の関数推定部722、第2の関数推定部723、関数推定終了判定部724、及び、対象関数出力部750は、
図2の実施形態における関数推定モジュール110の一部であってもよいし、個別の装置であってもよい。
【0124】
図8は、第1の関数推定部722による処理例を説明する説明図の例である。
図8は、
図6のS640での処理例や、
図7の第1の関数推定部722による処理例を具体的に説明している。
【0125】
上述の通り、
図6のS640や
図7の第1の関数推定部722では、外部知識、例えば対象の挙動や関数に関する知識がある場合に、それを満たすような要素関数f(xi)を推定する。
以下では、例えば「関数は上に凸の形状をしている」という外部知識を用いた処理について説明する。
【0126】
図8の実施形態では、第1の関数推定部722は、有限個の制御点を設定してそれらをB-spline関数などの補間曲線で補間することで、要素関数f(xi)を推定することができる。
制御点の値の決定には、最適化法の一種である進化計算法(遺伝的アルゴリズムGA: Genetic Algorithm)などを用いても良い。
【0127】
第1の関数推定部722は、例えば、要素関数f(xi)の波形の決定に4つの制御点の値を進化計算法で決定してB-spline関数で補間する方法を使用している。この場合は、「波形が上に凸である」条件を満たすよう、両端の2点の制御点をつなぐ点線の直線より、中間の2つの制御点が上になるという制約をつけることでf(xi)を推定している。
【0128】
例えば、
図8に示すように、要素関数f(xi)がそれぞれ4個の制御点をB-spline関数で補間して表されるものであり、制御点の値を進化計算法の一種である遺伝的アルゴリズムで最適化する場合は、4n個の値を1列に並べたものを1セット(1個体)とみなして、それによって決定される対象関数Fの誤差が小さくなるように最適化してもよい。
【0129】
要素関数f(xi)の推定に用いる制御点の数や、補間曲線の関数は、変更可能であるとよい。
また、ユーザが、外部知識として、対象の挙動や関数に関する知識に加えて、制御点の数や補間曲線の関数の種類を入力することができる、構成であるとよい。
【0130】
図9は、テスト関数を構成する要素関数f
i(x)の例を説明する説明図の例である。
図9(a)は、対象の挙動に影響を及ぼす第1の要素に関する第1の要素関数f
1(x)の例を示す。
図9(b)は、対象の挙動に影響を及ぼす第2の要素に関する第2の要素関数f
2(x)の例を示す。
図9(c)は、対象の挙動に影響を及ぼす第3の要素に関する第3の要素関数f
3(x)の例を示す。
図9(d)は、対象の挙動に影響を及ぼす第4の要素に関する第4の要素関数f
4(x)の例を示す。
【0131】
第1から第4の要素関数、f1(x)、f2(x)、f3(x)、f4(x)、は、対象の挙動に影響を及ぼす4つの要素のそれぞれに割り当てることができる。
例えば、対象の挙動に影響を及ぼす要素として、第1の要素から第4の要素が設定される場合、対象関数Fは、F=Σf(xi)=f1(x)+f2(x)+f3(x)+f4(x)、として設定することができる。
【0132】
1つの実施例では、例えば、対象関数Fを、比較的単純な2次元の関数として推定してもよい。
そのような実施例では、
図9に示す第1から第4の4つの要素関数f
1(x)、f
2(x)、f
3(x)、f
4(x)をそれぞれ2つずつ組み合わせてテスト関数Z(x,y)とした。
このテスト関数Z(x,y)におけるサンプル点1000個を実測値として与え、人の知識としては「要素関数はいずれも上に凸である」を用い、4点の制御点のB-spline補間曲線で各要素関数を表わし、制御点の値をすべてまとめて遺伝的アルゴリズムで最適化した。
【0133】
図10は、テスト関数Z(x,y)と推定結果の比較を説明する説明図の例である。
図11は、
図10の説明図を別の方向から見た、テスト関数Z(x,y)と推定結果の比較を説明する別の説明図の例である。
図10及び
図11は、左側にテスト関数Z(x,y)を示し、右側に推定結果を示している。
【0134】
図10及び
図11は、3つのテスト関数Z(x,y)(第1のテスト関数Z
1(x,y)、第2のテスト関数Z
2(x,y)、第3のテスト関数Z
3(x,y))と、関数推定システム、例えば関数推定端末1、を用いて推定した対象関数Fの比較を示している。
図10及び
図11の比較結果から、いずれのテスト関数Z
1(x,y)、Z
2(x,y)、Z
3(x,y)も、関数推定システムによって正確に推定することができていると見なすことができる。
【0135】
以下、植物栽培工場2における植物の栽培に、関数推定システムや関数推定システムを用いて推定した対象関数F等を利用する実施例について説明する。
図12から
図16には、具体的な実験結果等を示す。
【0136】
以下、関数推定システムを、植物栽培工場2、例えば人工光型植物工場、における収穫量を最大化する栽培パラメータを推定及び決定する実施例について説明する。人工光型植物工場の具体例については、
図3、
図4の説明も参照されたい。
上記の推定及び決定は、栽培パラメータ変数によって決まる収穫量関数のブラックボックス推定問題に関する。
【0137】
上記の収穫量を最大化する栽培パラメータを推定及び決定する実施例に関して行った実験の実験条件は以下の通りである。
実験条件1:栽培条件としては、気温、湿度、CO2濃度などの全部で20個のパラメータ変数によって決定される実験系を用いた。このうちの10個のパラメータ変数からなる収穫量関数を推定対象とした。
【0138】
実験条件2:栽培対象の野菜としてはレタスを用いた。収穫までは通常2週間以上を要するため、1つの栽培条件(=サンプル点)の実測値を求めるために2週間を要することになる。
以下に説明する実験では、最終的な収穫量ではなく、以下の式:
成長率(%)=(今日の重量-昨日の重量)/昨日の重量×100 [%]
で決まる1日当たりの成長率を最大化することを目的とした。
なお、1日当たりの成長量は、栽培棚に設置された重量計を用いて計測した。
【0139】
実験条件3:1日を0~5時台、6~11時台、12~17時台、18~23時台の4つの時間帯に分けて考えて、それぞれの収穫量関数を推定することとした。9環境条件(6時間平均)×4+1環境条件(0~5時台のみ)の37次元の説明変数であるとした。
【0140】
実験条件4:遺伝的アルゴリズムの設定としては、各制御点をそれぞれ8ビットで表すものとし、進化計算における評価関数(適応度関数)は実測値とのズレを用いた。
評価関数(適応度関数)と実測値との間のズレ(差異)が少ないほど、高い評価を与えた。
【0141】
図12は、進化計算法による最適化過程の例を説明する説明図の例である。
実験結果1:進化計算による最適化過程を
図12に示す。
図12の横軸は進化計算の世代数、縦軸は実測値との誤差である。
【0142】
図12からは、世代交代とともに最適化が行われていることを確認することができる。この場合の実測値との平均絶対誤差(MAI)は12.66%であり、充分に良好な近似結果を得ることができた。
【0143】
図13は、得られた要素関数の例を説明する説明図の例である。
実験結果2:
図12で説明した最適化過程で得られた要素関数の例を
図13に示す。いずれも、人の知識(グラフは上に凸)の条件を満たしている。
【0144】
図14は、得られた最適栽培条件の例を説明する説明図の例である。
実験結果3:得られた栽培関数は要素関数の線形和であるため、収穫量関数の値が最大になるときの各パラメータ変数の値は、各パラメータ変数による要素関数の上に凸の部分の頂点の値であることは自明である。
【0145】
図14は、各時間毎の収穫量を最大にするときの10個のパラメータの値を0~1の間の正規化した値で示す。
図14に例示する各パラメータParam1からParam10は、それぞれが個別の栽培条件に対応しているが、パラメータの種類や数は、対象に応じて適宜変更することが可能である。
【0146】
図15は、得られた最適栽培条件による成長率の比較結果の例を説明する説明図の例である。
実験結果4:得られた最適栽培条件によって栽培を行なうことを仮定したときの成長率の値を
図15に示す。関数推定システムを用いて推定した栽培条件、例えば最適栽培条件、に基づく成長率(前日比)は183.34%であり、従来の一般的な植物栽培工場の平均成長率(概算値)(約120%)や、関数推定システムに基づく最適値を利用する以前の
図3、
図4で説明した植物栽培工場の平均成長率(実測値)(142.88%)、に比較して格段に高い。
【0147】
図16は、収穫量の予測曲線の例を説明する説明図の例である。
図15に示す成長率で植物を栽培した場合の重量(計算値)を比較した表及びグラフを、
図15(a)及び
図15(b)に示す。
このように、関数推定システムを用いて推定した栽培条件下で植物を栽培することで、従来よりも格別に増加した収穫量を実現することが予測できる。
【0148】
図17は、関数推定端末1の関数推定機能を実行するための操作画面1700の例を説明する説明図の例である。
関数推定端末1は、操作画面1700上でのマウス等の入力装置を用いたユーザの入力を受け付けることができる構成であるとよい。例えば、関数推定端末1は、操作画面1700上で、関数推定に関する情報についてのユーザの入力を受け付けることができる構成であるとよい。
【0149】
操作画面1700には、サンプル点等の検出値を表示する検出値表示領域1710、選択可能な関数情報及び選択された関数情報を表示する関数情報選択領域1720、選択可能な補間曲線、選択された補間曲線、利用する制御点の総数の入力画面を表示する補間曲線選択領域1730、及び、関数推定端末1による関数推定を開始するための入力を行う推定開始領域1740、を有する。
【0150】
ユーザは、検出値表示領域1710でサンプル点等の実際の検出値を確認しながら、関数情報選択領域1720でユーザ自身の知識を選択して入力し、必要に応じて、補間曲線選択領域1730で補間処理に用いる補間曲線等を変更した後に、推定開始領域1740をマウス等でクリックするなどして、関数推定端末1に対象関数Fの推定を開始させることができる。
【0151】
図18は、関数推定端末1の特徴探索機能を実行するための操作画面1800の例を説明する説明図の例である。
関数推定端末1は、操作画面1800上でのマウス等の入力装置を用いたユーザの入力を受け付けることができる構成であるとよい。例えば、関数推定端末1は、操作画面1800上で、特徴探索に関する情報についてのユーザの入力を受け付けることができる構成であるとよい。
【0152】
操作画面1800には、推定した対象関数Fを表示する推定結果表示領域1810、推定した対象関数Fから探索する特徴に関する情報を表示する特徴探索領域1820、関数推定端末1による特徴探索を開始するための入力を行う特徴探索開始領域1830、及び、特徴探索の結果を表示する特定探索結果表示領域1840、を有する。
【0153】
ユーザは、推定結果表示領域1810で推定した対象関数Fを確認しながら、特徴探索領域1820で特徴探索の対象となる範囲を入力したり、探索対象となる特徴を選択して入力したりすることができる。
【0154】
ユーザは、特徴探索に関する情報を入力した後、特徴探索開始領域1830をマウス等でクリックするなどして、関数推定端末1に対象関数Fの特徴探索を開始させることができる。
関数推定端末1は、特徴探索の結果を、特定探索結果表示領域1840に表示する。
【0155】
関数推定システムの適用対象の例について以下に説明する。
適用対象例1:長期間を要する実験や研究
挙動の推定対象の例:生成物の生成量、生成物の成分特性、生成物の生成速度、微生物の増殖・培養速度、細胞の増殖・培養速度、等
対象の挙動に影響を及ぼす要素の例:使用する物質の種類、使用する物質の濃度、物質を使用するタイミング、微生物の種類、培養液の組成や組成変化、増殖用容器の振とう速度や振幅、使用器具の種類、実験系の環境変数(温度、湿度、撹拌速度、撹拌時間、滴下速度等)、実験室や研究室等の環境変数(温度、湿度、明度、滞在人物、滞在人数等)、実験や研究の担当者等
【0156】
適用対象例1では、関数推定システムは、例えば微生物や細胞の培養に長期間、例えば数日から数ヶ月、を要するような実験や研究等の場合でも、数少ないサンプル点と外部知識を組み合わせて、より効率的に微生物や細胞を培養することができるパラメータを推定することができる。
【0157】
適用対象例2:畜産や酪農
挙動の推定対象の例:家畜の成長度(出荷時重量)、生乳生産量、(鶏)卵生産量、製品品質(肉、生乳、卵等の成分特性)等
対象の挙動に影響を及ぼす要素の例:面積あたりの家畜の頭数、給餌時間、給餌回数、飼料成分、家畜の運動量、採乳時間長さ、採乳時間帯、環境変数(温度、湿度、換気量、臭気指数等)、作業担当者等
【0158】
適用対象例2では、関数推定システムは、例えば家畜の出荷までに長期間、例えば数ヶ月から数年、を要するような畜産等の場合でも、数少ないサンプル点と外部知識を組み合わせて、より効率的により目的の肉質に近い家畜を育てることができるパラメータを推定することができる。
【0159】
適用対象例3:製品の販売
挙動の推定対象の例:製品の販売数、等
対象の挙動に影響を及ぼす要素の例:製造数、出荷数、市場への供給総数、単位期間内での販売数、単位期間内での販売数変化、CMや広告の期間や時間帯、対象製品への問い合わせ数、SNSでの出現数、製品販売価格の平均値、製品販売価格の最安値、転売数、転売価格の平均値、転売成立価格の最高値、類似製品や旧型製品の販売履歴、等
【0160】
適用対象例3では、関数推定システムは、例えば販売実績等の情報が少ない新製品等を販売する場合であっても、数少ないサンプル点と外部知識を組み合わせて、より効率的により目的に近い販売数を達成することができるパラメータを推定することができる。
【0161】
適用対象例4:市町村や地方自治体における政策決定
挙動の推定対象の例:若者世代の居住者数、若者世代の転入数、出生数、等
対象の挙動に影響を及ぼす要素の例:若者世代や転入世帯への補助予算額、出産援助予算額、子供向けの各種無償化予算額、広報活動予算額、広報活動の期間や時間帯、利用可能な予算金額の合計額、世代別人口比率、等
【0162】
適用対象例4では、関数推定システムは、例えば年度ごとにしか予算を決定できない場合や予算をつけた政策の効果が出るまでに長い期間、例えば数ヶ月から数年、を要する政策等を決定する場合でも、数少ないサンプル点と外部知識を組み合わせて、数年に渡って、年度ごとの限られた予算内で、より効率的に政策目的を達成することができるように、実行する政策の選択や実行する政策に割り当てる予算額等を推定することができる。
【0163】
適用対象例5:感染症の予測
挙動の推定対象の例:感染者数、感染者増加率等
対象の挙動に影響を及ぼす要素の例:ワクチン接種率、変異株の種類、各変異株の割合、各変異株の感染力、隣接する都道府県の感染者数、隣接する都道府県の感染者増加率、テレワーク率(利用企業、利用人数等)、鉄道利用状況(利用人数、混雑具合等)、飲食店等利用状況(営業時間、営業自粛店舗数)、時差出勤状況、祝日や連休の有無、旅行者数、他地域や他国での感染者数や感染者増加率、等
【0164】
適用対象例5では、関数推定システムは、例えば感染者数のピークが数ヶ月ごとに出現し、ピークごとのデータを多数収集することが困難であるような感染症の予測を行う場合でも、数少ないサンプル点と外部知識を組み合わせて、各要素の影響に基づいて、低い演算負荷で高精度に感染者数や感染者増加率等を推定することができる。
【0165】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0166】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0167】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
なお、上述の実施例は少なくとも特許請求の範囲に記載の構成を開示している。
【符号の説明】
【0168】
1…関数推定端末、100、100a…関数推定部、110…関数推定モジュール、111…特徴探索モジュール、120…関数情報や関数形状情報、121…要素情報、122…補間曲線情報、710…対象関数定義部、720…要素関数推定部、721…外部知識確認部、722…第1の関数推定部、723…第2の関数推定部、724…関数推定終了判定部、730…外部知識、740…サンプル点のデータ、750…対象関数出力部