(57)【要約】  流れパターンと１対１に対応させることが可能な新たな表現方法を提供することが可能な流れパターンの正規表現作成方法、正規表現作成装置、および、プログラムを提供することを目的とする。位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成方法であって、前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程と、前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程と、を備えている。
2016072515.tif 000002
【特許請求の範囲】
【請求項１】
位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成方法であって、
前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程と、
前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程と、
を含む流れパターンの正規表現作成方法。
【請求項２】
前記グラフ表現は、前記流れパターンで規定される構造安定なハミルトンベクトル場Ｈに対して、固有のルート付き、ラベル付き、及び向き有りのツリーＴＨ＝（Ｖ，Ｅ）を割り当て（但し、Ｖは頂点と呼ばれる点の集合、Ｅは、頂点の間を結ぶエッジの集合である）、平面グラフとして可視化したものであることを特徴とする請求項１に記載の流れパターンの正規表現作成方法。
【請求項３】
前記グラフ表現は、親の頂点をｖ、その子の頂点をｗ，親の頂点ｖに割り当てられたラベルをｌ（ｖ）、子の頂点ｗに割り当てられたラベルをｌ（ｗ），ｖの子頂点集合Γ（ｖ）とした場合、ｖの子頂点集合Γ（ｖ）を所定の順序関係のルールに従って並び替え、ｗ∈Γ（ｖ）について、ｌ（ｖ）からｌ（ｗ）への矢印を左から右に並べて描画したものを含むことを特徴とする請求項１又は請求項２に記載の流れパターンの正規表現作成方法。
【請求項４】
前記流れパターンは、
（１）一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩ、
（２）前記一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結ぶｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩＩ、
（３）二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンＯ、
からなるパターン語の１又は複数で規定されることを特徴とする請求項１〜請求項３のいずれか１つに記載の流れパターンの正規表現作成方法。
【請求項５】
前記グラフ作成工程は、
前記流れパターンが吸い込み湧き出し対を有する場合は、前記流れパターンを、前記吸い込み湧き出し対に最も近い反時計回りのｓｓ−ｏｒｂｉｔを含む領域が一番外側領域になるように変換し、
前記変換した流れパターンの（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道を領域全体から抽出し、
領域全体から（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道をすべて除外して得られる連結成分に頂点を設定し、一番外側にある連結成分をルートとし、
カレント成分をルートに設定し、
前記カレント成分と互いに境界を接するような連結成分をカレント成分の子として、境界にあたる軌道に応じてラベルを割り当て，当該ラベルを所定の順序関係に従って並べ、
前記カレント成分の子をカレント成分に設定して、子がなくなるまで繰り返すこと、
を含むことを特徴とする請求項１〜請求項４のいずれか１つに記載の流れパターンの正規表現作成方法。
【請求項６】
前記流れパターンは、前記パターン語の１又は複数から開始し、流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を付与する操作を、穴の数がＮ個となるまで繰り返して作成された流れパターン図であることを特徴とする請求項５に記載の流れパターンの正規表現作成方法。
【請求項７】
さらに、前記正規表現作成工程で作成された正規表現を語表現に変換する語表現変換工程と、
を含むことを特徴とする請求項１〜請求項６のいずれか１つに記載の流れパターンの正規表現作成方法。
【請求項８】
前記語表現変換工程では、ルートつき，ラベル付き，及び方向つきのツリーに対応する正規表現のうちの基本タイプの正規表現に前方置換を施すことが可能な許容正規表現を前記語表現に変換することを特徴とする請求項７に記載の流れパターンの正規表現作成方法。
【請求項９】
前記語表現は、一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンに加えて、二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンを追加した、合計３種類の流れパターンを規定するパターン語に対して、前記流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を、追加された穴の数だけ付与することにより形成された記号語であることを特徴とする請求項７又は請求項８に記載の流れパターンの正規表現作成方法。
【請求項１０】
さらに、流体中の物体に対して設計パラメータの候補を選択する場合に、前記設計パラメータの上限及び下限を設定し、当該設計パラメータの上限と下限で規定されるパラメータ領域から複数のパラメータを選択し、選択した複数のパラメータに対して、それぞれ流れの実験及び／又は数値計算を行い、実験及び／又は数値計算の結果に対して、前記語表現及び／又は前記正規表現を割り当て、割り当てた前記語表現及び／又は前記正規表現のうち、最適状態を示す前記語表現及び／又は前記正規表現を有する設計パラメータを、前記設計パラメータの候補として選択する設計パラメータ選択工程を含むことを特徴とする請求項１〜請求項９のいずれか１つに記載の流れパターンの正規表現作成方法。
【請求項１１】
前記設計パラメータ選択工程は、さらに、前記選択した設計パラメータを使用して最適化設計を行う工程を含むことを特徴とする請求項１０に記載の流れパターンの正規表現作成方法。
【請求項１２】
さらに、流体中の物体に対して最適な設計パラメータを選択する場合に、現在の流れパターンの前記正規表現から目的とする流れパターンの前記正規表現へ遷移するように設計パラメータを変更し、当該目的とする流れパターンの前記正規表現となる設計パラメータを選択する第２の設計パラメータ選択工程を含むことを特徴とする請求項１〜請求項９のいずれか１つに記載の流れパターンの正規表現作成方法。
【請求項１３】
前記第２の設計パラメータ選択工程では、前記現在の流れパターンの前記正規表現及び語表現から目的とする流れパターンの前記正規表現及び語表現へ遷移するように設計パラメータを変更し、当該目的とする流れパターンの前記正規表現及び語表現となる設計パラメータを選択することを特徴とする請求項１２に記載の流れパターンの正規表現作成方法。
【請求項１４】
前記第２の設計パラメータ選択工程は、
前記現在の流れパターンの前記正規表現及び語表現から前記目的とする流れパターンの正規表現及び語表現へ遷移するための１又は複数の経路を取得し、
前記取得した１又は複数の経路のうち、設計パラメータを変更して前記現在の流れパターンから遷移可能な経路を選択し、
前記選択した経路に対して、前記変更した設計パラメータを中心にして設計パラメータを変更し、前記目的とする流れパターンの前記正規表現及び語表現となる設計パラメータを選択することを特徴とする請求項１３に記載の流れパターンの正規表現作成方法。
【請求項１５】
位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成装置であって、
前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成手段と、
前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成手段と、
を備えたことを特徴とする流れパターンの正規表現作成装置。
【請求項１６】
位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成装置に搭載されるプログラムであって、
前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程と、
前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程と、
をコンピュータに実行させることを特徴とするコンピュータが実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、流れパターンの正規表現作成方法、正規表現作成装置、および、コンピュータが実行可能なプログラムに関する。
【背景技術】
【０００２】
従来、気流や水流などの流れ場における最適な構造物の設計を行うために、風洞実験のほか、大規模な数値計算による流体シミュレーションが用いられている。【０００３】
例えば、焼きなまし法（Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ法）や遺伝的アルゴリズム法等を用いて構造物の設計変数を変化させながら、当該構造物に対する流体シミュレーションを繰り返し行う最適化技術が開発されている。【０００４】
また、近年、流体等の数理モデルを構築して、流れのパターンのトポロジーを数理的に扱うことのできるアルゴリズムやプログラムが開発されている。【０００５】
しかしながら、従来の構造物設計の最適化手法においては、繰り返し行われる大規模計算により計算時間と設計コストの増大化を招くので、それらの制約上、探索範囲を限定せざるを得ず、導き出される最適な構造物が局所最適なものである可能性を排除できないという問題点を有していた。すなわち、探索範囲をどこにするのかは、技術者の経験と直感に頼らざるを得ず、どこに探索範囲を設定したかによって、導き出される構造物の最適化結果が左右されるという問題があった。【０００６】
これに対して、本願出願人は、特許文献１の「流れパターンの語表現方法、語表現装置、および、プログラム（以下、「語表現理論」とも称する）」では、数値計算や実験で得られた流れに対して、この文字列を付与し、そこに現れる流れの定量的な特徴（例えば揚抗比）を定性的な部分文字列として表現する語表現理論を提案した。これにより、流れ場における構造物設計を行うにあたって、構造物に対して採り得る流れパターンを経験や直感に頼ることなく容易に扱うことが可能となった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２０１４／０４１９１７号
【非特許文献】
【０００８】
【非特許文献１】Ｔｏｍａｓｚ  Ｋａｃｚｙｎｓｋｉ，  Ｋｏｎｓｔａｎｔｉｎ  Ｍｉｓｃｈａｉｋｏｗ，  Ｍａｒｉａｎ  Ｍｒｏｚｅｋ著  “Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｈｏｍｏｌｏｇｙ”  Ｓｐｒｉｎｇｅｒ，２０００年
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、流れの制御問題などを考えるときには，前記語表現理論は有用なものであるが，与えられたハミルトンベクトル場に対して固有な語表現を与えるアルゴリズムは存在するものの、逆に与えられた文字列に対しては複数の異なるハミルトンベクトル場が対応している。すなわち、語表現は流れの特定に使えるものの、語表現だけでは特定の流れを限定できない。【００１０】
このように、語表現のみによる流れの最適制御の理論は困難であることから、語表現と合わせて、別の新しい、流れパターンと１対１に対応する何らかの表現方法が必要とされている。【００１１】
本発明は、前記に鑑みてなされたもので、流れパターンと１対１に対応させることが可能な新たな表現方法を提供することが可能な流れパターンの正規表現作成方法、正規表現作成装置、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決するため、本発明は、位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成方法であって、前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程と、前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程と、を含むことを特徴とする。【００１３】
また、本実施の形態の好ましい形態によれば、前記グラフ表現は、前記流れパターンで規定される構造安定なハミルトンベクトル場Ｈに対して、固有のルート付き、ラベル付き、及び向き有りのツリーＴＨ＝（Ｖ，Ｅ）を割り当て（但し、Ｖは頂点と呼ばれる点の集合、Ｅは、頂点の間を結ぶエッジの集合である）、平面グラフとして可視化したものであることが望ましい。【００１４】
また、本実施の形態の好ましい形態によれば、前記グラフ表現は、親の頂点をｖ、その子の頂点をｗ，親の頂点ｖに割り当てられたラベルをｌ（ｖ）、子の頂点ｗに割り当てられたラベルをｌ（ｗ），ｖの子頂点集合Γ（ｖ）とした場合、ｖの子頂点集合Γ（ｖ）を所定の順序関係のルールに従って並び替え、ｗ∈Γ（ｖ）について、ｌ（ｖ）からｌ（ｗ）への矢印を左から右に並べて描画することを含むことが望ましい。【００１５】
また、本実施の形態の好ましい形態によれば、前記流れパターンは、（１）一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩ、（２）前記一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結ぶｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩＩ、（３）二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンＯ、の１又は複数であることが望ましい。【００１６】
また、本発明の好ましい態様によれば、前記グラフ作成工程は、前記流れパターンが吸い込み湧き出し対を持つ場合は、前記流れパターンを吸い込み湧き出し対に最も近い反時計回りのｓｓ−ｏｒｂｉｔを含む領域が一番外側領域になるように変換し、前記変換した流れパターンの（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道を領域全体から抽出し、領域全体から（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道をすべて除外して得られる連結成分に頂点を設定し、一番外側にある連結成分をルートとし、カレント成分をルートに設定し、前記カレント成分と互いに境界を接するような連結成分をカレント成分の子として、境界にあたる軌道に応じてラベルを割り当て、当該ラベルを所定の順序関係に従って並べ、前記カレント成分の子をカレント成分に設定して、子がなくなるまで繰り返すこと、を含むことが望ましい。【００１７】
また、本発明の好ましい態様によれば、前記流れパターンは、前記パターン語の１又は複数から開始し、流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を付与する操作を、穴の数がＮ個となるまで繰り返して作成された流れパターン図であることが望ましい。【００１８】
また、本実施の形態の好ましい形態によれば、さらに、前記正規表現作成工程で作成されたグラフ表現を語表現に変換する語表現変換工程と、を含むことが望ましい。【００１９】
また、本発明の好ましい態様によれば、前記語表現変換工程では、ルートつき，ラベル付き，及び方向つきのツリーに対応する正規表現のうちの基本タイプの正規表現に前方置換を施すことが可能な許容正規表現を前記語表現に変換することが望ましい。【００２０】
また、本実施の形態の好ましい形態によれば、前記語表現は、一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンに加えて、二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンを追加した、合計３種類の流れパターンを規定するパターン語に対して、前記流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を、追加された穴の数だけ付与することにより形成された記号語であることが望ましい。【００２１】
また、本発明の好ましい態様によれば、流体中の物体に対して設計パラメータの候補を選択する場合に、前記設計パラメータの上限及び下限を設定し、当該設計パラメータの上限と下限で規定されるパラメータ領域から複数のパラメータを選択し、選択した複数のパラメータに対して、それぞれ流れの実験及び／又は数値計算を行い、実験及び／又は数値計算の結果に対して、前記語表現及び／又は前記正規表現を割り当て、割り当てた前記語表現及び／又は前記正規表現のうち、最適状態を示す前記語表現及び／又は前記正規表現を有する設計パラメータを、前記設計パラメータの候補として選択する設計パラメータ選択工程を含むことが望ましい。【００２２】
また、本発明の好ましい態様によれば、前記設計パラメータ選択工程は、さらに、前記選択した設計パラメータを使用して最適化設計を行う工程を含むことが望ましい。【００２３】
また、本発明の好ましい態様によれば、さらに、流体中の物体に対して最適な設計パラメータを選択する場合に、現在の流れパターンの前記正規表現から目的とする流れパターンの前記正規表現へ遷移するように設計パラメータを変更し、当該目的とする流れパターンの前記正規表現となる設計パラメータを選択する第２の設計パラメータ選択工程を含むことが望ましい。【００２４】
また、本実施の好ましい態様によれば、前記第２の設計パラメータ選択工程では、前記現在の流れパターンの前記正規表現及び語表現から目的とする流れパターンの前記正規表現及び語表現へ遷移するように設計パラメータを変更し、当該目的とする流れパターンの前記正規表現及び語表現となる設計パラメータを選択することが望ましい。【００２５】
また、本発明の好ましい態様によれば、前記第２の設計パラメータ選択工程は、前記現在の流れパターンの前記正規表現及び語表現から前記目的とする流れパターンの前記正規表現及び語表現へ遷移するための１又は複数の経路を取得し、前記取得した１又は複数の経路のうち、設計パラメータを変更して前記現在の流れパターンから遷移可能な経路を選択し、前記選択した経路に対して、前記変更した設計パラメータを中心にして設計パラメータを変更し、前記目的とする流れパターンの前記正規表現及び語表現となる設計パラメータを選択することが望ましい。【００２６】
また、上述した課題を解決するため、本発明は、位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成装置であって、前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成手段と、前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成手段と、を備えたことを特徴とする。【００２７】
また、上述した課題を解決するため、本発明は、位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成装置に搭載されるプログラムであって、前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程と、前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、流れパターンと１対１に対応させることが可能な新たな表現方法を提供することが可能な流れパターンの正規表現作成方法、正規表現作成装置、および、プログラムを提供することが可能となるという効果を奏する。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明の概略を説明するための説明図である。
【図２−Ａ】図２−Ａは、本実施の形態に係る流れパターンの正規表現作成方法を説明するためのフローチャートである。
【図２−Ｂ】図２−Ｂは、図２−Ａのグラフ表現作成工程の一例を説明するためのフローチャートである。
【図３】図３は、本実施形態の概要に示すフローチャートである。
【図４】図４は、構造安定な流れのパターンを模式的に示した図である。
【図５】図５は、領域における構造安定な流れパターンの位相的分類を行う特徴的な軌道（流線）を全て記述した図である。
【図６】図６は、初期構造となる３種類の流れパターンを模式的に示す図である。
【図７】図７は、穴を一つ付け加えて構造安定な流れを構成する５種類の操作を模式的に示した図である。
【図８】図８は、二つの構造物と一様流がある場合の流れパターンの全分類を示す図である。
【図９】図９は、操作Ｂ０，Ｂ２，Ｃによって生成されるすべての流れパターンとそれに対応して連結部分集合（頂点集合）に励起される親子関係を示す図である。
【図１０−Ａ】図１０−Ａは、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１０−Ｂ】図１０−Ｂは、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１０−Ｃ】図１０−Ｃは、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１０−Ｄ】図１０−Ｄは、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１０−Ｅ】図１０−Ｅは、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１１】図１１は、ルートとなる連結成分をＣＨ＝Ｄｚ（Ｍ）＼Ｄから選ぶ方法を説明するための図である。
【図１２】図１２は、操作Ａ０，Ａ２，Ｃによって生成されるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの局所構造とそれに対応して得られるグラフ表現の可視化を示す図である。
【図１３−Ａ】図１３−Ａは、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１３−Ｂ】図１３−Ｂは、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１３−Ｃ】図１３−Ｃは、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１３−Ｄ】図１３−Ｄは、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。
【図１４−Ａ】図１４−Ａは、ＩＡ０Ｃなる語表現をもつ構造安定な流線パターンのグラフ表現とその正規表現を示す図である。
【図１４−Ｂ】図１４−Ｂは、ツリーの正規表現への変換処理を説明するためのフローチャートである。
【図１５】図１５は、５つのｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＴＮとそれに対応する正規表現Ｎを示す図である。
【図１６】図１６は、１４個のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔのリストを示す図である。
【図１７】図１７は、操作Ａ０，Ａ２，Ｃを施したときのｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔと流線構造の変化を表した図である。
【図１８】図１８は、（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍにおける単純連結成分σ０とσ２に含まれるｃｌｏｓｅｄ  ｏｒｂｉｔに操作Ｂ０，Ｂ２，Ｃを適用したときに得られる流線構造の変化に伴って励起する正規表現のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを説明するための図である。
【図１９】図１９は、操作Ｂ０，Ｂ２，Ｃの逆操作により誘導される正規表現のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ［Ｂ２］，［Ｂ０］，［Ｃ］のリストを示す図である。
【図２０】図２０は、（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍにおける局所流線構造の変化に対応する正規表現のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを示す図である。
【図２１】図２１は、正規表現ｏφ（ｏ２（ｏ２（ｏ０（-０（-０，-０）））），+２（+２））を持つ構造安定なハミルトンベクトル場のｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍを示す図である。
【図２２−Ａ】図２２−Ａは、正規表現の語表現への変換処理を説明するためのフローチャートである。
【図２２−Ｂ】図２２−Ｂは、正規表現の語表現への変換処理を説明するためのフローチャートである。
【図２２−Ｃ】図２２−Ｃは、正規表現の語表現への変換処理を説明するためのフローチャートである。
【図２３】図２３は、本実施の形態が適用される正規表現作成装置の一例を示すブロック図である。
【図２４】図２４は、語表現と正規表現を使用した流体中の物体の設計方法を説明するためのフローチャートである。
【図２５】図２５は、語表現と正規表現を使用した流体中の物体の設計方法を説明するための具体例の一例を説明するための図である。
【図２６】図２６は、語表現と正規表現を使用した流体中の物体の設計方法を説明するための具体例の一例を説明するための図である。
【図２７】図２７は、語表現と正規表現を使用した流体中の物体まわりの流れの最適化手法を説明するための説明図である。
【図２８】図２８は、語表現と正規表現を使用した流体中の物体まわりの流れの最適化手法を説明するための説明図である。
【図２９】図２９は、語表現と正規表現を使用した流体中の物体のまわりの流れの最適化方法の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００３０】
以下に、本発明に係る構造安定な流れパターン（「流線パターン」とも称する）の正規表現作成方法、正規表現作成装置、および、コンピュータが実行可能なプログラムの実施形態を図面に基づいて詳細に説明する。本発明の構成要素は、本明細書の図面に一般に示してあるが、様々な構成で広く多様に配置し設計してもよいことは容易に理解できる。したがって、本発明の装置、方法、及びプログラムの実施の形態についての以下のより詳細な説明は、特許請求の範囲に示す本発明の範囲を限定するものではなく、単に本発明の選択した実施形態の一例を示すものであって、特許請求の範囲に示す本発明と矛盾無く装置、方法、及びプログラムについての選択した実施形態を単に示すものである。当業者は、特定の細目の１つ以上が無くても、又は他の方法、部品、材料でも本発明を実現できることが理解できる。また、フローチャートの各ステップを実行する順番はフローチャートに示す順番に限定されるものではなく、本発明の趣旨を逸脱しない範囲で順番を変更してもよい。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるもの又は実質的に同一のものが含まれる。本願出願人が既に出願した国際公開第２０１４／０４１９１７号（ＰＣＴ／ＪＰ２０１３／０７０９３９号）及び特願２０１３−２３０６７８号の明細書及び図面の内容は援用により本明細書に組み込まれる。
【００３１】
特に以下の実施形態においては、本発明を二次元流体のシミュレーションに適用した例について説明することがあるが、この場合に限られず、三次元流体のシミュレーションにおける任意の断面（構造物の断面等）についても、同様に本発明を適用することができる。
【００３２】
［本発明の概略］
図１は、本発明の概略を説明するための説明図である。本願出願人が既に出願した特許文献１（国際公開第２０１４／０４１９１７号、特願２０１２−２０３６０１号、ＰＣＴ／ＪＰ２０１３／０７０９３９号）の「流れパターンの語表現方法、語表現装置、および、プログラム」では、数値計算や実験で得られた流れパターンに対して，この文字列を付与し，そこに現れる流れの定量的な特徴（例えば揚抗比）を定性的な部分文字列として表現する語表現理論を提案した。
【００３３】
また、本願出願人が既に出願した特願２０１３−２３０６７８（本願出願時未公開）の「流体遷移経路取得装置、流体遷移経路取得方法、及びプログラム」では、語表現から流体遷移経路を取得しているが、語表現を使って遷移の可能性をすべて網羅した上で，あとは文字列ではなく流れのパターンのパターンマッチングを行う必要があった。
【００３４】
図１において、上述したように、特許文献１では、流れパターンから語表現を作成する（Ｐ１）方法について既に出願している。また、特願２０１３−２３０６７８において、語表現から流体遷移経路を作成する（Ｐ２）方法を出願している。語表現では、流れパターンに対して固有な語表現を与えることができるが、語表現で与えられた文字列に対しては複数の異なる流れパターンが対応している。そこで、本実施の形態の流れパターンの正規表現作成方法では、流れパターンに１対１に対応するグラフ表現を作成し（Ｔ１）、グラフ表現から正規表現を作成する（Ｔ２）。また、本実施の形態の流れパターンの正規表現作成方法では、正規表現から語表現を作成する（Ｔ３）。正規表現から作成される語表現は、流れパターンと１対１に対応したものとなるので、語表現から直接、流体遷移経路を作成することが可能となる。さらに、本実施の形態の流れパターンの正規表現作成方法では、正規表現から直接、流体遷移経路を作成することもできる（Ｔ４）。
【００３５】
［流れパターンの正規表現作成方法］
図２−Ａ〜図２２を参照し、本実施の形態に係る流れパターンの正規表現作成方法について説明する。本実施の形態に係る流れパターンの正規表現作成方法はコンピュータ等の装置により実行可能である。図２−Ａは、本実施の形態に係る流れパターンの正規表現作成方法の概略を説明するためのフローチャートである。
【００３６】
図２−Ａに示すように、本実施の形態に係る流れパターンの正規表現作成方法は、位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成ものであり、大別すると、流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程（ステップＳ１）と、ステップＳ１のグラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程（ステップＳ２）と、ステップＳ２の正規表現作成工程で作成された正規表現を語表現に変換する語表現変換工程（ステップＳ３）と、を備えている。
【００３７】
グラフ表現は、流れパターンで規定される構造安定なハミルトンベクトル場Ｈに対して、固有のルート付き、ラベル付き、向き有りツリーＴＨ＝（Ｖ，Ｅ）を割り当て（但し、Ｖは頂点と呼ばれる点の集合、Ｅは、頂点の間を結ぶエッジの集合である）、平面グラフとして可視化したものであってもよい。
【００３８】
また、グラフ表現は、親の頂点をｖ、その子の頂点をｗ，親の頂点ｖに割り当てられたラベルをｌ（ｖ）、子の頂点ｗに割り当てられたラベルをｌ（ｗ），ｖの子頂点集合Γ（ｖ）とした場合、ｖの子頂点集合Γ（ｖ）を所定の順序関係のルールに従って並び替え、ｗ∈Γ（ｖ）について、ｌ（ｖ）からｌ（ｗ）への矢印を左から右に並べて描画されたものを含むことにしてもよい。
【００３９】
また、流れパターンは、（１）一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩ、（２）前記一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結ぶｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩＩ、（３）二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンＯ、からなるパターン語の１又は複数であることにしてもよい。
【００４０】
また、語表現は、一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンに加えて、二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンを追加した、合計３種類の流れパターンを規定するパターン語に対して、前記流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を、追加された穴の数だけ付与することにより形成された記号語であることとしてもよい。
【００４１】
図２−Ｂは、図２−Ａのグラフ表現作成工程の一例を説明するためのフローチャートである。図２−Ｂにおいて、グラフ表現作成工程では、まず、流れパターンが吸い込み湧き出し対を持つ場合は、流れパターンをその吸い込み湧き出し対に最も近い反時計回りのｓｓ−ｏｒｂｉｔを含む領域が一番外側領域になるように変換する（ステップＳ３１）。流れパターンは、例えば、上述のパターン語の１又は複数から開始し、流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を付与する操作を、穴の数がＮ個となるまで繰り返して作成された穴の数がＮ個の流れパターン図としてもよい。具体的には、後述するように、Ｉ−ｗｏｒｄ，ＩＩ−ｗｏｒｄのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍ（流れパターン図）のルートが、図１１に示すようになるように変換する。次に、変換した流れパターンの（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道を領域全体から抽出する（ステップＳ３２）。領域全体から（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道をすべて除外して得られる連結成分に頂点を設定し、一番外側にある連結成分をルートとする（ステップＳ３３）。続いて、カレント成分をルートに設定する（ステップＳ３４）。カレント成分と互いに境界を接するような連結成分をカレント成分の子とし、境界にあたる軌道に応じてラベルを割り当て，それらを所定のラベルの順序関係に従って並べる（ステップＳ３５）。カレント成分の子をカレント成分に設定して、子がなくなるまでステップＳ３５を繰り返し実行する（ステップＳ３６）。
【００４２】
また、本実施の形態の流れパターンの正規表現作成方法は、流体中の物体に対して設計パラメータの候補を選択する設計パラメータ選択工程を実行してもよい。設計パラメータ選択工程では、例えば、流体中の物体に対して設計パラメータの候補を選択する場合に、前記設計パラメータの上限及び下限を設定し、当該設計パラメータの上限と下限で規定されるパラメータ領域から複数のパラメータを選択し、選択した複数のパラメータに対して、それぞれ流れの実験及び／又は数値計算を行い、実験及び／又は数値計算の結果に対して、前記語表現及び／又は前記正規表現を割り当て、割り当てた前記語表現及び／又は前記正規表現のうち、最適状態を示す前記語表現及び／又は前記正規表現を有する設計パラメータを、前記設計パラメータの候補として選択してもよい。
【００４３】
また、設計パラメータ選択工程は、さらに、選択した設計パラメータを使用して最適化設計を行う工程を含むことにしてもよい。
【００４４】
また、本実施の形態の流れパターンの正規表現作成方法は、流体中の物体に対して設計パラメータを選択する第２の設計パラメータ選択工程を実行してもよい。例えば、第２の設計パラメータ選択工程は、例えば、流体中の物体に対して最適な設計パラメータを選択する場合に、現在の流れパターンの正規表現から目的とする流れパターンの正規表現へ遷移するように設計パラメータを変更し、当該目的とする流れパターンの正規表現となる設計パラメータを選択することにしてもよい。
【００４５】
また、第２の設計パラメータ選択工程では、正規表現に加えて語表現を使用して、現在の流れパターンの正規表現及び語表現から目的とする流れパターンの正規表現及び語表現へ遷移するように設計パラメータを変更し、当該目的とする流れパターンの正規表現及び語表現となる設計パラメータを選択することにしてもよい。
【００４６】
また、第２の設計パラメータ選択工程では、現在の流れパターンの正規表現及び語表現から目的とする流れパターンの正規表現及び語表現へ遷移するための１又は複数の経路を取得し、取得した１又は複数の経路のうち、設計パラメータを変更して現在の流れパターンから遷移可能な経路を選択し、選択した経路に対して、変更した設計パラメータを中心にして設計パラメータを変更し、目的とする流れパターンの正規表現及び語表現となる設計パラメータを選択することにしてもよい。
【００４７】
以下、本実施の形態の流れパターンの正規表現作成方法をその原理と共に、詳細に説明する。
【００４８】
（１．語表現理論）
まず、本実施の形態の流れパターンの正規表現作成方法では、上述の語表現理論の一部を使用しているので、語表現理論について簡単に説明する。
【００４９】
（１−１．語表現アルゴリズム）
ここで、上述した語表現を形成させる語変換アルゴリズムの概要について以下に説明する。ここで、図３は、語表現アルゴリズムの概要を示すフローチャートである。
【００５０】
図３に示すように、まず、位相幾何学的にＮ個の穴を有する連結外部領域における流れパターンの語表現を形成させるために、一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンに加えて、二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンを追加した、合計３種類の流れパターンを規定するパターン語（例えば、Ｉ，ＩＩ，Ｏ）のうちのいずれか一語を付与する（ステップＳＡ−１）。
【００５１】
そして、本実施の形態は、ステップＳＡ−１にて付与された語に対して、流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語（例えば、Ａ０，Ａ２，Ｂ０，Ｂ２，Ｃ）のうちのいずれか一語を付与し（ステップＳＡ−２）、当該ステップＳＡ−２の処理を穴の数がＮ個となるまで繰り返し行うことにより（ステップＳＡ−３）、Ｎ個の穴を有する連結外部領域に対応する語表現を形成させる。なお、この例では、パターン語の付与（ステップＳＡ−１）が先に行われ、操作語の付与（ステップＳＡ−２）が後に行われるが、これに限られず、操作語の付与を先に行い、後にパターン語の付与を行ってもよいものである。
【００５２】
ここで、本実施の形態において、「連結外部領域」とは、単連結外部領域と多重連結外部領域を含む表現であり、「単連結外部領域」とは、二次元（平面）の中にある領域で、一つの穴があいたものをいい、「多重連結外部領域」とは、二次元（平面）の中にある領域で、複数の穴があいたものをいう。ここでいう「穴」という表現は、数学的な抽象表現であるが、応用上はさまざまな表現形態であってもよい。例えば、乗り物が移動した際に相対的に発生する一様な流れに注目した場合、一様流に沿った乗り物の断面に構造物が一つ又は複数あった状況があれば、その領域は単連結外部領域または多重連結外部領域として扱える。例えば、空気中を進む航空機等の飛行物体や、空気中を進む電車や自動車等の地上走行車両、海上または海中を進む船等の乗り物についても、一または複数の穴と、単連結または多重連結の連結外部領域として扱える。換言すれば、「流れの中に一または複数の障害物がある」ような流れを、本実施形態では、連結外部領域における流れとして扱う。また、孤立した渦構造や周囲に周期軌道を持つような流れ構造（楕円型の停留点など）も「穴」とみなすことができる。
【００５３】
上述のように、流れパターンに対して語表現を割り当てることによって、連結外部領域における流れの位相的分類が可能となる。位相的というのは数学の専門用語であり、トポロジー（位相幾何学）とも呼ばれる幾何学の一分野を指す。古典的な幾何学では、三角形や四角形はその角の数の違いにより異なる図形と見なすが、位相幾何学の立場ではそういった細かい情報を見ず、三角形と四角形を例えば輪ゴムを変形させて互いに移りあえるという立場にたって同じ図形と見なす。すなわちすべての多角形は、円と同じと見なす。一方で、円の中にもう一つ円がくりぬかれているような円環領域があったときに円と円環領域は一つの輪ゴムの変形では互いに変形できないので、異なる図形と見なす。連結外部領域では、空いている穴の数が異なれば、それらの図形は位相的に異なると見なす一方で、穴の形さえ同じであれば、その穴の形が円であろうが三角形であろうが線分であろうが同じものとみなす。このような理由から流れの領域を特徴づけるのは穴の数のみであるため、本実施形態では、穴の数Ｍ＋１に対して連結外部領域をＤζ（Ｍ）と表現する。例えば、穴が１つのみの場合は、単連結外部領域Ｄζ（０）であり、穴が２つ在る場合は、二重連結外部領域Ｄζ（１）となる。
【００５４】
流れの位相的分類を扱うときは、流れを特徴づけるある特定の構造（「位相構造」と呼ぶ。）を捕まえて、その特定の構造をもった流れが二つあったときに、その双方を特定の構造の連続的な（すなわち切ったり貼ったりしない）変形によって互いに変形できないものは異なる流れと見なす。
【００５５】
ここで、本実施の形態において扱う流れの構成要素について図４〜図６を参照して説明する。本実施の形態における「流れ」として非圧縮流れを扱ってもよい。流体の非圧縮性とは、力を加えてもほとんどその体積を変えないような性質をいう。通常の水や大気の流れは、日常生活のスケールで考える場合は、こうした流れの枠組みで考えても概ね差し支えはない。なお、本発明は、これに限られず、圧縮性のある流れを計算上取り扱ってもよい。
【００５６】
また、本実施の形態における流体は、非粘性流体として扱ってもよい。非粘性流体は、境界条件を「すべり条件」として扱うことができる。なお、粘性流体では、境界条件が「ゼロ境界条件」となるが、粘性流体でも、粘性が大きくないとき、境界付近は渦が層状の流れとなっており、その流れの外側境界を、仮想的に拡張することで「すべり条件」として扱うことができる。したがって、本実施形態では、特に、非粘性流体における語変換アルゴリズムにおいて説明することがあるが、適切な境界の拡張により、粘性流体についても本実施形態を適用することができる。
【００５７】
本実施の形態で扱う流れの構成要素は、以下の３つである。一つは障害物、一つは渦（ｖｏｒｔｅｘ）、一つは一様流（ｕｎｉｆｏｒｍ  ｆｌｏｗ）である。障害物は連結外部領域における穴のことであり、この形状は位相的分類を考えている上で円としておいても数学的に与える結果に影響はないことが一般的な流体の数学理論から導くことができる。ここで、図４は、流れのパターンを模式的に示した図である。なお、図４（ｃ）は、４つの∂−ｓａｄｄｌｅ点（定義は後述）を持つ境界を模式的に示している。
【００５８】
図４（ａ）に示すように、渦はそのまわりで回転する流れを作る要素である。一様流とは、川の流れでいえば基本的な流れのことであり、領域全体を横切るような流れである。また、乗り物等の移動物体の場合、一様流とは、その乗り物に乗っている観察者から見た、相対的な気流や水流等の流れである。すなわち、移動物体の座標系においては、実際には空気や水が静止していても、無限遠点から流れてくる相対的な流れを観念することができる。
【００５９】
一様流を構成する要素は、吸い込み湧き出し対（１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔ）と呼び、そのルールの正しさは数学的に証明可能である。
【００６０】
ここで、一様流ではなく吸い込み湧き出し対と呼ぶことには理由がある。その理由の説明のため、いくつかの数学的な解説を以下に行う。一様流が存在するとき、考えている流れの領域は無限に拡がる平面であり、その中に一つまたは複数の穴（障害物）が埋め込まれているような連結外部領域であるが、このような流れを模式的（Ｓｃｈｅｍａｔｉｃ）に表現する上では扱いにくい。そのため、数学におけるｓｔｅｒｅｏｇｒａｐｈｉｃ  ｐｒｏｊｅｃｔｉｏｎ（ステレオ射影・立体射影）と呼ばれる射影法によって、平面を球面の上に投影して扱ってもよい。この場合、平面における無限遠点は球面の北極に、平面の原点は南極に対応させることができる。
【００６１】
このようにしておくと、一様流は球面の北極における流れの湧き出しと吸い込み対といった流れ構造となり、図４（ｂ）のような流れ場に対応していることが数学的に示せる。さらに模式的に流れ場を表現するためには、球面は対称性の高い形状であるということを利用して、北極と南極の位置を適当にずらすことができるので、無限遠点を南極に、ある円形の穴（障害物）の中心を北極にあわせてから、再びｓｔｅｒｅｏｇｒａｐｈｉｃ  ｐｒｏｊｅｃｔｉｏｎを使って平面に投影すると、南極に対応する原点付近の近くでは図４（ｂ）のような流れができる。さらに無限遠点に中心を持つ円境界は平面の外側円境界に投影されるので、結果として平面全体の流れ場が、例えば図５のような形の有界な領域として表現できる。なお、連結外部領域Ｄζ（Ｍ）をこの変換方法により，無限遠点の吸い込み湧き出し対を原点に、また、Ｍ＋１個の境界の１つを選んで、それを単位円外部領域に移したときに得られる、Ｍ個の境界をその内部に含む単位円内部の連結領域をＤｚ（Ｍ）と書く。以後の記載はすべてこのＤｚ（Ｍ）を用いて行う。したがって、図４（ｂ）のような表現は適切な射影法を通じて、平面全体の中に一様流が入っている流れと等価なものである。本実施形態の説明では、流れを模式的に示すために便利であることから、このような射影法を用いて図に表現する場合がある。
【００６２】
図５は、このような連結領域Ｄｚ（Ｍ）における構造安定な流れの位相的分類を行う特徴的な軌道（流線）を全て記述した図である。図５（ａ）に示すように、まず吸い込み湧き出し対から出て自分自身に戻ってくる軌道をｓｓ−ｏｒｂｉｔと呼ぶ。この線一本一本が連結外部領域での一様流の流線を表す。次に、図５（ｂ）に示すように、吸い込み湧き出し対から出て境界の上につながる軌道をｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと呼び、図５（ｃ）に示すように、その軌道がつながっている境界上の点をｓｓ−∂−ｓａｄｄｌｅと呼ぶ。
【００６３】
また、図５（ｅ）に示すように、吸い込み湧き出し対からではなく、ある境界の上の点から出て同じ境界上の点につながる軌道を∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと呼び、図５（ｄ）に示すように、これによってつながれている境界上の点を∂−ｓａｄｄｌｅと呼ぶ。また、図５（ｈ）に示すような、境界上にない双曲型の停留点をｓａｄｄｌｅ  ｐｏｉｎｔ（サドル点）と呼ぶが、図５（ｆ）に示すように、吸い込み湧き出し対から出る軌道で、このｓａｄｄｌｅ  ｐｏｉｎｔにつながる軌道をｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと呼ぶ。また、図５（ｇ）に示すように、境界や渦の回りを作る閉曲線軌道をｃｌｏｓｅｄ  ｏｒｂｉｔと呼び、図５（ｉ）に示すように、ｓａｄｄｌｅ  ｐｏｉｎｔから出てそれ自身に戻るような軌道をｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと呼ぶ。対象とする構造安定な流れは、これらの軌道の組み合わせによってしか表現されないことが数学的に証明できる。
【００６４】
本実施形態では、上述したステップＳＡ−２において、穴の数がＭ個ある連結外部領域Ｄｚ（Ｍ−１）の流れに、一つの穴とそれに伴う流れの構造を付け足すことで、一つ穴の多い多重連結外部領域Ｄｚ（Ｍ）の流れ場を帰納的に構成していく。そのため、もっとも簡単な穴が一つの単連結外部領域Ｄｚ（０）や、二重連結外部領域Ｄｚ（１）で、これらの帰納的構成の初期構造になるものをステップＳＡ−１で与えている。
【００６５】
具体的には、上述した基本となる流れパターンは、３種類あり、
１）吸い込み湧き出し対をもち、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩ、
２）吸い込み湧き出し対をもち、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結ぶｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩＩ、および
３）吸い込み湧き出し対をもたないパターンＯ、
である。ここで、図６は、初期構造となる３種類の構造安定な流れパターンを模式的に示す図である。
【００６６】
すなわち、図６（ａ）と（ｂ）に示すように、穴が一個の単連結外部領域Ｄｚ（０）にある流れは、パターンＩとパターンＩＩの２種類存在する。これらのパターンは、ともに吸い込み湧き出し対を持ち、数学的にはこれら２種類しかないことが証明できる。一様流を仮定した吸い込み湧き出し対を持つような流れに対して、原則的には二重連結外部領域Ｄｚ（１）は、これらから構成されるが、吸い込み湧き出し対を持たない流れはここから構成されないので、その流れを構成するために必要な初期流れが図６（ｃ）に模式的に示されるパターンＯである。なお、これらの位相構造は表現の簡便さのため、吸い込み湧き出し対を丸囲みＳと図示し、ｓｓ−ｏｒｂｉｔやｃｌｏｓｅｄ  ｏｒｂｉｔは、無限に存在するので表現せず、以後、模式的に図６（ｄ）や（ｅ）のように簡略的に表す。また、図６（ｃ）に示すように、吸い込み湧き出し対を持たない二重連結外部Ｄζ（１）における流れのパターンｃｌｏｓｅｄ  ｏｒｂｉｔも、すべて書かないで図６（ｆ）のように簡略に記す。
【００６７】
（１−２．操作語の説明）
帰納的に流れを構成していくために、穴を一つとそれに伴う流れの構造を追加するという「操作」について、図７および図８を参照して説明する。すなわち、穴の数がＭ個ある連結外部領域Ｄｚ（Ｍ−１）の流れに、一つの穴を加えて多重連結外部領域Ｄｚ（Ｍ）の流れを求める操作について説明する。
【００６８】
上述したステップＳＡ−２において、位相幾何学的に採り得る５種類の操作は、
１）一本のｓｓ−ｏｒｂｉｔを、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結び内部に穴をもつｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに置き換えるＡ０操作、
２）一本のｓｓ−ｏｒｂｉｔを、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと新たに追加した境界上の二つの∂−ｓａｄｄｌｅに置き換えるＡ２操作、
３）一本のｃｌｏｓｅｄ  ｏｒｂｉｔを、一つの穴とｓａｄｄｌｅ  ｐｏｉｎｔを追加して８の字をした２本のｈｏｍｏｃｌｉｎｉｃ軌道に置き換えるＢ０操作、
４）一本のｃｌｏｓｅｄ  ｏｒｂｉｔを、新たに追加した穴の境界上に二つ∂−ｓａｄｄｌｅをつけて一本の∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎでつなぐような軌道に置き換えるＢ２操作、および、
５）既に２ｋ個（ｋ＞０）の∂−ｓａｄｄｌｅをもつ境界に、新たに二つの∂−ｓａｄｄｌｅを付け加えて一本の∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎでつなぎ内部に新たに付け加えた穴を置くＣ操作、
である。ここで、図７は、穴を一つ付け加えて構造安定な流れを構成する５種類の操作を模式的に示した図である。
【００６９】
図７（ａ）に示すように、操作Ａ０とＡ２は一本のｓｓ−ｏｒｂｉｔに対して行われる。また、図７（ｂ）に示すように、操作Ｂ０とＢ２は、一本のｃｌｏｓｅｄ  ｏｒｂｉｔに対して行われる。また、図７（ｃ）に示すように、操作Ｃは、既に∂−ｓａｄｄｌｅを持つ境界に対して行われる。なお、構造安定性を維持しながらそのようなことを可能にする操作が、上記の５種類しかないことが数学的に証明可能である。このステップを繰り返してできる流れパターン図を、パターンＩ，ＩＩから始めたときはｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍと呼び、パターンＯから始めたときは、ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍと呼ぶ。
【００７０】
ステップＳＡ−１で与えた初期構造の３種類の流れパターンＩ，ＩＩ，Ｏから、これらの操作を行って一つずつ穴を増やす（Ｍ→Ｍ＋１）ことで、多くの穴を持つ領域における流れが帰納的に構成されるので、本実施形態では、その操作を表す操作語の列を文字列と見なして列挙することで、流れ場の語表現（Ｗｏｒｄ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を得ることができる。ここで、図８は、二つの構造物と一様流がある場合の構造安定な流れパターンの全分類を示す図である。図８に示すように、単連結外部領域Ｄｚ（０）における初期構造のパターンＩ，ＩＩに対して、操作語を付与することで、二重連結領域Ｄｚ（１）における全ての流れパターンを記述することができる。ただし、図８に示す全ての流れパターンは、２種類（Ｉ，ＩＩ）×５種類（Ａ０，Ａ２，Ｂ０，Ｂ２，Ｃ）の計１０種類とはなっていない。すなわち、操作語は、５種類の操作語を任意に並べてできるわけではなく、数学的な理由から様々な制約がつく。
【００７１】
ここで、制約について説明すれば以下のようになる。すなわち、図７を用いて上述したように、操作Ａ０とＡ２は、一本のｓｓ−ｏｒｂｉｔに対して行われるので、この操作を行う前提として、一本のｓｓ−ｏｒｂｉｔの存在が不可欠となる。また、操作Ｂ０とＢ２は、一本のｃｌｏｓｅｄ  ｏｒｂｉｔに対して行われるので、この操作を行う前提として、一本のｃｌｏｓｅｄ  ｏｒｂｉｔの存在が不可欠である。また、操作Ｃは、２個以上の∂−ｓａｄｄｌｅを持つ境界に対して行われるので、この操作を行う前提として、∂−ｓａｄｄｌｅを持つ境界の存在が不可欠となる。そのため、パターン語をＩ，ＩＩ，Ｏのどこからはじめるかによって並べ方のルールは異なる。上記の制約条件に基づいて導出される、各パターン語Ｉ，ＩＩ，Ｏからはじまる文字列の並べ方のルールについて、以下に説明する。
【００７２】
まず、湧き出し吸い込み対を持たないＯのパターン語からはじめる場合には、次のようなルールがある。Ｏから始まる語表現に対して、それが構造安定な流れを表すために以下が必要十分である。
Ｏ−１）実際に施すことができる操作は、Ｂ０，Ｂ２，Ｃのみであり、その結果、Ｏから始まる語表現はこれら三つの語を列挙したものとなる。
Ｏ−２）操作列の語表現においてＣの語が含まれるためには、それ以前に必ずＢ２が存在しなければならない。
【００７３】
このような文字列をＯ系列の語（Ｏ−ｗｏｒｄ）と呼び、そのルールの正しさは数学的に証明可能である。
【００７４】
次に、パターン語Ｉから始まる語表現については、以下のルールが成り立つ必要がある。
Ｉ−１）実施可能な操作はＡ０，Ａ２，Ｂ０，Ｂ２，Ｃの全てであり、その結果、Ｉから始まる語表現はこれら５種類の操作語を列挙したものである。
Ｉ−２）操作列の語表現において、Ｂ０あるいはＢ２の語が含まれるためには、それ以前に必ずＣかＡ０が存在しなければならない。
【００７５】
このような文字列をＩ系列の語（Ｉ−ｗｏｒｄ）と呼び、そのルールの正しさは数学的に証明可能である。
【００７６】
最後にパターン語ＩＩから始まる語表現については、以下のルールが成り立つ必要がある。
ＩＩ−１）実施可能な操作はＡ０，Ｂ０，Ｂ２，Ｃであり、その結果、ＩＩから始まる語表現はこれら四つの語を列挙したものである。
ＩＩ−２）操作列の語表現においてＣの語が含まれるために
は、それ以前に必ずＢ２が存在しなければならない。
【００７７】
このような文字列をＩＩ系列の語（ＩＩ−ｗｏｒｄ）と呼び、そのルールの正しさは数学的に証明可能である。
【００７８】
（２．グラフ表現作成工程）
上記図２のグラフ表現作成工程（ステップＳ１）について詳細に説明する。まず、本実施の形態で使用しているグラフ理論について説明する。
【００７９】
（２−１．グラフ理論）
グラフＴ＝（Ｖ，Ｅ）とは、「ｖｅｒｔｅｘ（頂点）」と呼ばれる点の集合（頂点集合）Ｖとその頂点の間を結ぶ「ｅｄｇｅ（エッジ）」と呼ばれる集合Ｅのペアとして与えられる集合である。一般にグラフは多様な構造を持ちうるが、本実施の形態のグラフ表現理論では、グラフ全体の集合におけるある特定の構造をもった以下のグラフの集合を考える。
【００８０】
１）ツリー，木（Ｔｒｅｅ）とは、任意の二つ頂点が一本のｅｄｇｅによってのみ結合されているようなグラフを指す。
２）ルート付き（Ｒｏｏｔｅｄ）グラフとは、ある特定の頂点（以下、ルート（ｒｏｏｔ）と呼ぶ）が存在しているグラフを指す。ルート付きグラフに対しては、このルートから各頂点ｖ∈Ｖへのエッジの連結による最短経路を考えることができるので、これをｖの高さ（ｈｅｉｇｈｔ）と呼び、記号をｈｔ（ｖ）と書く。これによりルート付きツリーＴに対してはｈｔ（Ｔ）：＝ｍａｘｖ∈Ｖｈｔ（ｖ）によって、ツリーＴ自体の高さを考えることができる。
３）グラフが向き有り（ｄｉｒｅｃｔｅｄ）であるとは、すべてのエッジに親子の順序が入っているようなものを指す。向き有りグラフにおける、頂点ｖ∈Ｖからｗ∈Ｖへのエッジは、ｖ⇒ｗ∈Ｅと表わす。このとき、ｖはｗの親、ｗはｖの子と呼ぶ。Г（ｖ）と書いて、頂点ｖ∈Ｖの子供全体の集合を表す。すなわち、Г（ｖ）：＝｛ｗ∈Ｖ│ｖ⇒ｗ∈Ｅ｝。また、その集合に含まれる子供頂点の数＃Г（ｖ）を持って，ｖのｏｕｔ−ｄｅｇｒｅｅとよび、逆にｖに入ってくるエッジの数をｖのｉｎ−ｄｅｇｒｅｅと呼ぶ。
【００８１】
４）グラフがラベル付き（ｌａｂｅｌｌｅｄ）であるとは、全ての頂点に特定のラベルが割り当てられているようなものを指す。
【００８２】
本実施の形態においては、ルート付き、ラベル付き、向き有りのツリーを考える。またそのルートはｉｎ−ｄｅｇｒｅｅがゼロ、すなわちそこに入ってくるエッジが存在しないような頂点を考える。頂点のラベルとしては、｛ｏφ，ｏ０，ｏ２，＋φ，＋０，＋２，−φ，−０，−２｝のいずれかを割り当てるものとする。このとき，ラベルがｏφ（ｏ０，ｏ２，＋φ，＋０，＋２，−φ，−０，あるいは−２）となっている頂点集合の部分集合をＶｏφ（Ｖｏ０、Ｖｏ２、Ｖ＋φ、Ｖ＋０、Ｖ＋２、Ｖ−φ，Ｖ−０，あるいはＶ−2）と表す。頂点ｖに対して、ｌ（ｖ）と書けばそれは頂点に割り当てられたラベルを表すことにする。以後の便宜のため、以下のような集合を定義しておく。Ｖｏ＝Ｖｏφ∪Ｖｏ０∪Ｖｏ２、Ｖ+＝Ｖ+φ∪Ｖ+０∪Ｖ+２、Ｖ-＝Ｖ-φ∪Ｖ-０∪Ｖ-２、Ｖ０＝Ｖｏ０∪Ｖ+０∪Ｖ-０、Ｖ２＝Ｖｏ２∪Ｖ+２∪Ｖ-２、ただし、∪の記号は、ｄｉｓｊｏｉｎｔ  ｕｎｉｏｎを表している。加えて、頂点ｖの子頂点集合は、Г（ｖ）は以下のように分割することができる。
【００８３】
Гｏ０（ｖ）＝Г（ｖ）∩Ｖｏ０，Гｏ２（ｖ）＝Г（ｖ）∩Ｖｏ２，Г+０（ｖ）＝Г（ｖ）∩Ｖ+０，Г-０（ｖ）＝Г（ｖ）∩Ｖ-０，Г+２（ｖ）＝Г（ｖ）∩Ｖ+２，Г-２（ｖ）＝Г（ｖ）∩Ｖ-２，Г−（ｖ）＝Г（ｖ）∩Ｖ−，Г＋（ｖ）＝Г（ｖ）∩Ｖ＋，Г２（ｖ）＝Г（ｖ）∩Ｖ２である。
【００８４】
さらに、頂点ｖ∈Ｖに対して「符合」をｓｇｎ（ｖ）と書けば、ｖ∈Ｖ+∪Ｖ０ならばｓｇｎ（ｖ）＝＋、ｖ∈Ｖ−ならばｓｇｎ（ｖ）＝−を与えるものとする。以後ラベルを並べて流れの表現を与えるので、これらのラベルの出現順序には以下のような順序関係のルール（１）を定めておく。
【００８５】
ｏ０＞ｏ２＞+０＞-０＞+２＞-２・・・（１）
【００８６】
（２−２．二次元構造安定なハミルトンベクトル場のツリー表現）
本実施の形態のグラフ表現作成工程に係る二次元構造安定なハミルトンベクトル場のツリー表現について説明する。以下、Ｏ−ｗｏｒｄで表現される流れパターンのグラフ表現と、Ｉ，ＩＩ−ｗｏｒｄで表現される流れパターンのグラフ表現について説明する。
【００８７】
（２−２−１．Ｏ−ｗｏｒｄで表現される流れパターンのグラフ表現）
Ｈを二次元領域Ｄｚ（Ｍ）上のＯ−ｗｏｒｄで表現される構造安定なハミルトンベクトル場とし、Ｄをそのｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍとする。このハミルトンベクトル場Ｈに対して固有のルート付き、ラベル付き、及び向き有りのツリーＴＨ＝（Ｖ，Ｅ）を割り当てる方法とその平面グラフとしての可視化アルゴリズムを以下に説明する。
【００８８】
まず、領域全体Ｄｚ（Ｍ）からＤをすべて取り除くと、いくつかの（無限の周期軌道を含む）円環開集合である連結成分からなる集合ＣＨ＝Ｄｚ（Ｍ）＼Ｄが構成できる。この各連結成分を頂点集合Ｖとする。ルートの頂点はこれらの連結成分のうちもっとも外側にある連結成分とし、そのラベルとして含まれている周期軌道が反時計回りであるときは＋φ、時計回りであるときは-φを割り当てる。
【００８９】
次にエッジは以下のように作成する。二つの頂点ｖ、ｗ∈Ｖに対して、これらの頂点に対応する連結成分の閉包の共通部分（つまり成分の共通境界）が１次元ｄｉｍ（ｃｌ（ｖ）∩ｃｌ（ｗ））＝１、かつ、ｖがｗの外側の成分となっている場合に、その二つの間に向き有りエッジｖ⇒ｗ∈Ｅを構成する。さらに、この共通部分（境界）集合ｃｌ（ｖ）∩ｃｌ（ｗ）がｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎであり、子連結成分ｗが反時計回り（あるいは、時計回り）の周期軌道を持つとき、ｗのラベルとして+０（あるいは-０）を割り当てるものとする。同様に、その共通部分（境界）集合ｃｌ（ｖ）∩ｃｌ（ｗ）が∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎであり、ｗ内の周期軌道の向きが反時計回り（あるいは時計回り）であれば、ｗのラベルを+２（あるいは-２）とする。
【００９０】
ＣＨの内部にはｓｓ−ｏｒｂｉｔは一つも存在しないので、連結成分ｖの子頂点集合Г（ｖ）は、Г（ｖ）＝Г+０（ｖ）∪Г-０（ｖ）∪Г+２（ｖ）∪Г-２（ｖ）となることに注意する。Ｖo０＝Ｖo２＝φでもあるので、頂点集合Ｖの部分集合Ｖ０＝Ｖ+０∪Ｖ-０およびＶ２＝Ｖ+２∪Ｖ-２となっている。これらの部分頂点集合に入っている元の数は全ての構造安定な流れパターンが操作Ｂ０，Ｂ２，Ｃによって構成されていることから見積もることができる。
【００９１】
図９は、操作Ｂ０，Ｂ２，Ｃによって生成されるすべての流線パターンとそれに対応して連結部分集合（頂点集合）に励起される親子関係を示している。（ａ）はＢ０、（ｂ）はＢ０、（ｃ）はＢ０Ｂ０、（ｄ）はＢ２Ｃｋ-１，ｋ≧１、（ｅ）はＢ２Ｃ１，l≧１、（ｆ）は、Ｂ２２Ｃｋ＋ｌ-１，ｋ，l≧１、（ｇ）はＢ０Ｂ２Ｃｋ，ｋ≧１、（ｈ）はＢ０Ｂ２Ｃｌ，ｌ≧１を示している。図９において、ｖは親連結部分集合を表し、その子連結部分集合はｗ，ｙ，ｚなどのように表現されている。破線は親連結部分の集合を表すため、そこに含まれている周期軌道を一本だけ向きとともに描いている。
【００９２】
図９（ａ）に示すように、操作Ｂ０によって作られた外向き８の字パターンが構成できる。ｖとｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎを境界として共有する二つの連結成分ｗ１∈Ｖ０およびｗ２∈Ｖ０で、その符合が同じ、つまりｓｇｎ（ｖ）＝ｓｇｎ（ｗ１）＝ｓｇｎ（ｗ２）となるものが存在する。他方、Ｂ０で作られたパターンが図９（ｂ）に示すように内向き８の字パターンであったとき、親成分ｖをどの連結成分にとるかによって、二種類のｖとｗ∈Ｖ０の二つのエッジ（一つはｓｇｎ（ｖ）＝ｓｇｎ（ｗ）、もう一つはｓｇｎ（ｖ）≠ｓｇｎ（ｗ）となっている）が構成できる。
【００９３】
図９（ｃ）に示すように、操作Ｂ０Ｂ０によっては二種類の親子エッジ関係が形成される。左側のパターンでは、親連結成分ｖから、ｓｇｎ（ｖ）＝ｓｇｎ（ｗ１）＝ｓｇｎ（ｗ２）かつｓｇｎ（ｖ）≠ｓｇｎ（ｗ３）となる三つの子連結成分ｗ１，ｗ２，ｗ３∈Ｖ０へのエッジが構成できる。
【００９４】
右側のパターンでは、親連結成分ｖからｓｇｎ（ｖ）＝ｓｇｎ（ｗ１）≠ｓｇｎ（ｗ２）となる二つの子連結成分ｗ１，ｗ２∈Ｖ０へのエッジが構成できる。以下同様に、図９（ｄ）〜（ｆ）に示すように、各操作Ｂ２Ｃｋ-１，Ｂ２Ｃｌ，Ｂ２２Ｃｋ＋ｌ-１（ｋ≧１，ｌ≧１）によってｋ個のｖと同じ向きの周期軌道を含む連結成分と逆向きの周期軌道を含むｌ個の連結成分間の親子関係のエッジが順次構成される。
【００９５】
図９（ｇ）は、操作Ｂ０Ｂ２Ｃｋによって構成された流線パターンであり、これによりｖからｗ１，ｗ２∈Ｖ０、あるいは、ｖからｗ∈Ｖ０への同じ符合を持つ領域へのエッジと、ｋ個の反対の符合を持つ子連結成分ｚｊ∈Ｖ０（ｊ＝１，．．．，ｋ）へのエッジが構成される。
【００９６】
最後に、操作Ｂ０Ｂ２Ｃｌ（ｌ≧１）によって作られる図９（ｈ）の流線パターンに対応しては、ｓｇｎ（ｖ）≠ｓｇｎ（ｗ）となるｗ∈Ｖ０への一本のエッジと、同じ符合を持つｌ本のｙｊ∈Ｖ０（ｊ＝１，．．．，ｌ）へのエッジができる。
【００９７】
これ以外に、操作Ｂ０，Ｂ２，Ｃによって新しい親子関係を生成するものは存在しないので、以上から、子連結成分の集合に含まれる元の数は＃Γ+０（ｖ），＃Γ-０（ｖ）≦２であり、子頂点集合＃Γ+２（ｖ）、＃Γ-２（ｖ）については任意の非負整数を選ぶことができる。
【００９８】
次に、与えられたｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍから得られるグラフ表現をどのように平面グラフとして描画するかを説明する。まず、全ての連結部分ｖ∈Ｖに対して、その子連結部分集合Γ（ｖ）に含まれる元をラベルに関する順序関係のルール（１）に応じて並び替えておく。ただし、複数の同じラベル+０（あるいは-０）が含まれているときはサイクリックな順序で並べる（このことは、＃Γ+０（ｖ）、＃Γ-０（ｖ）≦２ということから一義的に実現できる。）。一方、ラベル+２および-０に対応する子連結部分集合Γ+２（ｖ）およびΓ-２（ｖ）については、その並べ方は以下のようなルールに従うものとする。
【００９９】
図９にあるｙｊと書かれた連結部分に対してその順序をサイクリックに並べる。すなわち、この中から特定の連結部分をｙ１として選んで、後は反時計回りに連結成分を並べる。同じ図中ｚｊと書かれた子連結成分については単に反時計回りに並べることができる。
【０１００】
以下で説明する（２−２−１−１．Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理）及び（２−２−２−１．Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理）について、以下のように定義する。Ｎで非負整数のなす集合とし、Ｎ∞で非負整数のなす有限列の集合とする（すなわち、Ｎ∞＝Ｎ∪Ｎ２∪Ｎ３・・・）。Ｎ∞上に以下のように半順序＜を定義する。Ｎ∞の元ｓ＝ｓ１・・・ｓｎ，ｔ＝ｔ１・・・ｔｍに対して、「ｎ＜ｍ」または「ｎ＝ｍかつｓ１＝ｔ１，．．．，ｓｋ−１＝ｔｋ−１かつｓｋ＜ｔｋとなる自然数ｋ＞０が存在する事である」が成り立つ時、ｓ＜ｔと定義する。以下では、頂点集合ＶからＮ∞への単射関数Ｓ：Ｖ→Ｎ∞を与える。このとき、頂点ｖに対して、Ｓ（ｖ）を頂点ｉｄと呼ぶ。ここで、単射性から、頂点とその頂点ｉｄを同一視する。さらに、ｒｏｏｔの頂点ｉｄは０と置く（頂点とｉｄを同一視するため）。また、以下の構成から、頂点ｉｄは、ツリーの高さ優先探索の順番に対応していることが分かる。以下、σ∈｛＋，−｝を表し、μ＝−σとし、Ｇでツリー、ｓ，ｓ’，ｔ，ｕで頂点ｉｄ、Ｔで頂点ｉｄの部分集合を表す。また、以下で、図９，１２を参照するが、流れの向きは無視するものとする。
【０１０１】
（２−２−１−１．Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理）
図１０−Ａ〜図１０−Ｅは、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。コンピュータ等の装置により、図１０−Ａ〜図１０−Ｅに示す、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を実行可能である。
【０１０２】
図１０−Ａ〜図１０−Ｅにおいて、ｉｎｐｕｔをｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍ  Ｄとし、ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍ  Ｄをｏｕｔｅｒｍｏｓｔにｒｏｏｔがあるよう変換し（ステップＳ１０１）、ｓ＝０，Ｔ＝｛０｝と置く（ステップＳ１０２）。ｒｏｏｔ  ０の外側境界が反時計回りであるか否かを判断する（ステップＳ１０３）、ｒｏｏｔ  ０の外側境界が反時計回りである場合は（ステップＳ１０３の「Ｙｅｓ」）、σ＝＋，ツリーＧ＝（０，＋φ）とし（ステップＳ１０４）、ｒｏｏｔ  ０の外側境界が反時計回りでない場合、すなわち、時計回りである場合は（ステップＳ１０３の「Ｎｏ」）、σ＝−，ツリーＧ＝（０，−φ）として（ステップ１０５）、ステップＳ１０６に移行する。
【０１０３】
ステップＳ１０６では、ｒｏｏｔ  ０が図９（ａ）の形（パターン）をしているか否かを判断する。ｒｏｏｔ  ０が図９（ａ）の形をしている場合は（ステップ１０６の「Ｙｅｓ」）、ｗ１，ｗ２の頂点ｉｄを００，０１と定め、ツリーＧを、図９（ａ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーＧ（すなわち、Ｇを（００，σ０）←（０，σφ）→（０１，σ０））と定め、集合Ｔに｛００，０１｝を追加する（ステップＳ１０７）。すなわち、Ｔ＝｛０，００，０１｝と置き換える。この置換操作を、Ｔ←ＴＵ｛００，０１｝と表す。この後、処理はステップＳ１１４に移行する。
【０１０４】
他方、ステップＳ１０６において、ｒｏｏｔ  ０が図９（ａ）の形をしていない場合は（ステップ１０６の「Ｎｏ」）、ステップＳ１０８に移行する。
【０１０５】
ステップＳ１０８では、ｒｏｏｔ  ０が図９（ｂ）の左の形をしているか否かを判断する。ｒｏｏｔ  ０が図９（ｂ）の左の形をしている場合には（ステップ１０８の「Ｙｅｓ」）、ｗの頂点ｉｄを００と定め、ツリーＧを、図９（ｂ）のツリーのラベルをｉｄとラベルの組に置き換えたツリー（すなわち、Ｇを（（０，σφ）→（００，σ０）））と定め、集合Ｔに｛００｝を追加する（ステップＳ１０９）。すなわち、Ｔ←ＴＵ｛００｝とする。この後、処理はステップＳ１１４に移行する。
【０１０６】
他方、ステップＳ１０８において、ｒｏｏｔ  ０が図９（ｂ）の左の形をしていない場合は（ステップＳ１０８の「Ｎｏ」）、ステップＳ１１０に移行する。
【０１０７】
ステップＳ１１０において、ｒｏｏｔ  ０が図９（ｄ）の形をしているか否かを判断する。ｒｏｏｔ  ０が図９（ｄ）の形をしている場合は（ステップＳ１１０の「Ｙｅｓ」）、ｙ１，．．．，ｙｋの頂点ｉｄを００，．．．，０ｋ−１と定め、ツリーＧを、図９（ｄ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、集合Ｔに｛００，．．．，０ｋ−１｝を追加する（ステップＳ１１１）。すなわち、Ｔ←ＴＵ｛００，．．．，０ｋ−１｝とする。この後、処理はステップＳ１１４に移行する。
【０１０８】
他方、ステップＳ１１０において、ｒｏｏｔ  ０が図９（ｄ）の形をしていない場合は（ステップＳ１1０の「Ｎｏ」）、ツリーＧをσφと定め（ステップＳ１１２）、このツリーＧをｏｕｔｐｕｔして（ステップＳ１１３）、処理を終了する。
【０１０９】
ステップＳ１１４において、Ｔの中にｓより大きい元ｔが存在するか否かを判断する。ｓがＴの中で最大元の場合は（ステップＳ１１４の「Ｎｏ」）、ツリーＧの頂点ｉｄを全て取り除いて、残りのツリーをＧとし（ステップＳ１１５）、ツリーＧをｏｕｔｐｕｔして（ステップＳ１１３）、処理を終了する。
【０１１０】
他方、ステップＳ１１４において、ｓがＴの中で最大元でない場合は（ステップＳ１１４の「Ｙｅｓ」）、ｓ’＝ｍｉｎ｛ｔ∈Ｔ｜ｓ＜ｔ｝（すなわち、ｓ’をＴの中でｓの次に大きい元）として、ｓをｓ’と置換して、（ｓ，σ＊）←（ｓ’，σ＊’）とする（ステップＳ１１６）。この後、処理はステップＳ１１７に移行する。
【０１１１】
ステップＳ１１７において、頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅからなり、頂点ｓの内部境界が図９（ａ）の形をしているか否かを判断する。頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅからなり、頂点ｓがの内部境界が図９（ａ）の形をしている場合は（ステップ１１７の「Ｙｅｓ」）、ｗ１，ｗ２の頂点ｉｄをｓ０，ｓ１と定め、ツリーＧを、図９（ａ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，ｓ１｝を追加する（ステップＳ１１８）。この後、処理はステップＳ１１４に戻る。
【０１１２】
他方、ステップＳ１１７において、頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅでない、もしくは、頂点ｓの内部境界が図９（ａ）の形をしていない場合は（ステップＳ１１７の「Ｎｏ」）、ステップＳ１１９に移行する。
【０１１３】
ステップＳ１１９において、頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅからなり、頂点ｓの内部境界が図９（ｂ）の左の形をしているか否かを判断する。頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅからなり、頂点ｓの内部境界が図９（ｂ）の左の形をしている場合は（ステップＳ１１９の「Ｙｅｓ」）、ｗの頂点ｉｄをｓ０と定め、ツリーＧを、図９（ｂ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０｝を追加する（ステップＳ１２０）。この後、処理はステップＳ１１４に戻る。
【０１１４】
他方、ステップＳ１１９において、頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅでない、もしくは、頂点ｓの内部境界が図９（ｂ）の左の形をしていない場合は（ステップＳ１１９の「Ｎｏ」）、ステップＳ１２１に移行する。
【０１１５】
ステップＳ１２１において、頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅからなり、頂点ｓの内部境界が図９（ｄ）の形をしているか否かを判断する。頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅからなり、頂点ｓの内部境界が図９（ｄ）の形をしている場合は（ステップ１２１の「Ｙｅｓ」）、ｙ１，．．．，ｙｋの頂点ｉｄを｛ｓ０，．．．，ｓｋ−１｝と定め、ツリーＧを、図９（ｄ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，．．．，ｓｋ−１｝を追加する（ステップＳ１２２）。この後、処理はステップＳ１１４に戻る。
【０１１６】
他方、ステップＳ１２１において、頂点ｓの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎとｓａｄｄｌｅでない、もしくは、頂点ｓの内部境界が図９（ｄ）の形をしていない場合は（ステップＳ１２１の「Ｎｏ」）、ステップＳ１２３に移行する。
【０１１７】
ステップＳ１２３において、頂点ｓが図９（ｃ）の左の形をしているか否かを判断する。頂点ｓが図９（ｃ）の左の形をしている場合は（ステップＳ１２３の「Ｙｅｓ」）、ステップＳ１２４に移行する。
【０１１８】
ステップＳ１２４において、頂点ｓのラベルσ０のσが＋であるか（すなわち、ｓの中の流れは反時計回りであるか）否かを判断する。頂点ｓのラベルσ０のσが＋である（すなわち、ｓの中の流れは反時計回りである）場合は（ステップＳ１２４の「Ｙｅｓ」）、ｗ１，ｗ２，ｗ３の頂点ｉｄをｓ０，ｓ１，ｓ２と定め、ツリーＧを、図９（ｃ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，ｓ１，ｓ２｝を追加する（ステップＳ１２５）。この後、処理は、ステップＳ１１４に戻る。
【０１１９】
他方、ステップＳ１２４において、頂点ｓのラベルσ０のσが＋でない場合、すなわち、頂点ｓのラベルσ０のσが−である（すなわち、ｓの中の流れは時計回りである）場合は（ステップＳ１２４の「Ｎｏ」）、ｗ１，ｗ２，ｗ３の頂点ｉｄをｓ１，ｓ２，ｓ０と定め、ツリーＧを、図９（ｃ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，ｓ１，ｓ２｝を追加する（ステップＳ１２６）。この後、処理は、ステップＳ１１４に戻る。
【０１２０】
他方、ステップＳ１２３において、頂点ｓが図９（ｃ）の左の形をしていない場合は（ステップＳ１２３の「Ｎｏ」）、ステップＳ１２７に移行する。
【０１２１】
ステップＳ１２７において、頂点ｓが図９（ｃ）の右の形をしているか否かを判断する。頂点ｓが図９（ｃ）の右の形をしている場合は（ステップＳ１２７の「Ｙｅｓ」）、ステップＳ１２８に移行する。
【０１２２】
ステップＳ１２８において、頂点ｓのラベルσ０のσが＋である（すなわち、ｓの中の流れは反時計回りである）か否かを判断する。頂点ｓのラベルσ０のσが＋である（すなわち、ｓの中の流れは反時計回りである）場合は（ステップＳ１２８の「Ｙｅｓ」）、ｗ１，ｗ２の頂点ｉｄをｓ０，ｓ１と定め、ツリーＧを、図９（ｃ）の右のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，ｓ１｝を追加する（ステップＳ１２９）。この後、処理はステップＳ１１４に戻る。
【０１２３】
他方、ステップＳ１２８において、頂点ｓのラベルσ０のσが＋でない場合、すなわち、頂点ｓのラベルσ０のσが−である（すなわち、ｓの中の流れは時計回りである）場合は（ステップＳ１２８の「Ｎｏ」）、ｗ１，ｗ２の頂点ｉｄをｓ１，ｓ０と定め、ツリーＧを、図９（ｃ）の右のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，ｓ１｝を追加する（ステップＳ１３０）。この後、処理はステップＳ１１４に戻る。
【０１２４】
他方、ステップＳ１２７において、頂点ｓが図９（ｃ）の右の形をしていない場合は（ステップＳ１２７の「Ｎｏ」）、ステップＳ１３１に移行する。
【０１２５】
ステップＳ１３１において、頂点ｓが図９（ｈ）の形をしているか否かを判断する。頂点ｓが図９（ｈ）の形をしている場合は（ステップＳ１３１の「Ｙｅｓ」）、ｙ１，．．．，ｙｌ，ｗの頂点ｉｄをｓ１，．．．，ｓｌ，ｓ０と定め、ツリーＧを、図９（ｈ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，．．．，ｓｌ｝を追加する（ステップＳ１３２）。この後、処理はステップＳ１１４に戻る。
【０１２６】
他方、ステップＳ１３１において、頂点ｓが図９（ｈ）の形をしていない場合は（ステップＳ１３１の「Ｎｏ」）、ステップＳ１３３に移行する。
【０１２７】
ステップＳ１３３において、頂点ｓが図９（ｇ）の左の形をしているか否かを判断する。頂点ｓが図９（ｇ）の左の形をしている場合（ただし、ｋ＝０の場合も含む）は（ステップ１３３の「Ｙｅｓ」）、ｗ１，ｗ２，ｚ１，．．．，ｚｋの頂点ｉｄをｓ０，ｓ１，ｓ２，．．．，ｓｋ＋１と定め、ツリーＧを、図９（ｇ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，．．．，ｓｋ＋１｝を追加する（ステップＳ１３４）。この後、処理はステップＳ１１４に戻る。
【０１２８】
他方、ステップＳ１３３において、頂点ｓが図９（ｇ）の左の形をしていない場合は（ステップＳ１３３の「Ｎｏ」）、ステップＳ１３５に移行する。
【０１２９】
ステップＳ１３５において、頂点ｓが図９（ｇ）の右の形をしているか否かを判断する。頂点ｓが図９（ｇ）の右の形をしている場合（ただし、k＝０の場合も含む）は（ステップＳ１３５の「Ｙｅｓ」）、ｗ，ｚ１，．．．，ｚｋの頂点ｉｄをｓ０，ｓ１，．．．，ｓｋと定め、ツリーＧを、図９（ｇ）の右のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，．．．，ｓｋ｝を追加する（ステップＳ１３６）。この後、処理はステップＳ１１４に戻る。
【０１３０】
他方、ステップＳ１３５において、頂点ｓが図９（ｇ）の右の形をしていない場合は（ステップＳ１３５の「Ｎｏ」）、ステップＳ１３８に移行する（この場合、ステップＳ１３７に示すように、頂点ｓは図９（ｆ）の形をしている）。
【０１３１】
ステップＳ１３８において、頂点ｓのラベルσ０のσが＋である（すなわち、ｓの中の流れは反時計回りである）か否かを判断する。頂点ｓのラベルσ０のσが＋である（すなわち、ｓの中の流れは反時計回りである）場合は（ステップＳ１３８の「Ｙｅｓ」）、ｙ１，．．．，ｙｋ，ｚ１，．．．，ｚｌの頂点ｉｄをｓ０，．．．，ｓｋ−１，ｓｋ，．．．，ｓｌ＋ｋ−１と定め、ツリーＧを、図９（ｆ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，．．．，ｓｌ＋ｋ−１｝を追加する（ステップＳ１３９）。この後、処理はステップＳ１１４に戻る。
【０１３２】
ステップＳ１３８において、頂点ｓのラベルσ０のσが＋でない場合、すなわち、頂点ｓのラベルσ０のσが−である（すなわち、ｓの中の流れは時計回りである）場合は（ステップＳ１３８の「Ｎｏ」）、ｙ１，．．．，ｙｋ，ｚ１，．．．，ｚｌの頂点ｉｄをｓｌ，．．．，ｓｌ＋ｋ−１，ｓ０，．．．，ｓｌ−１と定め、ツリーＧを、図９（ｆ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｓ０，．．．，ｓｌ＋ｋ−１｝を追加する（ステップＳ１４０）。この後、処理はステップＳ１１４に戻る。
【０１３３】
以上の操作が、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理である。
【０１３４】
（２−２−２．Ｉ−ｗｏｒｄおよびＩＩ−ｗｏｒｄによって表現される流れのグラフ表現）
ＨをＤｚ（Ｍ）内に１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔを持つ構造安定なハミルトンベクトル場、Ｄをそのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍとする。このとき、ＣＨ＝Ｄｚ（Ｍ）＼Ｄは、ｃｌｏｓｅｄ  ｏｒｂｉｔを含む円環開領域またはｓｓ−ｏｒｂｉｔを含む開円板領域となる連結成分からなる。これに対して、ルート付き、ラベル付き向き有りツリーを以下のように構成する。Ｏ−ｗｏｒｄの時と同様に、各ＣＨの連結成分を頂点集合に対応づける。ルートとなる連結成分はＣＨの中で１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔに最も近い開円板領域で、その閉包は１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔを含みかつ内部に時計回りのｓｓ−ｏｒｂｉｔを含むものを選ぶ。この連結成分にラベルｏφを割り当てる。このような決め方によりルートは一義的に決定することができる。
【０１３５】
図１１は、ルートとなる連結成分をＣＨ＝Ｄｚ（Ｍ）＼Ｄから選ぶ方法を説明するための図である。ここで、ＤはＩ−ｗｏｒｄあるいはＩＩ−ｗｏｒｄで表現できるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍとする。破線はルートとなる連結成分に含まれるｓｓ−ｏｒｂｉｔを一本、その向きとともに書いたものである。
【０１３６】
図１１において、（ａ）は、語表現ＩＡ０Ａ０で表現されたｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍであり、ｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎの流れの向きは右から左である。（ｂ）は、語表現ＩＡ０Ａ０を持つｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍで、ｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎの向きは左から右である。（ｃ）は、語表現ＩＩＡ０Ａ０を持つｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍで、その最も外側にある連結成分に含まれた周期軌道の向きが時計回り。（ｄ）は、語表現ＩＩＡ０Ａ０は（ｃ）と同じであるが周期軌道の向きが反対である。各ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの下には、ルートとなっている連結成分内にある点を無限大に写すような等角写像によってできるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの像を示している。この写像による像では、ルートに含まれるｓｓ−ｏｒｂｉｔはすべて反時計回りになっている。
【０１３７】
例えば、図１１（ａ）に示すような、ＩＡ０Ａ０なる語表現を持つｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍを考えると、１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔの真上にある連結成分（破線で書いた曲線が含まれる領域）がルートになる。もし、同じｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍが同じ形でもその流れの向きが、図１１（ｂ）のように反対になれば、その定義からルートは１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔの真下にある連結成分となる。図１１（ｃ）の語表現ＩＩＡ０Ａ０を持つｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに対しては、１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔの真上の連結成分が、向きを逆転すると（図１１（ｄ））、その真下の連結成分がルートとなる。このルートとなっている連結成分にある点を一つ選び、それを無限遠点に写すような等角写像でｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍを写すと、その像において、ルートの連結成分は最も外側の連結成分となり、さらにその中でｓｓ−ｏｒｂｉｔは常に反時計回りになることに注意する（図１１の各図の下の部分参照）。
【０１３８】
こうして得られ連結成分からなる頂点集合に対して、頂点間の向き付けエッジを、ルート連結成分が最も外側になるよう等角写像で写したものを使って図１１に示したように定義する。二つの連結成分ｖ，ｗ∈Ｖの閉包の共通部分の次元が１、すなわちｄｉｍ（ｃｌ（ｖ）∩ｃｌ（ｗ））＝１かつｖがｗの外側にあるとき、ｖからｗへの向き付けエッジを構成する。ｓｓ−ｏｒｂｉｔを持つ連結成分ｗ∈Ｖに対して、もしｃｌ（ｖ）∩ｃｌ（ｗ）がｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ（あるいはｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ）を含む場合、その子頂点ｗにはｏ０（あるいはｏ２）のラベルを割り当てる。内部に反時計回りのｃｌｏｓｅｄ  ｏｒｂｉｔを持つ連結成分ｗ∈Ｖに対して、もしｃｌ（ｖ）∩ｃｌ（ｗ）がｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ（あるいは∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ）となっている場合、子の連結成分ｗにはラベル+０（あるいは+２）を付与する。同様にして、ラベル-０および-２を時計回りのｃｌｏｓｅｄ  ｏｒｂｉｔを持つ連結成分に付与する。
【０１３９】
この結果、ハミルトンベクトル場Ｈのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに対して固有のルート付き、ラベル付き、向き有りツリーＴＨ＝（Ｖ，Ｅ）を対応させることができる。Ｉ−ｗｏｒｄあるいはＩＩ−ｗｏｒｄの語表現を持つ構造安定なハミルトンベクトル場Ｗのグラフ表現ＴＨ＝（Ｖ，Ｅ）を平面グラフとして可視化する方法は以下の通りである。
【０１４０】
まず、子連結成分の集合に関して、Г（ｖ）＝ГＯ（ｖ）∪Г＋（ｖ）∪Г−（ｖ）となっていることに注意する。いま、Г（ｖ）に入っている元は予め順序関係のルール（１）に従って並びかえられており、また同じラベルを持つГ+２（ｖ）∪およびГ-２（ｖ）の元については、Ｏ−ｗｏｒｄの可視化の時と同様にサイクリックに反時計回りに並べられているとしておく。Ｖ＋やＶ−に入っているｃｌｏｓｅｄ  ｏｒｂｉｔを持つ連結成分ｖに対する平面グラフへの可視化は、フローチャート（図１０−Ａから図１０−Ｅ）を用いればよいので、後はＶｏに入っている連結成分に対するグラフの描画について考えればよい。
【０１４１】
図１２は、操作Ａ０，Ａ２，Ｃによって生成されるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの局所構造とそれに対応して得られるグラフ表現の可視化を示したものである。図１２において、親連結成分ｖはｏφ（ｏ０またはｏ２）と表現されている。
【０１４２】
図１２において、（ａ）はＡ０、（ｂ）はＡ０、（ｃ）はＡ０Ａ０、（ｄ）はＡ２Ｃｋ（ｋ≧０）、（ｅ）はＡ２Ｃｌ（ｌ≧１）、（ｆ）はＡ２２Ｃｋ＋ｌ（ｋ，ｌ≧１）、（ｇ）は、Ａ０Ａ２Ｃｋ（ｋ≧０）、（ｈ）はＡ０Ａ２Ｃｌ（ｌ≧１）によって構成される局所的なｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍとそれに対応して生成される連結成分の親子関係、親連結成分ｖに含まれる反時計回りのｓｓ−ｏｒｂｉｔは破線で示している。親連結成分のラベルはｏ＊（ただし、＊はφ、０あるいは２のいずれか）と表現されている。ｓｓ−ｏｒｂｉｔの方向は常に反時計回りになるようにルートを定めているので、その子になる連結成分に含まれる軌道の流れる方向は自動的に決まる。
【０１４３】
より具体的に説明すると、図１２（ａ）にある外向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに対して、親連結成分ｖは二つの子連結成分ｗ∈Ｖo０とｙ∈Ｖ+０を持つので、ｏ＊からｏ０と+０への二本の矢印を描画する。図１２（ｂ）にあるような内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに対しては、親をどの連結成分に選ぶかに応じて、ｏ０あるいは-０への矢印を描くことができる。操作Ａ０Ａ０で作られる構造に対しては、図１２（ｃ）に示すように二種類のパターンが作られるので、それに応じてｏ０、+０、-０への三本の矢印を描くかｏ０と-０への二本のエッジを描くことができる。
【０１４４】
操作Ａ２Ｃｋ（ｋ≧０）で作られる図１２（ｄ）のようなｋ個のｃｌｏｓｅｄ  ｏｒｂｉｔを含む連結成分｛ｚ１，．．．，ｚｋ｝を持つ局所的なｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの局所構造に対応して、ｏ２およびｋ個の+２の矢印を描く。操作Ａ２Ｃｌ（ｌ≧１）で作られるｌ個の時計回りのｃｌｏｓｅｄ  ｏｒｂｉｔを含む子連結成分｛ｙ１，．．．，ｙｌ｝を持つ局所流線構造（図１２（ｅ））に対しては、ｌ個の矢印を-２へ描けばよい。図３（ｆ）には、Ａ２２Ｃｋ＋ｌ（ｋ，ｌ≧１）で作られる一個の子連結成分ｗ∈Ｖｏ２とｌ個の子の連結成分｛ｙ１，．．．，ｙｌ｝とｋ個の子連結成分｛ｚ１，．．．，ｚｋ｝を持つ局所構造と、それに対応してｋ個の+２とｌ個の-２への矢印が描けることが示されている。最後に、操作Ａ０Ａ２Ｃｋ（ｋ≧０）で与えられる図１２（ｇ）（あるいは図１２（ｈ）のようなＡ０Ａ２Ｃｌ（ｌ≧１））の構造に対しては、ｏ２，-０（あるいはｏ０，+０）の矢印を描いてその右側にｋ個の+２（あるいはｌ個の-２）への矢印を描く。
【０１４５】
（２−２−２−１．Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理）
図１３−Ａ〜図１３−Ｄは、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理を説明するためのフローチャートである。図１３−Ａ〜図１３−Ｄに示す、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理は、コンピュータ等の装置によって実行可能である。
【０１４６】
図１３−Ａ〜図１３−Ｄにおいて、ｉｎｐｕｔをｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍ  Ｄとして、所定の座標変換をして、図１１に示すような、ｏｕｔｅｒｍｏｓｔにｒｏｏｔがあるよう変換し（ステップＳ１４１）、ｕ＝０，Ｔ＝｛０｝，ツリーＧ＝（０，ｏφ）と置く（ステップＳ１４２）。
【０１４７】
ステップＳ１４３において、ｒｏｏｔ  ０が図１２（ａ）の形をしているか否かを判断する。ｒｏｏｔ  ０が図１２（ａ）の形をしている場合は（ステップＳ１４３の「Ｙｅｓ」）、ｗ、ｙの頂点ｉｄを１，００と定め、ツリーＧを、図１２（ａ）のツリーのラベルをｉｄとラベルの組に置き換えたツリー（すなわち、Ｇを（１，ｏ０）←（０，ｏφ）→（００，＋０））と定め、Ｔに｛１，００｝を追加する（すなわち、Ｔ＝｛０｝をＴ＝｛０，１，００｝と置換する）（ステップＳ１４４）。この後、処理はステップＳ１４９に移行する。
【０１４８】
他方、ステップＳ１４３において、ｒｏｏｔ  ０が図１２（ａ）の形をしていない場合は（ステップＳ１４３の「Ｎｏ」）、ステップＳ１４５に移行する。
【０１４９】
ステップＳ１４５において、ｒｏｏｔ  ０が図１２（ｂ）の左の形をしているか否かを判断する。ｒｏｏｔ  ０が図１２（ｂ）の左の形をしている場合は（ステップＳ１４５の「Ｙｅｓ」）、ｗの頂点ｉｄを１と定め、ツリーＧを、図１２（ｂ）のツリーのラベルをｉｄとラベルの組に置き換えたツリー（すなわち、Ｇを（（０，ｏφ）→（１，ｏ０））と定め、Ｔに｛１｝を追加する（ステップＳ１４６）。この後、処理はステップＳ１４９に移行する。
【０１５０】
他方、ステップＳ１４５において、ｒｏｏｔ  ０が図１２（ｂ）の左の形をしていない場合は（ステップＳ１４５の「Ｎｏ」）、ステップＳ１４８に移行する（この場合、ステップＳ１４７に示すように、ｒｏｏｔ  ０が図１２（ｄ）の形をしている）。
【０１５１】
ステップＳ１４８において、ｗ，ｚ１，．．．，ｚｋの頂点ｉｄを１，００，．．．，０ｋ−１と定め、ツリーＧを、図１２（ｄ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛１，００，．．．，０ｋ−１｝を追加し、ステップＳ１４９に移行する。
【０１５２】
ステップＳ１４９において、Ｔの中にｕより大きい元ｔが存在するか否かを判断する。ｕがＴの中で最大元の場合は（ステップＳ１４９の「Ｎｏ」）、ツリーＧの頂点ｉｄを全て取り除いて、残りのツリーをＧとおき（ステップＳ１５０）、ツリーＧをｏｕｔｐｕｔして（ステップＳ１５１）、処理を終了する。
【０１５３】
他方、ステップＳ１４９において、ｕがＴの中で最大元でない場合には（ステップＳ１４９の「Ｙｅｓ」）、ｕ’＝ｍｉｎ｛ｔ∈Ｔ｜ｕ＜ｔ｝（すなわち、ｕ’をＴの中でｕの次に大きい元）として、(ｕ，σ＊）を（ｕ’，σ’＊）と置換する（ステップＳ１５２）。この後、処理はステップＳ１５３に移行する。
【０１５４】
ステップＳ１５３において、ｕが自然数であるか（すなわち、ｏφ，ｏ０，ｏ２のｉｄに対応するか）否かを判断する。ｕが自然数でない場合は（ステップＳ１５３の「Ｎｏ」）、Ｏ−ｗｏｒｄの処理である図１０−ＢのＳ１１４に移行する。
【０１５５】
他方、ステップＳ１５３において、ｕが自然数の場合は（ステップＳ１５３の「Ｙｅｓ」）、ステップＳ１５５に移行する。
【０１５６】
ステップＳ１５５において、頂点ｕの外側境界が外向きｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと、丸囲みＳ（吸い込み湧き出し対：図６参照）からなり、ｕの内側境界が図１２（ａ）の形をしているか否かを判断する。頂点ｕの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなり、ｕの内側境界が図１２（ａ）の形をしている場合は（ステップＳ１５５の「Ｙｅｓ」）、ｗ、ｙの頂点ｉｄをｕ＋１，ｕ０と定め、ツリーＧを図１２（ａ）のツリーのラベルをｉｄとラベルの組に置き換えたツリー（すなわち、Ｇを（ｕ＋１，ｏ０）←（ｕ，ｏ０）→（ｕ０，＋０））と定め、ＴをＴＵ｛ｕ＋１，ｕ０｝と置換する（ステップＳ１５６）。この後、処理はステップＳ１４９に戻る。
【０１５７】
他方、ステップＳ１５５において、頂点ｕの外側境界が外向きｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなっていない、または，ｕの内側境界が図１２（ａ）の形をしていない場合は（ステップＳ１５５の「Ｎｏ」）、ステップＳ１５７に移行する。
【０１５８】
ステップＳ１５７において、頂点ｕの外側境界が外向きｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなり、ｕの内側境界が図１２（ｂ）の左の形をしているか否かを判断する。頂点ｕの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなり、ｕの内側境界が図１２（ｂ）の左の形をしている場合は（ステップＳ１５７の「Ｙｅｓ」）、ｗの頂点ｉｄをｕ＋１と定め、ツリーＧを、図１２（ｂ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１｝を追加する（ステップＳ１５８）。この後、処理はステップＳ１４９に戻る。
【０１５９】
他方、ステップＳ１５７において、頂点ｕの外側境界が外向きｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなっていない、または，ｕの内側境界が図１２（ｂ）の左の形をしていない場合は（ステップＳ１５７の「Ｎｏ」）、ステップＳ１５９に移行する。
【０１６０】
ステップＳ１５９において、頂点ｕの外側境界が外向きｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなり、ｕの内側境界が図１２（ｄ）の形をしているか否かを判断する。頂点ｕの外側境界が１つのｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなり、ｕが図１２（ｄ）の形をしている場合は（ステップＳ１５９の「Ｙｅｓ」）、ｗ，ｚ１，．．．，ｚｋの頂点ｉｄをｕ＋１，ｕ０，．．．，ｕｋ−１と定め、ツリーＧを、図１２（ｄ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０，．．．，ｕｋ−１｝を追加する（ステップＳ１６０）。この後、処理はステップＳ１４９に戻る。
【０１６１】
他方、ステップＳ１５９において、頂点ｕの外側境界が外向きｈｏｍｏｃｌｉｎｉｃ  ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと丸囲みＳからなっていない、または，ｕの内側境界が図１２（ｄ）の形をしていない場合は（ステップＳ１５９の「Ｎｏ」）、ステップＳ１６１に移行する。
【０１６２】
ステップＳ１６１において、頂点ｕが図１２（ｃ）の左の形をしているか否かを判断する。頂点ｕが図１２（ｃ）の左の形をしている場合は（ステップＳ１６１の「Ｙｅｓ」），ｗ，ｙ１，ｙ２の頂点ｉｄをｕ＋１，ｕ０，ｕ１と定め、ツリーＧを、図１２（ｃ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０，ｕ１｝を追加する（ステップＳ１６２）。この後、処理はステップＳ１４９に戻る。
【０１６３】
ステップＳ１６１において、頂点ｕが図１２（ｃ）の左の形をしていない場合は（ステップＳ１６１の「Ｎｏ」）、ステップＳ１６３に移行する。
【０１６４】
ステップＳ１６３において、頂点ｕが図１２（ｃ）の右の形をしているか否かを判断する。頂点ｕが図１２（ｃ）の右の形をしている場合は（ステップＳ１６３の「Ｙｅｓ」），ｗ１，ｗ２の頂点ｉｄをｕ＋１，ｕ０と定め、ツリーＧを、図１２（ｃ）の右のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０｝を追加する（ステップＳ１６４）。この後、処理はステップＳ１４９に移行する。
【０１６５】
他方、ステップＳ１６３において、頂点ｕが図１２（ｃ）の右の形をしていない場合は（ステップＳ１６３の「Ｎｏ」）、ステップＳ１６５に移行する。
【０１６６】
ステップＳ１６５において、頂点ｕが図１２（ｇ）の形をしているか否かを判断する。頂点ｕが図１２（ｇ）の形をしている場合は（ステップＳ１６５の「Ｙｅｓ」）、ｗ、ｙ、ｚ１，．．．，ｚｋの頂点ｉｄをｕ＋１，ｕ０，ｕ１，．．．，ｕｋと定め、ツリーＧを、図１２（ｇ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０，．．．，ｕｋ｝を追加する（ステップＳ１６６）。この後、処理はステップＳ１４９に戻る。
【０１６７】
他方、ステップＳ１６５において、頂点ｕが図１２（ｇ）の形をしていない場合は（ステップＳ１６５の「Ｎｏ」）、ステップＳ１６７に移行する。
【０１６８】
ステップＳ１６７において、頂点ｕが図１２（ｈ）の左の形をしているか否かを判断する。頂点ｕが図１２（ｈ）の左の形をしている場合は（ステップＳ１６７の「Ｙｅｓ」）、ｗ，ｚ，ｙ１，．．．，ｙｌの頂点ｉｄをｕ＋１，ｕ０，ｕ１，．．．，ｕｌと定め、ツリーＧを、図１２（ｈ）の左のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０，ｕ１，．．．，ｕｌ｝を追加する（ステップＳ１６８）。ステップＳ１４９に戻る。
【０１６９】
ステップＳ１６７において、頂点ｕが図１２（ｈ）の左の形をしていない場合は（ステップＳ１６７の「Ｎｏ」）、ステップＳ１６９に移行する。
【０１７０】
ステップＳ１６９において、頂点ｕが図１２（ｈ）の右の形をしているか否かを判断する。頂点ｕが図１２（ｈ）の右の形をしている場合は（ステップＳ１６９の「Ｙｅｓ」）、ｗ，ｙ１，．．．，ｙｌの頂点ｉｄをｕ＋１，ｕ０，．．．，ｕｌ−１と定め、ツリーＧを、図１２（ｈ）の右のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０，．．．，ｕｌ−１｝を追加する（ステップＳ１７０）。この後、処理はステップＳ１４９に戻る。
【０１７１】
他方、ステップＳ１６９において、頂点ｕが図１２（ｈ）の右の形をしていない場合は（ステップＳ１６９の「Ｎｏ」）、ステップＳ１７１に移行する。
【０１７２】
ステップＳ１７１において、頂点ｕが図１２（ｆ）の形をしているか否かを判断する。頂点ｕが図１２（ｆ）の形をしている場合は（ステップＳ１７１の「Ｙｅｓ」）、ｗ，ｚ１，．．．，ｚｋ，ｙ１，．．．，ｙｌ，の頂点ｉｄをｕ＋１，ｕ０，．．．，ｕｋ−１，ｕｋ，．．．，ｕｌ＋ｋ−１と定め、ツリーＧを、図１２（ｆ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ＋１，ｕ０，．．．，ｕｌ＋ｋ−１｝を追加する（ステップＳ１７２）。この後、処理はステップＳ１４９に戻る。
【０１７３】
ステップＳ１７１において、頂点ｕが図１２（ｆ）の形をしていない場合は（ステップＳ１７１の「Ｎｏ」）、ステップＳ１７３に移行する。
【０１７４】
ステップＳ１７３において、頂点ｕが図１２（ｂ）の右の形をしているか否かを判断する。頂点ｕが図１２（ｂ）の右の形をしている場合は（ステップＳ１７３の「Ｙｅｓ」）、ｙの頂点ｉｄをｕ０と定め、ツリーＧを、図１２（ｂ）の右のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ０｝を追加する（ステップＳ１７４）。この後、処理はステップＳ１４９に戻る。
【０１７５】
他方、ステップＳ１７３において、頂点ｕが図１２（ｂ）の右の形をしていない場合は（ステップＳ１７３の「Ｎｏ」）、ステップＳ１７５に移行する。
【０１７６】
ステップＳ１７５において、頂点ｕが図１２（ｅ）の形をしているか否かを判断する。頂点ｕが図１２（ｅ）の形をしている場合は（ステップＳ１７５の「Ｙｅｓ」）、ｙ１，．．．，ｙｌの頂点ｉｄをｕ０，．．．，ｕｌ−１，と定め、ツリーＧを、図１２（ｅ）のツリーのラベルをｉｄとラベルの組に置き換えたツリーと定め、Ｔに｛ｕ０，．．．，ｕｌ−１｝を追加する（ステップ１７６）。この後、処理はステップＳ１４９に戻る。
【０１７７】
他方、ステップＳ１７５において、頂点ｕが図１２（ｅ）の形をしていない場合は（ステップＳ１７５の「Ｎｏ」）、ステップＳ１４９に戻る（この場合、ステップＳ１７７に示すように、頂点ｕは、図１２（ａ）の形をしている）。
【０１７８】
以上の操作が、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍからのツリーへの変換処理である。
【０１７９】
（２−２−３．グラフ表現とその正規表現）
以上のことから、１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔを持つｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに対して、そのルートを一義的に決定でき、また、そこから操作Ａ０，Ａ２，Ｂ０，Ｂ２，Ｃによって構成されるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの局所構造と、そこから導入される連結成分の間の親子関係は図９と図１２の中で全て表現されているので、以下のことが示されたことになる。
【０１８０】
Ｐｒｏｐｏｓｉｔｉｏｎ  ３．１：各１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔを持つ構造安定なハミルトンベクトル場の流線位相構造には固有のルート付き、ラベル付き、向き有りツリー表現が対応する。
【０１８１】
１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔを持たない構造安定なハミルトンベクトル場については、ルートの選び方は一義的ではない。なぜなら、内部に∂−ｓａｄｄｌｅをもたない円境界を含む任意の連結成分に対して、ある連続写像が存在して、それによってその連結成分を常に最も外側の連結成分にすることができるからである。したがって、ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍについては、その連結成分の数だけ異なるグラフ表現が存在することになる。このような曖昧さを取り除くために、こうした連続写像によって移りあってできるグラフ表現はそれぞれ別ということにする。すなわち、二つの構造安定なハミルトンベクトル場Ｖ１とＶ２に対して、Ｖ１〜Ｖ２なる同値関係を、ある同相写像Ｄｚ（Ｍ）上の同相写像が存在してＶ１とＶ２の各軌道が向きを変えることなく互いに写りあいＶ１とＶ２の外側境界が対応していることによって定義する。このとき、〜は同値関係を定め、この同値類に対して固有のルート付き、ラベル付き、向き有りツリーを与えることができる。
【０１８２】
Ｐｒｏｐｏｓｉｔｉｏｎ  ３．２：構造安定なハミルトニアンベクトル場の〜による同値類の流線位相構造には固有のルート付き、ラベル付き、向き有りツリー表現が対応する。
【０１８３】
（３．正規表現作成工程）
上記図２の正規表現作成工程（ステップＳ２）について詳細に説明する。さて、グラフ理論でよく知られた事実として、任意のルート付き、ラベル付き、向き有りツリーには固有の「正規表現（ｒｅｇｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎ）」なるものを考えることができる。ＴＨ＝（Ｖ，Ｅ）を上記方法で与えられた構造安定なハミルトンベクトル場Ｈに対して与えられたグラフ表現とする。このグラフ表現に対して、その正規表現は以下のようにして帰納的に与えられる。まず、ルート以外のすべての頂点のｉｎ−ｄｅｇｒｅｅはすべて１であることに注意する。もし、ｈｔ（ＴＨ）＝０ならグラフはルートのみ、すなわちＶ＝｛ｖ０｝であり、その正規表現はｌ（ｖ０）である。いま、高さｈｔ（ＴＨ）＝ｎ-１の正規表現Ｎがあった時に、そこにある頂点集合Ｔｎ-１＝｛ｖ１，ｖ２，．．．，ｖｍ｝とすると、各頂点ｖｉの子頂点集合Г（ｖｉ）＝｛ｖｉ１，ｖｉ２，．．．，ｖｉｍｉ｝とそれに対応するラベルｌｉ＝ｌ（ｖｉ）（ｉ＝１，．．．，ｍ）を使うと、Ｎに対してｌｉをｌｉ（ｌｉ１，ｌｉ２，．．．，ｌｉｍｉ）に置き換えることによって新しい正規表現が構成できる。ただし、ｌｉｋ＝ｌ（ｖｉｋ）（ｋ＝１，．．．，ｍｉ）である。このようにして構成されたＴＨの正規表現をＮＴＨとすると、その構成手法から以下の命題を得る。
【０１８４】
Ｐｒｏｐｏｓｉｔｉｏｎ  ３．３：ルート付き、ラベル付き、向き有りツリーＴから正規表現ＮＴへの写像ＮＴ＝ｆＮ（Ｔ）は全単射である。
【０１８５】
Ｐｒｏｐｏｓｉｔｉｏｎ  ３．１とＰｒｏｐｏｓｉｔｉｏｎ  ３．２の主張していることは、言い換えれば、（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍ  Ｈからそのグラフ表現ＴＨへの写像ＴＨ＝ｆＴ（Ｈ）は単射（１対１対応）となるので、上のＰｒｏｐｏｓｉｔｉｏｎ  ３．３と合わせれば、合成写像ＮＴ＝ｆＮ（ｆＴ（Ｈ））も単射になることがわかる。すなわち、同じ語表現を持つ構造安定なハミルトンベクトル場に対して異なる正規表現が与えられ、語表現で区別できないパターンも正規表現を使えば全て区別が可能となる。その実施例として、図１４−Ａに同じ語表現ＩＡ０Ｃで与えられる構造安定な流線パターンのグラフ表現の可視化とその正規表現を示す。（２−２−２．Ｉ−ｗｏｒｄおよびＩＩ−ｗｏｒｄによって表現される流れのグラフ表現）で説明したようにルートの連結成分は１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔの真下あるいは真上にあるものを選んでいる。これからもわかるように全ての正規表現は異なっている。
【０１８６】
図１４−Ａは、ＩＡ０Ｃなる語表現をもつ構造安定な流線パターンのグラフ表現とその正規表現を示している。ルートはその定義から１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔの真下の連結成分に対応している。グラフ表現を得るために、ルート連結成分を最も外側の連結成分へと写したものをその右側に描いている。
【０１８７】
（３−１．ツリーの正規表現への変換処理）
図１４−Ｂは、ツリーの正規表現への変換処理を説明するためのフローチャートである。図１４−Ｂに示す、ツリーの正規表現への変換処理は、コンピュータ等の装置により実行可能である。以下の処理では、前処理として，ツリーの全ての点にｉｄが与える。ただし，異なる点のｉｄは異なるものとする。図１４−Ｂにおいて、ｉｎｐｕｔをツリーＧとする（ステップＳ１７８）。ＶをツリーＧの頂点集合，ｓ＝０，Ｔ＝｛０｝，Ｘを空集合φ，正規表現Ｎ＝（ｓ，σφ）（）と置く（ステップＳ１７９）。
【０１８８】
ステップＳ１８０において、ｓの子を左から読んだ結果を（ｓ（１），σ（１）），．．．，（ｓ（ｈ），σ（ｈ））とする。このとき、正規表現Ｎの中の（ｓ，σ＊）（）をσ＊（ｓ（１），σ（１））（），．．．，（ｓ（ｈ），σ（ｈ））（））と置換し、Ｔに｛ｓ（１），．．．，ｓ（ｈ）｝、Ｘに｛ｓ｝を追加する。
【０１８９】
ステップＳ１８１において、♯Ｖ＝♯Ｘであるか否かを判断する。♯Ｖ＝♯Ｘである場合は（ステップＳ１８１の「Ｙｅｓ」）、正規表現Ｎをｏｕｔｐｕｔして、処理を終了する。
【０１９０】
他方、ステップＳ１８１において、♯Ｖ＝♯Ｘでない場合には（ステップＳ１８１の「Ｎｏ」）、ｓ’∈Ｔ−Ｘを一つ選び（注：選び方に依らない）、（ｓ，σ＊）を（ｓ’，σ’＊）と置換して（ステップＳ１８２）、ステップＳ１８０に戻る。
【０１９１】
以上の操作が、ツリーの正規表現への変換処理である。
【０１９２】
（４．語表現変換工程）
上記図２の語表現変換工程（ステップＳ３）について詳細に説明する。
（４−１．正規表現から語表現への変換アルゴリズム）
（４−１−１．許容正規表現（ａｄｍｉｓｓｉｂｌｅ  ｒｅｇｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎ））
以上説明したように、正規表現とｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉｇｒａｍは１対１に対応する（単射）ことがわかるので、正規表現からその語表現へのアルゴリズムを与えることができる。ただし、ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍから正規表現を与える合成写像ｆＮ（ｆＴ（Ｈ））は全射ではないので、すべての正規表現にこのアルゴリズムを適用することはできず、可能なのは合成写像ｆＮ（ｆＴ（Ｈ））の像となっている正規表現のみである。このような正規表現を許容正規表現（ａｄｍｉｓｓｉｂｌｅ  ｒｅｇｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎ）と称する。許容正規表現を特徴づけるために、以下のような正規表現のｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ（基本形）とｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ（前方置換）を定義する。すなわち、許容正規表現とは、ルートつき，ラベル付き，および方向つきのツリーに対応する正規表現のうち，ｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅの正規表現に対して，正規表現のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを施してできる全ての正規表現をいう。
【０１９３】
まず、ｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅは、+φ、-φ、ｏφを含む正規表現である。図１５は、５つのｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＴＮとそれに対応する正規表現Ｎを示している。これらの正規表現はグラフ表現におけるルートを含む（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに対応している。すなわち、+φ（+０、+０）や、ｏφ（ｏ２、+２，．．．．，+２）といった正規表現はＯＢ０やＩＣｋなる語表現を持つｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの正規表現となっている。
【０１９４】
次に、正規表現の形式的な文字列の変換ルールを定め、これらをｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ（前方置換）と呼ぶことにする。これらはラベル列ｂ１，．．．，ｂｎを正規表現中とラベルｌの下に付け加える変換規則であり、以後、ｌ→ｌ（ｂ１，．．．，ｂｎ）のような形で表現する。図１６は、１４個のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔのリストである。例えば、Ａ０＋なる前方置換は、ｏ０→ｏ０（ｏ０，+０）のように与えられる。
【０１９５】
各前方置換の内容を説明するために、その内部に流線の位相構造を持たないような連結成分を単純連結成分（ｓｉｍｐｌｅ  ｃｏｎｎｅｃｔｅｄ  ｃｏｍｐｏｎｅｎｔ）と呼ぶことにする。単純連結成分はグラフ表現においては子連結成分を持たないような頂点に対応している。このとき、図１６にあるｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは操作Ａ０，Ａ２，Ｂ０，Ｂ２，Ｃを単純連結成分の中にあるｓｓ−ｏｒｂｉｔやｃｌｏｓｅｄ  ｏｒｂｉｔに施したときにｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍの局所流線構造とその正規表現がどのように変化するかを記述したものである。
【０１９６】
図１７は、操作Ａ０，Ａ２，Ｃを施したときのｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔと流線構造の変化を表したものである。より詳細には、図１７は、ｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍにおける単純連結成分ｏ０あるいはｏ２にあるｓｓ−ｏｒｂｉｔに操作Ａ０，Ａ２，Ｃを適用して得られる流線の局所構造の変化に対応する正規表現のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔである。
【０１９７】
操作Ａ０を単純連結成分ｏ０にあるｓｓ−ｏｒｂｉｔに施したとき、図１７（ａ）に示すような、外向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと、図１７（ｂ）に示すような、内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎが得られる。この変化にともなって派生する正規表現のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを、それぞれＡ０＋：ｏ０→ｏ０（ｏ０，+０）およびＡ０−：ｏ０→ｏ０（ｏ０（-０））のように与える。Ｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ａ２Ｃｋは、図１７（ｃ）に示すような操作Ａ２Ｃｋを単純連結成分ｏ０にあるｓｓ−ｏｒｂｉｔに施したときに得られる正規表現の変換規則である。操作ＣｌＡ０，Ｃｌ，ＣｌＡ２Ｃｋ（ｋ，ｌ≧０）を単純連結成分ｏ２のｓｓ−ｏｒｂｉｔに施したときに得られる４つのｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣｌＡ０＋，ＣｌＡ０-，Ｃｌ○，ＣｌＡ２Ｃｋである（図１７（ｄ）−（ｇ）参照）。
【０１９８】
さらに、操作Ｂ０，Ｂ２，Ｃを単純連結成分に含まれるｃｌｏｓｅｄ  ｏｒｂｉｔに適用したときに図１８に示すようなｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔが定義できる。図１８は、（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍにおける単純連結成分σ０とσ２に含まれるｃｌｏｓｅｄ  ｏｒｂｉｔに操作Ｂ０，Ｂ２，Ｃを適用したときに得られる流線構造の変化に伴って励起する正規表現のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを説明するための図である。
【０１９９】
操作Ｂ０を適用して、図１８（ａ）と図１８（ｂ）に示すような、外向きおよび内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎが得られたときのｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、それぞれＢ０＋：σ０→σ０（σ０，σ０）およびＢ０−：σ０→σ０（σ０（μ０））である。操作Ｂ２Ｃｋ，ＣｌＢ０，ＣｌＢ０，Ｃｌ，ＣｌＢ２Ｃｋによって誘導されるｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、それぞれ図１８（ｃ）〜図１８（ｇ）に示すようなＢ２Ｃｋ，ＣｌＢ０＋，ＣｌＢ０-，Ｃσｌ，ＣｌＢ２Ｃｋである。最後に、ｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣｌＢ２Ｃｋについては、ｓｇｎ（σ２）の符合に応じて、ラベル間の順序関係のルール（１）を考慮すると、二種類のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔが得られることに注意する。
【０２００】
このｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅに対して帰納的にｆｏｒｗａｒｄ  ｒｅｐｌａｃｍｅｎｔを適用して得られる正規表現の集合を以下のように定義する。
【０２０１】
【数１】
2016072515.tif 000003
【０２０２】
正規表現がＯ−ｔｙｐｅ（あるいはＩ，ＩＩ−ｔｙｐｅ）であるとは、その正規表現が基本形Ｏ，ＯＢ０，ＯＢ２Ｃｋ（あるいはＩＣｋ  ｏｒ  ＩＩ）から上のルールで構成されるときをいう。操作によって得られる全ての局所流線構造が図１７及び図１８で網羅されているので、その構成方法から以下のことがわかる。
【０２０３】
【数２】
2016072515.tif 000004
【０２０４】
すべての構造安定なハミルトンベクトル場は、５個の操作Ａ０，Ａ２，Ｂ０，Ｂ２，Ｃをｆｕｎｄａｍｅｎｔａｌ  ｐａｔｔｅｒｎ  ３個のＯ，Ｉ，ＩＩに施して作られることに留意すれば以下を得る。このことは、数学的に正しいことが証明されている。この事実から次に与える語表現変換アルゴリズムに入力可能な許容正規表現は上の帰納的な方法によって定義されたものであることが示された。
【０２０５】
【数３】
2016072515.tif 000005
【０２０６】
（４−１−２．語表現への変換アルゴリズム）
以上から分かるように、これから与える語表現への変換アルゴリズムはｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅに各操作Ａ０，Ａ２，Ｂ０，Ｂ２，Ｃを施した時に得られるｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを順次繰り返して得られる正規表現だけを入力として受け取るこができる。
【０２０７】
したがって、与えられた許容正規表現について、各操作の作る特徴的流線構造を抽出したときにおこる正規表現の変化であるｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ（後方置換）を定義することができれば、そのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを使って正規表現を簡単にすると同時に抜き出された構造に対応する語表現の文字列を割り当てることによって語表現への変換が可能になる。
【０２０８】
すなわち、一つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎを持つｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｐｏｉｎｔ（あるいはｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎを持つ円境界）を消去する操作Ａ０（あるいはＡ２）の逆操作であり、操作Ｂ０（あるいはＢ２）の逆はｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎのペア（あるいは、ちょうど二つの∂−ｓａｄｄｌｅを持つ円境界）を円境界に置き換える操作である。二つ以上の∂−ｓａｄｄｌｅを持つ円境界についている∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎによって囲まれた単純連結成分を消去することが操作Ｃの逆操作である。ここで、ｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、許容正規表現の消去されるべき構造に対応した文字列の並びの変化として表現できることに注意する。
【０２０９】
まずは、Ｂ２の逆操作によって定義されるｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔのリストを与える。これらはｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＯＢ２Ｃｋ（ｋ＝０）およびｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ｂ２Ｃｋ，ＣｌＢ２Ｃｋ（ｋ＝０，ｌ≧０）の逆操作に対応する。Ｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＯＢ２：σφ→σφ（σ２）に対するｂａｃｋｗａｒｄ  ｒｅｐｌａｅｍｅｎｔは単純にσφ（σ２）→σφと書ける。見やすさのため、ｂａｃｋｗａｒｄ  ｒｅｐｌａｅｍｅｎｔによって消去される正規表現の文字列に、［数４］，［数５］，［数１１］，図１９，及び図２０では下線を付し、文章中では、［［  ］］を付す。図１８（ｃ）のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ｂ２に対するｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、その親連結成分σ０のまわりの構造に応じて異なっている。
【０２１０】
図１９は、（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍにおける局所流線構造の変化に対応する正規表現のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔの一例を示す図である。
【０２１１】
もし、連結成分σ０が外向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎで、図１９（ａ）のように囲まれているとき、∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれた単純連結成分を（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍから消去すれば、ｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  σ０（［［σ２］］）→σ０を得る。一方、親連結成分σ０が内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれているとき（図１９（ｂ））、そのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  σ０（μ０，［［σ２］］）→σ０（μ０）である。Ｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣｌＢ２のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、ラベルに対する順序関係のルール（１）からσ２の符合に応じて以下のいずれかで与えられる。
【０２１２】
【数４】
2016072515.tif 000006
【０２１３】
Ｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＯＢ０とｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ｂ０＋，Ｂ０-，ＣｌＢ０＋，ＣｌＢ０-の逆操作は、（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍからｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎのペアを円境界に置き換えることに対応する。Ｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＯＢ０に対するｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、外向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれているときはσφ（［［σ０，σ０］］）→σφ、内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれているときには、σφ（［［σ０（μ０）］］）→σφで与えられる。図１８（ａ）のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ｂ０＋の中にある連結成分σ０が外向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれているとき（図１９（ｃ）），そのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、σ０（［［σ０，σ０］］）→σ０で定義される。連結成分σ０が内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれているときのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは順序関係のルール（１）より図１９（ｄ）に示すように、+０（［［+０，＋０］］，-０）→+０（-０）あるいは-０（+０，［［-０，-０］］）→-０（+０）のいずれかである。
【０２１４】
同様の議論から、ｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ｂ０-に対して三つのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  σ０（［［σ０（μ０）］］）→σ０，+０（［［+０（-０）］］,-０）→+０（-０），-０（+０，［［-０（+０）］］）→-０（+０）が得られる。図１８（ｄ）と図１８（ｅ）のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣｌＢ０＋，ＣｌＢ０-（ｌ≧０）は以下のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを誘導する。
【０２１５】
【数５】
2016072515.tif 000007
【０２１６】
∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれた単純連結成分を消去することに対応するｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔはｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＩＣｋ（ｋ≠０）およびｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ａ２Ｃｋ，Ｂ２Ｃｋ（ｋ≠０），ＣｌＡ０＋，ＣｌＡ０-，ＣｌＢ０＋，ＣｌＢ０-（ｌ≠０），ＣＯｌ，Ｃσｌ，ＣｌＡ２Ｃｋ，（ｌ＋ｋ≠０），ＣｌＢ２Ｃｋの逆操作に対応している。操作Ｃは円境界にいくつでも適用できることから、そのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは、円境界についている∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれた単純連結成分を含む列（＋２，．．．，＋２）や（-２，．．．，-２）から、単純連結成分のどれか一つを消去することを表現する。Ｆｕｎｄａｍｅｎｔａｌ  ｔｙｐｅ  ＩＣｋ（ｋ≧１）のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは以下のとおりである。
【０２１７】
【数６】
2016072515.tif 000008
【０２１８】
図１７（ｃ）に示したｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ａ２Ｃｋ（ｋ≠０）に対して、連結成分ｏ０が図１９（ｅ）や図１９（ｆ）のように外向きあるいは内向きｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれている場合、∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれた単純連結成分+２を消去して得られるｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔはそれぞれ以下のようになる。
【０２１９】
【数７】
2016072515.tif 000009
【０２２０】
同様に、図１８（ｃ）のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  Ｂ２Ｃｋ（ｋ≧０）において、連結成分σ０が外向き、内向きのｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれているとき、そのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは以下のようになる。
【０２２１】
【数８】
2016072515.tif 000010
【０２２２】
図１７（ｄ）〜図１７（ｆ）及び図１８（ｄ）〜図１８（ｆ）に示すｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣＯｌ，Ｃσｌ，ＣｌＡ０＋，ＣｌＡ０-，ＣｌＢ０＋，ＣｌＢ０-（ｌ≧０）はすべて、∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎに囲まれた連結成分ｏ２やσ２に対して定義されているので、それに対するｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔは自然に以下のように定義できる。
【０２２３】
【数９】
2016072515.tif 000011
【０２２４】
図１７（ｇ）と図１８（ｇ）のｆｏｒｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣｌＡ２Ｃｋ，ＣｌＢ２Ｃｋ（ｌ＋ｋ≠０）については、単純連結成分＋２，-２のいずれを消去するかに応じて、また順序関係のルール（１）から、それぞれ二つの異なるｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔが得られる。
【０２２５】
【数１０】
2016072515.tif 000012
【０２２６】
図２０は、操作Ｂ０，Ｂ２，Ｃの逆操作により誘導される正規表現のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ［Ｂ２］，［Ｂ０］および［Ｃ］のリストを示している。最後に与えられた許容正規表現に対して、図２０中のｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔを可能な限り施していった場合に最終的に得られる正規表現の語表現は以下のようになる。このことは、数学的に正しいことが証明されている。
【０２２７】
Ｌｅｍｍａ  ４．２：与えられた許容正規表現Ｎが［Ｂ０］，［Ｂ２］，［Ｃ］に含まれるすべてのｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔがもはや施せなくなったとき、その正規表現に対する語表現は以下のいずれかである。
【０２２８】
１）Ｎの語表現はＯ
２）Ｎの語表現はＩＡ０ｐ＋ｍＡ２ｃ-２-ｐ-ｍかＩＩＡ０ｃ−２のいずれかである。ただし、ｃ，ｐ，ｍは、Ｎに含まれるｏ＊，+０，-０のいずれかである。
【０２２９】
最後に、この変換アルゴリズムの実施例を示す。図２１は、正規表現ｏφ（ｏ２（ｏ２（ｏ０（-０（-０，-０）））），+２（+２））を持つ構造安定なハミルトンベクトル場のｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍである。これにｂａｃｋｗａｒｄ  ｒｅｐｌａｃｅｍｅｎｔ  ＣｌＢ２（ｌ＝０），Ｂ０，ＩＣを順次適用すれば、正規表現は以下のようになる。
【０２３０】
【数１１】
2016072515.tif 000013
【０２３１】
この結果、取り出した構造に応じて部分語列ＣＢ０Ｂ２を得る。残った正規表現ｏφ（ｏ２（ｏ２（ｏ０（-０））））の中にあるｏ＊，＋０，-０の数を数えると、ｃ＝４，ｐ＝０，ｍ＝１を得るので、ｏ２が存在することと、ｐ＋ｍ＝１，ｃ-２-ｐ-ｍ＝１から、結果として語表現ＩＡ０Ａ２ＣＢ０Ｂ２を得ることができる。
【０２３２】
（４−１−３．正規表現の語表現への変換処理）
図２２−Ａ〜図２２−Ｃは、正規表現の語表現への変換処理を説明するためのフローチャートである。図２２−Ａ〜図２２−Ｃに示す正規表現の語表現への変換処理は、コンピュータ等の装置で実行可能である。以下、σ∈｛＋，−｝を表し、μ＝−σとする。図２２−Ａ〜図２２−Ｃにおいて、まず、ｉｎｐｕｔを正規表現Ｎとする（ステップＳ１８４）。語Ｗを空集合φと置く（ステップＳ１８５）。
【０２３３】
ステップＳ１８６において、ｉｎｎｅｒｍｏｓｔなσ２を含むσφ（σ２）またはｉｎｎｅｒｍｏｓｔなσ２を含むσ０（σ２）が正規表現Ｎに含まれるか否かを判断する。ｉｎｎｅｒｍｏｓｔなσ２を含むσφ（σ２）またはｉｎｎｅｒｍｏｓｔなσ２を含むσ０（σ２）が正規表現Ｎに含まれる場合は（ステップＳ１８６の「Ｙｅｓ」）、ステップＳ１８７に移行する。
【０２３４】
ステップＳ１８７において、σφ（σ２）またはσ０（σ２）に含まれるｉｎｎｅｒｍｏｓｔなσ２を正規表現Ｎから抜き、ＷをＢ２Ｗと置換して（ステップＳ１８８）、ステップＳ１８６に戻る。
【０２３５】
他方、ステップＳ１８６において、ｉｎｎｅｒｍｏｓｔなσ２を含むσφ（σ２）またはｉｎｎｅｒｍｏｓｔなσ２を含むσ０（σ２）が正規表現Ｎに含まれない場合は（ステップＳ１８６の「Ｎｏ」）、ステップＳ１８９に移行する。
【０２３６】
ステップＳ１８９において、正規表現Ｎの中にｉｎｎｅｒｍｏｓｔな＋２を含む＋２（＋２，−２，．．．，−２）が存在するか否かを判断する。正規表現Ｎの中にｉｎｎｅｒｍｏｓｔな＋２を含む＋２（＋２，−２，．．．，−２）が存在する場合は（ステップＳ１８９の「Ｙｅｓ」）、このｉｎｎｅｒｍｏｓｔな＋２を正規表現Ｎから抜き出し（ステップＳ１９０）、ＷをＢ２Ｗと置換して（ステップＳ１８８）、ステップＳ１８６に戻る。
【０２３７】
他方、ステップＳ１８９において、正規表現Ｎの中にｉｎｎｅｒｍｏｓｔな＋２を含む＋２（＋２，−２，．．．，−２）が存在しない場合は（ステップＳ１８９の「Ｎｏ」）、ステップＳ１９１に移行する。
【０２３８】
ステップＳ１９１において、正規表現Ｎの中にｉｎｎｅｒｍｏｓｔな−２を含む−２（＋２，．．．，＋２，−２）が存在するか否かを判断する。正規表現Ｎの中にｉｎｎｅｒｍｏｓｔな−２を含む−２（＋２，．．．，＋２，−２）が存在する場合は（ステップＳ１９１の「Ｙｅｓ」）、このｉｎｎｅｒｍｏｓｔな−２を正規表現Ｎから抜き出し（ステップＳ１９２）、ＷをＢ２Ｗと置換し（ステップＳ１８８）、ステップＳ１８６に戻る。
【０２３９】
他方、ステップＳ１９１において、正規表現Ｎの中にｉｎｎｅｒｍｏｓｔな−２を含む−２（＋２，．．．，＋２，−２）が存在しない場合は（ステップＳ１９１の「Ｎｏ」）、ステップＳ１９３に移行する。
【０２４０】
ステップＳ１９３において、連続する２つのｉｎｎｅｒｍｏｓｔなσ０，σ０が正規表現Ｎに含まれるか否かを判断する。連続する２つのｉｎｎｅｒｍｏｓｔなσ０，σ０が正規表現Ｎに含まれる場合は（ステップＳ１９３の「Ｙｅｓ」）、このようなσ０，σ０を正規表現Ｎから抜き出し（ステップＳ１９４）、ＷをＢ０Ｗと置換し（ステップＳ１９５）、ステップＳ１９３に戻る。
【０２４１】
他方、ステップＳ１９３において、連続する２つのｉｎｎｅｒｍｏｓｔなσ０，σ０が正規表現Ｎに含まれない場合は（ステップＳ１９３の「Ｎｏ」）、ステップＳ１９６に移行する。
【０２４２】
ステップＳ１９６において、ｉｎｎｅｒｍｏｓｔなσ０（μ０）が正規表現Ｎに含まれるか否かを判断する。ｉｎｎｅｒｍｏｓｔなσ０（μ０）が正規表現Ｎに含まれる場合は（ステップＳ１９６の「Ｙｅｓ」）、このようなσ０（μ０）を正規表現Ｎから抜き（ステップＳ１９７）、ＷをＢ０Ｗと置換し（ステップＳ１９５）、ステップＳ１９３に移行する。
【０２４３】
ステップＳ１９６において、ｉｎｎｅｒｍｏｓｔなσ０（μ０）が正規表現Ｎに含まない場合は（ステップＳ１９６の「Ｎｏ」）、ステップＳ１９８に移行する。
【０２４４】
ステップＳ１９８において、正規表現Ｎに、連続する２つ以上のσ２，．．．，σ２の中にｉｎｎｅｒｍｏｓｔなσ２が含まれているか否かを判断する。正規表現Ｎに、連続する２つ以上のσ２，．．．，σ２の中にｉｎｎｅｒｍｏｓｔなσ２が含まれている場合は（ステップＳ１９８の「Ｙｅｓ」）、このようなσ２を正規表現Ｎから抜き（ステップＳ１９９）、ＷをＣＷと置換して（ステップＳ２００）、ステップＳ１９８に戻る。
【０２４５】
他方、ステップＳ１９８において、正規表現Ｎに、連続する２つ以上のσ２，．．．，σ２の中にｉｎｎｅｒｍｏｓｔなσ２が含まない場合は（ステップＳ１９８の「Ｎｏ」）、ステップＳ２０１に移行する。
【０２４６】
ステップＳ２０１において、ｏ＊の子でｉｎｎｅｒｍｏｓｔなσ２が正規表現Ｎに存在するか否かを判断する。ｏ＊の子でｉｎｎｅｒｍｏｓｔなσ２が正規表現Ｎに存在する場合は（ステップＳ２０１の「Ｙｅｓ」）、このようなσ２を正規表現Ｎから抜き（ステップＳ１９９）、ＷをＣＷと置換して（ステップＳ２００）、ステップＳ１９８に戻る。
【０２４７】
他方、ステップＳ２０１において、ｏ＊の子でｉｎｎｅｒｍｏｓｔなσ２が正規表現Ｎに存在しない場合は（ステップＳ２０１の「Ｎｏ」）、ステップＳ２０２に移行する。
【０２４８】
ステップＳ２０２において、σ２の子でｉｎｎｅｒｍｏｓｔなμ２が正規表現Ｎに存在するか否かを判断する。σ２の子でｉｎｎｅｒｍｏｓｔなμ２が正規表現Ｎに存在する場合は（ステップＳ２０２の「Ｙｅｓ」）、このようなμ２を正規表現Ｎから抜き（ステップＳ２０３）、ＷをＣＷと置換し（ステップＳ２００）、ステップＳ１９８に戻る。
【０２４９】
他方、ステップＳ２０２において、σ２の子でｉｎｎｅｒｍｏｓｔなμ２が存在しない場合は（ステップＳ２０２の「Ｎｏ）、ステップＳ２０４に移行する。
【０２５０】
ステップＳ２０４において、正規表現Ｎの中にσ２が存在するか否かを判断する。正規表現Ｎの中にσ２が存在する場合は（ステップＳ２０４の「Ｙｅｓ」）、ステップＳ１８６に戻る。
【０２５１】
他方、ステップＳ２０４において、正規表現Ｎの中にσ２が存在しない場合は（ステップＳ２０４の「Ｎｏ」）、ステップＳ２０５に移行する。
【０２５２】
ステップＳ２０５において、正規表現Ｎの中にσ０（μ０）が存在するか否かを判断する。正規表現Ｎの中にσ０（μ０）が存在する場合は（ステップＳ２０５の「Ｙｅｓ」）、ステップＳ１８６に戻る。
【０２５３】
他方、ステップＳ２０５において、正規表現Ｎの中にσ０（μ０）が存在しない場合は（ステップＳ２０５の「Ｎｏ」）、ステップＳ２０６に移行する。
【０２５４】
ステップＳ２０６において、正規表現Ｎに連続する２つのσ０，σ０が存在するか否かを判断する。正規表現Ｎに連続する２つのσ０，σ０が存在する場合は（ステップＳ２０６の「Ｙｅｓ」）、ステップＳ１８６に戻る。
【０２５５】
他方、ステップＳ２０６において、正規表現Ｎに連続する２つのσ０，σ０が存在しない場合は（ステップＳ２０６の「Ｎｏ」）、ステップＳ２０７に移行する。
【０２５６】
ステップＳ２０７において、正規表現Ｎがσφであるか否かを判断する。正規表現Ｎがσφの場合は（ステップＳ２０７の「Ｙｅｓ」）、ＷをＯＷと置換し（ステップＳ２０８）、語Ｗをｏｕｔｐｕｔして（ステップＳ２１２）、処理を終了する。
【０２５７】
他方、ステップＳ２０７において、正規表現Ｎがσφでない場合は（ステップＳ２０７の「Ｎｏ」）、ステップＳ２０９に移行する。
【０２５８】
ステップＳ２０９において、正規表現Ｎがｏ２を含むか否かを判断する。正規表現Ｎがｏ２を含む場合は（ステップＳ２０９の「Ｙｅｓ」）、ＷをＩＡ０ｐ＋ｍＡ０ｃ−２−ｐ−ｍＷと置換し（ステップＳ２１０）、語Ｗをｏｕｔｐｕｔして（ステップＳ２１２）、処理を終了する。ただし，ｃ，ｐ，ｍはＮに含まれるｏ＊，＋０，−０の数とする。
【０２５９】
他方、ステップＳ２０８において、正規表現Ｎがｏ２を含まない場合は（ステップＳ２０８の「Ｎｏ」）、ＷをＩＩＡ０ｃ−２Ｗと置換し（ステップＳ２１１）、語Ｗをｏｕｔｐｕｔして（ステップＳ２１２）、処理を終了する。
【０２６０】
以上の処理が、正規表現の語表現への変換処理である。
【０２６１】
つづいて、上述した本実施の形態の流れパターンの正規表現作成方法をコンピュータにより実施するための装置構成について説明する。なお、以上の本実施の形態による方法を、人またはコンピュータにより実施してもよく、以下の実施形態による処理等を人により実施する場合に用いてもよいものである。
【０２６２】
［正規表現作成装置の構成］
次に、本実施の形態に係る正規表現作成装置の構成について図２３を参照して説明する。図２３は、本実施の形態が適用される正規表現作成装置１００の一例を示すブロック図であり、該構成のうち本実施形態に関係する部分のみを概念的に示している。
【０２６３】
図２３に示すように、本実施形態における正規表現作成装置１００は、概略的に、制御部１０２と記憶部１０６を少なくとも備え、本実施形態において、更に、入出力制御インターフェース部１０８と通信制御インターフェース部１０４を備える。ここで、制御部１０２は、正規表現作成装置１００の全体を統括的に制御するＣＰＵ等である。また、通信制御インターフェース部１０４は、通信回線等に接続されるルータ等の通信装置（図示せず）に接続されるインターフェースであり、入出力制御インターフェース部１０８は、入力装置１１２や出力装置１１４に接続されるインターフェースである。また、記憶部１０６は、正規表現作成装置１００で上述の正規表現作成方法を実行するために必要な各種のデータ（例えば、図４〜図９、図１１〜図１２，図１４−Ａ，図１５〜図２１に示すものをデータ化したもの等）、データベース、およびテーブル等を格納する装置である。これらのデータ、データベース、およびテーブル等は、制御部１０２が正規表現作成方法を実行する際に必要により参照される。これら正規表現作成装置１００の各部は任意の通信路を介して通信可能に接続されている。更に、この正規表現作成装置１００は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク１３０に通信可能に接続されている。
【０２６４】
記憶部１０６に格納される各種のデータ、データベース、およびテーブル（シミュレーション結果ファイル１０６ａ、流線図ファイル１０６ｂ、および、正規表現ファイル１０６ｃ等）等は、固定ディスク装置等のストレージ手段である。例えば、記憶部１０６は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。
【０２６５】
これら記憶部１０６の各構成要素のうち、シミュレーション結果ファイル１０６ａは、シミュレーション部１０２ａにより数理的にシミュレーションされた、シミュレーション結果を示すデータを記憶するシミュレーション結果記憶手段である。例えば、シミュレーション結果ファイル１０６ａは、構造物の形状を示す設計変数の値や、その構造物に対する所定の流体（海流や気流等）の流体力学的シミュレーション結果（各空間座標における流体の圧力や流れの向き等）を示すデータであってもよい。なお、シミュレーション結果ファイル１０６ａは、風洞実験等の実験室内でのモデル計測などを通じて事前に入力装置１１２を介して入力されたデータをシミュレーション結果として記憶してもよい。
【０２６６】
また、流線図ファイル１０６ｂは、流線図等の流線を示すデータを記憶する流線データ記憶手段である。例えば、流線図ファイル１０６ｂに記憶される流線データは、シミュレーション結果を示すデータに基づいて流線解析部１０２ｂにより解析された流線を示すデータであってもよい。
【０２６７】
また、正規表現ファイル１０６ｃは、正規表現データを記憶する正規表現記憶手段である。例えば、正規表現ファイル１０６ｃに記憶される正規表現データは、文字列等である。
【０２６８】
図２３に戻り、入出力制御インターフェース部１０８は、入力装置１１２や出力装置１１４の制御を行う。ここで、出力装置１１４としては、モニタ（家庭用テレビを含む。）の他、スピーカを用いることができる（なお、以下においては出力装置１１４をモニタとして記載する場合がある）。また、入力装置１１２としては、キーボード、マウス、およびマイク等を用いることができる。
【０２６９】
また、図２３において、制御部１０２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部１０２は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部１０２は、機能概念的に、シミュレーション部１０２ａ、流線解析部１０２ｂ、グラフ表現作成部１０２ｃ、正規表現作成部１０２ｄ、および、語表現変換部１０２ｅを備える。
【０２７０】
このうち、シミュレーション部１０２ａは、構造物に対する流体のシミュレーションを行うシミュレーション手段であり、例えば、上述の設計パラメータ選択工程（図２４参照）および第２の設計パラメータ選択工程（図２９等参照）等を実行する。ここで、シミュレーション部１０２ａは、２次元平面におけるシミュレーションに限られず、３次元空間における流体のシミュレーションを行ってもよいものである。また、シミュレーション部１０２ａは、公知の最適化手法を用いて、構造物の最適化を行ってもよい。例えば、シミュレーション部１０２ａは、構造物の形状を決定する設計変数を、焼きなまし法や遺伝的アルゴリズム法等を用いて繰り返し変化させながら、当該構造物に対する流体シミュレーションを行って、適切な構造物の形状（例えば、水流に対する抵抗の少ない橋脚の形状等）を求めてもよい。なお、本実施形態において、シミュレーション部１０２ａは、シミュレーション結果を示すデータをシミュレーション結果ファイル１０６ａに格納する。例えば、シミュレーション部１０２ａは、構造物の形状を示す設計変数の値や、その構造物に対する所定の流体（海流や気流等）の流体力学的シミュレーション結果（各空間座標における流体の圧力や流れの向きや抵抗等）を示すデータを格納してもよい。
【０２７１】
また、流線解析部１０２ｂは、流線解析を行う流線解析手段である。ここで、流線解析部１０２ｂは、シミュレーション部１０２ａによるシミュレーション結果に対し流線解析を行って流線図を導出してもよい。例えば、流線解析部１０２ｂは、シミュレーション結果ファイル１０６ａに記憶された、数値シミュレーションや実験のデータから、公知の手法を用いて流線図を作成する。具体的には、流線解析部１０２ｂは、数値シミュレーション結果から、ｓａｄｄｌｅ  ｐｏｉｎｔや１−ｓｏｕｒｃｅ−ｓｉｎｋ  ｐｏｉｎｔなどをすべて計算した後、その点における流れ関数の値と同じ値を持つ流れ関数の等高線をすべて描画し、また、境界（ｂｏｕｎｄａｒｙ）上の流れ関数の値と同じ値を持つ流れ関数の等高線をすべて描画することにより流線図の作成が可能となる。なお、３次元のシミュレーション結果の場合、流線解析部１０２ｂは、構造物における断面における２次元のデータに変換してから、流線解析を行ってもよい。断面とする平面は任意であるが好適には、流線解析部１０２ｂは、流体の流れ方向（一様流）の方向に沿った断面で２次元データに変換してもよい。例えば、列車や自動車や航空機等の乗り物においては、進行方向に沿って断面を生成してもよい。また、流線解析部１０２ｂは、Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｈｏｍｏｌｏｇｙ（非特許文献１）に記載の技術等を用いて、流れ場から条件を満たす特徴的な構造を抽出してもよい。なお、本実施形態において、流線解析部１０２ｂは、作成した流線図データを流線図ファイル１０６ｂに格納する。
【０２７２】
また、グラフ表現作成部１０２ｃは、上述のグラフ表現作成工程（ステップＳ１）を実行するためのグラフ表現作成手段であり、例えば、図１０−Ａ〜図１０−Ｅに示す、Ｏ系列におけるｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理、および図１３−Ａ〜図１３−Ｄに示す、Ｉ，ＩＩ系列におけるｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍのツリーへの変換処理等を実行することにより、位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンに１対１に対応するグラフ表現を作成する。ここで、グラフ表現は、流れパターンで規定される構造安定なハミルトンベクトル場Ｈに対して、固有のルート付き、ラベル付き、向き有りツリーＴＨ＝（Ｖ，Ｅ）を割り当て（但し、Ｖは頂点と呼ばれる点の集合、Ｅは、頂点の間を結ぶエッジの集合である）、平面グラフとして可視化したものであってもよい。また、グラフ表現は、親の頂点をｖ、その子の頂点をｗ，親の頂点ｖに割り当てられたラベルをｌ（ｖ）、子の頂点ｗに割り当てられたラベルをｌ（ｗ），ｖの子頂点集合Γ（ｖ）とした場合、ｖの子頂点集合Γ（ｖ）を所定の順序関係のルールに従って並び替え、ｗ∈Γ（ｖ）について、ｌ（ｖ）からｌ（ｗ）への矢印を左から右に並べて描画されたものを含んでいてもよい。また、流れパターンは、（１）一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩ、（２）前記一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結ぶｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩＩ、（３）二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンＯ、の１又は複数であってもよい。また、流れパターンが吸い込み湧き出し対を持つ場合は、流れパターンをその吸い込み湧き出し対に最も近い反時計回りのｓｓ−ｏｒｂｉｔを含む領域が一番外側領域になるように変換し、変換した流れパターンの（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道を領域全体から抽出し、領域全体から（ｓｓ−）ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎ  ｄｉａｇｒａｍに現れる軌道をすべて除外して得られる連結成分に頂点を設定し、一番外側にある連結成分をルートとし、カレント成分をルートに設定し、カレント成分と互いに境界を接するような連結成分をカレント成分の子として、境界にあたる軌道に応じてラベルを割り当て，当該ラベルを所定の順序関係に従って並べ、カレント成分の子をカレント成分に設定して、子がなくなるまで繰り返すことにしてもよい。また、かかる流れパターンは、パターン語の１又は複数から開始し、流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を付与する操作を、穴の数がＮ個となるまで繰り返して作成された流れパターン図であるこ���にしてもよい。
【０２７３】
また、正規表現作成部１０２ｄは、上述の正規表現作成工程（ステップＳ２）を実現するための正規表現作成手段であり、例えば、図１４−Ｂに示す、ツリーの正規表現への変換処理等を実行することにより、グラフ表現作成部１０２ｃで作成されたグラフ表現から正規表現を作成する。
【０２７４】
また、語表現変換部１０２ｅは、上述の語表現変換工程（ステップＳ３）を実現するための語表現作成手段であり、例えば、図２２−Ａ〜図２２−Ｃに示す正規表現の語表現への変換処理等を実行して、正規表現作成部１０２ｄで作成された正規表現を語表現に変換する。語表現は、一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンに加えて、二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンを追加した、合計３種類の流れパターンを規定するパターン語に対して、上記流れパターンに一つの穴を加える場合に位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を、追加された穴の数だけ付与することにより形成された記号語であることにしてもよい。
【０２７５】
以上が、本実施形態における正規表現作成装置１００の構成の一例である。なお、正規表現作成装置１００は、ネットワーク１３０を介して外部システム１２０に接続されてもよい。この場合、通信制御インターフェース部１０４は、正規表現作成装置１００とネットワーク３００（またはルータ等の通信装置）との間における通信制御を行う。すなわち、通信制御インターフェース部１０４は、他の端末と通信回線を介してデータを通信する機能を有する。また、ネットワーク１３０は、正規表現作成装置１００と外部システム２００とを相互に接続する機能を有し、例えば、インターネット等である。
【０２７６】
また、外部システム１２０は、ネットワーク１３０を介して、正規表現作成装置１００と相互に接続され、シミュレーション結果データや流線図データ等の各種データに関する外部データベースや、接続された情報処理装置に語表現方法を実行させるためのプログラム等を提供する機能を有する。
【０２７７】
ここで、外部システム１２０は、ＷＥＢサーバやＡＳＰサーバ等として構成していてもよい。また、外部システム１２０のハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部システム１２０の各機能は、外部システム１２０のハードウェア構成中のＣＰＵ、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
【０２７８】
［語表現と正規表現を使った流体中の物体の設計方法］
例えば、橋や橋脚など流体中におかれた物体（以下設計対象と呼ぶ）の形状や配置、またその周囲の流れの制御などを通じて設計の対象にとって最適なパラメータを定めるような設計手法について，語表現と正規表現を使ってどのように設計を行うかを説明する。
【０２７９】
前提１：設計対象には変更可能な設計パラメータがある（形状・配置・流れの制御装置など）。
前提２：設計対象を設計する上で、問題に応じた「最適な状態」が設定されており、その最適状態が流線構造の特徴として記述できているものとする。例えば、剥離渦を閉じこめる状態を最適状態とすると、翼であれば揚力の最大化，橋脚であれば抗力の最小化などが期待できる。
前提３：これらの設計において、設計パラメータを変えて実験および数値計算（そしてそれにおいて得られる流線パターンの語表現・正規表現）ができるものとする。以下、二次元の流れに限定する。三次元の場合は断面をとって考えたりして二次元化することなどで設計が可能になる場合もある（三次元の場合はすべての場合でできるとは限らないことに注意する）。
【０２８０】
従来の最適化設計においては，初期状態から始めて、設計パラメータを経験や試行錯誤、あるいは既知の最適化手法などによる最適化が行われている。ある種の最適化が実現できても、それは局所的な最適化であったり物理的に不安定であったりして実際の設計に耐えうるかどうか分からないところがある。
【０２８１】
本実施の形態による設計パラメータの探索では、かかる状況に対して、最初から理想的な状況を流線パターンの語表現や正規表現として設定しておいて、それが実現されるようパラメータ領域を探索することができるようになる。こうして最適な設定を実現する設計パラメータの「候補」をできるだけ多くかつ速やかに探すことができるようになる。それらの候補から始めて、既知の最適化手法を行うことで多くのかつ実現性の高い設計パラメータが得られる可能性が高くなる。
【０２８２】
図２４は、語表現と正規表現を使用した流体中の物体の設計方法、すなわち、上述の設計パラメータ選択工程を説明するためのフローチャートである。図２４に示すフローチャートは、シミュレーション部１０２ａにより実行される。
【０２８３】
図２４において、まず、とりうる設計パラメータの上限と下限を定める（ステップＳ３１１）。次に、上記ステップＳ３１１で定めたパラメータ領域（設計パラメータの上限と下限で規定される領域を「パラメータ領域」と称する）を分割して、パラメータ領域からＮ個のパラメータの組み合わせサンプル（設計パラメータＰｉ（ｉ＝１，・・・，Ｎ））を選択する（ステップＳ３１２）。なお、サンプルの選択は、これまでの経験や計算結果などを踏まえて適当に選んでも良いし、先験的な情報がないときは、パラメータ領域を等分してサンプリングしてもよい。
【０２８４】
以下では、渦閉じこめ状態を表す語表現として「Ｃ」が語表現に含まれることを設計の目的とする例を説明する。各設計パラメータＰｉ（ｉ＝１，・・・，Ｎ）に対してそれぞれ流れの実験や数値計算を行う（ステップＳ３１３）。得られた各結果に語表現と正規表現の割り当てを行う（ステップＳ３１４）。その語表現が最適状態を表すＩＣの部分語を持つ、あるいはそれに対応する正規表現を持つ構造表現か否かを判断する（ステップＳ３１５）。その語表現が最適状態を表すＩＣの部分語を持つ，あるいはそれに対応する正規表現を持つ構造表現の場合は（ステップＳ３１５の「Ｙｅｓ」）、設計パラメータの候補として採用する（ステップＳ３１６）。他方、その語表現が最適状態を表すＩＣの部分語を持つ、あるいはそれに対応する正規表現を持つ構造表現でない場合は（ステップＳ３１５の「Ｎｏ」）、設計パラメータの候補には採用しない。
【０２８５】
なお、ＩＣなる部分語表現を持たなくても，正規表現と語表現を用いて流体遷移経路（遷移パターン）を取得する方法を使って、一回の遷移でＩＣやそれに対応する正規表現を持つ構造に移るパターンであれば、これも設計パラメータの候補として採用することにしてもよい。
【０２８６】
ステップＳ３１７では、設計パラメータの候補があるか否かを判断し（ステップＳ３１７）、設計候補のパラメータがある場合には（ステップＳ３１７の「Ｙｅｓ」）、設計パラメータの候補に対して既存の最適化手法を適用する（ステップＳ３１９）。なお、既存の最適化手法を適用するだけでなく，最適化過程の各段階において、常に語表現や正規表現を計算してモニタリングすることで、定量的な流れの最適化に加えて、理想的な流線構造の最適化も同時に行うような最適化設計も可能である。
【０２８７】
他方、設計パラメータの候補がない場合には（ステップＳ３１７の「Ｎｏ」）、パラメータ領域を更に細かく分割して（ステップＳ３１８）、ステップＳ３１３〜Ｓ３１７の処理を実行する。
【０２８８】
図２５及び図２６は、上記の語表現と正規表現を使用した流体中の物体の設計方法を説明するための具体例の一例を説明するための図である。図２５において、一様流中におかれた物体２００の背後に渦構造が二つ（渦１，渦２）存在するような状況があったとする。一様流の速さ（あるいは物体の進行速度）をＵとし、物体２００は角速度Ｇで回転できるものとする。渦の強さと位置は流れにおいて既に与えられているとして、このうち渦１を「閉じこめて」、物体２００にかかる揚力を最大化し、渦２は流れに沿って物体から遠ざかることができるような装置を、「ＵやＧのパラメータ」を探索して最適化することを考える。渦閉じこめ状態の語表現は「Ｃ」によって遠ざかる渦は「Ａ０」によって表現できるので、ターゲットとなる状況の語表現としてはＩＡ０Ｃを達成するものを本設計手法の適用によりパラメータ領域を絞り込む。
【０２８９】
本設計パラメータについて，Ｕは０から１．１まで変化でき，Ｇは-１．６×２πから１．６×２πまで変化できるものとする（上記ステップＳ３１１で設計パラメータの上限、下限を定める）。これらのパラメータ区間を５等分して設計パラメータ領域を分割し（上記ステップＳ３１２）する。そして、上記ステップＳ３１３〜Ｓ３１９を実行した結果が、図２６の（ａ）〜（ｆ）である。このパラメータ領域のうち、この設計手法によって最適化設計は「０．５≦Ｕ≦０．９，Ｇ＝-０．８×２π」(図２６の（ａ）〜（ｃ）に対応)および「０．３≦Ｕ≦０．７，Ｇ＝０」（図２６の(ｄ)〜（ｆ）に対応）の間で達成されている。これらのパラメータ候補の絞り込みにより、さらにこれらのパラメータ領域の分割を繰り返して、揚力などの定量的な量の最大化をするような最良パラメータ領域を探すことで、渦閉じ込めをして揚力を最大化するための物体２００の速度と各回転速度を知ることができる。
【０２９０】
［語表現と正規表現を使った流体中の物体の設計方法２］
語表現と正規表現を使用して、流体中に置かれた物体（以下、「設計対象」と呼ぶ）のまわりの流れを最適化する設計手法について説明する。以下では、語表現と正規表現を使用して、一様流中に置かれた物体のまわりにできる流線パターン（現在のパターン）が、所望の流線パターン（目的のパターン）となるように、物体の設計パラメータ（物理パラメータ）を設計する手法（上述の第２の設計パラメータ選択工程）の一例について説明する。以下の例では、一様流中に平板翼を置いた場合の流線パターンについて説明する。なお、第２の設計パラメータ選択工程は、正規表現のみを使用しても原理上実行可能であるが、正規表現と語表現を使用することで、より好適な設計パラメータを設計することが可能となる。
【０２９１】
図２７及び図２８、語表現と正規表現を使用した流体中の物体まわりの流れの最適化手法を説明するための説明図である。図２９は、語表現と正規表現を使用した流体中の物体のまわりの流れの最適化手法、すなわち、上述の第２の設計パラメータ選択工程を説明するためのフローチャートである。図２９に示すフローチャートは、シミュレーション部１０２ａにより実行される。
【０２９２】
図２７は、一様流Ｕに対して、一定の角度で平板翼３００を置いた場合を示している。図２８は、図２７において、平板翼３００のまわりに形成される流線パターンとその流線パターンの語表現及び正規表現を示している。図２８（ａ）は一様流Ｕ中におかれた平板翼３００のまわりにできた流れ（「流れ」は、流体実験又は数値計算で算出することができる）から流線パターンを抽出したもの（「パターンＡ」と称する）である。図２８（ｃ）は、回転流れ構造を平板翼３００の上に閉じ込めるパターン（「パターンＢ」と称する）である。本手法では、平板翼３００の設計パラメータを好適に変更して、パターンＡ（現在のパターン）からパターンＢ（目的のパターン）を実現するような設計パラメータを見つけ出し、平板翼３００にかかる揚力を増加させる手法について説明する。
【０２９３】
図２９において、まず、ステップＡ（ステップＳ４００〜Ｓ４０２）において、パターンＡとパターンＢに対して、語表現（特願２０１２−２０３６０１号（ＰＣＴ／ＪＰ２０１３／０７０９３９号））と本実施の形態のアルゴリズムを用いて正規表現を与える。具体的には、パターンＡには、ＩＡ０ＣＣＢ０という語表現と、ｏφ（ｏ０（ｏ２，−０（−０，−０），＋２，＋２））という正規表現ＮＡを付与し、パターンＢには、語表現ＩＡ０ＣＣＢ０とｏφ（ｏ２（ｏ０，＋０，−２（−０，−０，＋２）））という正規表現Ｎ  Ｂを付与する（ステップＳ４００、図２８（ａ）、（ｃ）参照）。なお、パターンＡとパターンＢの語表現は全く同じなので、従来技術では区別ができないが、正規表現は異なるためこれを用いることにより２つの流れは区別が可能となり，これらを用いることによって、流れの最適設計の目的形状を特定することが可能となる。
【０２９４】
次に、パターンＡの正規表現ＮＡとパターンＢの正規表現ＮＢが同じであるか否かを判断する（ステップＳ４０１）。パターンＡの正規表現ＮＡとパターンＢの正規表現ＮＢが同じである場合には（ステップＳ４０１の「Ｙｅｓ」）、パスＰ＝φを出力する（ステップＳ４０２）。パターンＡの正規表現ＮＡとパターンＢの正規表現Ｎ  Ｂが異なる場合には（ステップＳ４０１の「Ｎｏ」）、ステップＳ４０３に移行する。
【０２９５】
ステップＢでは、パターンＡとパターンＢの遷移の経路の決定する（ステップＳ４０３）。具体的には、流れパターンの遷移同定プログラム（特願２０１３−２３０６７８号（ＰＣＴ／ＪＰ２０１４／０７９５１２））を用いて，図２８（ａ）と図２８（ｃ）の間の同じ正規表現を高々１つしか持たない経路を決定する（ステップＳ４０３）。より具体的には、同じ頂点を高々一度しか通らない、パターンＡの正規表現ＮＡからパターンＢの正規表現ＮＢへのパスを全てリストアップし、Ｎ個の経路Ｒｉ（ｉ＝１，２，…，Ｎ）を得る。ただし，Ｒ１，…，ＲＮは，経路の長さが短い順に並べてあるものとする（ｌｅｎｇｔｈ（Ｒｉ）≦ｌｅｎｇｔｈ（Ｒｉ＋１））。各経路Ｒｉ（ｉ＝１，２，…，Ｎ）には中間流線パターンＰｉｊ（ｊ＝１，２，…，Ｍ）があるものとする。但し、便宜上、Ｐｉ０＝ＮＡ，ＰｉＭｉ＝ＮＢであるとする。
【０２９６】
ステップＣでは、経路Ｒｉに沿って遷移するように設計パラメータを変更する（ステップＳ４０４〜Ｓ４１５）。以下、Ｎ個の経路Ｒｉ（ｉ＝１，２，…，Ｎ）に対して、ｉ＝１，…，Ｎの順に（経路の長さが短い順に）、経路に沿って遷移するように設計パラメータを変更して、最適な設計パラメータを求める。すなわち、パターンＡからパターンＢに至るＮ個の経路Ｒｉ（ｉ＝１，２，…，Ｎ）のうち、設計パラメータを変更して、パターンＢの正規表現と一致することになるいずれかの経路を決定し、当該パターンＢの正規表現と一致することになる変更した設計パラメータを最適な設計パラメータとして出力する。
【０２９７】
経路Ｒｉ上にあるパターンＰｉｊ（但し、ｊ＝１，２，…，Ｍｉ）の設計パラメータを中心にして、変更可能な設計パラメータの範囲を指定し、それをＫ分割して、それぞれのパラメータ値をＳｋ（ｋ＝１，…．Ｋ）とする。さらに、パターンＰｉｊの設計パラメータのパラメータ値をＳｋに変更して、実験又は数値計算により得られるパターンの正規表現をＰｉｊ（Ｓｋ）と表す。
【０２９８】
最終的に、Ｐｉｊ（Ｓｋ）がパターンＢの語表現と正規表現ＮＢ（＝ＰｉＭｉ）に一致した場合に、このパラメータ値を最適設計を達成する設計パラメータとして出力して、当該フローを終了する。
【０２９９】
Ｓｋを変更して、Ｐｉｊ（Ｓｋ）が経路Ｒｉ上の正規表現Ｐｉ（ｊ＋１）に一致した場合に、この設計パラメータを選択して、さらに、ｊを「１」インクリメントして、当該選択した設計パラメータを中心にして、変更可能な設計パラメータの範囲を指定し、それをＫ分割して、それぞれのパラメータ値をＳｋ（ｋ＝１，…．Ｋ）として、Ｐｉｊ（Ｓｋ）がパターンＢの語表現と正規表現ＮＢ（＝ＰｉＭｉ）に一致するまで処理を繰り返す。
【０３００】
Ｓｋを変更しても、Ｐｉｊ（Ｓｋ）が経路Ｒｉ上の正規表現Ｐｉ（ｊ＋１）に一致しない場合は、この経路上での遷移は不可能として、次の経路についてＳｋを変更する。
【０３０１】
まず、ｉ＝１、ｊ＝１、ｋ＝１とする（ステップＳ４０４〜Ｓ４０６）。次に、Ｐｉｊ（Ｓｋ）＝Ｐｉ（ｊ＋１）であるか否かを判断する（ステップＳ４０７）。Ｐｉｊ（Ｓｋ）＝Ｐｉ（ｊ＋１）である場合には（ステップＳ４０７の「Ｙｅｓ」）、ｊ←ｊ＋１とし（ステップＳ４１３）、ｊ＝Ｍｉであるか否かを判断する（ステップＳ４１４）。ｊ＝Ｍｉである場合（ステップＳ４１４の「Ｙｅｓ」）、すなわち、Ｐｉｊ（Ｓｋ）＝ＰｉＭｉ（＝ＮＢ）となる場合は、この設計パラメータが最適な設計パラメータであるので、パスＰ＝Ｒｉ及びこの設計パラメータを出力して（ステップＳ４１５）、当該フローを終了する。ｊ＝Ｍｉでない場合は（ステップＳ４１４の「Ｎｏ」）、この設計パラメータを選択して、ステップＳ４０６に戻り、選択した設計パラメータを中心にして、変更可能な設計パラメータの範囲を指定し、それをＫ分割して、それぞれのパラメータ値をＳｋ（ｋ＝１，…．Ｋ）として、Ｐｉｊ（Ｓｋ）がパターンＢの語表現と正規表現ＮＢ（＝ＰｉＭｉ）に一致するまで処理を繰り返す。
【０３０２】
Ｐｉｊ（Ｓｋ）＝Ｐｉ（ｊ＋１）でない場合には（ステップＳ４０７の「Ｎｏ」）、ｋ←ｋ＋１とし（ステップＳ４０８）、ｋ≦Ｋであるか否かを判断する（ステップＳ４０９）。ｋ≦Ｋである場合には（ステップＳ４０９の「Ｙｅｓ」）、ステップＳ４０７に戻る。他方、ｋ≦Ｋでない場合には（ステップＳ４０９の「Ｎｏ」）、ｉ←ｉ＋１として（ステップＳ４１０）、ｉ≦Ｎであるか否かを判断する（ステップＳ４１１）。ｉ≦Ｎである場合には（ステップＳ４１１の「Ｙｅｓ」）、ステップＳ４０５に戻り、次の経路に対して探索を行う一方、ｉ≦Ｎでない場合には（ステップＳ４１１の「Ｎｏ」）、全ての経路について最適化が不可能であるので、「不可能」を出力する（ステップＳ４１２）。
【０３０３】
一例として、ステップＢで得られた経路の１つとして、最短経路である図２８（ｂ）のパターン（語表現ＩＣＣＣＢ０，正規表現ｏφ（ｏ２（−２（−０，−０，＋２，＋２））））を介した場合（経路の長さＭ＝１の場合））について説明する。ステップＣにおいて，図２８（ａ）のパターンＡから設計パラメータを変更して、図２８（ｂ）の語表現と正規表現になるものを探索する。変更可能な設計パラメータを全て探索しても図２８（ｂ）となるパターンが見つからない場合は，この経路に沿った最適設計が不可能と判断して，ステップＢで取得した、図２８（ｂ）の最短経路以外の経路で同じことを繰り返す。
【０３０４】
もし、いきなり目的とする図２８（ｃ）のパターンＢを達成する設計パラメータが見つかった場合は、これが最適な設計パラメータであるので、この設計パラメータを出力してフローを終了する（上記ステップＳ４１５）。一方、図２８（ｂ）のパターンを達成する設計パラメータが見つかった場合は、この設計パラメータを選択して、さらに、この設計パラメータまわりで変更可能な設計パラメータの範囲を指定し、それを分割して、それぞれに対して実験又は数値計算を行って図２８（ｃ）のパターンＢになるものがあるかどうかを探索する。図２８（ｃ）のパターンＢになる設計パラメータが見つかった場合は、これが最適な設計パラメータであるので、この設計パラメータを出力してフローを終了する（上記ステップＳ４１５）。
【０３０５】
変更可能な設計パラメータの範囲を全て探索しても見つからない場合は、この経路での最適化は不可能と判断し、ステップＢで得られた別経路を探索する。ステップＢで取得した全ての経路を探索しても、図２８（ｃ）のパターンＢになる設計パラメータが見つからない場合は、最適化不可能と判断する（上記ステップＳ４１２）。
【０３０６】
［他の実施形態］
さて、これまで本発明の実施形態について説明したが、本発明は、上述した実施形態以外にも、請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【０３０７】
例えば、正規表現作成装置１００がスタンドアローンの形態で処理を行う場合を一例に説明したが、正規表現作成装置１００は、クライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するようにしてもよい。
【０３０８】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０３０９】
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【０３１０】
また、正規表現作成装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【０３１１】
例えば、正規表現作成装置１００の各装置が備える処理機能、特に制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、後述する記録媒体に記録されており、必要に応じて正規表現作成装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤなどの記憶部１０６などには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）として協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部１０２を構成する。
【０３１２】
また、このコンピュータプログラムは、正規表現作成装置１００に対して任意のネットワーク３００を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【０３１３】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢメモリ、ＳＤカード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、および、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【０３１４】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【０３１５】
記憶部１０６に格納される各種のデータベース等（シミュレーション結果ファイル１０６ａ、流線図ファイル１０６ｂ、語表現ファイル１０６ｃ等）は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【０３１６】
また、正規表現作成装置１００は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、語表現作成装置１００は、該情報処理装置に本発明の方法を実現させるソフトウェア（プログラム、データ等を含む）を実装することにより実現してもよい。
【０３１７】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【０３１８】
以上説明したように、本実施の形態によれば、位相幾何学的にＮ（但し、Ｎは１以上の整数）個の穴を有する多重連結外部領域における流れパターンの正規表現を作成する正規表現作成方法であって、前記流れパターンに１対１に対応するグラフ表現を作成するグラフ表現作成工程と、前記グラフ表現作成工程で作成されたグラフ表現から正規表現を作成する正規表現作成工程と、を含むこととしたので、流れパターンと１対１に対応させることが可能な新たな表現方法を提供することが可能となるという効果を奏する。
【０３１９】
また、グラフ表現は、流れパターンで規定される構造安定なハミルトンベクトル場Ｈに対して、固有のルート付き、ラベル付き、及び向き有りのツリーＴＨ＝（Ｖ，Ｅ）を割り当て（但し、Ｖは頂点と呼ばれる点の集合、Ｅは、頂点の間を結ぶエッジの集合である）、平面グラフとして可視化したものであるので、構造安定なハミルトンベクトル場に対して、固有のルート付き、ラベル付き、及び向き有りのツリーを平面グラフとして可視化したものをグラフ表現として提供することが可能となるという効果を奏する。
【０３２０】
また、本実施の形態によれば、グラフ表現は、親の頂点をｖ、その子の頂点をｗ，親の頂点ｖに割り当てられたラベルをｌ（ｖ）、子の頂点ｗに割り当てられたラベルをｌ（ｗ），ｖの子頂点集合Γ（ｖ）とした場合、ｖの子頂点集合Γ（ｖ）を所定の順序関係のルールに従って並び替え、ｗ∈Γ（ｖ）について、ｌ（ｖ）からｌ（ｗ）への矢印を左から右に並べて描画することとしたので、親子の連結関係が視認しやすいグラフ表現を提供することが可能となるという効果を奏する。
【０３２１】
また、本実施の形態によれば、前記流れパターンは、（１）一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、二つのｓｓ−∂−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩ、（２）前記一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンのうちの、吸い込み湧き出し対をもち、一つのｓａｄｄｌｅ  ｐｏｉｎｔ、それを結ぶｈｏｍｏｃｌｉｎｉｃ  ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎと二つのｓｓ−ｓａｄｄｌｅ  ｃｏｎｎｅｃｔｉｏｎをもつパターンＩＩ、（３）二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンＯの１又は複数であることとしたので、基本となる全ての流れパターンに対して正規表現を付与することができ、具体的な流れパターンの正規表現を扱えるようになるという効果を奏する。
【０３２２】
また、本実施の形態によれば、正規表現作成工程で作成された正規表現を語表現に変換する語表現変換工程を備えているので、正規表現を語表現に変換することが可能となるという効果を奏する。
【０３２３】
また、本実施の形態の形態によれば、語表現は、一つの穴を有する単連結外部領域において位相幾何学的に採り得る２種類の流れパターンに加えて、二つの穴を有する二重連結外部領域において吸い込み湧き出し対を持たないパターンを追加した、合計３種類の流れパターンを規定するパターン語に対して、位相幾何学的に採り得る５種類の操作を規定した操作語のうちのいずれか一語を、追加された穴の数だけ付与することにより形成された記号語であることとしたので、正規表現を、基本となる全ての流れパターンと位相幾何学的に採り得る５種類の操作を規定した語表現に変換することが可能となるという効果を奏する。
【０３２４】
本実施の形態によれば、語表現と同様に、流れ場における構造物設計を行うにあたって、構造物に対して採り得る流れパターンを経験や直感に頼ることなく容易に扱うことができる、流れパターンの正規表現作成方法、正規表現作成装置、および、プログラムを提供することができる。また、語表現と正規表現の両方を使用することで、語表現だけでは特定の流れを限定できないものを限定することができ、流れの最適制御の理論をより発展させることができる。
【０３２５】
なお、語表現と正規表現は、例えば、橋脚の設計、防波堤の配置、港湾の汚染物の除去、風力発電のブレードの設計、列車のパンタグラフの構造、オイルフェンスの最適配置などのように、構造物設計や配置を伴う様々な分野において極めて有用である。また、スポーツ用品の構造設計などのようにスポーツ力学等の分野に応用することも可能である。
【符号の説明】
【０３２６】
１００  正規表現作成装置
１０２  制御部
１０２ａ  シミュレーション部
１０２ｂ  流線解析部
１０２ｃ  グラフ表現作成部
１０２ｄ  正規表現作成部
１０２ｅ  語表現変換部
１０４  通信制御インターフェース部
１０６  記憶部
１０６ａ  シミュレーション結果ファイル
１０６ｂ  流線図ファイル
１０６ｃ  正規表現ファイル
１０８  入出力制御インターフェース部
１１２  入力装置
１１４  出力装置
１２０  外部システム
１３０  ネットワーク
２００  物体
３００  平板翼
【図１】
2016072515.tif 000014
【図２−Ａ】
2016072515.tif 000015
【図２−Ｂ】
2016072515.tif 000016
【図３】
2016072515.tif 000017
【図４】
2016072515.tif 000018
【図５】
2016072515.tif 000019
【図６】
2016072515.tif 000020
【図７】
2016072515.tif 000021
【図８】
2016072515.tif 000022
【図９】
2016072515.tif 000023
【図１０−Ａ】
2016072515.tif 000024
【図１０−Ｂ】
2016072515.tif 000025
【図１０−Ｃ】
2016072515.tif 000026
【図１０−Ｄ】
2016072515.tif 000027
【図１０−Ｅ】
2016072515.tif 000028
【図１１】
2016072515.tif 000029
【図１２】
2016072515.tif 000030
【図１３−Ａ】
2016072515.tif 000031
【図１３−Ｂ】
2016072515.tif 000032
【図１３−Ｃ】
2016072515.tif 000033
【図１３−Ｄ】
2016072515.tif 000034
【図１４−Ａ】
2016072515.tif 000035
【図１４−Ｂ】
2016072515.tif 000036
【図１５】
2016072515.tif 000037
【図１６】
2016072515.tif 000038
【図１７】
2016072515.tif 000039
【図１８】
2016072515.tif 000040
【図１９】
2016072515.tif 000041
【図２０】
2016072515.tif 000042
【図２１】
2016072515.tif 000043
【図２２−Ａ】
2016072515.tif 000044
【図２２−Ｂ】
2016072515.tif 000045
【図２２−Ｃ】
2016072515.tif 000046
【図２３】
2016072515.tif 000047
【図２４】
2016072515.tif 000048
【図２５】
2016072515.tif 000049
【図２６】
2016072515.tif 000050
【図２７】
2016072515.tif 000051
【図２８】
2016072515.tif 000052
【図２９】
2016072515.tif 000053
【国際調査報告】
2016072515.tif 000054
2016072515.tif 000055
2016072515.tif 000056
2016072515.tif 000057