2015-10-19 コンパイルと模倣 プログラム意味論 DFD 決定性コンパイルのほうが分かりやすいな。 やっぱりダメみたい。QXが無限キュー(FIFO)のとき、QX*QXはQXと同値(双模倣)だが、|QX*QX|→|QX|は簡単だが、逆方向は決定性だと不自然になる。非決定性を許せば、|QX*QX|→|QX|の逆対応(転置)を取ればいいだけ。色々なバッファで実際にやってみるのがいい。 LQXn: サイズnで、満杯になると入力を捨てる(lostする)キュー。 RLQXn: サイズnのリングバッファ、古い入力は捨てるので、やはりlostする。 RQXn: サイズn、出力はランダムに選ばれて、満杯になるとランダムに選んだ要素を捨てる。