Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
テキストスタイル
外観を変更
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
9 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
2 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
59 行
すべてコピー
10 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
60 行
すべてコピー
コピー
コピー済み
コピー
コピー済み
Policy
Iteration
Value
Iteration
コピー
コピー済み
コピー
コピー済み
public boolean performReachabilityFrom(State si){
public boolean performReachabilityFrom(State si){
HashableState sih = this.stateHash(si);
HashableState sih = this.stateHash(si);
//if this is not a new state and we are not required to perform a new reachability analysis, then this method does not need to do anything.
//if this is not a new state and we are not required to perform a new reachability analysis, then this method does not need to do anything.
if(valueFunction.containsKey(sih) && this.foundReachableStates){
if(valueFunction.containsKey(sih) && this.foundReachableStates){
return false; //no need for additional reachability testing
return false; //no need for additional reachability testing
}
}
DPrint.cl(this.debugCode, "Starting reachability analysis");
DPrint.cl(this.debugCode, "Starting reachability analysis");
//add to the open list
//add to the open list
LinkedList <HashableState> openList = new LinkedList<HashableState>();
LinkedList <HashableState> openList = new LinkedList<HashableState>();
Set <HashableState> openedSet = new HashSet<HashableState>();
Set <HashableState> openedSet = new HashSet<HashableState>();
openList.offer(sih);
openList.offer(sih);
openedSet.add(sih);
openedSet.add(sih);
while(!openList.isEmpty()){
while(!openList.isEmpty()){
HashableState sh = openList.poll();
HashableState sh = openList.poll();
//skip this if it's already been expanded
//skip this if it's already been expanded
if(valueFunction.containsKey(sh)){
if(valueFunction.containsKey(sh)){
continue;
continue;
}
}
コピー
コピー済み
コピー
コピー済み
//do not need to expand from terminal states
//do not need to expand from terminal states
if set to prune
if(
model.terminal(sh.s())
){
if(
this.
model.terminal(sh.s())
&& stopReachabilityFromTerminalStates
){
continue;
continue;
}
}
コピー
コピー済み
コピー
コピー済み
valueFunction.put(sh,
valueInitializer.value(sh.s()));
this.
valueFunction.put(sh,
this.
valueInitializer.value(sh.s()));
List<Action> actions = this.applicableActions(sh.s());
List<Action> actions = this.applicableActions(sh.s());
for(Action a : actions){
for(Action a : actions){
List<TransitionProb> tps = ((FullModel)model).transitions(sh.s(), a);
List<TransitionProb> tps = ((FullModel)model).transitions(sh.s(), a);
for(TransitionProb tp : tps){
for(TransitionProb tp : tps){
HashableState tsh = this.stateHash(tp.eo.op);
HashableState tsh = this.stateHash(tp.eo.op);
if(!openedSet.contains(tsh) && !valueFunction.containsKey(tsh)){
if(!openedSet.contains(tsh) && !valueFunction.containsKey(tsh)){
openedSet.add(tsh);
openedSet.add(tsh);
openList.offer(tsh);
openList.offer(tsh);
}
}
}
}
}
}
コピー
コピー済み
コピー
コピー済み
}
}
DPrint.cl(this.debugCode, "Finished reachability analysis; # states: " + valueFunction.size());
DPrint.cl(this.debugCode, "Finished reachability analysis; # states: " + valueFunction.size());
this.foundReachableStates = true;
this.foundReachableStates = true;
コピー
コピー済み
コピー
コピー済み
this.hasRunVI = false;
return true;
return true;
}
}
保存された差分
原文
ファイルを開く
Policy Iteration public boolean performReachabilityFrom(State si){ HashableState sih = this.stateHash(si); //if this is not a new state and we are not required to perform a new reachability analysis, then this method does not need to do anything. if(valueFunction.containsKey(sih) && this.foundReachableStates){ return false; //no need for additional reachability testing } DPrint.cl(this.debugCode, "Starting reachability analysis"); //add to the open list LinkedList <HashableState> openList = new LinkedList<HashableState>(); Set <HashableState> openedSet = new HashSet<HashableState>(); openList.offer(sih); openedSet.add(sih); while(!openList.isEmpty()){ HashableState sh = openList.poll(); //skip this if it's already been expanded if(valueFunction.containsKey(sh)){ continue; } //do not need to expand from terminal states if(model.terminal(sh.s())){ continue; } valueFunction.put(sh, valueInitializer.value(sh.s())); List<Action> actions = this.applicableActions(sh.s()); for(Action a : actions){ List<TransitionProb> tps = ((FullModel)model).transitions(sh.s(), a); for(TransitionProb tp : tps){ HashableState tsh = this.stateHash(tp.eo.op); if(!openedSet.contains(tsh) && !valueFunction.containsKey(tsh)){ openedSet.add(tsh); openList.offer(tsh); } } } } DPrint.cl(this.debugCode, "Finished reachability analysis; # states: " + valueFunction.size()); this.foundReachableStates = true; return true; }
変更されたテキスト
ファイルを開く
Value Iteration public boolean performReachabilityFrom(State si){ HashableState sih = this.stateHash(si); //if this is not a new state and we are not required to perform a new reachability analysis, then this method does not need to do anything. if(valueFunction.containsKey(sih) && this.foundReachableStates){ return false; //no need for additional reachability testing } DPrint.cl(this.debugCode, "Starting reachability analysis"); //add to the open list LinkedList <HashableState> openList = new LinkedList<HashableState>(); Set <HashableState> openedSet = new HashSet<HashableState>(); openList.offer(sih); openedSet.add(sih); while(!openList.isEmpty()){ HashableState sh = openList.poll(); //skip this if it's already been expanded if(valueFunction.containsKey(sh)){ continue; } //do not need to expand from terminal states if set to prune if(this.model.terminal(sh.s()) && stopReachabilityFromTerminalStates){ continue; } this.valueFunction.put(sh, this.valueInitializer.value(sh.s())); List<Action> actions = this.applicableActions(sh.s()); for(Action a : actions){ List<TransitionProb> tps = ((FullModel)model).transitions(sh.s(), a); for(TransitionProb tp : tps){ HashableState tsh = this.stateHash(tp.eo.op); if(!openedSet.contains(tsh) && !valueFunction.containsKey(tsh)){ openedSet.add(tsh); openList.offer(tsh); } } } } DPrint.cl(this.debugCode, "Finished reachability analysis; # states: " + valueFunction.size()); this.foundReachableStates = true; this.hasRunVI = false; return true; }
違いを見つける