|
可逆計算(かぎゃくけいさん、)とは、可逆な、すなわち計算過程において常に直前と直後の状態が一意に定まる計算。可逆計算は、計算過程において情報が消失しないため非破壊的計算(Non-destructive computing)としても知られている。 ==例== * 可逆ハードウェア * 量子計算 * 可逆論理ゲート * NOTゲート * 制御NOT(CN)ゲート * トフォリゲート(CCNゲート) * フレドキンゲート * ビリヤードボール・コンピュータ * 可逆計算模型 * 遷移函数が一対一である決定性チューリングマシンは可逆的である(可逆チューリングマシン)。 * 可逆セル・オートマトン * 可逆命令セットアーキテクチャ * Pendulum〔Pendulum: A Reversible Computer Architecture(PDF) 2013年7月13日閲覧〕 * 可逆プログラミング言語 * Janus(w:Janus (programming language)#Time-reversible Computing) * 可逆難解プログラミング言語 * 難解プログラミング言語には実行する計算そのものは単純なものも多いため、可逆になるように修正するのが簡単なものもある。#外部リンク参照。 * 可逆アプリケーションソフトウェア * エディタ(テキストエディタに限らず、ペイントソフトなども含む)の編集操作を、ドキュメントを状態 d1 から状態 d2 に変化させる関数 e(d1) → d2 だと見れば、アンドゥ(Undo)機能のあるエディタにおけるその操作の undo は e-1(d2) → d1 という逆関数とみなすことができ、全体として見て一種の可逆計算になっている(ただし、この場合は正確にはドキュメント本体以外に、アプリケーションが内部で持っている undo のための情報も関数の引数に含める必要がある)。 * エンコーダとデコーダ: 通常、データをエンコードするエンコーダ、エンコードされたデータを元に戻すデコーダはそれぞれ別々に実装するが、非可逆圧縮などでなければ、可逆プログラミング言語で実装すると、エンコーダを逆に動かせばデコーダになる。〔「逆方向実行可能言語によるエンコーダとデコーダの同時実装」((なおこの文献は研究会発表の事前予告のみで、抄録として表示される内容で全てである。他にこのテーマでの論文としての公刊は無いようである。))〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「可逆計算」の詳細全文を読む スポンサード リンク
|