基於鏈置換的多位數值比較器的設計方法與流程
2023-06-02 16:42:36 3

本發明涉及dna鏈置換領域,具體涉及到利用dna神經元構建模型,模擬仿真傳統感知器的運算能力並實現多位數值比較的功能的方法。
背景技術:
生物計算是利用數據分析、計算機語言和數學模型等獲取有用信息,解決實際問題的一個過程,受到了越來越多的人的關注。其中,利用dna分子作為信息存儲單元的dna分子計算是生物計算的一個重要分支,在分子水平上實現了生物系統與化學系統的反應平衡。dna鏈置換作為dna計算最常用的技術手段之一,越來越廣泛地被應用於設計各種複雜的生物器件以及實現複雜的dna計算中,這主要歸因於dna的信息存儲能力強,體積小;基於dna鏈置換的反應無需酶和外界能量的加入,常溫環境下便可實現;dna鏈置換反應的並行性高,反應速度快等特點。
在近幾年的研究中dna鏈置換技術也被應用到越來越多的領域,解決各種各樣的實際問題,尤其是在數字電路,反饋控制電路,數學公式推導,神經網絡等方面,也獲得了不少的成果。2014年,murieta等人提出了dna鏈置換的計算模型,實現了貝葉斯公式的推導過程。2016年,saulekar等人利用dna鏈置換反應實現了非線性的反饋控制。同年,lakin等人提出了自適應性dna鏈置換網絡的監督式學習模型,通過線性函數的隨機梯度下降法設計了基於多域dna鏈置換的反饋電路。
感知器是神經網絡中用來進行模式識別的簡單且重要的模型,用dna鏈置換的方法構造dna神經元感知器對生物計算的發展有重要的意義。本發明基於dna鏈置換,構造了單層dna神經元感知器和多層dna神經元感知器,並將這兩種感知器結合,構造了感知器的擴展模型,可以實現多位二進位數值的比較。本發明的模型不論是對生物計算領域還是神經網絡領域的發展都具有重要意義。
技術實現要素:
本發明的目的在於提出一種基於兩域dna鏈置換的dna神經元感知器模型,將單層感知器與多層感知器相結合,構造擴展型感知器實現多位數值比較功能。
本發明的技術方案如下:
基於鏈置換的多位數值比較器的設計方法,包括以下步驟:
步驟1:輸入兩個多位二進位數;
步驟2:將兩個多位二進位數分別差分成多個一位的二進位數,對應位上的兩個數編成一組;
步驟3:生成相應的dna信號鏈,並設置相應信號鏈的初始濃度;
步驟4:初始dna信號鏈同時進入「與門」和「或門」參與反應,分別生成各自的中間產物鏈;
步驟5:兩種門結構中產生的中間產物鏈進入「異或門」參與進一步反應,生成最終信號鏈;
步驟6:通過最終輸出信號鏈的不同種類和濃度數值確定反應結果。
上述基於鏈置換的多位數值比較器的設計方法中,步驟1所述的兩個多位二進位數的位數必須相同。
上述基於鏈置換的多位數值比較器的設計方法中,步驟4所述的dna信號鏈進入「與門」和「或門」時,先與其中控制閾值的門結構參與反應,再置換出相應的中間產物鏈。
上述基於鏈置換的多位數值比較器的設計方法中,步驟6所述的不同的輸出信號鏈代表不同的數值位,最終輸出信號鏈有幾種就代表有幾位數值是不同的,同時也可以知道哪幾位數值是不同的。
本發明的有益效果是:
1.本發明首次利用兩域dna鏈置換反應實現了多位數值比較器。
2.本發明實現的多位數值比較器可以準確對兩個相同位數的二進位數值進行比較,準確得出兩個數有幾位和分別是哪幾位不同。
3.本發明將多個dna神經元級聯,實現單層感知器和多層感知器功能的結合,達到數值比較的效果。
附圖說明
圖1為基於鏈置換的多位數值比較器的整體程序流程圖;
圖2為多位數值比較器的「與門」鏈置換反應模塊圖;
圖3為多位數值比較器的「異或門」鏈置換部分反應模塊圖;
圖4為實例1仿真結果圖。
具體實施方式
下面結合附圖對本發明作進一步說明。
結合圖1的整體程序流程圖,下面進行詳細步驟介紹:
步驟1:輸入兩個相同位數的二進位數,以四位為例,(a1,a2,a3,a4)和(b1,b2,b3,b4);
步驟2:將輸入的二進位數進行拆分重組,相應位上的數為一組(a1,b1),(a2,b2),(a3,b3),(a4,b4);
步驟3:根據輸入信號生成相應的信號鏈,(a4,b4)生成的信號鏈是和,(a3,b3)生成的信號鏈是和,(a2,b2)生成的信號鏈是和,(a1,b1)生成的信號鏈是和;信號鏈的初始濃度由輸入的信號值決定;
步驟4:初始信號鏈和,和,和,和分別進入「與門」模塊進行反應(見圖2),生成相應的中間產物或,或,或,或;
步驟5:初始信號鏈和,和,和,和分別進入「或門」模塊進行反應,生成相應的中間產物或,或,或,或;
步驟6:「與門」中生成的中間產物或,或,或,或和「或門」中生成的中間產物或,或,或,或同時進入「異或門」模塊中進行反應(見圖3);
步驟7:「異或門」中將生成最終輸出信號鏈,,和中的一種或多種;
步驟8:根據輸出信號鏈的種類和數量判斷最終結果,如果輸出信號鏈中有,代表輸入的兩個二進位數的第四位數的數值不同,如果輸出信號鏈中有,代表輸入的兩個二進位數的第三位數的數值不同,如果輸出信號鏈中有,代表輸入的兩個二進位數的第二位數的數值不同,如果輸出信號鏈中有,代表輸入的兩個二進位數的第一位數的數值不同,由此可以得出兩個二進位數中有幾位和哪幾位是不同的。
實施例1
本發明的實施例是在以本發明技術方案為前提下進行實施的,運用visualdsd軟體仿真模擬,給出了詳細的實施方式和具體的操作過程,但本發明的保護範圍不限於下述實施例。本實施例以四位二進位數「1001」和「1010」為例。
步驟1:輸入兩個四位二進位數a=(1,0,0,1)和b=(1,0,1,0)。
步驟2:將兩個四位二進位數進行拆分重組,相應位上的數為一組即(a1,b1)=(1,1),(a2,b2)=(0,0),(a3,b3)=(0,1),(a4,b4)=(1,0)。
步驟3:根據輸入信號生成相應的信號鏈,(a4,b4)生成的信號鏈是和,(a3,b3)生成的信號鏈是和,(a2,b2)生成的信號鏈是和,(a1,b1)生成的信號鏈是和;信號鏈的初始濃度由輸入的信號值決定,(a1,b1)=(1,1)的信號鏈和的濃度分別是2n和0,(a2,b2)=(0,0)的信號鏈和的濃度分別是0和2n,(a3,b3)=(0,1)的信號鏈和的濃度都是n,(a4,b4)=(1,0)的信號鏈和的濃度也都是n。
步驟4:濃度為0的信號鏈不參與反應,因此進入「與門」模塊(見圖2),進行反應的信號鏈有、、和、和,「與門」閾值的設定為1.5和0.5(見表1和圖2),生成相應的中間產物、、和。
步驟5:進入「或門」模塊進行反應的信號鏈有、、和、和生成的相應中間產物是、、和。
步驟6:「與門」中生成的中間產物、、和和「或門」中生成的中間產物、、和同時進入「異或門」模塊中進行反應(見圖3)。
步驟7:兩倍的進入「異或門」模塊沒有輸出信號,兩倍的進入「異或門」模塊也沒有輸出信號,一倍的和一倍的同時進入「異或門」模塊生成最終輸出信號鏈,一倍的和一倍的同時進入「異或門」模塊生成最終輸出信號鏈。
步驟8:根據輸出的信號鏈是和(見圖4),可以判斷出兩個二進位數中有兩位數值是不同的,分別是第三位數和第四位數。程序結束。
綜上所述,通過將單層感知器的「與門」模塊和「或門」模塊與多層感知器的「異或門」模塊相結合,將dna神經元進行級聯,設計了基於兩域dna鏈置換的多位數值比較器,並通過visualdsd軟體仿真模擬,進一步證明了多位數值比較器功能的有效性,由此證明該方法是有效可行的。
以上所述,僅為本發明較佳的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明披露的技術範圍內,根據本發明的技術方案及其發明構思加以等同替換或改變,都應涵蓋在本發明的保護範圍內。
表1。