我想實現發現的馬爾可夫算法here,但我一直未能。正如wiki解釋的那樣,它是一種遞歸函數,可以替換語言中的模式。例如如何在Java中實現馬爾可夫算法?
- 「A」 - > 「蘋果」
- 「B」 - > 「袋」
- 「S」 - > 「商店」
- 「T」 - > 「該」
- 「的店鋪」 - >「我的兄弟」
- 「一個從來沒有使用過」 - >「終止規則」
這些規則必須在下面的文字中實現。
「我從T S.買了B的As。
規則:
- 檢查規則,以便從上往下看是否有任何的 的模式可以在輸入字符串中被發現。
- 如果未找到,則算法停止。
- 如果找到一個(或多個),請使用其中的第一個替換 輸入字符串中匹配文本的最左邊匹配項,並將其替換爲 。
- 如果剛剛應用的規則是終止規則,則算法停止。
- 轉到步驟1
我想到了創建兩類規則和RuleContainer。
規則有3個屬性:從字符串,字符串要和布爾終止
RuleContainer具有含有活性規則和邏輯函數[該一個我試圖創建]的動態列表。
我已經考慮了String.replace()函數,並試圖將其實現爲遞歸函數。
實現馬爾可夫算法的最佳方式是什麼?
SO是沒有免費的導師。請至少提供最少的代碼,我們可以從中開始。而一開始,它應該足以找到一種工作方式,之後你可以搜索最好的;-) – Marged