L-systems L系統

 起源

作為一位生物學家,Lindenmayer工作的內容是酵母菌和絲狀真菌,並研究多種類型的海藻的生長模式,例如藍綠細菌項圈藻(Anabaena catenula,淡水藻類的一種)。最初,L系統被設計成用於提供一種關於簡單多細胞生物體生長的正規描述,並且試圖證明植物細胞之間的緊密關係。不久以後,這個系統被擴展成描述高等植物及其複雜枝杈結構。

之後被也應用在模型的建立。

結構

植物模型和自然界的有機結構生成,非常相似並很容易被定義,因此通過增加遞歸的層數,可以緩慢生長並逐漸變得更複雜。L-system同樣在製造人造生命領域、電腦圖學領域。 L-system 語法與Chomsky語法非常相似,說到L-system通常指的是帶參數的L-system,定義如下:

G={V,S,ω,P},

V:變量符號集合

S:常量符號集合

ω:初始狀態串

P:產生式規則

自初始狀態開始疊代套入L-system的文法規則,和正規文法所產生的語言不同處在於,L-system在一次疊代中可同時套用許多不同的文法規則。如果在一次疊代中只能夠套用一個文法規則,產生出來的結果被稱為語言而不是L-system。由此可知,L-system為正規文法所產生出的語言的子集合。


無上下文的L系統

無上下文L系統可以定義為有序的5元組Gπ= <V,Σ,ω,P,π>

V:變量符號集合

Σ:形式參數的集合

ω:初始狀態串

P:產生式規則

function π : P → (0, 1]

C(Σ):邏輯表達式,其參數來自Σ

E(Σ) :具有相同集合參數的算術表達式


留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🛠【ASP.NET Core + Oracle】解決 ORA-00904 "FALSE": 無效的 ID 錯誤與資料欄位動態插入顯示問題

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)