第4章 時相論理 4~4,1,1 H28.07.07 荒木研M1 綿貫 凌 1 導入 • 時相論理とは、時間との関連で問題を表現するための規 則と表記法の体系である。 • 様相論理と呼ばれる論理体系に属する。様相論理とは、 基本的な論理体系に、必然性・可能性、義務、時間と いった命題の真偽の様相にかかわる構成要素を付け加え て拡張した論理体系である。 • 非時相論理では、時間変化によって真偽値が変化しない 文しか扱えない。すなわち、静的な性質、動作中の個々 の時刻における状態に関する性質しか記述できない。 • →時間変化によって真偽値が変化する文、動的な性質、 動作中に刻々と変化するシステムの状態に対し、時間に 応じた静的な性質の成否を記述できる必要がある。 2 導入 • 扱う時間モデルについて ・離散時間を扱う。=各時刻について直前と直後の時刻が 存在し、整数値で表現できる時間パラメータに基づく。 ・時間を区間ではなく、点として取り扱い、各瞬間の命題 の真偽を扱う。 ・未来に関する時間のみを扱う。 • 次時刻での命題の真偽値が、決定的に決まる線形時間モ デルと、非決定的に決まる分岐時間モデルがある。 3 4,1 命題線形時相論理PLTL • 命題線形時相論理(Propositional Linear Temporal Logic) • ∧,∨,¬,→等の論理演算子と、時間に関する性質を表現 する基本演算子、F(将来いつか、Finally),G(今後常に、 Globally),X(次の時刻で、neXt),U(ある時間まで、Until)から 構成される。 • 命題変数、命題定数は論理式(原子論理式)である。 • φ,ψが論理式のとき、(¬φ),(φ∧ψ),(φ∨ψ),(φ→ψ),(φ↔ψ), (Xφ),(Gφ),(Fφ),(φUψ),(φRψ)は論理式である。 • 以上がPLTLの論理式の全てである。 • 結合順序はGとFが¬と同じ、UとRが∨や∧と同じである。 • 例:GA∧Bとは、(GA)∧Bであり、G(A∧B) 4 4,1 命題線形時相論理PLTL • p:「私は空腹である」 文の意味自体は一定であるが、真偽は時間経過によって 変化する。同時に真であり偽でもあるということは無い。 • Xp:次の時刻でpが必ず成立する。next time p 「私は次の時刻で空腹になる」 • Fp:将来いつか必ずpが成立する。sometimes p,eventually p 「私はそのうち空腹になる」 • Gp:今後常にpが成立する。always p,globally p 「私はいつも空腹である」 • pUq:qがいつか必ず成立し、その前までの間pが成立する。 qが最初から成立している場合は、pの成否にかかわらず、 成立する。p until q 「私はドーナツを食べるまで空腹である」 5 4,1 命題線形時相論理PLTL t Xp t+1 p pUq t+3 t+4 t+5 p p Fp Gp t+2 p p p p p p p p p q p p p q p t+9 p t+10 q FGp p G(p→Fq) t+6 t+7 q t+8 p t+11 FGp:「私はいつか空腹になり、以降ずっと空腹である」 G(p→Fq):「私はいつも、一旦空腹になると、いつかドーナツ を食べる」(※注意 良い例思いつかず) 6 4,1 PLTLの意味論 • PLTLの意味論を定義するために、原子論理式の真偽の時 間的変化を表現する、クリプキ構造(Kripke structure)と呼 ばれる数学的構造を定義する。クリプキ構造は以下の3 つの要素の組M=〈S,R,L〉で定義される。 • S:非空な状態の有限集合 • R⊆S×S:状態集合上の二項関係 • L:S→2PV:PV(Proposition Variable)を命題変数の集合としたと き、各状態で真になる命題変数の集合を与える。=ラベ リング関数 • 任意の状態s∈Sに対して、R(s,s’)となるようなs’∈Sが存在 するとき、sからs’への遷移が存在すると考える。 • 二項関係Rにおいて、常に∀s∃s’R(s,s’)が成立するとき、 Rを「全域的(total)」であるという。以降では、二項関係 Rは全域的なもののみを扱う。 7 4,1 例4.1 getParts composing finished shipping removed 1,部品を用意(getParts) 2,組み立て(composing) 3,完成(finished) 4,出荷準備(shipping) 1と3では検査を実施し、不合格の場合、取り除く。 8 4,1 例4.1 • 命題変数の集合をPV={productExists,composingProduct}と する。 productExists:完成した製品が存在する。 composingProduct:製品を組み立て中である。 • L(getParts)=L(removed)={} • L(composing)={composingProduct} • L(finished)=L(shipping)={productExists} • (この例は例4.6にも登場する) 9 4,1 PLTLの意味論 • クリプキ構造の状態s0から始まる無限長の経路を σ=s0s1...sisi+1... ∀i(si,si+1)∈R とし、ここで、σ(i)はσにおけるi番目の状態を表す。 • クリプキ構造Mの経路σの状態iについてPLTL式iが成り立 つことを、M,σ,i⊨φと表す。(Mが明らかなときは省略可) • 本意味論の特徴は、(複数の)初期状態が存在し、(計算の) 経路は無限(繰り返しを含む)、というものである。 10 4,1 PLTLの意味論 • PLTLの意味論は、クリプキ構造M=〈S,R,L〉を用いて次の ように表される。 • ①p∈PVのとき、M,σ,i⊨p⇔p∈L(σ(i)) • ②M,σ,i⊨¬φ⇔M,σ,i⊭φ (cf.トートロジー) • ③M,σ,i⊨φ∧ψ⇔M,σ,i⊨φかつM,σ,i⊨ψ (∧の定義) (∨、→は省略) • ④M,σ,i⊨Xφ⇔M,σ,i+1⊨φ • ⑤M,σ,i⊨Gφ⇔任意の整数jに対しi≦jならばM,σ,j⊨φ • ⑥M,σ,i⊨Fφ⇔ある整数kが存在しi≦kかつM,σ,k⊨φ • ⑦M,σ,i⊨φUψ⇔ある整数kが存在しi≦kかつM,σ,k⊨ψかつ、 任意の整数jに対しi≦j<kならばM,σ,j⊨φ • ④~⑦は時間演算子の説明に他ならない。 11 4,1 例4.2 • 例4.1において、3つの経路 σ1:getParts composing finished shippedの繰り返し σ2:getParts composing finished removedの繰り返し σ3:getParts removedの繰り返し 繰り返しとは、σ1については、σ1(4i)=getParts, σ1(4i+1)=composing,σ1(4i+2)=finishd,σ1(4i+3)=shipped (i=0,1,2,...) • このとき、φ1:F productExists, φ2:¬productExists U composingProduct, φ3:G(productExists→F(composingProduct))に対して、 M,σ1,0⊨φ1, M,σ1,0⊨φ2, M,σ1,0⊨φ3, M,σ2,0⊨φ1, M,σ2,0⊨φ2, M,σ2,0⊨φ3, M,σ3,0⊨φ3が成り立つ。 M,σ3,0⊨φ1, M,σ3,0⊨φ2は成り立たない。 12 (※テキストでは、M,σ1,0⊨φ2がふたつ存在する。おそらく 誤植である。 4,1 例4.2 • M,σ1,0⊨φ1 M,σ1,0⊨φ2 M,σ2,0⊨φ1 M,σ2,0⊨φ2は自明。 M,σ1,0⊨φ3 M,σ2,0⊨φ3,は繰り返しであることから。 M,σ3,0⊨φ3,は→の定義より。 • M,σ3,0⊨φ1,M,σ1,0⊨φ1は背理法より。状態iについて命題論 理が成立すると仮定する。 13 4,1 PLTLの意味論 • PLTLの論理式が、あるクリプキ構造M、経路σ、非負整数 iに対してM,σ,i⊨φが成立する場合、φは充足可能である。 全てのM,σ,iに対してM,σ,i⊨φが成立する場合、φは恒真で あるといい、⊨φと書く。 • 恒真な式 ⊨G(p∧q)→Gp∧Gq ⊨Gp→GGp ⊨Fp↔trueUp ⊨Gp↔¬F¬p ⊨Gp→p ⊨Gp→Fp ⊨Xp→Fp ⊨Gp→XGp 14
© Copyright 2024 ExpyDoc