結合參考文章的思路:利用連續兩個詞構成的字首來選擇作為字尾的乙個詞設定w1和w2為文字的前兩個詞
輸出w1和w2
迴圈:隨機地選出w3,它是文字中w1w2的字尾中的乙個
列印w3
把w1和w2分別換成w2和w3
重複迴圈
"this is" -> ["a"]
"is a" -> ["good", "dog"]
"a dog" -> ["and", "where"]
"dog and" -> ["it", "this"]
//字首用乙個類來表示:
public class front
//首先得有儲存字首的基本屬性:
public listpref; //字首儲存的兩個詞,w1,w2按順序存入
add(word);
private void add(string word)
front.pref.remove(0);
front.pref.add(word);
}
filewriter fw = new filewriter(*.txt);
for(int i=0; isuf = statetable.get(prefix);
int r = math.abs(random.nextint() % suf.size());
string word = suf.get(r);
system.out.print(word+" ");
if(word.equals("."))
else
fw.write(word+" ");
prefix.pref.remove(0);
prefix.pref.add(word);
} fw.close;
fileinputstream fis = new fileinputstream(new file("c:/*/*.txt"));
scanner scanner = new scanner(inputstream in);
while(scanner.hasnext())
public class chain
add(noword);
}
//add方法是為了建立字首的庫,以及生成前字尾之間的對映
private void add(string word)
suf.add(word);
prefix.pref.remove(0); //實現字首 w1w2 轉變為 w2w3;先呼叫list的remove方法刪除w2,然後加入w3與w2組成新的字尾
prefix.pref.add(word);
} //根據篇幅數進行迴圈
馬爾科夫鏈
馬爾科夫鏈,是數學中具有馬爾科夫性質的離散事件隨機過程。該過程中,在給定當前知識和資訊的情況下,過去 即當前以前的歷史狀態 對於 將來 即當前以後的未來狀態 是無關的 一 馬爾科夫性質 原理簡潔 x1,x2,x3 馬爾科夫鏈 描述了乙個狀態序列,其每個狀態值取決於前面有限個狀態。馬爾科夫鏈是具有馬爾...
馬爾科夫鏈
x 0,x 1,x n n 表示時間,如果 x 0,x n 都是獨立的,那麼這個假設限制性太大,不能對現實世界建模。而如果 x 0,x n 彼此可以任意互動影響,那麼模型太難計算。馬爾科夫鏈是單步影響 one step dependence 的序列,乙個折中的假設。馬爾科夫鏈存在時間和空間中,x n...
結對程式設計 馬爾科夫鏈作業成績
作業部落格 本次作業僅有三位同學按時提交,兩位同學延遲提交,出人意料,多數同學都放棄,有一種 湊齊人數闖紅燈 的味道。據王老師反映是期末考試臨近,但是並沒有同學跟老師溝通過具體困難,是真的很困難,還是誇大困難程度,比如 難度上,本次作業低於前兩次,並且先前已經有部落格講解過如何實現。馬平川 張師瑜和...