據說spam這詞的**和計算機其實沒什麼關係,也不是某四個英文單詞的縮寫。它實際上,來自於飯店中一首完沒完了地念叨著「spam」的歌,這歌的聲音如此之大、歌詞如此之煩,以至於就餐者都無法正常對話了。
spam有不小的危害,但以人類目前的技術,很難做到100%的杜絕spam。我曾在「有效地阻止spam」一文中提到了表單隱藏域辦法,這個方法的優點在於,以極低的實現成本得到了相對而言尚可的過濾效果;但缺點也很明顯,就是有些spam機械人越來越聰明,它們會用自帶的html解析器分析**,並繞過過濾機制。我後來在此基礎上,在blog所用的spam防火牆上增加了「黑白名單」機制(詳見「lonely thinker 0.4完成及0.5展望」),實際效果相當不錯。但此方法必須由人工干預才行-**的管理者必須一直投入精力來維護黑白名單的資料庫,所以比較麻煩。
下面是上述兩種方法的乙個實際效果:
老實說這個結果還是頗出乎我的意料的,因為居然只有49個/次、約14%的機械人被方法一抓到,而86%的機械人都可以繞過方法一!
由此可見,現在的spam機械人都相當的智慧型,而這也正是我們為什麼需要一些更棒的方法來抵禦spam的原因。在下篇中,我想和大家聊聊我最近研究bayesian演算法的一些心得。
演算法和演算法分析
一 演算法的基本概述 演算法是為了解決某類問題而規定的乙個有限長的操作序列。乙個演算法必須滿足以下五個重要特性 1 有窮性2 確定性3 可行性 4 有輸入5 有輸出 二 設計演算法的原則 1.正確性 2.可讀性 3 健壯性 4.高效率與低儲存量需求 三 演算法的時間複雜度簡介 語句頻度 語句重複執行...
演算法和演算法分析
演算法是為了解決某類問題而規定的乙個有限長的操作序列。五個特性 1.有窮性2.確定性3.可行性4.輸入5.輸出 1.正確性2.可讀性3.健壯性4.高效性 1.問題規模和語句頻度 不考慮計算機的軟硬體等環境因素,影響演算法時間代價的最主要因素是問題規模。問題規模是演算法求解問題輸入量的多少,是問題大小...
演算法和演算法分析
1.定義 是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示乙個或多個操作。2.特徵 1 有窮性 乙個演算法必須在執行有窮步之後結束,即演算法中的每個步驟在有限的時間內完成。2 確定性 每條指令必須有確定的含義,無二義性,在任何條件下,演算法都只有一條執行路徑。3 可行性 乙個演...