(57)【特許請求の範囲】
【請求項１】
化合物情報および化合物間の反応方向情報からなる反応経路情報を用いて、出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索方法であって、
前記出発化合物および前記最終化合物についてのデータと前記障害箇所についてのデータとの入力を受け付ける入力ステップと、
前記入力ステップで受け付けた前記出発化合物および前記最終化合物のデータに基づいて、前記反応経路情報を読み出す読出ステップと、
前記入力ステップで受け付けた前記障害箇所のデータと前記読出ステップで読み出した前記反応経路情報とに基づいて、前記出発化合物から前記最終化合物に至る最短の前記回避経路を抽出する抽出ステップと、
前記抽出ステップで抽出した前記回避経路を出力する出力ステップとを備え、
前記反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列||ａij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、
前記入力ステップでは、前記出発化合物の番号及び前記最終化合物の番号を、前記出発化合物および前記最終化合物についてのデータとして受け付け、
前記読出ステップでは、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとを読み出し、
前記抽出ステップでは、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第１和ベクトルとし、前記第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に前記第１集合の化合物を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出されていない前記第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した前記第１和ベクトルの成分の番号がｆである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第２和ベクトルとし、前記第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、前記正方行列||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第３和ベクトルとし、前記第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、前記第２集合および前記第３集合の化合物を並べた反応経路の中に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている、
ことを特徴とした反応経路検索方法。
【請求項２】
化合物情報および化合物間の反応方向情報からなる反応経路情報を用いて、出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索方法であって、
前記出発化合物および前記最終化合物についてのデータと前記障害箇所についてのデータとの入力を受け付ける入力ステップと、
前記入力ステップで受け付けた前記出発化合物および前記最終化合物のデータに基づいて、前記反応経路情報を読み出す読出ステップと、
前記入力ステップで受け付けた前記障害箇所のデータと前記読出ステップで読み出した前記反応経路情報とに基づいて、前記出発化合物から前記最終化合物に至る最短の前記回避経路を抽出する抽出ステップと、
前記抽出ステップで抽出した前記回避経路を出力する出力ステップとを備え、
前記反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ｂijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、
前記入力ステップでは、前記出発化合物の番号及び前記最終化合物の番号を、前記出発化合物および前記最終化合物についてのデータとして受け付け、
前記読出ステップでは、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとを読み出し、
前記抽出ステップでは、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第１和ベクトルとし、前記第１和ベクトルの成分の中からｂmkと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に前記第１集合の化合物を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出されていない前記第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した前記第１和ベクトルの成分の番号がｆである場合に、前記正方行列||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第２和ベクトルとし、前記第２和ベクトルの成分の中からｂfkと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｆ列ベクトルｂ1f，ｂ2f，…，ｂnfとの和をとり第３和ベクトルとし、前記第３和ベクトルの成分の中からｂfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、前記第２集合および前記第３集合の化合物を並べた反応経路の中に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている、
ことを特徴とした反応経路検索方法。
【請求項３】
化合物情報および化合物間の反応方向情報からなる反応経路情報を用いて、出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索方法であって、
前記出発化合物および前記最終化合物についてのデータと前記障害箇所についてのデータとの入力を受け付ける入力ステップと、
前記入力ステップで受け付けた前記出発化合物および前記最終化合物のデータに基づいて、前記反応経路情報を読み出す読出ステップと、
前記入力ステップで受け付けた前記障害箇所のデータと前記読出ステップで読み出した前記反応経路情報とに基づいて、前記出発化合物から前記最終化合物に至る最短の前記回避経路を抽出する抽出ステップと、
前記抽出ステップで抽出した前記回避経路を出力する出力ステップとを備え、
前記反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列||ａij||および正方行列||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、前記正方行列||ａij||の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値とすると共に、前記正方行列||ｂij||の各成分ｂijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、
前記入力ステップでは、前記出発化合物の番号及び前記最終化合物の番号を、前記出発化合物および前記最終化合物についてのデータとして受け付け、
前記読出ステップでは、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとを読み出し、
前記抽出ステップでは、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第１和ベクトルとし、前記第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に前記第１集合の化合物を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出されていない前記第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した前記第１和ベクトルの成分の番号がｆである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、前記正方行列||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとの和をとり第２和ベクトルとし、前記第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、前記正方行列||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnと、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第３和ベクトルとし、前記第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、前記第２集合および前記第３集合の化合物を並べた反応経路の中に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている、
ことを特徴とした反応経路検索方法。
【請求項４】
前記抽出ステップでは、前記反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って前記出発化合物に到達でき、且つ反応方向を順に辿って前記最終化合物に到達できる化合物を取り出して、取り出された化合物の中から、前記出発化合物に到達する最小反応段階数と、前記最終化合物に到達する最小反応段階数との和が最小である化合物の集合を抽出し、更に、これらの化合物の集合を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出していない化合物の中から、前記出発化合物に到達する最小反応段階数と、前記最終化合物に到達する最小反応段階数との和が小さいものを順番に抽出し、このように抽出した化合物を経由する最小の反応経路に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている請求項１〜３のいずれか一項に記載の反応経路検索方法。
【請求項５】
出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索装置であって、
化合物情報および化合物間の反応方向情報からなる反応経路情報が記憶された記憶手段と、
前記出発化合物および前記最終化合物についてのデータと前記障害箇所についてのデータとの入力を受け付ける入力手段と、
前記入力手段で受け付けた前記出発化合物および前記最終化合物のデータに基づいて、前記記憶手段から前記反応経路情報を読み出す読出手段と、
前記入力手段で受け付けた前記障害箇所のデータと前記読出手段で読み出した前記反応経路情報とに基づいて、前記出発化合物から前記最終化合物に至る最短の前記回避経路を抽出する抽出手段と、
前記抽出手段で抽出した前記回避経路を出力する出力手段とを備え、
前記反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列||ａij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、
前記入力手段では、前記出発化合物の番号及び前記最終化合物の番号を、前記出発化合物および前記最終化合物についてのデータとして受け付け、
前記読出手段では、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとを前記記憶手段から読み出し、
前記抽出手段では、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第１和ベクトルとし、前記第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に前記第１集合の化合物を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出されていない前記第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した前記第１和ベクトルの成分の番号がｆである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第２和ベクトルとし、前記第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、前記正方行列||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第３和ベクトルとし、前記第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、前記第２集合および前記第３集合の化合物を並べた反応経路の中に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている、
ことを特徴とした反応経路検索装置。
【請求項６】
出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索装置であって、
化合物情報および化合物間の反応方向情報からなる反応経路情報が記憶された記憶手段と、
前記出発化合物および前記最終化合物についてのデータと前記障害箇所についてのデータとの入力を受け付ける入力手段と、
前記入力手段で受け付けた前記出発化合物および前記最終化合物のデータに基づいて、前記記憶手段から前記反応経路情報を読み出す読出手段と、
前記入力手段で受け付けた前記障害箇所のデータと前記読出手段で読み出した前記反応経路情報とに基づいて、前記出発化合物から前記最終化合物に至る最短の前記回避経路を抽出する抽出手段と、
前記抽出手段で抽出した前記回避経路を出力する出力手段とを備え、
前記反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ｂijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、
前記入力手段では、前記出発化合物の番号及び前記最終化合物の番号を、前記出発化合物および前記最終化合物についてのデータとして受け付け、
前記読出手段では、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとを前記記憶手段から読み出し、
前記抽出手段では、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第１和ベクトルとし、前記第１和ベクトルの成分の中からｂmkと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に前記第１集合の化合物を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出されていない前記第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した前記第１和ベクトルの成分の番号がｆである場合に、前記正方行列||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第２和ベクトルとし、前記第２和ベクトルの成分の中からｂfkと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｆ列ベクトルｂ1f，ｂ2f，…，ｂnfとの和をとり第３和ベクトルとし、前記第３和ベクトルの成分の中からｂfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、前記第２集合および前記第３集合の化合物を並べた反応経路の中に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている、
ことを特徴とした反応経路検索装置。
【請求項７】
出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索装置であって、
化合物情報および化合物間の反応方向情報からなる反応経路情報が記憶された記憶手段と、
前記出発化合物および前記最終化合物についてのデータと前記障害箇所についてのデータとの入力を受け付ける入力手段と、
前記入力手段で受け付けた前記出発化合物および前記最終化合物のデータに基づいて、前記記憶手段から前記反応経路情報を読み出す読出手段と、
前記入力手段で受け付けた前記障害箇所のデータと前記読出手段で読み出した前記反応経路情報とに基づいて、前記出発化合物から前記最終化合物に至る最短の前記回避経路を抽出する抽出手段と、
前記抽出手段で抽出した前記回避経路を出力する出力手段とを備え、
前記反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列||ａij||および正方行列||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、前記正方行列||ａij||の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値とすると共に、前記正方行列||ｂij||の各成分ｂijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、
前記入力手段では、前記出発化合物の番号及び前記最終化合物の番号を、前記出発化合物および前記最終化合物についてのデータとして受け付け、
前記読出手段では、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとを前記記憶手段から読み出し、
前記抽出手段では、前記出発化合物の番号がｋ、前記最終化合物の番号がｍである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第１和ベクトルとし、前記第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に前記第１集合の化合物を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出されていない前記第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した前記第１和ベクトルの成分の番号がｆである場合に、前記正方行列||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、前記正方行列||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとの和をとり第２和ベクトルとし、前記第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、前記正方行列||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnと、前記正方行列||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第３和ベクトルとし、前記第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、前記第２集合および前記第３集合の化合物を並べた反応経路の中に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている、
ことを特徴とした反応経路検索装置。
【請求項８】
前記抽出手段では、前記反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って前記出発化合物に到達でき、且つ反応方向を順に辿って前記最終化合物に到達できる化合物を取り出して、取り出された化合物の中から、前記出発化合物に到達する最小反応段階数と、前記最終化合物に到達する最小反応段階数との和が最小である化合物の集合を抽出し、更に、これらの化合物の集合を並べた反応経路の中に前記障害箇所が含まれている場合に、まだ抽出していない化合物の中から、前記出発化合物に到達する最小反応段階数と、前記最終化合物に到達する最小反応段階数との和が小さいものを順番に抽出し、このように抽出した化合物を経由する最小の反応経路に前記障害箇所が含まれていない場合に、この反応経路を前記回避経路としている請求項５〜７のいずれか一項に記載の反応経路検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、化学反応において出発化合物から最終化合物に至る最短の反応経路を検索する検索方法、検索装置および検索用記憶媒体に関する。
【０００２】
【従来の技術】
従来においては、紙面に書かれた化学反応の経路図を参照して、この経路図を利用者が指で追いながら、出発化合物から最終化合物に至る全ての反応経路を抽出していた。そして、抽出した全ての反応経路のステップ数を計数し、最もステップ数の少ない反応経路を最短の反応経路として特定していた。
【０００３】
【発明が解決しようとする課題】
しかしながら、毒性のある化合物が存在する場合、爆発し易い化合物が存在する場合、取り扱いの具合が悪い化合物が存在する場合、或いは収率が悪い反応が存在する場合には、これらの障害箇所を経由しない最短の反応経路を検索しなければならず、検索に時間がかかり問題であった。
【０００４】
本発明は、このような問題を解決し、障害となる化合物や反応といった障害箇所を回避して最短の回避経路を高速に検索することのできる反応経路検索方法、反応経路検索装置および反応経路検索用記憶媒体を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明の反応経路検索方法は、化合物情報および化合物間の反応方向情報からなる反応経路情報を用いて、出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索方法であって、出発化合物および最終化合物についてのデータと障害箇所についてのデータとの入力を受け付ける入力ステップと、入力ステップで受け付けた出発化合物および最終化合物のデータに基づいて、記憶手段から反応経路情報を読み出す読出ステップと、入力ステップで受け付けた障害箇所のデータと読出ステップで読み出した反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路を抽出する抽出ステップと、抽出ステップで抽出した回避経路を出力する出力ステップとを備えることを特徴とする。
【０００６】
本発明の反応経路検索方法はこのような構成を有しているので、利用者によって入力された出発化合物および最終化合物についてのデータと障害箇所についてのデータとが入力ステップで受け付けられる。そして、入力ステップで受け付けられた出発化合物および最終化合物のデータに基づいて、反応経路情報が読出ステップで読み出される。更に、入力ステップで受け付けた障害箇所のデータと読出ステップで読み出された反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路が抽出ステップで抽出され、抽出された回避経路が出力ステップによって出力される。このように、抽出ステップで最短の回避経路が検出されることにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索することができる。
【０００７】
ここで、抽出ステップでは、反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って出発化合物に到達でき、且つ反応方向を順に辿って最終化合物に到達できる化合物を取り出して、取り出された化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が最小である化合物の集合を抽出し、更に、これらの化合物の集合を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出していない化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が小さいものを順番に抽出し、このように抽出した化合物を経由する最小の反応経路に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【０００８】
このような構成を採用した場合、抽出ステップでは、まず、反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って出発化合物に到達でき、且つ反応方向を順に辿って最終化合物に到達できる化合物が取り出される。そして、取り出された化合物について、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が計算され、この計算で得られた最小反応段階数の和が最小となる化合物の集合が抽出される。更に、これらの化合物の集合を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出していない化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が小さいものが順番に抽出される。そして、このように抽出した化合物を経由する最小の反応経路に障害箇所が含まれていない場合に、この反応経路を回避経路とすることにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を高速に検索することができる。
【０００９】
また、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ａij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出ステップでは、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１０】
さらに、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出ステップでは、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からｂmkと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ｂij||のｆ行ベクトルａf1，ａf2，…，ａfnとｋ列ベクトルａ1k，ａ2k，…，ａnkとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からｂfkと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ｂij||のｍ行ベクトルａm1，ａm2，…，ａmnとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１１】
さらにまた、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ａij||および正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、正方行列 ||ａij||の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値とすると共に、正方行列 ||ｂij||の各成分ａijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出ステップでは、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１２】
次に、本発明の反応経路検索装置は、出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する検索装置であって、化合物情報および化合物間の反応方向情報からなる反応経路情報が記憶された記憶手段と、出発化合物および最終化合物のデータと障害箇所についてのデータとの入力を受け付ける入力手段と、入力手段で受け付けた出発化合物および最終化合物のデータに基づいて、記憶手段から反応経路情報を読み出す読出手段と、入力手段で受け付けた障害箇所のデータと読出手段で読み出した反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路を抽出する抽出手段と、抽出手段で抽出した回避経路を出力する出力手段とを備えることを特徴とする。
【００１３】
本発明の反応経路検索装置はこのような構成を有しているので、利用者によって出発化合物および最終化合物についてのデータと障害箇所についてのデータとが入力されると、これらのデータは入力手段で受け付けられる。そして、入力手段で受け付けられた出発化合物および最終化合物のデータに基づいて、記憶手段に記憶された反応経路情報が読出手段で読み出される。更に、入力手段で受け付けた障害箇所のデータと読出手段で読み出された反応経路情報に基づいて、出発化合物から最終化合物に至る最短の回避経路が抽出手段で抽出され、抽出された回避経路が出力手段によって出力される。このように、抽出ステップで最短の回避経路が検出されることにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索することができる。
【００１４】
ここで、抽出手段では、反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って出発化合物に到達でき、且つ反応方向を順に辿って最終化合物に到達できる化合物を取り出して、取り出された化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が最小である化合物の集合を抽出し、更に、これらの化合物の集合を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出していない化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が小さいものを順番に抽出し、このように抽出した化合物を経由する最小の反応経路に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１５】
このような構成を採用した場合、抽出手段では、まず、反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って出発化合物に到達でき、且つ反応方向を順に辿って最終化合物に到達できる化合物が取り出される。そして、取り出された化合物について、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が計算され、この計算で得られた最小反応段階数の和が最小となる化合物の集合が抽出される。更に、これらの化合物の集合を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出していない化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が小さいものが順番に抽出される。そして、このように抽出した化合物を経由する最小の反応経路に障害箇所が含まれていない場合に、この反応経路を回避経路とすることにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を高速に検索することができる。
【００１６】
また、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ａij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出手段では、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１７】
さらに、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出手段では、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からｂmkと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ｂij||のｆ行ベクトルａf1，ａf2，…，ａfnとｋ列ベクトルａ1k，ａ2k，…，ａnkとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からｂfkと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ｂij||のｍ行ベクトルａm1，ａm2，…，ａmnとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１８】
さらにまた、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ａij||および正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、正方行列 ||ａij||の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値とすると共に、正方行列 ||ｂij||の各成分ａijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出手段では、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００１９】
次に、本発明の反応経路検索用記憶媒体は、化合物情報および化合物間の反応方向情報からなる反応経路情報が記憶されたデータエリアと、出発化合物から最終化合物に至る反応経路であって障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索する回避経路検索プログラムが記憶されたプログラムエリアとを有し、情報処理装置を用いて反応経路情報を参照しつつ回避経路検索プログラムを実行させることのできる記憶媒体であって、回避経路検索プログラムは、情報処理装置に入力された出発化合物および最終化合物についてのデータと障害箇所についてのデータとを受け付ける入力ルーチンと、入力ルーチンで受け付けた出発化合物および最終化合物のデータに基づいて、データエリアから反応経路情報を読み出す読出ルーチンと、入力ルーチンで受け付けた障害箇所のデータと読出ルーチンで読み出した反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路を抽出する抽出ルーチンと、抽出ルーチンで抽出した回避経路を情報処理装置から出力させる出力ルーチンとを備えることを特徴とする。
【００２０】
本発明の反応経路検索用記憶媒体はこのような構成を有しているので、情報処理装置にこの記憶媒体を収容して、プログラムエリアに記憶された回避経路検索プログラムを読み取ることにより、このプログラムを情報処理装置で実行させることができる。即ち、まず、利用者によって入力された出発化合物および最終化合物のデータと障害箇所についてのデータとが、回避経路検索プログラムの入力ルーチンで受け付けられる。そして、入力ルーチンで受け付けられた出発化合物および最終化合物のデータに基づいて、データエリアに記憶された反応経路情報が読出ルーチンで読み出される。更に、入力ルーチンで受け付けた障害箇所のデータと読出ルーチンで読み出された反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路が抽出ルーチンで抽出され、抽出された最短の回避経路が出力ルーチンによって情報処理装置から出力される。このように、抽出ルーチンで最短の回避経路が検出されることにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索することができる。
【００２１】
ここで、抽出ルーチンでは、反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って出発化合物に到達でき、且つ反応方向を順に辿って最終化合物に到達できる化合物を取り出して、取り出された化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が最小である化合物の集合を抽出し、更に、これらの化合物の集合を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出していない化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が小さいものを順番に抽出し、このように抽出した化合物を経由する最小の反応経路に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００２２】
このような構成を採用した場合、抽出ルーチンでは、まず、反応経路情報に含まれる化合物の中から、反応方向とは逆に辿って出発化合物に到達でき、且つ反応方向を順に辿って最終化合物に到達できる化合物が取り出される。そして、取り出された化合物について、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が計算され、この計算で得られた最小反応段階数の和が最小となる化合物の集合が抽出される。更に、これらの化合物の集合を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出していない化合物の中から、出発化合物に到達する最小反応段階数と、最終化合物に到達する最小反応段階数との和が小さいものが順番に抽出される。そして、このように抽出した化合物を経由する最小の反応経路に障害箇所が含まれていない場合に、この反応経路を回避経路とすることにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を高速に検索することができる。
【００２３】
また、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ａij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出ルーチンでは、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnとｍ列ベクトルａ1m，ａ2m，…，ａnmとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００２４】
さらに、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、この行列の各成分ａijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出ルーチンでは、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からｂmkと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ｂij||のｆ行ベクトルａf1，ａf2，…，ａfnとｋ列ベクトルａ1k，ａ2k，…，ａnkとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からｂfkと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ｂij||のｍ行ベクトルａm1，ａm2，…，ａmnとｆ列ベクトルａ1f，ａ2f，…，ａnfとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および前記第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００２５】
さらにまた、反応経路情報は、反応経路を構成する全ての化合物に１から昇順にｎまで番号を付与した際のｎ行ｎ列の正方行列 ||ａij||および正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現された情報であり、正方行列 ||ａij||の各成分ａijは番号ｉの化合物から出発して反応方向を順に辿って番号ｊの化合物に到達するときの最小反応段階数を値とすると共に、正方行列 ||ｂij||の各成分ａijは番号ｉの化合物から出発して反応方向とは逆に辿って番号ｊの化合物に到達するときの最小反応段階数を値としており、抽出ルーチンでは、出発化合物の番号がｋ、最終化合物の番号がｍである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第１和ベクトルとし、第１和ベクトルの成分の中からａkmと値が等しい成分の番号を持つ化合物の集合を第１集合として抽出し、更に第１集合の化合物を並べた反応経路の中に障害箇所が含まれている場合に、まだ抽出されていない第１和ベクトルの成分の中から値が小さいものを順番に抽出し、このように抽出した第１和ベクトルの成分の番号がｆである場合に、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとの和をとり第２和ベクトルとし、第２和ベクトルの成分の中からａkfと値が等しい成分の番号を持つ化合物の集合を第２集合として抽出すると共に、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとの和をとり第３和ベクトルとし、第３和ベクトルの成分の中からａfmと値が等しい成分の番号を持つ化合物の集合を第３集合として抽出し、第２集合および第３集合の化合物を並べた反応経路の中に障害箇所が含まれていない場合に、この反応経路を回避経路としていることが好ましい。
【００２６】
【発明の実施の形態】
以下、本発明に係る反応経路検索装置、反応経路検索方法および反応経路検索用記憶媒体の好適な実施形態について添付図面を参照して説明する。
【００２７】
（１）反応経路検索装置
図１は、本実施形態である反応経路検索装置１を示すブロック図である。図１に示すように、反応経路検索装置１は、オペレーティングシステム（ＯＳ）１１および回避経路検索プログラム１２が記憶されたメモリ装置１０と、化合物情報および化合物間の反応方向情報からなる反応経路情報（反応経路ネットワークの全体構造を表現したもの）が記憶されたハードディスク装置（記憶手段）２０と、出発化合物および最終化合物についてのデータと障害箇所についてのデータとの入力を受け付ける入力装置３０とを備えている。また、反応経路検索装置１は、最短の回避経路の反応経路図等を出力する出力装置４０と、回避経路検索プログラム１２の実行等を制御するＣＰＵ５０とを備えている。
【００２８】
回避経路検索プログラム１２は、入力装置３０に入力された出発化合物および最終化合物のデータと障害箇所についてのデータとを受け付ける入力ルーチン（入力手段）１３と、入力ルーチン１３で受けつけた出発化合物および最終化合物に基づいて、ハードディスク装置２０から反応経路情報を読み出す読出ルーチン（読出手段）１４と、入力ルーチン１３で受け付けた障害箇所のデータと読出ルーチン１４で読み出した反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路を抽出する抽出ルーチン（抽出手段）１５と、抽出ルーチン１５で抽出した最短の回避経路を出力装置４０から出力させる出力ルーチン（出力手段）１６とを備えている。
【００２９】
入力装置３０は、マウス３１とキーボード３２とを備えている。また、出力装置４０は、ディスプレイ４１とプリンタ４２とを備えている。なお、入力ルーチン１３で受け付ける障害箇所のデータとは、反応経路上で障害となる化合物或いは反応についてのデータをいい、障害となる化合物には、例えば、毒性のある化合物、爆発し易い化合物、取り扱いの具合が悪い化合物などがある。また、障害となる反応には、収率が悪い反応などがある。
【００３０】
次に、ハードディスク装置２０に記憶された反応経路情報について説明する。反応経路情報は、例えば、図２に示す反応経路図から作成される。図２の反応経路図は、反応経路を構成する２１個の化合物に番号１〜２１を付して、これらの番号と反応の方向を示す矢印とを配置したものである。そして、この反応経路図を用いて反応経路情報を作成すると、図３，４のようになる。即ち、反応経路情報は、出発化合物の番号を行のパラメータとし、最終化合物の番号を列のパラメータとした正方行列 ||ａij||（ｉ，ｊ＝１〜ｎ）と、最終化合物の番号を行のパラメータとし、出発化合物の番号を列のパラメータとした正方行列 ||ｂij||（ｉ，ｊ＝１〜ｎ）として表現されている。
【００３１】
そして、正方行列 ||ａij||の各成分には、行のパラメータが示す化合物から列のパラメータが示す化合物に至る反応経路のステップ数が書き込まれている。また、正方行列 ||ｂij||の各成分には、列のパラメータが示す化合物から行のパラメータが示す化合物に至る反応経路のステップ数が書き込まれている。なお、正方行列 ||ａij||，||ｂij||の各成分のうち、出発化合物から最終化合物にたどり着けない成分には−１が書き込まれている。ここで、反応経路を構成する化合物がｎ個の場合、出発化合物から最終化合物に至る最短のステップ数は０であり、最長のステップはｎ−１である。従って、出発化合物から最終化合物にたどり着けない成分には、０〜ｎ−１以外の数である−１を書き込んで、出発化合物から最終化合物にたどり着ける成分と区別している。
【００３２】
また、正方行列 ||ａij||と正方行列 ||ｂij||とは、互いに転置行列の関係にある。従って、正方行列 ||ａij||と正方行列 ||ｂij||とのいずれか一方しかない場合でも、この一方の行列に対して行と列を逆にしてアクセスすることによって、他の一方の行列へのアクセスが可能となる。
【００３３】
（２．１）反応経路検索方法
次に、本実施形態である反応経路検索方法について、図５，６を参照して説明する。この検索方法は上述した反応経路検索装置１を用いて行われる。まず、０Ｓ１１の制御の下で、回避経路検索プログラム１２が起動される。回避経路検索プログラム１２は、まず、入力ルーチン１３を実行し、出発化合物および最終化合物についてのデータの入力と障害箇所についてのデータの入力とを促す画面をディスプレイ３０に表示させる（ステップ１０１）。利用者がこの画面表示に従って出発化合物および最終化合物を特定するデータと障害箇所についてのデータとをキーボード４２等を用いて入力すると、これらのデータに対応した番号ｉ，ｊ（ｉ，ｊ＝１〜ｎ）が受け付けられる（ステップ１０２）。
【００３４】
次に、読出ルーチン１４を実行し、これらの入力データに基づいて、反応経路情報としての正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとをハードディスク装置２０から読み出す（ステップ１０３）。そして、抽出ルーチン１５を実行し、これらのベクトルを成分ごとに加算して、第１和ベクトルｃ1（＝ａk1＋ｂm1），ｃ2（＝ａk2＋ｂm2），…，ｃn（＝ａkn＋ｂmn）を作成する（ステップ１０４）。
【００３５】
ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃnの各成分のうち、最短経路に関与する化合物に対応した成分の値は、最短経路のステップ数と等しい。さらに、最短経路のステップ数は正方行列 ||ａij||のｋ行、ｍ列の値と等しいので、第１和ベクトルｃ1，ｃ2，…ｃnの各成分の値と、最短経路のステップ数ａkmとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第１集合）を得ることができる（ステップ１０６）。
【００３６】
次に、最短経路が複数本あるか否かの判定を行う（ステップ１０７）。出発化合物から最終化合物に至る最短の反応経路が１本だけであれば、ステップ１０６ではこの１本の最短経路を構成する化合物が抽出される。しかし、最短の反応経路が複数本ある場合には、ステップ１０６ではこれらの最短経路を構成する全ての化合物が抽出される。従って、ステップ１０６で抽出された化合物を反応順に並べ替える前に、最短経路が複数本あるか否かを判定する必要がある。
【００３７】
最短経路が複数本ある場合としては、例えば、図７（ａ）に示すように、出発化合物と最終化合物との間の経路が完全に複数に分かれている場合、図７（ｂ）に示すように、出発生成物から数ステップ分の反応経路が共通して途中から複数に分かれている場合、図７（ｃ）に示すように、出発化合物と最終化合物との間の一部分が複数に分かれている場合等がある。
【００３８】
最短経路が複数本あるか否かの判定は、ステップ１０６で抽出した化合物の数Ｎと、最短経路のステップ数であるａkmとを比較して行う。この比較で、Ｎ＝ａkm＋１の場合は最短経路が一本であると判定し、Ｎ＞ａkm＋１の場合は最短経路が複数本あると判定する。
【００３９】
そして、この判定を行った後に、各化合物を反応順に並べ替える。並べ替えの処理としては、まず、ステップ１０６で得られた全番号の中から２つの番号を選択して、これらの番号を行及び列のパラメータとした際の正方行列 ||ａij||の値が１になる場合に、これらの番号が示す２つの化合物が反応経路上で隣接していると判定する。この判定を全番号の組合せについて行うことによって、出発化合物から最終化合物に至る最短経路を特定することができる（ステップ１０８）。なお、ステップ１０７の処理で最短経路が複数本あると判定された場合には、枝分かれの分岐点となる化合物に対して複数の化合物が隣接しているので、これらの化合物のそれぞれについて隣接する化合物を順次特定していく。
【００４０】
次に、ステップ１０８で特定した最短経路上に、ステップ１０２で受け付けた障害箇所が含まれているか否かを判定する（ステップ１０９）。そして、最短経路上に障害箇所が含まれていると判定した場合には、この障害箇所を回避する反応経路を検索する。即ち、ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃnの各成分の中から、ステップ１０６でまだ抽出していない成分を、値が小さい順に抽出し（ステップ１１０）、抽出した成分の番号（ここでは番号ｆ）によって特定される化合物（以下、経由化合物という）を経由する最短の反応経路を検索する（ステップ１１１）。
【００４１】
この検索では、出発化合物（番号ｋ）から経由化合物（番号ｆ）に至る最短の経路をステップ１０３〜ステップ１０８の処理を行って検出する。
即ち、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、正方行列 ||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとをハードディスク装置２０から読み出して（ステップ１０３）、これらのベクトルを成分ごとに加算して、第２和ベクトルｄ1（＝ａk1＋ｂf1），ｄ2（＝ａk2＋ｂf2），…，ｄn（＝ａkn＋ｂfn）を作成する（ステップ１０４）。そして、第２和ベクトルｄ1，ｄ2，…，ｄnの各成分の値と、最短経路のステップ数ａkfとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第２集合）を得ることができる（ステップ１０６）。次に、最短経路が複数本あるか否かの判定を行い（ステップ１０７）、その後に、各化合物を反応順に並べ替える。この並べ替えによって、出発化合物から経由化合物に至る最短経路を特定することができる（ステップ１０８）。
【００４２】
また、ステップ１１１の検索では、経由化合物（番号ｆ）から最終化合物（番号ｍ）に至る最短の経路をステップ１０３〜ステップ１０８の処理を行って検出する。
即ち、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnと、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとをハードディスク装置２０から読み出して（ステップ１０３）、これらのベクトルを成分ごとに加算して、第３和ベクトルｅ1（＝ａf1＋ｂm1），ｅ2（＝ａf2＋ｂm2），…，ｅn（＝ａfn＋ｂmn）を作成する（ステップ１０４）。そして、第３和ベクトルｅ1，ｅ2，…，ｅnの各成分の値と、最短経路のステップ数ａfmとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第３集合）を得ることができる（ステップ１０６）。
【００４３】
次に、最短経路が複数本あるか否かの判定を行い（ステップ１０７）、その後に、各化合物を反応順に並べ替える。この並べ替えによって、経由化合物から最終化合物に至る最短経路を特定することができる（ステップ１０８）。そして、このように得られた２つの経路を接続することにより、経由化合物を経由する最短の反応経路を検出することができる。さらに、このように検出した最短経路上に障害箇所が含まれていないか判定し（ステップ１１２）、最短経路上に障害箇所が含まれていると判定した場合には、ステップ１１０に処理を戻して、新たな経由化合物の抽出およびこの経由化合物を経由する最短の反応経路の検出を繰り返し行う。
【００４４】
ステップ１０９及びステップ１１２で、最短経路上に障害箇所が含まれていないと判定した場合には、この最短経路を最短の回避経路と認定する（ステップ１１３）。その後、出力ルーチン１６が実行され、最短の回避経路がディスプレイ４１に表示される（ステップ１１４）。この表示を見た利用者は、出発化合物から最終化合物に至る反応経路であって障害箇所を経由しない最短の回避経路を知ることができる。また、特定された最短経路の図をプリンタ４２から出力させることもできる。
【００４５】
なお、ステップ１０１及びステップ１０２の処理の代わりに、出発化合物および最終化合物を示すデータ、障害箇所についてのデータを予めファイル等に記録しておき、これらのデータをファイル等から読み出してステップ１０３以降の処理を行ってもよい。また、ステップ１０２が入力ステップに対応し、ステップ１０３が読出ステップに対応する。さらに、ステップ１０４〜１１３が抽出ステップに対応し、ステップ１１４が出力ステップに対応する。
【００４６】
（２．２）反応経路検索方法の具体例
次に、最短経路検索プログラム１２の処理について具体的なデータを用いて説明する。まず、図２に示す番号１５の化合物から番号１２の化合物に至る最短経路を求めようとした利用者によって、ｉ＝１５及びｊ＝１２がキーボード４１から入力され、更に、番号２の化合物から番号１の化合物への反応が障害となる反応であるとして、“２”“１”がキーボード４１から入力されると（ステップ１０１，１０２）、正方行列 ||ａij||の１５行のベクトルａ15,1，ａ15,2，…，ａ15,21＝７，６，５，４，３，４，１１，８，８，１０，９，１１，２，１，０，−１，−１，−１，１０，６，７と、正方行列 ||ｂij||の１２行のベクトルｂ12,1，ｂ12,2，…，ｂ12,21＝４，５，６，７，８，９，６，３，４，７，２，０，９，１０，１１，１０，−１，１１，１，６，５とがハードディスク装置２０から読み出される（ステップ１０３）。そして、これらのベクトルが成分ごとに加算され、第１和ベクトルｃ1，ｃ2，…ｃ21＝１１，１１，１１，１１，１１，１３，１７，１１，１２，１７，１１，１１，１１，１１，１１，−，−，−，１１，１２，１２が作成される（ステップ１０４）。
【００４７】
ここで、最短経路のステップ数であるａ15,12の値は１１なので、第１和ベクトルｃ1，ｃ2，…ｃ21の値が１１の成分の番号を抽出することによって、最短経路を構成する化合物の番号１，２，３，４，５，８，１１，１２，１３，１４，１５，１９が得られる（ステップ１０５，１０６）。また、最短経路のステップ数であるａ15,12の値が１１で、且つ最短経路を構成する化合物がＮ＝１２個なので、Ｎ＝ａkm＋１である。このため、この例での最短経路は１本だけであることが判る（ステップ１０７）。
【００４８】
さらに、全番号の中から２つの番号を選択して、これらの番号を正方行列 ||ａij||の行及び列のパラメータとした場合に、正方行列 ||ａij||の各成分の値が１になる組合せは、（１，２），（１，８），（２，３），（３，４），（４，５），（５，１３），（８，１１），（１１，１９），（１２，１９），（１３，１４），（１４，１５）である。これらの組合せは、隣接する化合物の番号の組合せなので、番号１５を始点として隣接する化合物の番号を順番に並べることにより、最短経路の番号１５，１４，１３，５，４，３，２，１，８，１１，１９，１２を得ることができる（ステップ１０８）。
【００４９】
次に、ステップ１０２で入力された番号２の化合物から番号１の化合物への反応が、ステップ１０８で得られた最短経路に含まれているか否かの判定を行う（ステップ１０９）。ステップ１０８で得られた最短経路には、番号２の化合物から番号１の化合物への反応が含まれているので、この障害箇所を経由しない最短の回避経路の検索が行われる。この検索は、ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃ21の各成分の中から、ステップ１０６でまだ抽出していない成分を値が小さい順に抽出する（ステップ１１０）。この処理によって、ｃ9，ｃ20，ｃ21，ｃ6，ｃ7，ｃ10，ｃ16，ｃ17，ｃ18が順番に抽出される。
【００５０】
そして、ステップ１１０で１番目に抽出されたｃ9に基づいて、番号９の化合物を経由する最短の反応経路が検出される（ステップ１１１）。ステップ１１１では、まず、番号１５の化合物から番号９の化合物に至る最短経路の検索がステップ１０３〜ステップ１０８の処理によって行われる。
【００５１】
即ち、正方行列 ||ａij||の１５行のベクトルａ15,1，ａ15,2，…，ａ15,21＝７，６，５，４，３，４，１１，８，８，１０，９，１１，２，１，０，−１，−１，−１，１０，６，７と、正方行列 ||ｂij||の９行のベクトルｂ9,1，ｂ9,2，…，ｂ9,21＝１１，１２，３，４，５，６，７，１０，０，８，９，−１，６，７，８，７，−１，８，１０，２，１とがハードディスク装置２０から読み出される（ステップ１０３）。そして、これらのベクトルが成分ごとに加算され、第２和ベクトルｄ1，ｄ2，…ｄ21＝１８，１８，８，８，８，１０，１８，１８，８，１８，１８，−１，８，８，８，−，−，−，２０，８，８が作成される（ステップ１０４）。
【００５２】
ここで、最短経路のステップ数であるａ15,9の値は８なので、第２和ベクトルｄ1，ｄ2，…ｄ21の値が８の成分の番号を抽出することによって、最短経路を構成する化合物の集合（第２集合）として、番号３，４，５，９，１３，１４，１５，２０，２１が得られる（ステップ１０５，１０６）。さらに、全番号の中から２つの番号を選択して、これらの番号を正方行列 ||ａij||の行及び列のパラメータとした場合に、正方行列 ||ａij||の各成分の値が１になる組合せは、（３，２０），（４，３），（５，４），（１３，５），（１４，１３），（１５，１４），（２０，２１），（２１，９），（２１，２０）である。これらの組合せは、隣接する化合物の番号の組合せなので、番号１５を始点として隣接する化合物の番号を順番に並べることにより、最短経路の番号１５，１４，１３，５，４，３，２０，２１，９を得ることができる（ステップ１０８）。
【００５３】
次に、番号９の化合物から番号１２の化合物に至る最短経路の検索がステップ１０３〜ステップ１０８の処理によって行われる。即ち、正方行列 ||ａij||の９行のベクトルａ9,1，ａ9,2，…，ａ9,21＝２，５，８，７，６，５，４，１，０，３，２，４，−１，−１，−１，−１，−１，−１，３，９，１０と、正方行列 ||ｂij||の１２行のベクトルｂ12,1，ｂ12,2，…，ｂ12,21＝４，５，６，７，８，９，６，３，４，７，２，０，９，１０，１１，１０，−１，１１，１，６，５とがハードディスク装置２０から読み出される（ステップ１０３）。そして、これらのベクトルが成分ごとに加算され、第３和ベクトルｅ1，ｅ2，…ｅ21＝６，１０，１４，１４，１４，１４，１０，４，４，１０，４，４，−１，−１，−１，−１，−１，−１，４，１５，１５が作成される（ステップ１０４）。
【００５４】
ここで、最短経路のステップ数であるａ9,12の値は４なので、第３和ベクトルｅ1，ｅ2，…ｅ21の値が４の成分の番号を抽出することによって、最短経路を構成する化合物の集合（第３集合）として、番号８，９，１１，１２，１９が得られる（ステップ１０５，１０６）。さらに、全番号の中から２つの番号を選択して、これらの番号を正方行列 ||ａij||の行及び列のパラメータとした場合に、正方行列 ||ａij||の各成分の値が１になる組合せは、（８，１１），（９，８），（１１，８），（１１，１９），（１９，１１），（１９，１２）である。これらの組合せは、隣接する化合物の番号の組合せなので、番号９を始点として隣接する化合物の番号を順番に並べることにより、最短経路の番号９，８，１１，１９，１２を得ることができる（ステップ１０８）。
【００５５】
そして、第３集合の化合物を並べた反応経路と第４集合の化合物を並べた反応経路とを接続することにより、最短経路として番号１５，１４，１３，５，４，３，２０，２１，９，８，１１，１９，１２が検出される。さらに、ステップ１１２で、最短経路上に障害箇所が含まれていないか判定するが、この最短経路上には番号２から番号１への反応が存在しないので、障害箇所が含まれていないと判定される。その結果、この最短経路が最短の回避経路であると認定され（ステップ１１３）、この回避経路はディスプレイ３０に表示される（ステップ１１４）。そして、ディスプレイ３０への表示を利用者が参照することによって、利用者は番号１５の化合物から番号１２の化合物に至る反応経路であって障害箇所を経由しない最短の回避経路を知ることができる。
【００５６】
（２．３）反応経路検索方法の第１の変形例
次に、本実施形態である反応経路検索方法の第１の変形例として、正方行列 ||ａij||だけを用いた例について説明する。上述したように、正方行列 ||ａij||と正方行列 ||ｂij||とは互いに転置行列の関係にあるので、正方行列 ||ａij||だけでも反応経路の検索が可能である。そこで、第１の変形例では、正方行列 ||ａij||だけを用いて、上述した反応経路検索方法と同等の検索方法を実現させている。なお、この検索方法も上述した反応経路検索装置１を用いて行われる。
【００５７】
まず、０Ｓ１１の制御の下で、回避経路検索プログラム１２が起動される。回避経路検索プログラム１２は、入力ルーチン１３を実行し、出発化合物および最終化合物についてのデータの入力と障害箇所についてのデータの入力とを促す画面をディスプレイ３０に表示させる（ステップ１０１）。利用者がこの画面表示に従って出発化合物および最終化合物を特定するデータと障害箇所についてのデータとをキーボード４２等を用いて入力すると、これらのデータに対応した番号ｉ，ｊ（ｉ，ｊ＝１〜ｎ）が受け付けられる（ステップ１０２）。
【００５８】
次に、読出ルーチン１４を実行し、これらの入力データに基づいて、反応経路情報としての正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknと、ｍ列ベクトルａ1m，ａ2m，…，ａnmとをハードディスク装置２０から読み出す（ステップ１０３）。そして、抽出ルーチン１５を実行し、これらのベクトルを成分ごとに加算して、第１和ベクトルｃ1（＝ａk1＋ａ1m），ｃ2（＝ａk2＋ａ2m），…，ｃn（＝ａkn＋ａnm）を作成する（ステップ１０４）。
【００５９】
ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃnの各成分のうち、最短経路に関与する化合物に対応した成分の値は、最短経路のステップ数と等しい。さらに、最短経路のステップ数は正方行列 ||ａij||のｋ行、ｍ列の値と等しいので、第１和ベクトルｃ1，ｃ2，…，ｃnの各成分の値と、最短経路のステップ数ａkmとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第１集合）を得ることができる（ステップ１０６）。
【００６０】
次に、最短経路が複数本あるか否かの判定を行う（ステップ１０７）。そして、この判定を行った後に、各化合物を反応順に並べ替える。並べ替えの処理としては、まず、ステップ１０６で得られた全番号の中から２つの番号を選択して、これらの番号を行及び列のパラメータとした際の正方行列 ||ａij||の値が１になる場合に、これらの番号が示す２つの化合物が反応経路上で隣接していると判定する。この判定を全番号の組合せについて行うことによって、出発化合物から最終化合物に至る最短経路を特定することができる（ステップ１０８）。
【００６１】
次に、ステップ１０８で特定した最短経路上に、ステップ１０２で受け付けた障害箇所が含まれているか否かを判定する（ステップ１０９）。そして、最短経路上に障害箇所が含まれていると判定した場合には、この障害箇所を回避する反応経路を検索する。即ち、ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃnの各成分の中から、ステップ１０６でまだ抽出していない成分を、値が小さい順に抽出し（ステップ１１０）、抽出した成分の番号（ここでは番号ｆ）によって特定される化合物（以下、経由化合物という）を経由する最短の反応経路を検索する（ステップ１１１）。
【００６２】
この検索では、出発化合物（番号ｋ）から経由化合物（番号ｆ）に至る最短の経路をステップ１０３〜ステップ１０８の処理を行って検出する。
即ち、正方行列 ||ａij||のｋ行ベクトルａk1，ａk2，…，ａknとｆ列ベクトルａ1f，ａ2f，…，ａnfとをハードディスク装置２０から読み出して（ステップ１０３）、これらのベクトルを成分ごとに加算して、第２和ベクトルｄ1（＝ａk1＋ａ1f），ｄ2（＝ａk2＋ａ2f），…，ｄn（＝ａkn＋ａnf）を作成する（ステップ１０４）。そして、第２和ベクトルｄ1，ｄ2，…，ｄnの各成分の値と、最短経路のステップ数ａkfとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第２集合）を得ることができる（ステップ１０６）。次に、最短経路が複数本あるか否かの判定を行い（ステップ１０７）、その後に、各化合物を反応順に並べ替える。この並べ替えによって、出発化合物から経由化合物に至る最短経路を特定することができる（ステップ１０８）。
【００６３】
また、ステップ１１１の検索では、経由化合物（番号ｆ）から最終化合物（番号ｍ）に至る最短の経路をステップ１０３〜ステップ１０８の処理を行って検出する。
即ち、正方行列 ||ａij||のｆ行ベクトルａf1，ａf2，…，ａfnとｍ列ベクトルａ1m，ａ2m，…，ａnmとをハードディスク装置２０から読み出して（ステップ１０３）、これらのベクトルを成分ごとに加算して、第３和ベクトルｅ1（＝ａf1＋ａ1m），ｅ2（＝ａf2＋ａ2m），…，ｅn（＝ａfn＋ａnm）を作成する（ステップ１０４）。そして、第３和ベクトルｅ1，ｅ2，…，ｅnの各成分の値と、最短経路のステップ数ａfmとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第３集合）を得ることができる（ステップ１０６）。次に、最短経路が複数本あるか否かの判定を行い（ステップ１０７）、その後に、各化合物を反応順に並べ替える。この並べ替えによって、経由化合物から最終化合物に至る最短経路を特定することができる（ステップ１０８）。そして、このように得られた２つの経路を接続することにより、経由化合物を経由する最短の反応経路を検出することができる。
【００６４】
さらに、このように検出した最短経路上に障害箇所が含まれていないか判定し（ステップ１１２）、最短経路上に障害箇所が含まれていると判定した場合には、ステップ１１０に処理を戻して、新たな経由化合物の抽出およびこの経由化合物を経由する最短の反応経路の検出を繰り返し行う。
【００６５】
ステップ１０９及びステップ１１２で、最短経路上に障害箇所が含まれていないと判定した場合には、この最短経路を最短の回避経路と認定する（ステップ１１３）。
【００６６】
その後、出力ルーチン１６が実行され、最短の回避経路がディスプレイ４１に表示される（ステップ１１４）。この表示を見た利用者は、出発化合物から最終化合物に至る反応経路であって障害箇所を経由しない最短の回避経路を知ることができる。また、特定された最短経路の図をプリンタ４２から出力させることもできる。
【００６７】
（２．４）反応経路検索方法の第２の変形例
次に、本実施形態である反応経路検索方法の第２の変形例として、正方行列 ||ｂij||だけを用いた例について説明する。上述したように、正方行列 ||ａij||と正方行列 ||ｂij||とは互いに転置行列の関係にあるので、正方行列 ||ｂij||だけでも反応経路の検索が可能である。そこで、第２の変形例では、正方行列 ||ｂij||だけを用いて、上述した反応経路検索方法と同等の検索方法を実現させている。なお、この検索方法も上述した反応経路検索装置１を用いて行われる。
【００６８】
まず、０Ｓ１１の制御の下で、回避経路検索プログラム１２が起動される。回避経路検索プログラム１２は、入力ルーチン１３を実行し、出発化合物および最終化合物についてのデータの入力と障害箇所についてのデータの入力とを促す画面をディスプレイ３０に表示させる（ステップ１０１）。利用者がこの画面表示に従って出発化合物および最終化合物を特定するデータと障害箇所についてのデータとをキーボード４２等を用いて入力すると、これらのデータに対応した番号ｉ，ｊ（ｉ，ｊ＝１〜ｎ）が受け付けられる（ステップ１０２）。
【００６９】
次に、読出ルーチン１４を実行し、これらの入力データに基づいて、反応経路情報としての正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnと、ｋ列ベクトルｂ1k，ｂ2k，…，ｂnkとをハードディスク装置２０から読み出す（ステップ１０３）。そして、抽出ルーチン１５を実行し、これらのベクトルを成分ごとに加算して、第１和ベクトルｃ1（＝ｂm1＋ｂ1k），ｃ2（＝ｂm2＋ｂ2k），…，ｃn（＝ｂmn＋ｂnk）を作成する（ステップ１０４）。
【００７０】
ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃnの各成分のうち、最短経路に関与する化合物に対応した成分の値は、最短経路のステップ数と等しい。さらに、最短経路のステップ数は正方行列 ||ｂij||のｍ行、ｋ列の値と等しいので、第１和ベクトルｃ1，ｃ2，…，ｃnの各成分の値と、最短経路のステップ数ｂmkとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第１集合）を得ることができる（ステップ１０６）。
【００７１】
次に、最短経路が複数本あるか否かの判定を行う（ステップ１０７）。そして、この判定を行った後に、各化合物を反応順に並べ替える。並べ替えの処理としては、まず、ステップ１０６で得られた全番号の中から２つの番号を選択して、これらの番号を行及び列のパラメータとした際の正方行列 ||ｂij||の値が１になる場合に、これらの番号が示す２つの化合物が反応経路上で隣接していると判定する。この判定を全番号の組合せについて行うことによって、出発化合物から最終化合物に至る最短経路を特定することができる（ステップ１０８）。
【００７２】
次に、ステップ１０８で特定した最短経路上に、ステップ１０２で受け付けた障害箇所が含まれているか否かを判定する（ステップ１０９）。そして、最短経路上に障害箇所が含まれていると判定した場合には、この障害箇所を回避する反応経路を検索する。即ち、ステップ１０４で作成された第１和ベクトルｃ1，ｃ2，…ｃnの各成分の中から、ステップ１０６でまだ抽出していない成分を、値が小さい順に抽出し（ステップ１１０）、抽出した成分の番号（ここでは番号ｆ）によって特定される化合物（以下、経由化合物という）を経由する最短の反応経路を検索する（ステップ１１１）。
【００７３】
この検索では、出発化合物（番号ｋ）から経由化合物（番号ｆ）に至る最短の経路をステップ１０３〜ステップ１０８の処理を行って検出する。
即ち、正方行列 ||ｂij||のｆ行ベクトルｂf1，ｂf2，…，ｂfnとｋ列ベクトルａ1k，ａ2k，…，ａnkとをハードディスク装置２０から読み出して（ステップ１０３）、これらのベクトルを成分ごとに加算して、第２和ベクトルｄ1（＝ｂf1＋ｂ1k），ｄ2（＝ｂf2＋ｂ2k），…，ｄn（＝ｂfn＋ｂnk）を作成する（ステップ１０４）。そして、第２和ベクトルｄ1，ｄ2，…，ｄnの各成分の値と、最短経路のステップ数ｂfkとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第２集合）を得ることができる（ステップ１０６）。次に、最短経路が複数本あるか否かの判定を行い（ステップ１０７）、その後に、各化合物を反応順に並べ替える。この並べ替えによって、出発化合物から経由化合物に至る最短経路を特定することができる（ステップ１０８）。
【００７４】
また、ステップ１１１の検索では、経由化合物（番号ｆ）から最終化合物（番号ｍ）に至る最短の経路をステップ１０３〜ステップ１０８の処理を行って検出する。
即ち、正方行列 ||ｂij||のｍ行ベクトルｂm1，ｂm2，…，ｂmnとｆ列ベクトルｂ1f，ｂ2f，…，ｂnfとをハードディスク装置２０から読み出して（ステップ１０３）、これらのベクトルを成分ごとに加算して、第３和ベクトルｅ1（＝ｂm1＋ｂ1f），ｅ2（＝ｂm2＋ｂ2f），…，ｅn（＝ｂmn＋ｂnf）を作成する（ステップ１０４）。そして、第３和ベクトルｅ1，ｅ2，…，ｅnの各成分の値と、最短経路のステップ数ｂmfとを比較して（ステップ１０５）、これらの値が等しい成分の番号を抽出することにより、最短経路を構成する化合物の集合（第３集合）を得ることができる（ステップ１０６）。次に、最短経路が複数本あるか否かの判定を行い（ステップ１０７）、その後に、各化合物を反応順に並べ替える。この並べ替えによって、経由化合物から最終化合物に至る最短経路を特定することができる（ステップ１０８）。そして、このように得られた２つの経路を接続することにより、経由化合物を経由する最短の反応経路を検出することができる。
【００７５】
さらに、このように検出した最短経路上に障害箇所が含まれていないか判定し（ステップ１１２）、最短経路上に障害箇所が含まれていると判定した場合には、ステップ１１０に処理を戻して、新たな経由化合物の抽出およびこの経由化合物を経由する最短の反応経路の検出を繰り返し行う。
【００７６】
ステップ１０９及びステップ１１２で、最短経路上に障害箇所が含まれていないと判定した場合には、この最短経路を最短の回避経路と認定する（ステップ１１３）。その後、出力ルーチン１６が実行され、最短の回避経路がディスプレイ４１に表示される（ステップ１１４）。この表示を見た利用者は、出発化合物から最終化合物に至る反応経路であって障害箇所を経由しない最短の回避経路を知ることができる。また、特定された最短経路の図をプリンタ４２から出力させることもできる。
【００７７】
（３）反応経路検索用記憶媒体
次に、本実施形態である反応経路検索用記憶媒体について説明する。図８は、反応経路検索用記憶媒体２のデータ構成を示すブロック図である。反応経路検索用記憶媒体２は、反応経路情報である２つの正方行列 ||ａij||，||ｂij||が記憶されたデータエリア２ａと、最短経路検索プログラム１２が記憶されたプログラムエリア２ｂとを備えている。
【００７８】
そして、最短経路検索プログラム１２は、出発化合物および最終化合物についてのデータの入力と障害箇所についてのデータの入力とを受け付ける入力ルーチン１３と、入力ルーチン１３で受けつけた出発化合物および最終化合物に基づいて、データエリア２ａから反応経路情報を読み出す読出ルーチン１４と、入力ルーチン１３で受け付けた障害箇所のデータと読出ルーチン１４で読み出した反応経路情報とに基づいて、出発化合物から最終化合物に至る最短の回避経路を抽出する抽出ルーチン１５と、抽出ルーチン１５で抽出した最短の回避経路を出力する出力ルーチン１６とを備えている。なお、反応経路検索用記憶媒体２としては、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＤ、ＤＶＤ、ＩＣカードなどの光学的又は磁気的に情報を記録することが可能ないずれの記憶媒体であってもよい。
【００７９】
反応経路検索用記憶媒体２に記憶された回避経路検索プログラム１２は、情報処理装置で実行させることができる。この情報処理装置の例を図９に示す。
図９に示すように情報処理装置３は、反応経路検索用記憶媒体２に記憶された回避経路検索プログラム１２等を読み取る記憶媒体読取装置７０と、オペレーティングシステム１１が記憶されたメモリ装置１０と、反応経路情報である正方行列 ||ａij||，||ｂij||を記憶するハードディスク装置２０とを備えている。また、情報処理装置３は、出発化合物および最終化合物についてのデータと障害箇所についてのデータとの入力を受け付ける入力装置３０と、最短の回避経路を出力する出力装置４０と、回避経路検索プログラム１２の実行等を制御するＣＰＵ６０とを備えている。
【００８０】
そして、記憶媒体読取装置７０に反応経路検索用記憶媒体２が挿入されると、反応経路検索用記憶媒体２のデータエリア２ａに記憶された正方行列 ||ａij||，||ｂij||が、記憶媒体読取装置７０によって読み出されて、ハードディスク装置２０に記憶される。また、反応経路検索用記憶媒体２のプログラムエリア２ｂに記憶された回避経路検索プログラム１２が、記憶媒体読取装置７０によって読み出されて、主記憶装置１０に記憶される。
【００８１】
その結果、情報処理装置３の構成は、図１に示した反応経路検索装置１の構成とほぼ同一になる。このため、回避経路検索プログラム１２を情報処理装置３で実行させた場合の処理内容は、上述した反応経路検索装置１の処理内容とほぼ同一となる。よって、回避経路検索プログラム１２の処理内容については、説明を省略する。
【００８２】
なお、正方行列 ||ａij||，||ｂij||をハードディスク装置２０に記憶することなく、反応経路検索用記憶媒体２にアクセスして、反応経路検索用記憶媒体２に記憶された正方行列 ||ａij||，||ｂij||を直接参照してもよい。この場合の処理内容も、上述した反応経路検索装置１の処理内容と実質的に何ら変わることはない。また、正方行列 ||ａij||と、正方行列 ||ｂij||とのいずれか一方のみをデータエリア２ａに記憶させてもよい。この場合も、上述した第１および第２の変形例と同様の方法で回避経路を検索することができる。
【００８３】
【発明の効果】
本発明による反応経路検索方法、反応経路検索装置および反応経路検索用記憶媒体は、以上のように構成されているため、次のような効果を得ることができる。
【００８４】
即ち、記憶手段に記憶された反応経路情報に基づいて、出発化合物から最終化合物に至る最短の回避経路を検出することにより、障害となる化合物や反応などの障害箇所を経由しない最短の回避経路を検索することができる。その結果、毒性のある化合物が存在する場合や収率が悪い反応が存在する場合などであっても、これらの障害箇所を経由しない最短の反応経路を短時間で検索することができる。
【図面の簡単な説明】
【図１】反応経路検索装置を示すブロック図である。
【図２】出発化合物から最終化合物に至る反応経路を示す経路図である。
【図３】正方行列 ||ａij||の各成分を示す図である。
【図４】正方行列 ||ｂij||の各成分を示す図である。
【図５】反応経路検索方法を示すフローチャート（前段）である。
【図６】反応経路検索方法を示すフローチャート（後段）である。
【図７】（ａ）〜（ｃ）は、複数本の最短経路を有する反応経路を示す経路図である。
【図８】反応経路検索用記憶媒体のデータ構成を示すブロック図である。
【図９】情報処理装置の構成を示すブロック図である。
【符号の説明】
１…反応経路検索装置、２…反応経路検索用記憶媒体、２ａ…データエリア、２ｂ…プログラムエリア、３…情報処理装置、１２…回避経路検索プログラム、１３…入力ルーチン（入力手段）、１４…読出ルーチン（読出手段）、１５…抽出ルーチン（抽出手段）、１６…出力ルーチン（出力手段）、２０…ハードディスク装置（記憶手段）。
【図１】
0004113598.tif 000002
【図２】
0004113598.tif 000003
【図３】
0004113598.tif 000004
【図４】
0004113598.tif 000005
【図５】
0004113598.tif 000006
【図６】
0004113598.tif 000007
【図７】
0004113598.tif 000008
【図８】
0004113598.tif 000009
【図９】
0004113598.tif 000010