原创 【SciKit-Learn學習筆記】9:常用的特徵編碼手段

在Kaggle上看到了一個專門訓練特徵編碼的競賽,其中一個Kernel講了常用的幾種特徵編碼的手段,基於這篇教程做了些擴展學習。 用於數據分析的特徵可能有多種形式,需要將其合理轉化成模型能夠處理的形式,特別是對非數值的特徵,特徵編

原创 【軟件分析學習筆記】3:靜態程序分析(Static Program Analysis)介紹

最近的南大軟件分析課,講的就完全是靜態分析的內容,目前先跟着這個課學習軟件分析的內容,北大熊老師的課光看課件太難懂了。 1 PL和靜態分析的背景 之前吳老師也提到,做形式化也是在做PL(Programing Language)。這

原创 【系統分析與驗證學習筆記】5:PG向TS的轉換,進程併發的幾種模型

1 PG向TS的轉換 在上節學習的數據依賴的系統中使用PG對系統進行了建模,在其他的場景下,如後面要學習的某些特殊的進程併發場景,也需要用PG對系統建模,將其轉換成TS表示對實際實現是重要的。 PG六元組: PG=(Loc,Act

原创 【ANTLR學習筆記】5:使用監聽器構建翻譯程序,在g4文件中定製語法分析過程

1 使用監聽器構建翻譯程序 這裏對應書上4.3節,需求是把Java類中的方法都抽取出來生成接口文件,並且保留方法簽名中的空白字符和註釋。要保留空白符和註釋就只能用解析源代碼的方式了,不能從字節碼文件獲取。 1.1 監聽器類 imp

原创 【ANTLR學習筆記】1:在IDEA中生成簡易加減表達式的解析器

ANTLR可以支持生成多種編程語言爲載體的Lexer和Parser,可以自動處理LL(*)文法(注意不是LR文法,這裏ANTLR實際上是Another Tool for Language Recognition的縮寫),目前先在I

原创 【系統分析與驗證學習筆記】7:有限字上正則LT性質的驗證

有限自動機⇌正則語言⇌正則表達式有限自動機\rightleftharpoons正則語言\rightleftharpoons正則表達式有限自動機⇌正則語言⇌正則表達式 1 有限字上的自動機 1.1 有限自動機 有限自動機(Finit

原创 【ANTLR學習筆記】2:基本工作流程和歧義處理方法

1 解析的整體流程 首先是詞法分析器處理字符序列(對應CharStream類),生成Token流(對應TokenStream類,這是連接詞法分析和語法分析過程的橋樑)傳給語法分析器,語法分析器再用它檢查語法正確性,然後解析得到語法

原创 【ANTLR學習筆記】3:數組初始化列表的解析和翻譯

這節跟着書上第三章學習解析例如{val,val,{val,val},val}這樣的數組初始化列表,其中每個val都是一個無符號整數。它可以用來將Java中 static short[] data = {1,2,3}; 轉化成等價

原创 【算法學習筆記】6:SAT問題的一些經典求解策略

1 問題描述 布爾可滿足性問題是給定一個合取範式(CNF),即一系列析取形式的子句(clause)的合取式,問是否存在一組賦值使得整個式子爲真。給出滿足條件的賦值(說明是satisfied的),或者證明不存在這樣的賦值(說明是un

原创 【Event-B學習筆記】1:相繼式(Sequent)和推理規則(Inference Rule)

1 關於"謂詞"和"命題"的理解 剛接觸的時候對Event-B資料裏大篇幅使用"謂詞"這個詞(而不是"命題")感到非常疑惑,在我以往的印象裏,類似"大於",“小於”,"是一隻貓"這種表述關係的是叫謂詞,其中前兩個是二元謂詞,最後一

原创 【算法學習筆記】5:基於蟻羣算法的柔性作業車間調度問題(FJSP)快速求解

簡述 這是《深度學習與人工智能》課程中很普通的一道作業題,但因爲發現了一個更巧妙的搜索目標的形式,讓求解過程快了很多,代碼實現起來也簡單了非常多,而且最終的搜索效果也更好。 關於蟻羣算法和柔性作業車間調度問題不再贅述。 求解策略