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

非確定Bu¨chi自動機⇌ω正則語言⇌ω正則表達式非確定Büchi自動機\rightleftharpoons \omega 正則語言 \rightleftharpoons \omega 正則表達式非確定Bu¨chi自動機⇌ω正則語

原创 【系統分析與驗證學習筆記】4:基於TS以及Program Graph的軟硬件系統建模

在TS中“變量”一詞要以廣義的方式理解,可以表示程序變量、程序計數器、寄存器值、輸入位等。 1 順序硬件電路的建模 1.1 一個簡單的例子 1.1.1 簡要分析 下面電路有輸入xxx,寄存器rrr和輸出位yyy: 其中: λy=

原创 【系統分析與驗證學習筆記】6:線性時序性質(Linear-time Properties)

爲方便,線性時序性質(linear-time properties)後續均簡稱LT性質。 在系統分析中,描述線性時序行爲(linear-time behavior)可以是基於動作的(action-based approach),也

原创 【系統分析與驗證學習筆記】3:基於Transition System的系統模型

TS是一種常用的描述系統行爲的模型,用結點表示狀態,邊表示轉移關係,和KS的主要區別是狀態轉移是需要動作支持的,不同的動作往往對應着不同的狀態轉移。 1 基本概念 1.1 狀態(State) 狀態是在某時刻系統所具有的特性和行爲。

原创 【Avalonia學習筆記】2:用ListBox代替ItemsControl作爲圖形VM容器

使用ItemsControl作爲容器 想要在面板上顯示圖形,先把圖形的VM都創建好,希望能傳所有VM到一個列表(ObservableCollection泛型容器)裏,然後界面上就能顯示出對應的圖形。 這些圖形VM都繼承自ViewM

原创 【ANTLR學習筆記】4:語法導入和訪問者(Visitor)模式

這節以四則運算語句的解析爲例學習語法導入和Visitor模式。相比筆記1,這裏的語法更通用,允許加減乘除、圓括號、整數出現,並且允許賦值表達式。 1 四則運算解析 1.1 語法規則文件 從下面的文件中可以看到,整體是要匹配若干條語

原创 【協議工程學習筆記】1:協議模型,協議通信環境,協議提供的服務

這節學習書上2.1~2.2.2節。協議設計是協議工程所有流程中的第一步,用於產生協議文本初稿,也就是用自然語言描述所設計的協議是什麼內容。 1 協議模型 複雜的協議一般用分層的方式設計,如下圖是OSI體系結構中的n層協議模型,每個

原创 【WebGME學習筆記】1:配置和使用WebGME

配置WebGME環境 整體和配置使用Vue的時候很像。注意WebGME需要事先安裝和啓動本地的MongoDB服務。 安裝webgme-cli腳手架: npm install -g webgme-cli 配置自動補全,打開WSL命

原创 【Bison學習筆記】1:生成簡易的語法分析程序,使Bsion和Flex協同工作

簡述 Bison是在Yacc上改寫並添加了大量特性後誕生的語法分析生成器,在編譯前端(詞法分析->語法分析->語義分析)中處在中間的位置,它可以用來生成特定的語法分析程序。 安裝Bison: apt-get install bis

原创 【Avalonia學習筆記】1:數據綁定(Data Binding)的基本使用

1 簡述數據綁定 數據綁定(Data Binding)常用於將程序中的數據對象綁定到UI上,當程序中數據發生變化時讓UI上顯示的內容也跟着變化,或者當用戶在UI上操作時就將程序中的後臺數據也同步變化。Vue中也有類似的功能,只是V

原创 【TL學習筆記】2:多任務學習(Multi-task Learning)在圖像分類中的應用

1 MTL簡述 1.1 單任務學習 早期的機器學習方法都是單任務學習(STL)的,即認爲不同任務之間沒有關聯性,所以都是單獨訓練的。這樣因爲每個模型單獨訓練,數據量只有自己的這一部分,訓練出的模型也沒有很好的泛化性。另外因爲模型之

原创 【Flex學習筆記】1:生成簡易的詞法分析程序

簡述 Flex是重寫Lex誕生的快速詞法分析生成器,在編譯前端(詞法分析->語法分析->語義分析)中處在最靠前的位置,它可以用來生成特定的詞法分析程序。 安裝Flex: apt-get install flex 沒有專用於Fle

原创 【軟件分析學習筆記】4:中間表示(Intermediate Representation)

程序源碼直接拿來給靜態分析器做靜態分析是不合適的,像編譯一樣也需要在程序的中間表示(IR)上進行分析,這樣能讓靜態分析算法比較簡潔、高效。IR也沒有絕對的標準,這節課學習的是絕大多數靜態分析器採取的IR。 1 編譯的基本流程 1.

原创 【PyTorch學習筆記】21:nn.RNN和nn.RNNCell的使用

這節學習PyTorch的循環神經網絡層nn.RNN,以及循環神經網絡單元nn.RNNCell的一些細節。 1 nn.RNN涉及的Tensor PyTorch中的nn.RNN的數據處理如下圖所示。每次向網絡中輸入batch個樣本,每

原创 【TL學習筆記】1:領域自適應(Domain Adaptation)方法綜述

1 遷移學習的直觀理解 人類容易在類似的任務上利用先前的經驗,比如學過自行車就很容易學會摩托車,學會打羽毛球也能幫助學習打網球,學過小提琴也會對學習二胡有幫助。也就是把一個領域上學習的知識遷移到另一個領域上,目的也是讓計算機有舉一