IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パロ アルト リサーチ センター インコーポレイテッドの特許一覧

特許7610931自動的に構築された設計空間文法に基づいて設計を生成する方法
<>
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図1
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図2
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図3
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図4
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図5
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図6A
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図6B
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図6C
  • 特許-自動的に構築された設計空間文法に基づいて設計を生成する方法 図6D
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-25
(45)【発行日】2025-01-09
(54)【発明の名称】自動的に構築された設計空間文法に基づいて設計を生成する方法
(51)【国際特許分類】
   G06F 30/10 20200101AFI20241226BHJP
   G06N 5/04 20230101ALI20241226BHJP
   G06F 111/04 20200101ALN20241226BHJP
   G06F 111/20 20200101ALN20241226BHJP
【FI】
G06F30/10
G06F30/10 200
G06N5/04
G06F111:04
G06F111:20
【請求項の数】 7
(21)【出願番号】P 2020106925
(22)【出願日】2020-06-22
(65)【公開番号】P2021026764
(43)【公開日】2021-02-22
【審査請求日】2023-06-13
(31)【優先権主張番号】16/527,668
(32)【優先日】2019-07-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504407000
【氏名又は名称】パロ アルト リサーチ センター,エルエルシー
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100158551
【弁理士】
【氏名又は名称】山崎 貴明
(72)【発明者】
【氏名】ジョン・ティー・マックスウェル・サード
(72)【発明者】
【氏名】マシュー・クレンク
(72)【発明者】
【氏名】ジョアン・デ・クライヤー
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2010-055466(JP,A)
【文献】特開2017-033223(JP,A)
【文献】米国特許出願公開第2017/0316126(US,A1)
【文献】米国特許出願公開第2015/0222498(US,A1)
【文献】Nicolas Albarello et al.,A model-based method for the generation and optimization of complex systems architectures,2012 IEEE International Systems Conference SysCon 2012,IEEE,2012年03月19日,<DOI: 10.1109/SysCon.2012.6189456>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 - 30/398
G06N 5/04
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
システムであって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含む少なくとも1つのメモリであって、
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサを使用して、前記システムに、
ライブラリ内の各構成要素がインタフェースに接続できる全ての可能な方法を考慮することによって、構成要素の前記ライブラリを使用して設計空間文法を構築させる、
ように構成される、少なくとも1つのメモリと、
を備え、
インタフェースが、前記構成要素のうちのある構成要素に接続するように構成されているか、又は別のインタフェースに接続するように構成されている、制限された組の接続を備え、
前記インタフェースは1次インタフェースであり、
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを使用して、前記システムに、
前記設計空間文法内の前記構成要素のうちのある構成要素に関連付けられた方程式を決定させ、
前記構成要素の従属インタフェースの各同等のクラスに関連付けられた方程式を決定させ、
前記設計空間文法に関連付けられた方程式を、
(i)構成要素に関連付けられた前記方程式を、前記構成要素の前記従属インタフェースの各同等のクラスに関連付けられた前記方程式と組み合わせることと、
(ii)組み合わせられた前記方程式を、それらを標準形態に置くことによって簡略化することと、
(iii)簡略化され、組み合わせられた前記方程式を、前記1次インタフェースの同等のクラスに入れることと、
によって、解かせるように、更に構成される、システム。
【請求項2】
前記制限された組の接続に対する前記制限が、ユーザによって決定される、請求項1に記載のシステム。
【請求項3】
前記インタフェースが、前記インタフェースを実装する複数の構成要素を更に備える、請求項1に記載のシステム。
【請求項4】
システムであって、
構成要素モデルライブラリを使用して設計空間文法及び設計シナリオ
使用して設計空間文法を構築するように構成される、1つ以上のプロセッサ
を備えるシステムであって、前記設計空間文法が、前記設計シナリオを実施するために使用される設計ファミリーの集合を含み、各設計ファミリーが、設計代替物に対応する少なくとも1つの規則を含み、
設計ファミリーの前記集合は、(i)1つの構成要素のみを有する少なくとも1つの設計ファミリーと、(ii)2つ以上の構成要素を有する少なくとも1つの設計ファミリーと、を含み、
前記1つ以上のプロセッサが、
1つの構成要素のみを有する各設計ファミリーに関して、前記設計ファミリーに関連付けられた各設計代替物を列挙し、前記設計ファミリーに関連付けられた各設計代替物の方程式を抽出し、前記方程式を標準形態に置き、前記方程式の係数を単純化し、
前記方程式を同等のクラスにグループ化し、前記同等のクラスを前記設計ファミリーと関連付ける、
ように更に構成される、システム。
【請求項5】
前記1つ以上のプロセッサが、
2つの構成要素を有する各設計ファミリーに関して、前記2つの構成要素を有する設計ファミリーに関連付けられた各設計代替物を列挙し、
前記2つの構成要素を有する設計ファミリーに関連付けられた各設計代替物に関して、従属設計ファミリーの同等のクラスを列挙し、
前記従属設計ファミリーの各同等のクラスに関して、前記従属設計ファミリーの前記同等のクラスの方程式を、前記2つの構成要素を有する設計ファミリーに関連付けられた前記設計代替物の方程式と組み合わせ、組み合わせの結果を簡略化し、
略化された前記結果を第2の同等のクラスにグループ化し、前記第2の同等のクラスを前記2つの構成要素を有する設計ファミリーと関連付ける、
ように更に構成される、請求項に記載のシステム。
【請求項6】
前記1つ以上のプロセッサが、
前記設計シナリオによって使用される前記設計ファミリーにおける各同等のクラスのサンプル設計を列挙し、前記設計シナリオが満たされているか否かを判定するために、定性的推論を用いて前記設計シナリオにおける少なくとも1つの列挙されたサンプル設計を評価する、ように更に構成される、請求項に記載のシステム。
【請求項7】
前記1つ以上のプロセッサが、
前記設計シナリオを満たす前記同等のクラスを使用して、潜在的な基本設計を特定し、
前記潜在的な基本設計のうちのある潜在的な基本設計から構成要素を削除し、
前記構成要素が削除された前記潜在的な基本設計が依然として前記設計シナリオを満たす場合、前記構成要素を削除することなく、前記潜在的な基本設計をスプリアスとして廃棄する、
ように更に構成される、請求項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下は、小型の電気的、機械的、及び/又は油圧式機構のためのシステム及び方法の設計に関する。
【0002】
現在、ほとんどの電気的、機械的、又は油圧式システムは、コンピュータ支援設計ツールを使用して人々によって設計されている。所与の概念設計の最良のパラメータを選択するためのいくつかのツールがあるが、概念設計の空間を自動的に探索するためのツールはほとんど存在しない。
【0003】
本明細書に記載されるシステム及び方法は、この分野におけるこの必要性及び他に対処する。
【発明の概要】
【0004】
本明細書に記載されるアプローチは、最初に設計空間を覆う設計空間文法を構築することによって設計構成要素のライブラリを与えられる設計を生成する。それ自体によって、このアプローチは、得られる設計空間文法が各設計において許容される構成要素の数において指数関数的であるため、この手法は扱いにくい。本明細書に記載される手法は、設計空間文法によってカバーされる設計の数が、許容される構成要素の数において指数関数的であっても、得られる設計空間文法のサイズが許容される構成要素の数において線形であるような方法で設計空間文法の接続性を制限することによって、この問題を解決する。
【0005】
設計空間文法は、設計空間内の設計をサンプリングし、それらを設計基準と比較するために使用することができる。開示される手法はまた、設計空間文法の各部分に関連付けられた方程式を解くことと、解を同等のクラスに入れることと、を含んでもよい。同等のクラスを使用すると、評価する必要がある設計の数が劇的に低減される。これにより、設計されているものが少ない構成要素のみを有する場合(例えば、爪切り、水を上に向かって移動させるための機構)、設計空間文法によってカバーされる設計の全ての評価が可能になる。
【0006】
一態様では、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリと、を含むシステムであって、少なくとも1つのメモリ及びコンピュータプログラムコードが、少なくとも1つのプロセッサを使用して、システムに、ライブラリ内の各構成要素がインタフェースに接続できる全ての可能な方法を考慮することによって、構成要素のライブラリを使用して設計空間文法を構築させる、ように構成され、インタフェースが、構成要素のうちのある構成要素に接続するように構成されているか、又は別のインタフェースに接続するように構成されている、制限された組の接続を備える、システム。
【0007】
いくつかの実施形態では、前の段落に記載されているシステムにおいて、インタフェースは1次インタフェースであり、少なくとも1つのメモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサを使用して、システムに、設計空間文法内の構成要素のうちのある構成要素に関連付けられた方程式を決定させ、構成要素の従属インタフェースの各同等のクラスに関連付けられた方程式を決定させ、設計空間文法に関連付けられた方程式を、(i)構成要素に関連付けられた方程式を、構成要素の従属インタフェースの各同等のクラスに関連付けられた方程式と組み合わせることと、(ii)組み合わせ方程式を簡略化することと、(iii)簡略化された組み合わせ方程式を、1次インタフェースの同等のクラスに入れることと、によって、解かせるように、更に構成される。接続の制限された組に対する制限は、システムのユーザによって指定することができる。インタフェースは、インタフェースを実装する複数の構成要素を更に含んでもよい。
【0008】
別の態様では、方法であって、1つ以上のプロセッサを使用して、構成要素モデルライブラリを使用して、設計空間文法及び設計シナリオを構築することと、設計を構築するために設計空間文法を使用することと、を含み、設計空間文法が、インタフェースと、モデルライブラリからの構成要素とを備え、設計空間文法が、(i)インタフェースの接続、及び(ii)モデルライブラリの構成要素を反復することによって、インタフェースの規則の集合を生成することによって構築される、方法がある。
【0009】
いくつかの実施形態では、前の段落に記載されているシステムは、1つ以上のプロセッサを使用して、反復の後に、インタフェース内の正しいタイプの第1の空の接続に接続を取り付けることによって、残りの接続を再帰的に接続することと、を更に含む。インタフェースは、1次インタフェースであってもよく、この方法は、1つ以上のプロセッサを用いて、1次インタフェース内に空の接続が存在すると判定することと、空の接続を従属インタフェースに追加することと、を更に含んでもよい。いくつかの実施形態では、接続のタイプは、(i)電気的接続、(ii)機械的接続、及び(iii)油圧式接続を含む。いくつかの実施形態では、インタフェースは1次インタフェースであり、この方法は、1つ以上のプロセッサを使用して、反復の後に、従属インタフェースに接続を取り付けることによって、残りの接続を再帰的に接続すること、を更に含む。いくつかの実施形態では、方法は、1つ以上のプロセッサを使用して、反復の後に、任意選択的にマークされた接続をスキップすることを含む残りの接続を再帰的に接続することを更に含む。いくつかの実施形態では、この方法は、1つ以上のプロセッサを使用して、反復の後に、共有可能な接続のために、(i)第1の空の接続に共有可能な接続を取り付けることと、(ii)従属インタフェースに共有可能な接続を取り付けることと、の両方によって、残りの接続を再帰的に接続すること、を更に含む。いくつかの実施形態では、規則の集合は設計ファミリーであり、規則の集合の各規則は設計代替物であり、設計の構築は、設計ファミリー及び設計代替物を通る経路を作ることを含む。いくつかの実施形態では、この方法は、1つ以上のプロセッサを使用して、インタフェースが有することができる接続の数(m)に制限を課すことを更に含む。いくつかの実施形態では、設計が、概念的水タンクを有する設計を含み、方法が、概念的水タンクを有する設計の指示に基づいて、位置に物理的水タンクを配置する人間のユーザを更に含む。いくつかの実施形態では、この方法は、1つ以上のプロセッサを使用して、(i)設計空間文法、及び(ii)設計内に許容される構成要素(n)の最大数に従って設計を構築することを更に含む。いくつかの実施形態では、この方法は、1つ以上のプロセッサを使用して、(i)設計空間文法、及び(ii)設計に許容される状態変数の最大数に従って設計を構築すること、を更に含む。
【0010】
更に別の態様では、構成要素モデルライブラリを使用して設計空間文法と、設計シナリオとを構築するように構成される、1つ以上のプロセッサを備えるシステムであって、設計空間文法が、設計シナリオを実施するために使用される設計ファミリーの集合を含み、各設計ファミリーが、設計代替物に対応する少なくとも1つの規則を含み、設計ファミリーの集合は、(i)1つの構成要素のみを有する少なくとも1つの設計ファミリーと、(ii)2つ以上の構成要素を有する少なくとも1つの設計ファミリーと、を含み、1つ以上のプロセッサが、1つの構成要素のみを有する各設計ファミリーに関して、ファミリーに関連付けられた各設計代替物を列挙し、ファミリーに関連付けられた各設計代替物の方程式を抽出し、方程式を標準形態に置き、方程式の係数を単純化し、方程式を同等のクラスにグループ化し、同等のクラスを設計ファミリーと関連付ける、ように更に構成される、システムがある。
【0011】
前の段落に記載されているシステムにおいて、いくつかの実施形態では、1つ以上のプロセッサは、2つの構成要素を有する各設計ファミリーに関して、2つの構成要素と関連付けられた各設計代替物を列挙するように更に構成されており、2つの構成要素を有するファミリーに関連付けられた各設計代替物に関して、従属設計ファミリーの同等のクラスを列挙し、従属設計ファミリーの各同等のクラスに関して、従属設計ファミリーの同等のクラスの方程式を、2つの構成要素を有するファミリーに関連付けられた設計代替物の方程式と組み合わせ、組み合わせの結果を単純化し、簡略化された結果を第2の同等のクラスにグループ化し、第2の同等のクラスを2つの構成要素を有する設計ファミリーと関連付ける、ように更に構成される。
【0012】
いくつかの実施形態では、1つ以上のプロセッサは、同等のクラスを使用して、潜在的な基本設計を特定し、潜在的な基本設計のうちのある潜在的な基本設計から構成要素を削除し、構成要素が削除された潜在的な基本設計が依然として設計シナリオを満たす場合、構成要素を削除することなく、潜在的な基本設計をスプリアスとして廃棄する、ように更に構成される。
【0013】
1つの利点は、設計空間文法のサイズが設計に許容される構成要素の数において線形であるように、構成要素のライブラリを与えられた設計空間文法を構築するための新規な方法にある。
【0014】
別の利点は、評価を必要とする設計の数が劇的に低減されるように、同等のクラスを作成することによって、設計空間文法に関連付けられた方程式を解くための新規な方法である。
【0015】
更に別の利点は性能である。いくつかの実施形態では、候補の設計の指数関数的数は、線形時間で処理することができる。
【図面の簡単な説明】
【0016】
図1】本明細書に記載される例示的なシステムの概要を提供する。
図2】水を上に向かって移動させる設計シナリオの一例を示す。
図3】小さい構成要素のライブラリを有する例示的なシナリオを示す。
図4】設計インタフェースを有する例示的な構成要素シーケンスを示す。
図5】設計代替物及び従属設計ファミリーと共に、2構成要素設計空間文法の設計ファミリーを示す。
図6A図2のシナリオについて本明細書に記載されるシステム及び方法によって作成されたいくつかの例示的な基本設計を示す。
図6B図2のシナリオについて本明細書に記載されるシステム及び方法によって作成されたいくつかの例示的な基本設計を示す。
図6C図2のシナリオについて本明細書に記載されるシステム及び方法によって作成されたいくつかの例示的な基本設計を示す。
図6D図2のシナリオについて本明細書に記載されるシステム及び方法によって作成されたいくつかの例示的な基本設計を示す。
【発明を実施するための形態】
【0017】
本明細書に開示されるアプローチは、構成要素のライブラリ及び設計ごとに可能な構成要素の最大数を与えられて設計空間を網羅的に列挙することにより、小型の電気的、機械的、及び/又は油圧式機構の興味深い設計を見出すのに役立つ。このアプローチは、概念設計の設計空間文法を作成し、文法の部分に関連付けられた方程式を解き、解を同等のクラスに入れることによって機能する。これにより、設計基準を満たすか否かを調べるために評価される必要がある設計の数が劇的に低減される。結果は、多くの場合、設計問題に対する可能な解決策の範囲を示す少数の基本設計である。
【0018】
設計プロセスは、抽象的ソリューションを設計問題に対して生成するタスクである。本明細書では、設計空間(例えば、insane設計)における設計の網羅的な列挙及び評価は、定性的推論を使用して、小型の設計のために実用することができることが示されている。また、所与の設計空間内の挙動的に特異な設計の全てが見出されたときを検出することが可能であり、更に、特定の条件下で、全ての可能な設計を見出すためにかかる時間が、設計において許容される構成要素の数において直線的に増加することを更に示すことが示されている。
【0019】
設計プロセスでは、設計器は、可能なソリューションの空間だけでなく、必要条件も調査する。これは定性的推論の理想的問題であり、これは、指定されたパラメータ及び要件での潜在的設計の分析を可能にする。以前の研究では、定性的シミュレーション(想定(envisionment)と呼ばれる場合もある)と組み合わせた構成要素トポロジの探索が、有望なソリューションを得ることができる設計の識別をどのように可能にするかを示している。[Klenkら,Guiding and verifying early design using qualitative simulation,ASME 2012 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference,1097-1103頁、American Society of Mechanical Engineers;2012]。
【0020】
本明細書に開示されるアプローチは、次世代設計ツールにおいて克服されなければならない、以下の2つの課題に対処する。第1に、指数関数の組の設計を表す方法。第2に、これらの設計を効率的に評価する方法。
【0021】
本開示のいくつかの寄与は、以下を含む。第1に、設計空間文法を構築するための自動化されたプロセス。第2に、構成要素の数及び相互接続の数に関して、この設計空間文法のサイズの形態分析。第3に、行動的に同等の設計を特定し、全ての行動的に同等な設計が見出されたときに探索を終了するための新しい方法。最後に、水を上に向かって移動させるための設計問題に適用された事例研究。
【0022】
本開示の残りの部分は、概して以下のように構成される。第1に、本明細書に記載されるシステム(例えば、insane設計器)が概説される。次に、本開示は、設計空間文法を導入し、それらを構成要素モデルライブラリ及び設計シナリオから自動的に構築する態様を説明する。これに続いて、行動的同等のクラス及びそれらがどのように識別されるかを説明するセクションが続く。次に、この形式分析は、水を上に向かって移動させるための設計システムの事例試験と相補的である。最後に、関連する作業及び未解決問題の考察がある。
【0023】
本開示は、「insane設計」として、全ての可能な設計を探索するプロセスを指す。図1を参照すると、Insane Designer 120は、入力として構成要素モデルライブラリ100及び設計シナリオ110を取り込み、その設計シナリオ110を満たす全ての最小基本設計170を返す。いくつかの実施形態では、これは、設計空間文法130を構築し、同等のクラス140を構築し、定性的シミュレーション150によってフィルタリングし、基本設計160を識別する動作によって起こる。
【0024】
対象とするのは、所与の設計シナリオ110を満たす構成要素の所与の数まで、全ての可能な基本設計170を生成することである。設計シナリオ110は、構成要素の定性値に対する方程式として指定される要件と共に設計に対するインタフェースとの1組の構成要素及び接続である。(図2を参照)。
【0025】
図2は、水を上に向かって移動させるためのサンプル設計シナリオを示す。このサンプル設計シナリオでは、2つのタンク200、210がインタフェース250に接続される。タンク200のうちの1つの圧力は、他の210よりも低く、要件は、水が低圧タンク200内に流入しなければならないことである。
【0026】
シナリオと共に、設計を作成するために使用することができる構成要素のライブラリを考察する。ライブラリ内の構成要素は、抵抗器、コンデンサ、及び電池(電気領域用)、パイプ及びタンク(流体領域用)、トルク源及び慣性ディスク(回転領域用)、ポンプ及びモータ(クロス領域設計用)(図3を参照)。構成要素は、トポロジ情報(例えば、構成要素がどのように共に接続され得るかを決定する型付けされた接続)及び挙動情報(例えば、構成要素内の接続をリンクする微分方程式及び代数方程式)を有する。目標は、設計シナリオにおいて設計がプレースホルダの代わりに置換されている場合に、シナリオ目標を満たす、それらの型付けされた接続に従って接続されたライブラリからの構成要素で構成された設計を見つけることである。
【0027】
網羅的な列挙を実施するために、いくつかの実施形態は、最初に設計空間文法を作成する。設計空間文法は、可能な設計の空間を説明する、文脈自由文法である。設計空間文法が説明する全ての設計は、トポロジ的に有効な設計である(例えば、構成要素間の接続は、正しいタイプを有し、別の構成要素又はインタフェースに接続されていない、危険な接続は存在しない)。
【0028】
設計が評価のために設計空間文法において列挙される場合、設計は、挙動的な観点から同等のである設計に遭遇することが多い。例えば、直列のコンデンサ及び抵抗器は、集中素子モデルで直列になっているため、直列のコンデンサと抵抗器は同じ挙動を有する。別の実施例では、直列の2つの抵抗器は、1つの抵抗器として同じ定性的挙動を有する(2つの抵抗器は、抵抗が2つの抵抗器の和である1つの抵抗器で置き換えられ得る)。シナリオの目標を満たすか否かを判定するために定性的推論を設計に適用することは高価であるため、同等の設計を同等のクラスへグループ化することは価値がある。
【0029】
定性的シミュレーション(例えば、定性的推論)は、それがシナリオを満たすか否かを判定するために、各同等のクラスにおいて最も単純な設計で実行される。(当該技術分野において理解されるように、定性的シミュレーションは、物理システム及び/又は物理システムの挙動の非数値的な説明を生成する。例えば、電気回路内の2つの抵抗器について、定性的シミュレーションは、2つの抵抗電圧のそれぞれについて特定の数値電圧値を考慮するのではなく、VR1>VR2を考慮してもよい。)最も単純な設計がシナリオを満たす場合、同等のクラス内の設計の全てもまたシナリオを満たす。設計は、そのような同等のクラスで列挙されて、シナリオを満たす設計の全てを得ることができる。これらの設計のいくつかは、他の設計の些細な変形である。例えば、1つの設計は、シナリオを満たす別の設計にスプリアス構成要素を追加することができる。これは、設計が依然としてシナリオを満たしているか否かを確認するために、成功した設計から1度に1つずつ構成要素を削除することによって検出される。そうである場合、設計(構成要素(複数可)が削除されない)は、スプリアスとして廃棄される。シナリオを満たす設計を生成する削除がない場合、この設計は基本設計として指定される。insane設計器120の出力は、シナリオ110を満たす全ての基本設計の組である。
【0030】
本開示は、設計において許容される構成要素の数を用いて、insane設計アルゴリズムの性能がどのように評価されるかを分析する。この分析を行うことは、構成要素の数が増加するにつれて探索空間が非常に大きくなるため、自明に小さい設計スペースを除いて、網羅的な列挙が非現実的であることを示す。網羅的な列挙を実施するためには、探索空間に対して制限を置かなければならない。1つの目標は、結果として得られる設計が有用であり、設計器が制限の影響を理解するような方法で探索空間を制限することである。設計がどのように相互接続され得るかについての上限と、何個の状態変数が設計に許容されるかについての上限をユーザが指定することによって、設計空間上に制限が置かれる。これらの制限は、後のセクションで説明される。
【0031】
設計は、それらが含有する構成要素の数によって列挙されてもよい。したがって、最初に全ての1つの構成要素設計が列挙され、次いで、全ての2つの構成要素設計が列挙されるなどである。いくつかの実施形態は、以前の反復で既に行われた設計に基づいて構築され、その結果、3つの構成要素設計は、既に見出された2つの構成要素設計に基づいて構築される。本開示は、より定常的に特異な設計が見つからない場合に検出することが可能であり、いくつかの実施形態が設計の列挙を停止することを可能にすることを示す(更なる設計は、非定性的推論について興味深い場合がある)。列挙が継続される場合、各新しい構成要素に関する特異な同等のクラスの数が同じままであるため、必要とされる仕事量は、追加される構成要素の数において線形である。
【0032】
以下は、設計空間文法を説明する。設計空間文法は、構成要素の組と構成要素モデルライブラリ100からの構成要素である端子との間のインタフェースを有する。各インタフェースは、1組の接続と、インタフェースの実装が最終的に含む構成要素の数によって定義される。いくつかの実施形態において、設計空間文法に2つのタイプの規則が存在し、(1)インタフェース(N)→構成要素インタフェース(N-1)、式中、Nは、矢印の左側へのインタフェースの構成要素の数である、及び(2)インタフェース(1)→構成要素。矢印の左のインタフェースは、1次インタフェースと呼ばれ、矢印の右のインタフェースは、従属インタフェースと呼ばれる。規則はまた、インタフェースがどのように構成要素に、及び相互に接続されているかについての情報も含む。いくつかの実施形態は、十分に形成された規則のみを可能にする(例えば、接続の全てが正しいタイプを有し、空の接続がない規則)。いくつかの実施形態において、インタフェースは1組の接続によってのみ定義され、設計空間文法がそれにサイクルを有することができることを意味する。サイクルの存在は、設計空間文法を処理する任意のアルゴリズムを以下に記載されるよりもわずかに複雑にするが、標準的な技術を使用して取り扱うことができる。
【0033】
いくつかの実施形態では、規則ごとに1つの構成要素及び1つの従属インタフェースを可能にするが、規則の構成要素を省略する2つのインタフェース間に接続があり得るため、中にブランチを有する複雑な設計トポロジを作成することが可能である(例えば、1つの構成要素が3つ以上の他の構成要素に接続されている設計)。規則ごとに2つ以上の従属インタフェースを可能にすることが可能であるが、本開示におけるアイデアの説明がより複雑になる。
【0034】
設計空間文法がどのように機能するかを理解するために、設計を使用したものを、左の外部接続を有する構成要素の連続として置くことを想像する(図4を参照)。
【0035】
各構成要素対の間には、インタフェースを表す垂直な点線が存在する。点線(1、2、3、又は4)の上の数は、インタフェースの右の構成要素の数である。インタフェースはまた、構成要素間に1組の接続を含む。1対のインタフェース間の領域は、構成要素と、構成要素とインタフェースとの間及び2つのインタフェース間の1組の接続からなる規則を暗黙的に定義する。
【0036】
構成要素を使用してインタフェースを実装するために、2つ以上の方法が存在し得る。特定のインタフェースの規則の全ては、ライブラリ内の構成要素を反復することによって生成されてもよい。各構成要素に関して、いくつかの実施形態は、最初に接続を反復し、そのような接続が存在する場合には、接続を正しいタイプの1次インタフェース内の第1の空の接続に接続することによって、各接続のための規則のクラスを生成する。次いで、いくつかの実施形態は、構成要素内の残りの接続を再帰的に接続する。各接続に関して、いくつかの実施形態は、制限するものではないが、以下の選択肢を可能にし、(1)正しいタイプの1次インタフェース内の第1の空の接続に接続を取り付けること、(2)従属インタフェースに接続を追加すること、(3)任意選択としてマークされている場合に接続をスキップすること、(4)1次インタフェース内の第1の空の接続への接続を同時に取り付け、接続が構成要素上で共有可能とマークされている場合には、接続を従属インタフェースに取り付ける(例えば、集積回路上のピンは、共有可能とマークされる)。この点に関して、(上述のように)2つ以上の従属インタフェースが許可されている場合には、どの従属インタフェースに取り付けるかを選択しなければならない。選択肢(4)において、いくつかの実施形態は、2つ以上の従属インタフェースを選択する。1次インタフェース内に任意の空の接続が存在する場合、それらは従属インタフェースに追加される。完成したとき、いくつかの実施形態は、N-1の構成要素数を有する従属インタフェースを作成し、ここで、Nは、1次インタフェース内の構成要素の数である。
【0037】
1次インタフェースを実装する規則の集合は設計ファミリーと呼ばれ、設計ファミリー内の各規則は設計代替物と称される。設計空間文法は、シナリオによって指定されたインタフェースを実装するために必要な設計ファミリーの集合である。図5は、設計代替物及び従属設計ファミリーと共に、2構成要素設計空間文法の設計ファミリーを示す(構成要素及びそれらの接続は示されていない)。設計ファミリーは楕円形であり、設計代替物は矩形である。DF-1設計ファミリーは、DF-2設計代替物の従属インタフェースである。
【0038】
図5は、全ての2つの構成要素設計を指定する設計空間文法における4つの設計ファミリー(楕円形)のグラフを示す。この文法は、19個の設計を取得する。各設計は、木を通る異なる経路である。上部の葉への1つの経路、次の3つの葉のそれぞれへの3つの経路、及び最後の3つの葉への2つの経路があり、(1×1)+(3×3)+(2×3)=19。
【0039】
以下は、設計空間文法サイズの分析を説明する。設計空間文法のサイズは、設計ファミリーの数及び設計ファミリー当たりの設計代替物の数の関数である。設計空間文法内の設計ファミリーの数は、可能なインタフェースの数に依存する。インタフェースの数は、本考案者らの設計に許容される構成要素の最大数、及び可能な異なる接続の組の接続の数に依存する。接続の数は、nである設計に許容される構成要素の最大数の関数である。これを参照するために、規則内の各構成要素は、1次インタフェースから従属インタフェースに移動するときに最大でm-1個の接続を追加することができ、mはライブラリ内の任意の構成要素の接続の最大数である。これは、最悪の場合には、mn個の接続が存在し得ることを意味する。mは所与の構成要素ライブラリに固定されているため、インタフェース内には最大でO(n)個の接続が存在する。
【0040】
1種類の接続のみが存在する場合、O(n)組の接続が存在し、接続のそれぞれの可能な数に対して1つの組である(順序は問題ではない)。2種類の接続が存在する場合(例えば、流体及び回転力学)、それぞれが何個存在するかについて懸念される。順序は問題ではないが、各タイプの0,1,2,3,...,n個の異なる接続が可能である可能性がある。したがって、O(n)個の異なる接続の組が存在する。一般に、k個の異なる種類の接続が存在する場合、最悪の場合には、O(n)の異なる組の接続が存在し得る。そのため、異なる構成要素がインタフェースを有することができることをカウントする場合、最大でO(nk+1)個の異なるインタフェースが存在し得る。設計ファミリー当たりの設計代替物の数は、ライブラリ内の構成要素の数及び構成要素当たりの接続の最大数の関数であるが、nの関数ではない。したがって、設計空間文法のサイズは、最悪の場合O(nk+1)である。
【0041】
設計における構成要素の数が増加するにつれて、設計空間文法のサイズは、特にクロスドメイン設計で非常に迅速に成長することが分かる。設計生成を実用化するために、いくつかの実施形態は、インタフェースが有することができる接続の数に制限を課す。これは、設計全体の接続性の制限に対応している。接続の数を制限することにより、設計はよりモジュール化される。
【0042】
許容される接続の最大数がcであるか否かを考慮する。次に、接続の異なるセットの数はcの関数であるが、もはやnの関数ではない。したがって、設計空間文法のサイズは、最悪の場合にはO(n)である。
【0043】
以下は設計同等性に対処する。それらのインタフェースにおいて同じ挙動を示す場合、2つの設計は同等である。以下は、線形システムのみを考慮し、したがって、4タイプの式のみが存在する。第1のタイプは、主に定義及び保存法から生じ(viはシステムの変数である)、
【0044】
Σ=0である。
【0045】
このような方程式の例は、キルヒホッフの電圧法及び電流法から生じる。
【0046】
第2のタイプは、常時法則から生じ、
【0047】
=Kij
【0048】
このような方程式の例は、オームの法則v=Riである。
【0049】
第3のタイプは、状態変数から生じ、
【0050】
【数1】
【0051】
このような式の一例は、コンデンサの挙動を説明し、
【数2】
【0052】
第4のタイプは、入力から生じ、
【0053】
v=1.5。
【0054】
例えば、電池は1.5ボルトを供給する。
【0055】
システム理論から、全てのシステムが以下によって説明され得ることが知られており、
【0056】
【数3】
【0057】
xは状態変数であり、行列A及びBは、順列に固有である。残念ながら、1つのアプローチでは、設計は、外部接続のために完全なシステムではなく、このように説明することはできない。例えば、抵抗器のみからなる設計は、3つの外部変数i、i、及びvを有する。抵抗器を通る電流は、それがどのように他の設計に接続されているかによって決定される。設計は、未知数よりも少ない方程式を有し得る。それは、システムの断片であり、多くの構成設計を有する完全なシステムのみを、式(1)によって特徴付けることができる。探索空間を低減するために、可能な限り迅速に重複設計を検出することが望ましい場合がある。これらの設計は、異なる構成要素接続トポロジを有してもよく、異なる数の構成要素を有してもよい。システム理論からの広範なタイプの分析が存在するが、いくつかの実施形態は、かなりの計算利点を提供する簡略化されたアプローチを適用する。システム理論に従って全ての同等の設計を検出することは、計算的に高コストである。
【0058】
いくつかの実施形態は、インタフェース及び状態変数のみを参照して、方程式を同等の組に書き直すことを試みる。元の組の方程式から、いくつかの実施形態は、ガウス排除を使用して、全ての内部非状態変数を除去する。
【0059】
以下の(2)が、外部変数P11及びP13、正定数c2及びc4、及び状態変数P15を有する1組の方程式である場合、以下の式(3)は、標準形態でその簡略化された同等のものである。
=d/dt(c15
=-c
15=P-P13
+P11=P (2)
15=P13-P11-d/dt(c1815) (3)
【0060】
分析は、1組の方程式が整合していないと判定することができる。いくつかの実施形態は、整合していない方程式を有する設計を廃棄する。例えば、正であることが知られているc及びcが一定のパラメータである場合、方程式c=-cは、整合していない。
【0061】
ほとんどの場合、方程式は、以下の方程式4に示される形態に簡略化することができ(Vは、インタフェース及び状態変数のみである)、
【0062】
【数4】
【0063】
全ての係数C,Dij,Eijは、設計のパラメータの代数関数であり得る。行列形態では、
【0064】
【数5】
【0065】
(これは、一般化したThevenin形態の一般化である。)lexographic順序を考慮すると、いくつかの実施形態は、これらの式を標準的な形態に低減する。順序の別のモジュロ順列と同等の1組の方程式を有する設計は、同等である。このアプローチは、探索される空間を大幅に低減する。
【0066】
以下は、特異な設計の数の分析を説明する。特異な設計の数は、設計ごとの方程式の数及び可能な異なる方程式の数の関数である。設計ごとの方程式の数は、外部変数の数と状態変数の数である、設計によって使用される特異な変数の数の関数である。外部変数の数は、接続の数が制限されているため、nの関数ではないが、各構成要素が1つ以上の状態変数を導入することができるため、状態変数の数はnの関数であり得る。したがって、いくつかの実施形態は、ユーザに、設計に許容される最大数の状態変数を指定させる。これは、特異な変数の数がもはやnの関数ではないことを意味する。
【0067】
許容される変数の総数は、insane designer 120において制限されているため、標準形態における方程式の数は制限される(変数ごとに最大1つの式がある)。したがって、設計ごとの方程式の数はnの関数ではなく、式ごとの変数の数はnの関数ではない。
【0068】
残念ながら、各変数に対する異なる係数nの数は、各係数が設計においてO(n)個の構成要素パラメータの任意の代数的表現であり得るため、nの関数である。係数を単一のパラメータに常に単純化することが可能である場合、可能性のある特異な方程式の数は限定され、設計が有し得る構成要素の数とは無関係に、有限数の特異な設計が存在する。これは、制限が状態変数の数及びインタフェースごとの接続数に設定されているため、真であろう。
【0069】
以下では、同等のクラスを見つけることについて論じる。設計シナリオは、その外部接続及びそれが有することができる構成要素の最大数以外は、設計の形態にいずれの条件も課さない。したがって、設計自体が評価を行う必要はなく、その挙動を説明する式のみが必要である。いくつかの実施形態は、実施形態が設計同等を考慮する場合、特異な組の方程式の全てを効率的に列挙するために、設計空間文法を使用する。
【0070】
いくつかの実施形態は、設計ファミリーが逆さまになる同等のクラスを作成する。一態様では、これは、1つの構成要素のみを有する設計ファミリーから始まる。各設計ファミリーに関して、いくつかの実施形態は、そのファミリーに関連付けられた各設計代替物を列挙し、その式を抽出し、式を標準形態に置き、それらの係数を単純化する。このことが設計ファミリーの設計代替物の全てに対して行われる場合、いくつかの実施形態は、式を同等のクラスにグループ化し、同等のクラスを設計ファミリーと関連付ける。
【0071】
次に、いくつかの実施形態は、2つの構成要素を有するプロセス設計ファミリーを処理する。各設計ファミリーに関して、いくつかの実施形態は、そのファミリーに関連付けられた各設計代替物を列挙する。各設計代替物について、いくつかの実施形態は、その従属設計ファミリーの同等のクラスを列挙する。各同等のクラスに関して、いくつかの実施形態は、同等のクラスの方程式を設計代替物及び標準化のための方程式と組み合わせ、その結果を単純化する。このことが設計代替物の全てに対して行われる場合、いくつかの実施形態は、方程式の組を同等のクラスにグループ化し、同等のクラスを設計ファミリーと関連付ける。
【0072】
いくつかの実施形態は、ユーザによって指定された構成要素の最大数に達するまで、構成要素の各数についてこのプロセスを継続する。次いで、いくつかの実施形態は、各同等のクラスにおいて最小設計で定性的推論を実行し、シナリオ目標が満たされているか否かを判定する。いくつかの実施形態は、シナリオ目標を満たさない任意の同等のクラスを廃棄する。
【0073】
ここで、シナリオ目標を満たす同等のクラスで開始し、各従属の同等のクラスから1つの設計代替物を再帰的に選択することによって、シナリオを満たす全ての設計が列挙され得る。得られた各設計は、構文的に良好に形成され、シナリオ目標を満たす。
【0074】
以下は、探索の早期終了について論じる。上述のように、いくつかの実施形態は、ユーザによって指定された構成要素の最大数を有する設計ファミリーに到達すると、同等のクラスを生成することを停止する。時には、特異な設計がこれ以上可能でないことを検出することができ、次いで、同等のクラスの作成が早期に停止され得る。
【0075】
いくつかの実施形態は、特定の数の構成要素における各設計ファミリーに関する同等のクラスの数が、以前の数の構成要素における対応する設計ファミリーに関する同等のクラスの数と同じである場合に、特異な設計がこれ以上可能でないことを検出する。例えば、以下の表1は、Int1、Int2、Int3、及びInt4の4つのインタフェースのみを有する非常に単純な設計問題に対する同等のクラスの数を示す。各セルは、行がインタフェースを示し、列がインタフェースの右に構成要素の数を示す設計ファミリーに対応する。12個の構成要素で開始すると、各設計ファミリーに対する同等のクラスの数は、以前の数の構成要素における対応する設計ファミリーに対する同等のクラスの数と同じであることに留意されたい。
【0076】
【表1】
【0077】
表1は、設計ファミリーごとの同等のクラスの数を示す。実施形態では、挙動的に特異な設計にのみ関心がある実施形態では、12個の構成要素の後に、引き続き同等のクラスを作成することは意味がない。しかしながら、同等のクラスを継続的に作成するための1つの理由は、これまでに見出された設計と挙動が同じであるが、それらの構成要素のトポロジに基づいて他の興味深い特性を有する新しい設計が存在し得ることである。同等のクラスの作成が継続される場合、実施される追加の作業の量は、それが以前の工程における同等のクラスにのみ依存するため、構成要素の数と線形になる。
【0078】
以下に、水を上に向かって移動させる場合の事例を説明する。
【0079】
同等のクラスの重要性を実証するために、以下は、insane設計器を、水を上に向かって移動させるという問題に適用する例示的な事例試験を提示する。例示的なシナリオ(図2)は、構成要素の小さなライブラリを含み、水タンク300、ポンプ310、慣性ディスク320、及びトルク源330(図3を参照)並びにパイプ220、230及びに流体接地240である。いくつかの実施形態は、4つの構成要素から最大7つの構成要素の、全ての可能な設計を生成する。この例は、設計上の制限を、1つの状態変数及びのインタフェースごとの3つの接続に制限する。
【0080】
【表2】
【0081】
表2は、構成要素を増加させた本明細書に記載のシステム及び方法(例えば、insane設計器120の性能)の性能を示す。この点に関し、表2は、insane設計器120が構成要素の数が増加するにつれてどのように機能するかを示す(定性的推論時間は除外される)。設計の数は明確に指数関数的であるが、同等のクラスの数はほぼ線形であることに留意されたい。
【0082】
この点に関し、表2は、本明細書に記載されるシステム及び方法が有利に、システムの技術的機能を改善することを示す。例えば、設計の数が462~64576まで増加すると、ランタイムは、3.5GHzの6コアINTEL XEON E5を有するMAC PRO上で1~21秒だけ増加する。同等のクラスを有さない同じ計算は、同じ機械上の全ての可能な7つの構成要素設計を見つけるために、約2時間を要するであろう。したがって、本明細書に記載されるシステム及び方法で動作する任意のプロセッサ(複数可)の技術的機能は、少なくともこの改善されたランタイムにより改善される。
【0083】
4つの構成要素設計では、設計空間文法は、16個の設計ファミリー及び54個の設計代替物を有する。この設計空間文法は、29個の同等のクラスの設計のみを有する462個の異なる可能な設計の一群にされた表現である。これまでのプロセスは、第2のものよりも少ない。次いで、定性的推論器は、29個の同等のクラスのそれぞれから最も単純な設計を評価し、それらのうちの16個がシナリオを満たすと判定する。これは、55秒を要する。次に、16個の同等のクラスからのシナリオを満たす292個の設計を列挙する。292個の設計のうち、9つの特異な基本設計が存在し、そのうち4つが図6A図6Dに示される。
【0084】
図6A及び図6Bを参照すると、設計600A、600Bは、回転慣性ディスク(フライホイール)610と、ポンプ630に電力供給するトルク源と、を含む。図6Cでは、設計600Cは、より大きな圧力で別のタンク660を追加することによって、上部タンク650内の水を増加させる。図6Dでは、設計600Dは水ホイール670を含み、降下する水タンク690が、水を上昇させる別のホイール680を回転させるために使用される。
【0085】
以下は、関連する仕事を説明する。自動概念設計アプローチは、利用されるドメイン知識のタイプによって分類することができる。第1の組のアプローチは、挙動モデルに加えて知識を使用して概念設計を構築することを含む。これらの技術は、3つのグループに分割できる[Chakrabartiら、Computer-based design synthesis research:概要。Journal of Computing and Information Science in Engineering,11(2):021003,2011]:(1)Function-based synthesis employ functional decompositions to describe design alternatives[Stone and Wood,Development of a functional basis for design.Journal of Mechanical design,122(4):359-370,2000] and hierarchically constrain the search space[Neema ら,Constraint-based design-space exploration and model synthesis。EMSOFT,ページ290-305,2003]。(2)類似の設計は、ライブラリにおける意味的知識で体系化された既存の設計を適応させることによって、新たな概念設計を作成する[Goelら、On the benefits of digital libraries of case studies of analogical design:Documentation,access,analysis,and learning.AI EDAM,29(2):215-227,2015]。(3)グラフ文法法は、設計を表すグラフをどのように変更するかを指定する1組の文法規則として概念設計問題を定式化する[Kurtogluら,Automating the conceptual design process:「from black box to component selection」。AI EDAM,24(1):49-62 2010]。
【0086】
第2の組のアプローチは、特定の挙動に一致する概念設計を特定するために、構成要素の挙動モデルのみを使用する。これらの手法は、典型的には、最適化又は他の探索方法を行う。例えば、遺伝的アルゴリズムは、遺伝的アルゴリズムを使用して、行動仕様に一致する設計アナログ回路を設計するために使用されてきた[Grimbleby,Automatic analogue circuit synthesis using genetic algorithm。IEE Proceedings-Circuits,Devices and Systems,147(6):319-323,2000]。別のアプローチは、デジタルを設計するための定量化された満足度を使用する[Feldmanら、Design space exploration as quantified satisfaction。arXiv preprint arXiv:1905.02303,2019]。
【0087】
最後に、開示された技術は、構成要素モデルのライブラリを使用して設計を列挙するinsane設計器を導入した。各設計は、設計シナリオにおける定性的推論(例えば、想定)の使用によって定性的に検証され、これは要件を満たすことができることを示す。したがって、開示された技術の寄与は、全ての可能な設計を取り込むスケーラブル設計空間文法を自動的に生成する手順、実行可能な設計を特定する効率的な方法、これらの方法の体系的分析、及び水を上に向かって移動させるための設計シナリオの事例研究による実験的評価が含まれる。
【0088】
追加の設計シナリオを評価することに加えて、いくつかの実施形態は、insane設計器を定量的シミュレータに接続し(例えば、Modelica[Fritzson,Principles of Object-Oriented Modeling and Simulation with Modelica 2.1。Wiley-IEEE Press,Piscataway,NJ,2004]、定性的モデルを使用して、1組の構成要素について定量的パラメータ探索を誘導する。定性的シミュレーションは指数関数的であり、設計を評価するために使用されるため、いくつかの実施形態は、所望の挙動に到達し得る軌道を拡張するだけである新たな定性的推論技術を探索する。これは、時間的論理を伴う設計シナリオを拡張することを含む。[Vardi,From church and prior to psl。25 years of model checking、150-171.Springer、2008]。
【0089】
本明細書に開示される技術は、開示された技術を実行するために、電子データ処理装置によって読み取り可能かつ実行可能な命令を記憶する非一時的記憶媒体によって具現化され得ることが更に理解されるであろう。そのような非一時的記憶媒体は、ハードドライブ又は他の磁気記憶媒体、光ディスク若しくは他の光学記憶媒体、RAIDディスクアレイなどのクラウドベースの記憶媒体、フラッシュメモリ、又は他の不揮発性電子記憶媒体などを含んでもよい。本明細書に開示される技術は、1つ以上のプロセッサによって具現化され得ることが更に理解されるであろう。
【0090】
様々な上記に開示したもの並びに他の特徴及び機能の変形、又はそれらの代替物が、多くの他の異なるシステム又はアプリケーションに組み合わされてもよいことが理解されるであろう。現在予想されていないか又は予測されていないそこでの様々な代替物、修正物、変形物、又は改善物は、以後に当業者によって行われてもよく、これらはまた、以下の特許請求の範囲によって包含されることが意図されている。
図1
図2
図3
図4
図5
図6A
図6B
図6C
図6D