(57)【特許請求の範囲】
【請求項１】
コンピュータにより、
入力物理量、前記入力物理量の値及び出力物理量を受け付け、
変換元物理量及び変換先物理量の少なくとも一方が互いに異なる、物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、前記入力物理量から前記出力物理量に至る変換規則の配列又は前記出力物理量から前記入力物理量に至る変換規則の配列を生成し、
前記入力物理量から前記出力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の先頭から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換し、前記出力物理量から前記入力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の末尾から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換する、
情報変換方法。
【請求項２】
前記変換ルール及び前記変換規則は、第１の物理量の第１の単位での値を第２の物理量の第２の単位での値へ変換するものであり、
前記変換規則の配列に含まれる変換規則を適用して変換対象の物理量の値を前記変換対象の物理量と異なる物理量の値に変換するにあたり、前記変換対象の物理量の値の単位が適用する変換規則の前記第１の単位または前記第２の単位と相違している場合は、予め定められた変換ルールを用いて、前記変換対象の物理量の値を前記第１の単位での値または前記第２の単位での値へ換算する、
請求項１に記載の情報変換方法。
【請求項３】
前記入力物理量及び前記出力物理量の一方を探索対象とし、前記複数の変換ルールから、変換元物理量又は変換先物理量が前記探索対象に一致する変換ルールを探索し、探索で抽出した変換ルールの変換元物理量が前記探索対象に一致する場合は前記抽出した変換ルールによる変換を前記変換規則として記憶し、前記抽出した変換ルールの変換先物理量が前記探索対象に一致する場合は抽出した前記変換ルールによる変換の逆変換を前記変換規則として記憶し、前記抽出した変換ルールの変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と相違する場合は、前記探索対象と相違する物理量を探索対象として再度探索を行うことを、変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と一致する変換ルールを抽出するまで繰り返すことで、前記変換規則の配列を生成する、
請求項１または請求項２に記載の情報変換方法。
【請求項４】
前記複数の変換ルールは、前記コンピュータとネットワークを介して接続された外部装置に記憶されており、
前記入力物理量、前記入力物理量の値及び出力物理量を受け付けるよりも前に、前記複数の変換ルールを前記外部装置から取得し、前記コンピュータの記憶部に記憶しておくか、又は、前記入力物理量、前記入力物理量の値及び出力物理量を受け付けた後で前記外部装置と通信を行い、前記複数の変換ルールから前記変換規則の配列の要素とする変換ルールを探索する、
請求項１から請求項３のいずれか１項に記載の情報変換方法。
【請求項５】
入力物理量、前記入力物理量の値及び出力物理量を受け付ける受付部と、
変換元物理量及び変換先物理量の少なくとも一方が互いに異なる、物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、前記入力物理量から前記出力物理量に至る変換規則の配列又は前記出力物理量から前記入力物理量に至る変換規則の配列を生成し、前記入力物理量から前記出力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の先頭から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換し、前記出力物理量から前記入力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の末尾から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換する、変換部と、
を備えた情報処理装置。
【請求項６】
コンピュータにより、
入力物理量、前記入力物理量の値及び出力物理量を受け付け、
変換元物理量及び変換先物理量の少なくとも一方が互いに異なる、物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、前記入力物理量から前記出力物理量に至る変換規則の配列又は前記出力物理量から前記入力物理量に至る変換規則の配列を生成し、
前記入力物理量から前記出力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の先頭から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換し、前記出力物理量から前記入力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の末尾から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換する、
処理を行わせる情報変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報変換方法、情報処理装置、及び情報変換プログラムに関する。
【背景技術】
【０００２】
或る物理量（入力物理量）の値を異なる物理量（出力物理量）の値に変換する技術がある。例えば、予め定められた物理量の変換ルールに基づいて電力やエネルギー等の入力物理量の値を出力物理量、例えば、ユーザが所望する物理量に変換する技術が提案されている。
【０００３】
これにより、ユーザにとって直観的に把握し難い物理量の値を、ユーザに直観的に把握させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９１８２５号公報
【特許文献２】特開２００５−２５６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来の技術のように、予め定められた変換ルールに基づいて入力物理量から出力物理量への変換を行う場合、対応する変換ルールが存在しないときには、物理量の変換が行えないという問題がある。
【０００６】
特に、ユーザが所望する物理量は様々であり、出力物理量をユーザが所望する物理量とする場合、入力物理量を出力物理量へ直接変換する変換ルールは存在しない可能性が高い。また、既存の複数の変換ルールを単純に組み合わせたとしても、入力物理量から出力物理量への変換が実現できない可能性が高いという問題がある。
【０００７】
本発明は、一つの側面として、入力物理量から出力物理量への値の変換にあたり、対応する物理量の変換ルールが存在しない場合にも物理量の変換を可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、コンピュータにより、以下を含む処理を行う情報変換方法である。入力物理量、入力物理量の値及び出力物理量を受け付ける。物理量の複数の変換ルールは、変換元物理量及び変換先物理量の少なくとも一方が互いに異なる。物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、入力物理量から出力物理量に至る変換規則の配列又は出力物理量から入力物理量に至る変換規則の配列を生成する。生成した変換規則の配列を用いて、入力物理量の値を出力物理量の値に変換する。
【発明の効果】
【０００９】
一つの側面として、入力物理量から出力物理量への値の変換にあたり、対応する物理量の変換ルールが存在しない場合にも物理量の変換を可能とする、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の情報処理システムの一例の構成を示すブロック図である。
【図２】第１実施形態の情報処理装置の一例の構成を示すブロック図である。
【図３】第１実施形態の物理量変換テーブルの一例を示す図である。
【図４】第１実施形態の情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図５】第１実施形態の情報処理装置で実行される変換ルール格納処理の一例のフローチャートである。
【図６】第１実施形態の情報処理装置における変換ルール格納処理について説明するための図である。
【図７】第１実施形態の情報処理装置で実行される変換処理の一例のフローチャートである。
【図８】スタック構造を説明するための図である。
【図９】第１実施形態の変換処理における第１手続処理の一例のフローチャートである。
【図１０】第１実施形態の変換処理における第２手続処理の一例のフローチャートである。
【図１１】第２実施形態の情報処理装置の一例の構成を示すブロック図である。
【図１２】第２実施形態の単位変換テーブルの一例を示す図である。
【図１３】第２実施形態の情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図１４】第２実施形態の情報処理装置で実行される変換処理の一例のフローチャートである。
【図１５】第２実施形態の変換処理における第１手続処理の一例のフローチャートである。
【図１６】第２実施形態の変換処理における第２手続処理の一例のフローチャートである。
【図１７】第２実施形態の物理量変換テーブルの一例を示す図である。
【図１８】情報処理装置で実行される変換処理の他の一例のフローチャートである。
【図１９】図１８に示した変換処理における変換ルールの要求及び取得について説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の一例を詳細に説明する。
【００１２】
[第１実施形態]
図１に示すように本実施形態の情報処理システム１は、情報処理装置１０、データサーバ１２１、１２２、１２３、及び端末装置１４を備える。なお、以下では、データサーバ１２１〜１２３の個々を区別せずに総称する場合は、個々を区別するための符号を省略してデータサーバ１２という。図１に示すように本実施形態では、情報処理装置１０、データサーバ１２１、及びデータサーバ１２２は、互いに情報の授受が可能にネットワーク２を介して接続されている。また、情報処理装置１０及びデータサーバ１２３は、互いに情報の授受が可能にネットワーク４を介して接続されている。さらに、情報処理装置１０及び端末装置１４は、互いに情報の授受が可能にネットワーク６を介して接続されている。
【００１３】
情報処理装置１０は、或る物理量（入力物理量）の値を当該物理量と異なる物理量（出力物理量：例えばユーザが所望する物理量）の値に変換する指示を端末装置１４から受け付けた場合に、物理量の変換を行う。
【００１４】
情報処理装置１０は、物理量の変換を行うための変換ルールをデータサーバ１２から取得する。データサーバ１２は、特に限定されず、例えば、ウェブサーバ等が挙げられる。
【００１５】
また、情報処理装置１０は、物理量変換の指示を受け付けた際に、入力物理量及び入力物理量の値（数値及び単位）と、出力物理量及び出力物理量の単位と、を端末装置１４から受け付ける。端末装置１４は、特に限定されず、例えば、デスクトップ型やラップトップ型のパーソナルコンピュータや、タブレット端末やスマートフォンに代表されるＰＤＡ（Personal Digital Assistants：携帯情報端末装置）等の何れでもよい。
【００１６】
図２に示すように本実施形態の情報処理装置１０は、入力部２０、変換部２２、及び出力部３０を備える。また、情報処理装置１０の所定の記憶領域（図４の物理量変換テーブル記憶領域７２参照）には、物理量変換テーブル３２が記憶される。
【００１７】
入力部２０には、データサーバ１２から取得した変換ルールが入力される。入力された変換ルールには、入力部２０によりＩＤ（Identification）が付与され、物理量変換テーブル３２に格納される。図３に示すように、物理量変換テーブル３２に格納される変換ルールは、変換元の単位で表した変換元の物理量の値と、変換先の単位で表した変換先の物理量の値と、の関係を定義したものである。なお、本実施形態において物理量の値は、数値と単位との組み合わせで表す。例えば、「３ｔ」という物理量の値の場合は、「３」という数値（以下、「量」という）と「ｔ」という単位との組み合わせである。
【００１８】
図３に示すように、具体的に１つの変換ルールには、変換元の物理量、当該物理量の値を表す単位（以下、「変換元の単位」という）、係数、演算方法（図３の「演算」に対応）、変換先の物理量、及び変換先の物理量の値を表す単位（以下、「変換先の単位」という）が含まれる。図３に示したＩＤ＝１の変換ルールでは、「ＣＯ２の発生量」という物理量の「１ｔ」という値は、「ガソリンを燃焼させる量」という物理量では「３ｌ」（１×３＝３）という値に変換されることを表している。
【００１９】
また、入力部２０には、端末装置１４から、入力物理量、入力物理量の値（入力物理量の値及び単位）、及び出力物理量が入力される。なお、入力物理量の値は、上述したように、数値及び単位の組み合わせで表される。
【００２０】
変換部２２は、ルール検索部２４、演算適用部２６、及び逆演算適用部２８を備える。本実施形態のルール検索部２４は、変換ルール通りの変換を入力物理量から出力物理量に利用可能な変換ルールを物理量変換テーブル３２から検索する。またルール検索部２４は、変換ルール通りの変換の逆変換（逆演算）を入力物理量から出力物理量の変換に利用可能な変換ルールと、を物理量変換テーブル３２から検索する。ここで「逆変換」とは、変換ルールにおける変換元の物理量と変換先の物理量とを入れ替えた変換のことをいう。例えば、図３に示したＩＤ＝１の変換ルールの逆変換は、「ガソリンを燃焼させる量」という物理量の値「１ｌ」を、「ＣＯ２の発生量」という物理量を「１／３ｔ」という値に変換すると変換になる。
【００２１】
演算適用部２６は、ルール検索部２４により変換ルール通りの変換を利用可能と判定された変換ルールを適用して物理量の変換を行う。具体的には、演算適用部２６は、変換ルールに定義された演算を行うことにより物理量の変換を行う。
【００２２】
逆演算適用部２８は、ルール検索部２４により逆変換が利用可能であると判定された変換ルールの逆変換を適用して物理量の変換を行う。具体的には、逆演算適用部２８は、変換ルールに定義されている演算の逆演算（例えば乗算であれば除算）を適用して演算を行うことにより物理量の変換を行う。
【００２３】
出力部３０は、変換部２２による物理量の変換結果を端末装置１４へ出力する。
【００２４】
なお、情報処理装置１０は、例えば図４に示すコンピュータ５０で実現することができる。より具体的には、情報処理装置１０はサーバとして機能するコンピュータ５０で実現することができる。コンピュータ５０は、ＣＰＵ（Central Processing Unit）５２、メモリ５４、不揮発性の記憶部５６、及びＩ／Ｆ（Interface）５８を備える。ＣＰＵ５２、メモリ５４、記憶部５６、及びＩ／Ｆ５８は、バス５９を介して互いに接続されている。Ｉ／Ｆ５８には、データサーバ１２及び端末装置１４が接続される。
【００２５】
記憶部５６はＨＤＤ（Hard Disk Drive）やフラッシュメモリ等によって実現できる。記憶媒体としての記憶部５６には、コンピュータ５０を情報処理装置１０として機能させるための情報変換プログラム６０が記憶されている。ＣＰＵ５２は、情報変換プログラム６０を記憶部５６から読み出してメモリ５４に展開し、情報変換プログラム６０が有するプロセスを実行する。
【００２６】
情報変換プログラム６０は、入力プロセス６２、ルール検索プロセス６４、演算適用プロセス６６、逆演算適用プロセス６８、及び出力プロセス７０を有する。ＣＰＵ５２は、入力プロセス６２を実行することで、入力部２０として動作する。また、ＣＰＵ５２は、ルール検索プロセス６４を実行することで、ルール検索部２４として動作する。また、ＣＰＵ５２は、演算適用プロセス６６を実行することで、演算適用部２６として動作する。また、ＣＰＵ５２は、逆演算適用プロセス６８を実行することで、逆演算適用部２８として動作する。また、ＣＰＵ５２は、出力プロセス７０を実行することで、出力部３０として動作する。
【００２７】
これにより、情報変換プログラム６０を実行したコンピュータ５０が、情報処理装置１０として機能する。
【００２８】
また、記憶部５６は、物理量変換テーブル記憶領域７２を有する。物理量変換テーブル記憶領域７２には、物理量変換テーブル３２が記憶される。
【００２９】
なお、コンピュータ５０は、いわゆるデスクトップ型のパーソナルコンピュータに限定されない。コンピュータ５０は、ラップトップ型のパーソナルコンピュータであってもよいし、ＰＤＡ等であってもよい。
【００３０】
なお、情報処理装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００３１】
次に、本実施形態の情報処理装置１０の作用について説明する。
【００３２】
まず、情報処理装置１０の物理量変換テーブル３２に変換ルールを格納する処理について説明する。本実施形態の情報処理装置１０では、データサーバ１２から変換ルールを取得して物理量変換テーブル３２に予め格納しておくため変換ルール格納処理を行う。図５に示した変換ルール格納処理は、例えば、所定のタイミングで実行される。所定のタイミングの例としては、例えば、所定の日数毎や所定時間毎のタイミング等が挙げられる。
【００３３】
ステップＳ１０でルール検索部２４は、何れか１台のデータサーバ１２に変換ルールの要求を送信する。本実施形態では、具体例としてデータサーバ１２をウェブサーバとしており、ルール検索部２４は、個々のデータサーバ１２のアドレス（例えば、ＵＲＬ：Uniform Resource Locator）を予め保持している。本実施形態のルール検索部２４は、保持しているアドレスから何れか１台のデータサーバ１２のアドレスを選択し、図６にも示すように、選択したデータサーバ１２に対して変換ルールを要求する。なお、データサーバ１２のアドレスを予め保持していない場合は、既存の検索サイト等を利用して、データサーバ１２として利用可能なウェブサーバ等のアドレスを取得してもよい。
【００３４】
本実施形態では、情報処理装置１０からデータサーバ１２へ変換ルールを要求する際、どのような物理量に関する変換ルールであるかについては、特に指定せずに、物理量の変換を行うための変換ルールとだけ指定している。なお、変換ルールの要求方法はこれに限らず、例えば、物理量の種類等を指定する等により、どのような物理量に関する変換ルールかを指定して変換ルールの要求を行ってもよい。
【００３５】
情報処理装置１０からの要求に応じて、各データサーバ１２は、変換ルールを情報処理装置１０に送信する。図６に示した例では、データサーバ１２１は変換ルール１を記憶しているため、変換ルール１を情報処理装置１０に送信する。また、データサーバ１２２は変換ルール２及び変換ルール３を記憶しているため、変換ルール２及び変換ルール３を情報処理装置１０に送信する。さらに、データサーバ１２３は変換ルール４を記憶しているため、変換ルール４を情報処理装置１０に送信する。なお、変換ルールを記憶していないデータサーバ１２からは、変換ルールを記憶していない旨の応答が送信される。
【００３６】
次のステップＳ１２でルール検索部２４は、データサーバ１２から何らかの情報を受信したか否か判定し、判定が肯定されるまでステップＳ１２を繰り返す。ステップＳ１２の判定が肯定されるとステップＳ１４へ移行し、ステップＳ１２においてルール検索部２４は、データサーバ１２から受信した情報が変換ルールか否かを判定する。受け付けた情報が変換ルールでない場合は否定判定となり、ステップＳ１８へ移行する。一方、変換ルールを受信すると肯定判定となり、ステップＳ１６へ移行する。
【００３７】
ステップＳ１６でルール検索部２４は、受信した変換ルールが物理量変換テーブル３２に既に格納されていないかを確認し、格納されていなければ、受信した変換ルールにＩＤを付与して物理量変換テーブル３２に格納する。なお、受信した変換ルールが物理量変換テーブル３２に既に格納されていたものの、係数のみ相違していた場合は、今回受信した変換ルールの係数の方が正確である可能性もあるため、係数のみ上書きしてもよい。ＩＤは個々の変換ルールを識別可能であればよく、例えば、数字を含むＩＤとし、受信した順に前記数字をインクリメントしたＩＤを付与してもよい。また、例えば、入力物理量の送信元のデータサーバ１２を識別可能な情報を含むＩＤを付与してもよい。
【００３８】
次のステップＳ１８でルール検索部２４は、アドレスを保持している全てのデータサーバ１２に対して変換ルールを要求したか否かを判定する。否定判定の場合はステップＳ１０に戻り、上記処理を繰り返す。
【００３９】
一方、全てのデータサーバ１２に対して変換ルールを要求し、何らかの情報を受信した場合は、本変換ルール格納処理を終了する。
【００４０】
情報処理装置１０は、このようにして物理量変換テーブル３２に変換ルールが格納された状態において、端末装置１４から物理量の変換を行う指示を受け付けると図７に示した変換処理を実行する。
【００４１】
なお、本実施形態では、変換処理を行う際に、後入れ先出し（ＬＩＦＯ：Last In, First Out）のメモリであるスタックＡ及びスタックＢを用いている。スタックでは、「Ｐｕｓｈ」で最上段にデータが保存され、「Ｐｏｐ」で最上段のデータ、すなわち最も後に保存したデータが取り出される。また、「Ｃｌｅａｒ」でスタックが空になる。図８に示したスタックＡの一例では、まず初期状態（空）のスタックＡが準備される。次に、「A.Push(a)」でスタックＡの１段目にデータ「ａ」が保存され、さらに、「A.Push(b)」でスタックＡの２段目にデータ「ｂ」が保存される。この状態の後、「A.Pop()」でデータ、このときの最上段である１段目から「ｂ」が取り出され、さらに、「A.Pop()」で、このときの最上段である１段目からデータ「ａ」が取り出される。スタックＡが空（１段目にデータが記憶されていない状態）になると、「A.Pop()」でスタックＡが空であることを示すＮｕｌｌが返される。
【００４２】
スタックＡには、変換処理において物理量の変換に適用した変換ルールの行番号が保存される。なお、本実施形態において「行」とは、物理量変換テーブル３２における行のことをいい、図３に示した例では、ＩＤ番号が行番号に一致している。また、スタックＢには、スタックＡに保存した変換ルールを適用して得られた変換後の物理量の値である変換結果Ｒが格納される。
【００４３】
図７に示した変換処理のステップＳ１００で入力部２０は、端末装置１４から、入力物理量Ｃ１、入力単位Ｔ１、及び入力値Ｖを受け付ける。また、入力部２０は、端末装置１４から、出力物理量Ｃ２を受け付ける。
【００４４】
次のステップＳ１０２でルール検索部２４は、物理量の値の変換結果Ｒを受け付けた入力値Ｖで初期化する。また、ルール検索部２４は、スタックＡ及びスタックＢを空にして初期化する。さらに、ルール検索部２４は、物理量変換テーブル３２から変換ルールの検索を開始し、適用する変換ルールに対応する行ｍを「０」で初期化する。
【００４５】
次のステップＳ１０４でルール検索部２４は、物理量変換テーブル３２のｍ＋１行目から、変換元の物理量が入力物理量Ｃ１で、かつ変換元の単位が入力単位Ｔ１である変換ルールが存在する行を検索する。
【００４６】
次のステップＳ１０６でルール検索部２４は、上記の検索で、変換元の物理量が入力物理量Ｃ１で、かつ変換元の単位が入力単位Ｔ１の変換ルールが有ったか否かを判定する。該当する変換ルールが有った場合、肯定判定となりステップＳ１０８へ移行する。
【００４７】
ステップＳ１０８でルール検索部２４は、検索で抽出した変換ルールにおける変換先の物理量は過去の変換で変換済みの物理量であるか否かを判定する。変換ルール通りの変換と、変換ルール通りの変換の逆変換との両方を物理量の変換に用いる候補とする場合、次のような問題が生じる。例えば、物理量Ａを物理量Ｂに変換する変換ルール通りの変換（正変換）を適用して物理量Ａを物理量Ｂに変換後、当該変換ルールの逆変換を適用して物理量Ｂを物理量Ａに変換することを繰り返すことで無限ループに陥る可能性がある。
【００４８】
そこで、本実施形態の変換処理では、過去の変換で変換済みの物理量には再度変換しないようにすることにより、物理量の変換が無限ループに陥ることを防止している。
【００４９】
変換先の物理量が過去の変換で変換済みの場合は、ステップＳ１０８が肯定判定となりステップＳ１１０へ移行する。ステップＳ１１０でルール検索部２４は、次の行（ステップＳ１０６で該当すると判定した行の次の行）から変換ルールの検索を再開し、ステップＳ１０６に戻る。
【００５０】
一方、ステップＳ１０８で否定判定となった場合、ステップ１１２へ移行する。ステップＳ１１２でルール検索部２４は、検索で抽出した変換ルールが格納された行の行数ｎと正変換を適用したことを表す情報をスタックＡに登録する。
【００５１】
次のステップＳ１１４で演算適用部２６は、抽出した変換ルール通りの変換（正変換）を変換結果Ｒに適用し抽出した変換ルールにおける変換先の物理量の値へ変換する。演算適用部２６は、変換結果を変換結果Ｒに代入し、さらにスタックＢに登録する。
【００５２】
次のステップＳ１１６では、図９に示した第１手続処理を実行する。図９に示した第１手続処理のステップＳ２００で、ルール検索部２４は、適用した変換ルールにおける変換先の物理量が出力物理量Ｃ２か否かを判定する。適用した変換ルールにおける変換先の物理量が出力物理量Ｃ２では無い場合、否定判定となり、ステップＳ２０２へ移行する。
【００５３】
ステップＳ２０２でルール検索部２４は、適用した変換ルールにおける変換先の物理量を入力物理量Ｃ１、変換先の単位を入力単位Ｔ１に代入する。
【００５４】
一方、ステップＳ２００で肯定判定となった場合、ステップＳ２０４へ移行する。ステップＳ２０４で出力部３０は、上記ステップＳ１１４における演算適用部２６の変換結果である変換結果Ｒを出力物理量Ｃ２の出力値として端末装置１４に出力した後、本第１手続処理を終了し変換処理のステップＳ１３２へ移行する。なお、本実施形態では、出力部３０が変換結果と共に、変換結果Ｒに対応する単位（出力単位）として、最後に演算に適用した変換ルールの変換先の物理量の単位も出力する。
【００５５】
一方、上記ステップＳ１０６で否定判定となった場合、ステップＳ１１８へ移行する。
【００５６】
ステップＳ１１８でルール検索部２４は、物理量変換テーブル３２のｍ＋１行目から、変換先の物理量が入力物理量Ｃ１で、かつ変換先の単位が入力単位Ｔ１である変換ルールを検索する。
【００５７】
次のステップＳ１２０でルール検索部２４は、変換先の物理量が入力物理量Ｃ１かつ変換先の単位が入力単位Ｔ１の変換ルールが有ったか否かを判定する。該当する変換ルールが有った場合、肯定判定となりステップＳ１２２へ移行する。
【００５８】
ステップＳ１２２でルール検索部２４は、上記ステップＳ１０８と同様に、物理量の変換が無限ループに陥ることを防止するために、検索で抽出した変換ルールにおける変換元の物理量は過去の変換で変換済みの物理量か否かを判定する。
【００５９】
変換元の物理量が過去の変換で変換済みの場合は、肯定判定となりステップＳ１２４へ移行する。ステップＳ１２４でルール検索部２４は、次の行（ステップＳ１２０で該当すると判定した行の次の行）から検索を再開し、ステップＳ１２０に戻る。
【００６０】
一方、ステップＳ１２２で否定判定となった場合は、ステップ１２６へ移行する。ステップＳ１２６でルール検索部２４は、検索で抽出した変換ルールが格納された秒の行番号ｍと、逆変換を適用したことを表す情報をスタックＡに登録する。
【００６１】
次のステップＳ１２８で逆演算適用部２８は、変換ルール通りの変換の逆変換を変換結果Ｒに適用して抽出した変換ルールにおける変換元の物理量の値へ変換する。逆演算適用部２８は、変換結果を変換結果Ｒに代入し、さらにスタックＢに登録する。
【００６２】
次のステップＳ１３０では、図１０に示した第２手続処理を実行する。図１０に示した第２手続処理のステップＳ２５０でルール検索部２４は、適用した変換ルールにおける変換元の物理量が出力物理量Ｃ２か否かを判定する。適用した変換ルールにおける変換元の物理量が出力物理量Ｃ２では無い場合、否定判定となり、ステップＳ２５２へ移行する。
【００６３】
ステップＳ２５２でルール検索部２４は、適用した変換ルールにおける変換元の物理量を入力物理量Ｃ１、変換元の単位を入力単位Ｔ１に代入する。
【００６４】
一方、ステップＳ２５０で肯定判定となった場合は、ステップＳ２５４へ移行する。ステップＳ２５４で出力部３０は、上記ステップＳ１２０における逆演算適用部２８の変換結果である変換結果Ｒを端末装置１４に出力した後、本第２手続処理を終了して、変換処理のステップＳ１３２へ移行する。なお、本実施形態では、出力部３０が変換結果と共に、変換結果Ｒに対応する単位（出力単位）として、最後に適用した変換ルールの変換元の物理量の単位も出力する。
【００６５】
ステップＳ１３２でルール検索部２４は、本変換処理を終了するか否かを判定する。本実施形態では、上記ステップＳ１１６の第１手続処理（図９参照）及びステップＳ１３０の第２手続処理（図１０参照）において、変換結果Ｒを出力した場合、肯定判定となり、本変換処理を終了する。
【００６６】
なお、出力物理量Ｃ２の値（変換結果Ｒ）を出力した時点でスタックＡに最下段から記憶されている行番号ｍの配列が指し示す変換ルールの配列は、開示の技術における変換規則の配列の一例である。
【００６７】
一方、ステップＳ１３２で否定判定となった場合、出力物理量Ｃ２への変換が完了していないのでステップＳ１３４へ移行する。ステップＳ１３４でルール検索部２４は、物理量の変換を繰り返すべく、行番号ｍに「０」を代入した後、ステップＳ１０６に戻る。
【００６８】
また、上記ステップＳ１２０で否定判定となった場合、現在の入力物理量が変換元又は変換先の物理量とされた変換ルールは存在しないので、ステップＳ１３６へ移行する。
【００６９】
ステップＳ１３６でルール検索部２４は、スタックＡの最上段から取り出したデータ（行番号）を変数ｔに代入する。また、スタックＢの最上段から取り出したデータ（変換結果）を変換結果Ｒに代入する。なお、スタックＢから取り出したデータを変換結果Ｒに代入する際は、スタックＢの最上段から２つデータを取り出し、２つ目（後から取り出した方）のデータを変換結果Ｒに代入する。さらに、変換結果Ｒに代入したデータを再びスタックＢに登録する。
【００７０】
次のステップＳ１３８でルール検索部２４は、変数ｔが「Ｎｕｌｌ」であるか否かを判定する。すなわち、スタックＡが空の状態であるか否かを判定する。変数ｔが「Ｎｕｌｌ」ではない場合、否定判定となりステップＳ１４０へ移行する。
【００７１】
ステップＳ１４０でルール検索部２４は、行番号ｍに変数ｔの値を代入する。次のステップＳ１４２でルール検索部２４は、行番号ｍに格納されている変換ルールにおける変換元の物理量及び変換先の物理量のうち、現在の入力物理量Ｃ１と異なる方の物理量を入力物理量Ｃ１に代入する。なお、入力物理量Ｃ１と異なる方の物理量は、スタックＡの最上段から取り出されたデータに、正変換を表すデータが含まれていれば変換先の物理量になり、逆変換を表すデータが含まれていれば変換元の物理量になる。さらに当該入力物理量Ｃ１に対応する上記変換元または変換先の単位を入力単位Ｔ１に代入した後、ステップＳ１０４に戻る。
【００７２】
一方、ステップＳ１３８で肯定判定となった場合、ステップＳ１４４へ移行する。
【００７３】
ステップＳ１４４で出力部３０は、入力物理量から出力物理量への変換に失敗した旨を表す情報を端末装置１４へ送信した後、本変換処理を終了する。
【００７４】
具体例として、情報処理装置１０が、図３に示した物理量変換テーブル３２を備えた状態で、「ＣＯ２の発生量２ｔ」を「車が走る距離（単位：ｋｍ）」に変換する指示を端末装置１４から受け付けた場合の変換処理の流れを説明する。なお、以下では、変換処理の全てのステップについて説明するのではなく、適宜、必要なステップのみ説明を行っている。
【００７５】
この場合、変換処理をスタートして直ぐのステップＳ１００で、情報処理装置１０のルール検索部２４は、入力物理量Ｃ１を「ＣＯ２の発生量」、入力単位Ｔ１を「ｔ」、入力値Ｖを「２」、及び出力物理量Ｃ２を「車が走る距離」とする。
【００７６】
ステップＳ１０４の検索により、物理量変換テーブル３２の１行目（ＩＤ＝１）に格納された変換ルールが抽出される。そのため、ステップＳ１１２で行数「１」をスタックＡに登録し、ステップＳ１１４でＩＤ＝１の変換ルールの正変換を適用して演算を行う。ＩＤ＝１の変換ルールを適用すると、ＣＯ２の発生量２ｔは、係数「３」を乗じることにより、ガソリンを燃焼させる量６ｌ（２×３＝６）に変換されるため、変換結果Ｒとして「６」をスタックＢに登録する。
【００７７】
ステップＳ１１６の第１手続処理（図９参照）のステップＳ２００では、ＩＤ＝１の変換ルールの変換先の物理量は「ガソリンを燃焼させる量」である。しかしながら、出力物理量Ｃ２は「車が走る距離」のため否定判定となり、ステップＳ２０２へ移行する。
【００７８】
ステップＳ２０２でルール検索部２４は、「ガソリンを燃焼させる量」を入力物理量Ｃ１に代入し、「ｌ」を入力単位Ｔ１に代入した後、本第１手続処理を終了して、変換処理のステップＳ１３２へ移行する。
【００７９】
ステップＳ１３２で否定判定となった後、ステップＳ１３４で行番号ｍに「０」を代入した後、ステップＳ１０４に戻る。ステップＳ１０４では、変換元の物理量が「ガソリンを燃焼させる量」であり、変換元の単位が「ｌ」の変換ルールを物理量変換テーブル３２から検索する。
【００８０】
ステップＳ１０４の検索により、物理量変換テーブル３２の２行目（ＩＤ＝２）に格納された変換ルールが抽出される。そのため、ステップＳ１１２で行数「２」をスタックＡに登録し、ステップＳ１１４でＩＤ＝２の変換ルールの正変換を適用して演算を行う。ＩＤ＝２の変換ルールを適用すると、ガソリンを燃焼させる量６ｌは、係数「４」を乗じることにより、エネルギー２４キロカロリー（６×４＝２４）に変換される。また、変換結果Ｒとして「２４」をスタックＢに登録する。
【００８１】
続いて、ステップＳ１１６の第１手続処理（図９参照）のステップＳ２００でＩＤ＝２の変換ルールの変換先の物理量は「エネルギー」である。しかしながら、物理量Ｃ２は「車が走る距離」のため否定判定となり、ステップＳ２０２へ移行する。
【００８２】
ステップＳ２０２でルール検索部２４は、「エネルギー」を入力物理量Ｃ１に代入し、「キロカロリー」を入力単位Ｔ１に代入した後、本第１手続処理を終了して、変換処理のステップＳ１３２へ移行する。
【００８３】
ステップＳ１３２で否定判定となった後、ステップＳ１３４では、行番号ｍに「０」を代入した後、ステップＳ１０４に戻る。ステップＳ１０４では、変換元の物理量が「エネルギー」であり、変換元の単位が「キロカロリー」の変換ルールを物理量変換テーブル３２から検索する。
【００８４】
ステップＳ１０４の検索により、４行目（ＩＤ＝４）に格納された変換ルールが抽出される。そのため、ステップＳ１１２で行数「４」をスタックＡに登録し、ステップＳ１１４でＩＤ＝４の変換ルールの正変換を適用して演算を行う。ＩＤ＝４の変換ルールを適用すると、エネルギー２４キロカロリーは、係数「０．５」を乗じることにより、人の歩数１２歩（２４×０．５＝１２）に変換される。また、変換結果Ｒとして「１２」をスタックＢに登録する。
【００８５】
続いて、ステップＳ１１６の第１手続処理（図９参照）のステップＳ２００では、ＩＤ＝４の変換ルールの変換先の物理量は「人の歩数」である。しかしながら、出力物理量Ｃ２は「車が走る距離」のため否定判定となり、ステップＳ２０２へ移行する。
【００８６】
ステップＳ２０２でルール検索部２４は、「人の歩数」を入力物理量Ｃ１に代入し、「歩」を入力単位Ｔ１に代入した後、本第１手続処理を終了して、変換処理のステップＳ１３２へ移行する。
【００８７】
ステップＳ１３２で否定判定となった後、ステップＳ１３４で行番号ｍに「０」を代入した後、ステップＳ１０４に戻る。ステップＳ１０４では、変換元の物理量が「人の歩数」であり、変換元の単位が「歩」の変換ルールを物理量変換テーブル３２から検索する。
【００８８】
該当する変換ルールが存在しないため、ステップＳ１０６で否定判定となり、次のステップＳ１１８では、変換先の物理量が「人の歩数」であり、変換先の単位が「歩」の変換ルールを検索する。
【００８９】
ステップＳ１１８の検索により、４行目（ＩＤ＝４）に格納された変換ルールが抽出されるが、変換元の物理量（エネルギー）は過去の変換で変換済みである。そのため、ステップＳ１２２で否定判定となり、ステップＳ１２４に移行して検索を継続する。この場合、該当する行が存在しないため、ステップＳ１２０で否定判定となり、ステップＳ１３６へ移行する。
【００９０】
ステップＳ１３６では、変数ｔに「４」を代入する。また変換結果Ｒに「２４」を代入する。
【００９１】
さらに、ステップＳ１４０でｍに「４」を代入する。また、次のステップＳ１４２では、現在の入力物理量Ｃ１が「人の歩数」であるため、物理量変換テーブル３２の４行目（ＩＤ＝４）の変換ルールの変換元の物理量「エネルギー」を入力物理量Ｃ１に代入する。また、変換元の入力単位「キロカロリー」を単位Ｔ１に代入した後、ステップＳ１０４に戻る。
【００９２】
この場合、ｍ＋１＝５となるが、物理量変換テーブル３２には、４行目までしか存在しないため、再びステップＳ１３６に至り、ステップＳ１３６で変数ｔに「２」を代入する。また、変換結果Ｒに「６」を代入する。さらに、ステップＳ１４０で行番号ｍに「２」を代入する。また、次のステップＳ１４２では、現在の入力物理量Ｃ１が「エネルギー」であるため、物理量変換テーブル３２の２行目（ＩＤ＝２）の変換ルールの変換元の物理量「ガソリンを燃焼させる量」を入力物理量Ｃ１に代入する。また、変換元の単位「ｌ」を入力単位Ｔ１に代入した後、ステップＳ１０４に戻る。
【００９３】
ステップＳ１０４では、ｍ＋１＝３となるため３行目から検索が行われる。変換元の物理量が「ガソリンを燃焼させる量」の変換ルールは存在しない。しかしながら、３行目（ＩＤ＝３）に格納された変換ルールは変換先の物理量が「ガソリンを燃焼させる量」であり、単位が「ｌ」であるため、ステップＳ１２０で肯定判定となる。
【００９４】
ステップＳ１２６で行数「３」をスタックＡに登録し、ステップＳ１２８でＩＤ＝３に格納された変換ルールの逆変換を適用して演算を行う。ＩＤ＝３の変換ルールの逆変換を適用すると、ガソリンを燃焼させる量６ｌは、係数「０．０５」を除することにより、車が走る距離１２０ｋｍ（６／０．０５＝１２０）に変換される。また、変換結果Ｒとして「１２０」をスタックＢに登録する。
【００９５】
続いて、ステップＳ１３０の第２手続処理（図１０参照）のステップＳ２５０では、ＩＤ＝３の変換ルールの変換元の物理量が「車が走る距離」であり、出力物理量Ｃ２が「車が走る距離」のため肯定判定となり、ステップＳ２５４へ移行する。
【００９６】
ステップＳ２５４で出力部３０は、変換結果Ｒとして「１２０」、及び出力単位として「ｋｍ」を端末装置１４に出力した後、本第２手続処理を終了して、変換処理のステップＳ１３２へ移行する。ステップＳ１３２では、肯定判定となり、本変換処理を終了する。
【００９７】
[第２実施形態]
上記第１実施形態では、変換元または変換先の物理量及び当該物理量の単位が一致する変換ルールを適用して物理量の変換を行っていた。これに対して、本第２実施形態では、物理量の単位が異なる場合でも、物理量の単位の変換を行うことにより上記変換ルールを適用して物理量の変換を行う。なお、以下の第２実施形態において、第１実施形態と同一の部分には同一の符号を付して説明を省略する。
【００９８】
図１１に示すように、本実施形態の情報処理装置１０は、所定の記憶領域（図１３の単位変換テーブル記憶領域７４参照）に単位変換テーブル３４が記憶される点で、第１実施形態の情報処理装置１０と異なっている。
【００９９】
図１２に示した具体例のように、単位変換テーブル３４は、変換元の単位を変換先の単位に変換するための定義である基準単位変換ルールを格納したものである。
【０１００】
図１２に示すように、具体的に１つの基準単位変換ルールには、変換元の単位、係数、演算方法（図１２の「演算」に対応）、及び変換先の単位が含まれる。図１２に示したＩＤ＝Ｋ１の基準変換ルールでは、「キロカロリー」という単位での値「１キロカロリー」が、「カロリー」という単位では「１０００カロリー」（１×１０００＝１０００）に変換されることを表している。
【０１０１】
本第２実施形態の、演算適用部２６及び逆演算適用部２８は、変換ルールを適用して物理量の変換を行う際に、基準単位変換ルールを適用して物理量の単位の変換を行うことにより単位が異なる変換ルールについても適用可能としている。
【０１０２】
なお、本第２実施形態の情報処理装置１０は、例えば図１３に示すコンピュータ５０で実現することができる。図１３に示した本実施形態のコンピュータ５０は、記憶部５６が、単位変換テーブル記憶領域７４を有する点で第１実施形態のコンピュータ５０と異なっている。単位変換テーブル記憶領域７４には、単位変換テーブル３４が記憶される。
【０１０３】
次に、本第２実施形態の情報処理装置１０の作用について説明する。
【０１０４】
なお、本第２実施形態の情報処理装置１０には、予め単位変換テーブル３４に複数の基準単位変換ルールが格納されている。基準単位変換ルールの格納方法は、特に限定されず、予め人手により基準単位変換ルールを物理量変換テーブル３２に格納してもよい。また、第１実施形態で上述した物理量変換テーブル３２に変換ルールを格納する方法（変換ルール格納処理、図５参照）と同様に、データサーバ１２から収集してもよい。
【０１０５】
本第２実施形態の情報処理装置１０で実行される変換処理について、第１実施形態の変換処理（図７参照）と異なる部分を説明する。図１４に示した本第２実施形態の変換処理は、第１実施形態の変換処理（図７参照）と比較して、ステップＳ１０４及びＳ１１８の代わりにステップＳ１０５及びＳ１１９を実行する点で異なっている。また、ステップＳ１１２の後にステップＳ１１４を実行せずにステップＳ１１７の第１手続処理を実行する点で異なっている。さらに、ステップＳ１２６の後にステップＳ１２８を実行せずにステップＳ１３１の第２手続処理を実行する点で異なっている。
【０１０６】
ステップＳ１０５でルール検索部２４は、物理量変換テーブル３２のｍ＋１行目から変換元の物理量が入力物理量Ｃ１である変換ルールを検索する。
【０１０７】
また、ステップＳ１１７で実行される本実施形態の第１手続処理は、図１５に示すように第１実施形態の第１手続処理（図９参照）と異なっている。
【０１０８】
ステップＳ３００でルール検索部２４は、検索で抽出した変換ルールの変換元の物理量の単位が入力単位Ｔ１であるか否かを判定する。変換元の物理量の単位が入力単位Ｔ１では無い場合、否定判定となり、ステップＳ３０２へ移行する。
【０１０９】
ステップＳ３０２でルール検索部２４は、基準単位変換ルールを用いて、入力単位Ｔ１を抽出した変換ルールの変換元の単位に変換可能であるか否かを判定する。入力単位Ｔ１を変換元の単位に変換可能であるか否かの判定方法は、特に限定されない。
【０１１０】
例えば、変換元の単位及び変換先の単位のいずれか一方が入力単位Ｔ１で、他方が抽出した変換ルールの変換元の単位である基準単位変換ルールが単位変換テーブル３４に有るか否かを検索すればよい。この場合、該当する基準単位変換ルールが有る場合は、変換が可能であると判定し、肯定判定となる。肯定判定の場合、ステップＳ３０８へ移行する。ステップＳ３０８で演算適用部２６または逆演算適用部２８が入力単位Ｔ１の値を変換元の単位の値に変換した後、ステップＳ３１０へ移行する。
【０１１１】
具体的には、基準単位変換ルールをそのまま適用して演算を行う場合は、演算適用部２６が入力単位Ｔ１での物理量の値を、抽出した変換ルールの変換元の単位での同一物理量の値に変換する。一方、基準単位変換ルールの逆演算を適用して演算を行う場合は、逆演算適用部２８が入力単位Ｔ１での物理量の値（変換結果Ｒ）を、抽出した変換ルールの変換元の単位での同一物理量の値に変換する。なお、何れの変換においても、変換結果は変換結果Ｒに代入される。
【０１１２】
また、ステップＳ３００で否定判定となった場合もステップＳ３１０へ移行する。
【０１１３】
ステップＳ３１０で演算適用部２６は、第１実施形態の変換処理（図７参照）におけるステップＳ１１４と同様に、変換ルールの正変換を変換結果Ｒに適用して入力物理量Ｃ１の値の変換を行う。また、演算適用部２６は、変換結果を変換結果Ｒに代入し、さらにスタックＢに登録する。
【０１１４】
次のステップＳ３１２〜Ｓ３１６の各処理は、第１実施形態の第１手続処理（図９参照）におけるステップＳ２００〜２０４の各処理と同様であるため、説明を省略する。
【０１１５】
一方、上記ステップＳ３０２で否定判定となった場合は、ステップＳ３０４へ移行する。
【０１１６】
ステップＳ３０４でルール検索部２４は、スタックＡから取り出したデータ（行番号）を変数ｔに代入する。次のステップＳ３０６で、ルール検索部２４は、行番号ｍに変数ｔの値を代入した後、本第１手続処理を終了して、変換処理のステップＳ１０５へ移行する。すなわち、物理量変換テーブル３２に格納されている基準単位変換ルールでは入力単位Ｔ１を抽出した変換ルールの変換元の単位に変換できない場合は、検索で抽出した変換ルールが適用できないため、変換ルールの検索を再開する。
【０１１７】
また、ステップＳ１１９でルール検索部２４は、物理量変換テーブル３２のｍ＋１行目から変換先の物理量が入力物理量Ｃ１である変換ルールを検索する。
【０１１８】
また、ステップＳ１３１で実行される本実施形態の第２手続処理は、図１６に示すように第１実施形態の第２手続処理（図１０参照）と異なっている。
【０１１９】
ステップＳ３５０でルール検索部２４は、検索で抽出した変換ルールの変換先の物理量の単位が入力単位Ｔ１であるか否かを判定する。変換先の物理量の単位が入力単位Ｔ１では無い場合、否定判定となり、ステップＳ３５２へ移行する。
【０１２０】
ステップＳ３５２でルール検索部２４は、基準単位変換ルールを用いて入力単位Ｔ１を変換先の単位に変換可能であるか否かを判定する。入力単位Ｔ１を変換先の単位に変換可能であるか否かの判定方法は、特に限定されない。上記第１手続処理（図１４参照）のステップＳ３０２と同様に判定すればよい。肯定判定の場合、ステップＳ３５８へ移行する。ステップＳ３５８で演算適用部２６または逆演算適用部２８が単位Ｔ１を変換元の単位に変換した後、ステップＳ３６０へ移行する。変換方法は、上記第１手続処理（図１４山参照）のステップＳ３０８と同様にすればよい。
【０１２１】
また、ステップＳ３５０で否定判定となった場合もステップＳ３６０へ移行する。
【０１２２】
ステップＳ３６０で逆演算適用部２８は、第１実施形態の変換処理（図７参照）におけるステップＳ１２８と同様に、変換ルールの逆変換を変換結果Ｒに適用して入力物理量Ｃ１の値の変換を行う。また、逆演算適用部２８は、変換結果を変換結果Ｒに代入し、さらにスタックＢに登録する。
【０１２３】
次のステップＳ３６２〜Ｓ３６６の各処理は、第１実施形態の第２手続処理（図１０参照）におけるステップＳ２５０〜Ｓ２５４の各処理と同様であるため、説明を省略する。
【０１２４】
一方、上記ステップＳ３５２で否定判定となった場合は、ステップＳ３５４へ移行する。
【０１２５】
ステップＳ３５４でルール検索部２４は、スタックＡから取り出したデータ（行番号）を変数ｔに代入する。次のステップＳ３０６で、ルール検索部２４は、行番号ｍに変数ｔの値を代入した後、本第２手続処理を終了して、変換処理のステップＳ１１９へ移行する。すなわち、物理量変換テーブル３２に格納されている基準単位変換ルールでは、入力単位Ｔ１を抽出した変換ルールの変換先の単位に変換できない場合は、検索で抽出した変換ルールが適用できないため、変換ルールの検索を再開する。
【０１２６】
具体例として、情報処理装置１０が、図１７に示した物理量変換テーブル３２を備える場合について更に説明する。図１７に示した物理量変換テーブル３２は、第１実施形態で具体例として示した物理量変換テーブル３２（図３参照）と、ＩＤ＝４の変換ルールの変換の単位が、本実施形態では「キロカロリー」である点で異なっている。
【０１２７】
また、第１実施形態で具体例として説明したのと同様に、「ＣＯ２の発生量２ｔ」を「車が走る距離（単位：ｋｍ）」に変換する指示を端末装置１４から受け付けた場合の変換処理について説明する。
【０１２８】
変換処理を実行すると第１実施形態と同様に、ステップＳ１０４の検索により、４行目（ＩＤ＝４）の変換ルールが抽出される。そのため、ステップＳ１１２で行番号「４」をスタックＡに登録する。ステップＳ１１７の第１手続処理（図１５参照）のステップＳ３００では、ＩＤ＝４の変換ルールの変換元の単位は「カロリー」であるのに対し、入力単位Ｔ１は「キロカロリー」であるため否定判定となり、ステップＳ３０２へ移行する。
【０１２９】
ステップＳ３０２では、単位変換テーブル３４のＩＤ＝Ｋ１の基準単位変換ルールにより変換が可能であるため肯定判定となり、ステップＳ３０８へ移行する。
【０１３０】
ステップＳ３０８で演算適用部２６は、ＩＤ＝Ｋ１の基準単位変換ルールを適用して、入力単位Ｔ１「キロカロリー」での値を、抽出した変換ルールの変換元の単位である「カロリー」での値に変換する。具体的には、物理量の値に１０００を乗じることにより、単位の変換を行うため、入力物理量の単位Ｔ１が「カロリー」で値が「２４０００」に変換される。
【０１３１】
従って、ステップＳ３１０では、「エネルギー２４０００カロリー」に対して、ＩＤ＝４の変換ルールを適用して演算を行うことにより、人の歩数１２歩（２４０００×０．０００５＝１２）に変換されるため、変換結果Ｒとして「１２」をスタックＢに登録する。
【０１３２】
なお、物理量の変換ルールをスタックＡに記憶させるのと同様に、適用した基準単位変換ルールについてもスタック等に記憶させておくことが好ましい。この場合、基準単位変換ルールを正変換として適用するか、逆変換として適用するかについての情報も記憶させることが好ましい。
【０１３３】
以上説明したように、上記各実施形態の情報処理装置１０は、入力部２０が、入力物理量、入力物理量の値及び出力物理量を受け付ける。物理量変換テーブル３２には、変換元物理量が互いに異なる物理量の複数の変換ルールが格納される。変換部２２は、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、入力物理量から出力物理量に至る変換規則の配列を生成する。変換部２２は、生成した変換規則の配列を用いて入力物理量の値を出力物理量の値に変換する。
【０１３４】
このように上記各実施形態の情報処理装置１０では、物理量変換テーブル３２に格納された変換ルールの正変換及び逆変換を適用して入力物理量Ｃ１から出力物理量Ｃ２への変換を行うことができる。そのため、入力物理量Ｃ１から出力物理量Ｃ２へ直接変換する変換ルールが存在しなくとも、物理量の変換を行うことができる。また、例えば、正変換のみしか行わない等、複数の変換ルールを単純に組み合わせる場合では実現できない物理量の変換も行うことができる。
【０１３５】
従って、上記各実施形態の情報処理装置１０によれば、端末装置１４から受け付けた入力物理量Ｃ１から出力物理量Ｃ２への値の変換にあたり、対応する物理量の変換ルールが存在しない場合にも物理量の変換を可能とする。これにより、上記各実施形態の情報処理装置１０によれば、ユーザが所望する様々な物理量への変換を行うことが可能となる。
【０１３６】
また、上記各実施形態の情報処理装置１０によれば、物理量変換テーブル３２に或る物理量と異なる物理量との間での変換ルールとして、正変換の変換ルール及び逆変換の変換ルールの両方を物理量変換テーブル３２に格納しなくてよい。そのため、上記各実施形態の情報処理装置１０によれば、物理量変換テーブル３２の記憶に要する記憶部（例えば、メモリ等）の容量を小さくすることができる。
【０１３７】
なお、上記各実施形態では、変換処理の実行前に図５に示した格納処理により物理量変換テーブル３２に変換ルールを格納しておく場合について説明したが、変換処理の実行中に適宜、変換ルールをデータサーバ１２から取得してもよい。この場合、格納処理は実行せずに、例えば、図１８に示した変換処理を実行する。なお、情報処理装置１０は、変換ルールの要求が可能なデータサーバ１２のアドレスのリストを予め保持している。
【０１３８】
図１８に示した変換処理では、第１実施形態の変換処理（図７参照）が物理量変換テーブル３２から変換ルールを検索していたのに代わり、上記アドレスのリストの順番に基づいて、データサーバ１２に対して変換ルールの要求を行う。そのため、図１８に示した変換処理では、第１実施形態では物理量変換テーブル３２の行番号としていた変数「ｍ」をデータサーバ１２のアドレスのリストの番号として扱っている。
【０１３９】
図１８に示した変換処理は、第１実施形態の変換処理（図７参照）と同様の処理を含むため、異なる処理のみ説明する。
【０１４０】
ステップＳ１０２Ａでルール検索部２４は、変換結果Ｒ、スタックＡ、及びスタックＢを初期化する。さらに、ルール検索部２４は、アドレスのリストの番号ｍを「０」で初期化する。
【０１４１】
次のステップＳ１０４Ａでルール検索部２４は、アドレスのリストのｍ＋１番目のデータサーバ１２から順次、図１９にも示すように変換元の物理量が入力物理量Ｃ１かつ変換元の単位が入力単位Ｔ１である変換ルールを要求する。
【０１４２】
次のステップＳ１０６Ａでルール検索部２４は、変換ルールが有ったか否かを判定する。変換ルールを要求したデータサーバ１２から、変換ルールを取得した場合、肯定判定となりステップＳ１０８へ移行する。
【０１４３】
ステップＳ１０８で肯定判定となった場合、ステップＳ１１０Ａでルール検索部２４は、次の（リストの次の番号の）データサーバ１２から順に変換ルールを要求する。一方、ステップＳ１０８で否定判定となった場合、ステップＳ１１２Ａで変換ルールを取得したデータサーバ１２の番号をスタックＡに登録する。なお、図１８に示した変換処理を実行する場合は、取得した変換ルールを物理量変換テーブル３２にＩＤを付与して格納する。これにより、上記各実施形態と同様の物理量変換テーブル３２が情報処理装置１０に記憶された状態となる。
【０１４４】
一方、ステップＳ１０６Ａで否定判定となった場合、ステップＳ１１８Ａへ移行する。ステップＳ１１８Ａでルール検索部２４は、アドレスのリストのｍ＋１番目のデータサーバ１２から順次、図１９にも示すように変換先の物理量が入力物理量Ｃ１かつ変換先の単位が入力単位Ｔ１である変換ルールを要求する。
【０１４５】
次のステップＳ１２０Ａでルール検索部２４は、変換ルールが有ったか否かを判定する。変換ルールを要求したデータサーバ１２から、変換ルールを取得した場合、肯定判定となりステップＳ１２２へ移行する。
【０１４６】
ステップＳ１２２で肯定判定となった場合、ステップＳ１２４Ａでルール検索部２４は、上記ステップＳ１１０Ａと同様に、次の（リストの次の番号の）データサーバ１２から順に変換ルールを要求する。一方、ステップＳ１２２で否定判定となった場合、上記ステップＳ１１２Ａと同様に、ステップＳ１２６Ａで変換ルールを取得したデータサーバ１２の番号をスタックＡに登録する。
【０１４７】
一方、ステップＳ１２０Ａで否定判定となった場合、ステップＳ１３６へ移行する。
【０１４８】
さらに、ステップＳ１４２Ａでは、ルール検索部２４がアドレスのリストのｍ番目に格納されている変換ルールにおける変換元の物理量及び変換先の物理量のうち、現在の入力物理量Ｃ１と異なる方の物理量を入力物理量Ｃ１に代入する。
【０１４９】
このように図１８に示した変換処理を実行することにより、変換処理の実行時にデータサーバ１２から変換ルールを取得する。そのため、より新しい変換ルールを物理量の変換に適用することができる。
【０１５０】
なお、上記各実施形態では、入力物理量Ｃ１及び入力単位Ｔ１の変換に適用可能な変換ルールを抽出（取得）する毎に、正変換または逆変換を行っていたが、正変換または逆変換を行うタイミングはこれに限らない。例えば、適用可能な変換ルールを全て抽出した後に、正変換及び逆変換の少なくとも一方を行ってもよい。上述した変換処理の終了後は、端末装置１４から受け付けた入力物理量Ｃ１から出力物理量Ｃ２への変換に適用する全ての変換ルールがスタックＡに記憶された状態になる。そのため、スタックＡに記憶された物理量変換テーブル３２の行番号ｍ及び正変換または逆変換を表す情報に基づいて、順次変換ルールを適用することにより、入力物理量Ｃ１から出力物理量Ｃ２への変換が行える。
【０１５１】
なお、上記各実施形態では、変換ルールをデータサーバ１２から取得して物理量変換テーブル３２に格納する場合について説明したが、変換ルールの取得先はデータサーバ１２に限定されない。予め、複数の変換ルールが格納された物理量変換テーブル３２が情報処理装置１０に記憶されていてもよいが、上記各実施形態のように、データサーバ１２から、変換ルールを取得することが好ましい。
【０１５２】
この場合、業種が異なる等互いに関連性が低い企業や標準化団体等であっても、企業や標準化団体等は、データサーバ１２として機能して各々に関連する物理量の変換ルールのみを提供すればよい。物理量の変換を行う情報処理装置が全ての変換ルールを保持し、管理するのは困難であるが、上記各実施形態の情報処理装置１０によれば、情報処理装置１０自身は、全ての変換ルールを保持及び管理する必要がない。
【０１５３】
また、各企業や標準化団体等がデータサーバ１２として機能する場合、各データサーバ１２において更新された変換ルールを取得することにより、常に最新のルールを適用して物理量の変換を行うことができる。例えば、車両の燃費は向上されていくため、車両の燃費を物理量とした変換ルールも更新される。上記各実施形態の情報処理装置１０によれば、自装置において変換ルールの更新を行わずとも、車両の燃費を提供するデータサーバ１２が変換ルールを更新することにより、最新の変換ルールを適用して物理量の変換を行うことができる。これにより、上記各実施形態の情報処理装置１０によれば、変換ルールを更新する労力を削減することができる。
【０１５４】
また、データサーバ１２から変換ルールを取得する場合、データサーバ１２等に応じて、変換ルールの信頼性が異なる場合がある。そのため、データサーバ１２のアドレスのリストに、各データサーバ１２の信頼性に関する情報も記憶しておくことが好ましい。変換元の物理量及び変換先の物理量が同一の変換ルールを異なるデータサーバ１２から取得した場合、信頼性が高いデータサーバ１２から取得した変換ルールを適用することにより、物理量の変換の精度を高めることができる。なお、情報処理装置１０の信頼性の判断方法は特に限定されない。例えば、データサーバ１２に変換ルールが記憶された日時が新しいものほど信頼性が高いと判断してもよい。また、データサーバ１２を提供する企業や標準化団体等に応じて信頼性を判断してもよい。
【０１５５】
なお、上記各実施形態では、入力物理量Ｃ１を探索対象とし、入力物理量Ｃ１から出力物理量Ｃ２に至る変換規則の配列を生成する態様を説明した。しかしながら、出力物理量Ｃ２を探索対象とし、出力物理量Ｃ２から入力物理量Ｃ１に至る変換規則の配列を生成するようにしてもよい。
【０１５６】
また、上記では、情報変換プログラム６０がコンピュータ５０の記憶部５６に予め記憶（インストール）されている状態を説明した。しかしながら、情報変換プログラム６０を記憶媒体に記録された形態で提供することも可能である。記憶媒体としては、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、及びＵＳＢ（Universal Serial Bus）メモリ等が挙げられる。
【０１５７】
以上の上記実施形態に関し、更に以下の付記を開示する。
【０１５８】
（付記１）
コンピュータにより、
入力物理量、前記入力物理量の値及び出力物理量を受け付け、
変換元物理量及び変換先物理量の少なくとも一方が互いに異なる、物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、前記入力物理量から前記出力物理量に至る変換規則の配列又は前記出力物理量から前記入力物理量に至る変換規則の配列を生成し、
生成した前記変換規則の配列を用いて、前記入力物理量の値を前記出力物理量の値に変換する、
ことを含む処理を行う情報変換方法。
【０１５９】
（付記２）
前記入力物理量から前記出力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の先頭から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換し、前記出力物理量から前記入力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の末尾から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換する、
付記１に記載の情報変換方法。
【０１６０】
（付記３）
前記変換ルール及び前記変換規則は、第１の物理量の第１の単位での値を第２の物理量の第２の単位での値へ変換するものであり、
前記変換規則の配列に含まれる変換規則を適用して変換対象の物理量の値を前記変換対象の物理量と異なる物理量の値に変換するにあたり、前記変換対象の物理量の値の単位が適用する変換規則の前記第１の単位または前記第２の単位と相違している場合は、予め定められた変換ルールを用いて、前記変換対象の物理量の値を前記第１の単位での値または前記第２の単位へ換算する、
付記１または付記２に記載の情報変換方法。
【０１６１】
（付記４）
前記入力物理量及び前記出力物理量の一方を探索対象とし、前記複数の変換ルールから、変換元物理量又は変換先物理量が前記探索対象に一致する変換ルールを探索し、探索で抽出した変換ルールの変換元物理量が前記探索対象に一致する場合は前記抽出した変換ルールによる変換を前記変換規則として記憶し、前記抽出した変換ルールの変換先物理量が前記探索対象に一致する場合は抽出した前記変換ルールによる変換の逆変換を前記変換規則として記憶し、前記抽出した変換ルールの変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と相違する場合は、前記探索対象と相違する物理量を探索対象として再度探索を行うことを、変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と一致する変換ルールを抽出するまで繰り返すことで、前記変換規則の配列を生成する、
付記１から付記３のいずれか１つに記載の情報変換方法。
【０１６２】
（付記５）
前記複数の変換ルールは、前記コンピュータとネットワークを介して接続された外部装置に記憶されており、
前記入力物理量、前記入力物理量の値及び出力物理量を受け付けるよりも前に、前記複数の変換ルールを前記外部装置から取得し、前記コンピュータの記憶部に記憶しておくか、又は、前記入力物理量、前記入力物理量の値及び出力物理量を受け付けた後で前記外部装置と通信を行い、前記複数の変換ルールから前記変換規則の配列の要素とする変換ルールを探索する、
付記１から付記４の何れか１つに記載の情報変換方法。
【０１６３】
（付記６）
入力物理量、前記入力物理量の値及び出力物理量を受け付ける受付部と、
変換元物理量及び変換先物理量の少なくとも一方が互いに異なる、物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換スールの逆変換を要素とし、かつ、前記入力物理量から前記出力物理量に至る変換規則の配列又は前記出力物理量から前記入力物理量に至る変換規則の配列を生成し、生成した前記変換規則の配列を用いて、前記入力物理量の値を前記出力物理量の値に変換する変換部と、
を備えた情報処理装置。
【０１６４】
（付記７）
前記変換部が前記入力物理量から前記出力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の先頭から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換し、前記出力物理量から前記入力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の末尾から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換する、
付記６に記載の情報処理装置。
【０１６５】
（付記８）
前記変換ルール及び前記変換規則は、第１の物理量の第１の単位での値を第２の物理量の第２の単位での値へ変換するものであり、
前記変換部は、前記変換規則の配列に含まれる変換規則を適用して変換対象の物理量の値を前記変換対象の物理量と異なる物理量の値に変換するにあたり、前記変換対象の物理量の値の単位が適用する変換規則の前記第１の単位または前記第２の単位と相違している場合は、予め定められた変換ルールを用いて、前記変換対象の物理量の値を前記第１の単位での値または前記第２の単位へ換算する、
付記６または付記７に記載の情報処理装置。
【０１６６】
（付記９）
前記変換部は、前記入力物理量及び前記出力物理量の一方を探索対象とし、前記複数の変換ルールから、変換元物理量又は変換先物理量が前記探索対象に一致する変換ルールを探索し、探索で抽出した変換ルールの変換元物理量が前記探索対象に一致する場合は前記抽出した変換ルールによる変換を前記変換規則として記憶し、前記抽出した変換ルールの変換先物理量が前記探索対象に一致する場合は抽出した前記変換ルールによる変換の逆変換を前記変換規則として記憶し、前記抽出した変換ルールの変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と相違する場合は、前記探索対象と相違する物理量を探索対象として再度探索を行うことを、変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と一致する変換ルールを抽出するまで繰り返すことで、前記変換規則の配列を生成する、
付記６から付記８のいずれか１つに記載の情報処理装置。
【０１６７】
（付記１０）
前記複数の変換ルールは、前記コンピュータとネットワークを介して接続された外部装置に記憶されており、
前記変換部は、前記入力物理量、前記入力物理量の値及び出力物理量を受け付けるよりも前に、前記複数の変換ルールを前記外部装置から取得し、前記コンピュータの記憶部に記憶しておくか、又は、前記入力物理量、前記入力物理量の値及び出力物理量を受け付けた後で前記外部装置と通信を行い、前記複数の変換ルールから前記変換規則の配列の要素とする変換ルールを探索する、
付記６から付記９の何れか１つに記載の情報処理装置。
【０１６８】
（付記１１）
コンピュータにより、
入力物理量、前記入力物理量の値及び出力物理量を受け付け、
変換元物理量及び変換先物理量の少なくとも一方が互いに異なる、物理量の複数の変換ルールから、１つの変換ルールによる変換又は該１つの変換ルールの逆変換を要素とし、かつ、前記入力物理量から前記出力物理量に至る変換規則の配列又は前記出力物理量から前記入力物理量に至る変換規則の配列を生成し、
生成した前記変換規則の配列を用いて、前記入力物理量の値を前記出力物理量の値に変換する、
ことを含む処理を行わせる情報変換プログラム。
【０１６９】
（付記１２）
前記入力物理量から前記出力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の先頭から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換し、前記出力物理量から前記入力物理量に至る変換規則の配列を生成した場合は、生成した前記配列の末尾から順に変換規則を適用することで前記入力物理量の値を前記出力物理量の値に変換する、
付記１１に記載の情報変換プログラム。
【０１７０】
（付記１３）
前記変換ルール及び前記変換規則は、第１の物理量の第１の単位での値を第２の物理量の第２の単位での値へ変換するものであり、
前記変換規則の配列に含まれる変換規則を適用して変換対象の物理量の値を前記変換対象の物理量と異なる物理量の値に変換するにあたり、前記変換対象の物理量の値の単位が適用する変換規則の前記第１の単位または前記第２の単位と相違している場合は、予め定められた変換ルールを用いて、前記変換対象の物理量の値を前記第１の単位での値または前記第２の単位へ換算する、
付記１１または付記１２に記載の情報変換プログラム。
【０１７１】
（付記１４）
前記入力物理量及び前記出力物理量の一方を探索対象とし、前記複数の変換ルールから、変換元物理量又は変換先物理量が前記探索対象に一致する変換ルールを探索し、探索で抽出した変換ルールの変換元物理量が前記探索対象に一致する場合は前記抽出した変換ルールによる変換を前記変換規則として記憶し、前記抽出した変換ルールの変換先物理量が前記探索対象に一致する場合は抽出した前記変換ルールによる変換の逆変換を前記変換規則として記憶し、前記抽出した変換ルールの変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と相違する場合は、前記探索対象と相違する物理量を探索対象として再度探索を行うことを、変換元物理量及び変換先物理量のうち前記探索対象と異なる物理量が前記入力物理量及び前記出力物理量の他方と一致する変換ルールを抽出するまで繰り返すことで、前記変換規則の配列を生成する、
付記１１から付記１３のいずれか１つに記載の情報変換プログラム。
【０１７２】
（付記１５）
前記複数の変換ルールは、前記コンピュータとネットワークを介して接続された外部装置に記憶されており、
前記入力物理量、前記入力物理量の値及び出力物理量を受け付けるよりも前に、前記複数の変換ルールを前記外部装置から取得し、前記コンピュータの記憶部に記憶しておくか、又は、前記入力物理量、前記入力物理量の値及び出力物理量を受け付けた後で前記外部装置と通信を行い、前記複数の変換ルールから前記変換規則の配列の要素とする変換ルールを探索する、
付記１１から付記１４の何れか１つに記載の情報変換プログラム。
【０１７３】
（付記１６）
コンピュータにより、
第１の物理量の値を前記第１の物理量と異なる第２の物理量の値に変換する変換ルールを取得し、
入力物理量及び前記入力物理量の値と、出力物理量とを受け付け、
入力物理量または出力物理量の一方を変換元の物理量とし、
変換元の物理量及び前記変換元の物理量の値と、変換先の物理量とを受け付け、
前記変換元の物理量が前記第１の物理量と一致する前記変換ルールが有る場合は、一致する前記変換ルールを適用して、前記変換元の物理量の値を変換先の物理量の値に変換し、
前記変換元の物理量が前記第２の物理量と一致する前記変換ルールが有る場合は、前記変換ルールに応じて得られた前記第２の物理量を前記第１の物理量に変換する逆変換ルールを適用して、前記変換元の物理量の値を前記変換先の物理量の値に変換する、
ことを含む処理を行う情報変換方法。
【０１７４】
（付記１７）
前記変換ルールは、前記第１の物理量の値を表す単位と、前記第２の物理量の値を表す単位とを含み、
前記変換元の物理量の値を表す単位も受け付け、
前記変換ルールを適用して、前記変換元の物理量の値を変換先の物理量の値に変換する場合に、変換元の物理量の値を表す単位と、前記第１の物理量の値を表す単位とが異なる場合は、予め定められた単位変換ルールに基づいて前記変換元の物理量を表す単位を、前記第１の物理量の値を表す単位に変換し、
前記逆変換ルールを適用して、前記変換元の物理量の値を前記変換先の物理量の値に変換する場合に、変換元の物理量の値を表す単位と、前記第２の物理量の値を表す単位とが異なる場合は、予め定められた単位変換ルールに基づいて前記変換元の物理量を表す単位を、前記第２の物理量の値を表す単位に変換する、
ことをさらに含む処理を行う付記１６に記載の情報変換方法。
【符号の説明】
【０１７５】
１０  情報処理装置
１２  データサーバ
２０  入力部
２２  変換部
２４  ルール検索部
２６  演算適用部
２８  逆演算適用部
３０  出力部
３２  物理量変換テーブル
３４  単位変換テーブル
５０  コンピュータ
５２  ＣＰＵ
５４  メモリ
５６  記憶部
【図１】
0006657764.tif 000002
【図２】
0006657764.tif 000003
【図３】
0006657764.tif 000004
【図４】
0006657764.tif 000005
【図５】
0006657764.tif 000006
【図６】
0006657764.tif 000007
【図７】
0006657764.tif 000008
【図８】
0006657764.tif 000009
【図９】
0006657764.tif 000010
【図１０】
0006657764.tif 000011
【図１１】
0006657764.tif 000012
【図１２】
0006657764.tif 000013
【図１３】
0006657764.tif 000014
【図１４】
0006657764.tif 000015
【図１５】
0006657764.tif 000016
【図１６】
0006657764.tif 000017
【図１７】
0006657764.tif 000018
【図１８】
0006657764.tif 000019
【図１９】
0006657764.tif 000020