一種基于雙穩態反應的CRNs加法器計算方法
【技術領域】
[0001] 本發明屬于化學反應網絡(CRNs)計算領域,尤其涉及一種基于雙穩態反應的CRNs 加法器計算方法。
【背景技術】
[0002] 2011 年,Phillip Senum等人提出"Rate-Independent Constructs for Chemical Computation",實現了分子濃度層面上的加法運算。然而分子濃度作為量化單位在數字電 路中應用很少,并且計算結果的精確度也有待提高,所以化學反應網絡(CRNs)需要精確的 二進制加法器。即在CRNs中,二進制數的每一位用兩種化學物質分別代表邏輯值1和0,并且 兩種物質通過雙穩態反應確保該比特〇和1的唯一性。這樣,代表兩個二進制數的物質相互 作用產生代表"和"的物質。
[0003] 2013年,Jiang Hua等人提出" Digital Logic with Molecular Reactions",在 雙穩態反應(1)的基礎上為數字電路中的基本邏輯門設計了對應的CRNs,并且把數字電路 層面的加法器直接映射到CRNs層面,即用CRNs實現數字電路加法器中每一個邏輯門,從而 實現CRNs加法器。這種方法得到的加法器由于受到數字電路設計的約束導致反應體系比較 復雜,需要較多的反應物和方程。
[0004]
【發明內容】
[0005] 本發明要解決的技術問題是在簡化CRNs加法器計算方法的同時保證反應體系的 穩定性 本發明采用的技術方案是:一種基于雙穩態反應的CRNs加法器的計算方法,包括以下 步驟:S1設置參數,所述參數包括被加數、加數與和;被加數+加數=和;所述被加數為反應 物,所述加數為催化物,所述和為反應生成物;所述參數包括η位物質位,每一位物質位由兩 種物質分別代表該物質位的邏輯值1和〇;以和的物質位位數為基準,被加數與加數的物質 位位數與和的物質位位數保持一致;S2將被加數與加數相加,被加數與加數對應位的物質 同時進行異或反應,得到第一步中間產物與進位物質;S3第一步中間產物在進位物質的催 化下轉化為下一步的中間產物;每一步的中間產物轉化為對應的最終產物,并在雙穩態反 應下,最后得到穩定的結果。
[0006] 本發明的優點是:該方法無需數字電路加法器內部復雜的電路結構,尋求簡潔高 效的計算方式,使得被加數在加數的"催化"作用下,通過中間產物快速而穩定地轉化為計 算結果。
[0007]
【附圖說明】
[0008] 圖1是本發明計算方法示意圖(加法器整體的運行過程,實現了 0101+0111=1100 的二進制加法運算)。
[0009] 圖2是本發明計算方法示意圖("被加數"0101的首位Ao在"加數"0111對應位ao和由 低位產生的進位物質At催化下的轉化過程)。
[0010] 圖3是本發明計算方法示意圖("被加數"的首位Ao在al消失之前并且無進位物質 的情況下大部分Ao轉化為Alp,并且得到少部分的ΑΟρ)。
[0011] 圖4是本發明采用的單比特的雙穩態反應,圖3得到的大量Alp、少量Α0ρ分別轉 化為A1、Α0后將在雙穩態反應下完全生成Α1。
[0012] 圖5是本發明0101 + 0111 = 1100的主要方程。
【具體實施方式】
[0013] 本發明公開了一種基于雙穩態反應的CRNs加法器的計算方法,被加數+加數=和; 所述被加數為反應物,所述加數為催化物,所述和為反應生成物;所述和包括η位,η 2 1,每 一位由兩種物質分別代表邏輯值1和〇;以代表和的物質的位數為基準,代表被加數與加數 的物質在位數上與代表和的位數一致。
[0014] 本發明為"被加數"與"和"建立統一的表示法,為"加數"建立獨立的表示法,忽略 數字電路加法器內部復雜的電路結構,尋求簡潔高效的計算方式,使得被加數在加數的"催 化"作用下,通過中間產物快速而穩定地轉化為計算結果。
[0015] 在本發明中,"被加數"與"加數"對應位的物質同時進行異或反應,快速得到第一 步中間產物與相關進位物質。第一步中間產物在進位物質的催化下轉化為下一步的中間產 物。每一步的中間產物慢速轉化為對應的最終產物,并在雙穩態反應下,最后得到穩定的結 果。
[0016] 本發明適用于數學上兩個任意位數正數的相加,前提是代表被加數與加數的物質 在位數上與和一致。即若"和"在理論上是5位數,那么"被加數"與"加數"都需要用5種物質 去代表各個位上的〇或1。
[0017] 當加數為負數時,即被加數和加數對應位相減時,若被加數任意物質位上的數值 小于加數對應位上的數值,產生向上一位的借位物質,作用同樣是把上一位的產物轉化為 相反的值,所述被加數大于加數的絕對值,和為正數。此時,即是通過加法器實現減法功能。 被加數與和表示法相同。
[0018] 實施例1 如圖1、2和5所示,本實施例中和為四位數,因此,"被加數" AqBiCqDi與"加數" aobicidi對 應位的物質從右到左進行異或反應。
[0019] 其中,Dl+dl=D0p +Ct+dl;dl是催化劑,前后反應不變,D0p是第一步的中間產物, Ct是D物質位的進位物質。
[0020] C0+cl=Clp+cl; cl是催化劑,前后反應不變,Clp是第一步的中間產物,Clp在進位 物質Ct的催化下,轉化為Clp+Ct=Copp+Ct+Bt; Copp為下一步的中間產物,Bt為C物質位的進 位物質。
[0021] Bl+bl=B0p +At+bl;bl是催化劑,前后反應不變,Bop是第一步的中間產物,At是B 物質位的進位物質,BOp在進位物質Bt的催化下,轉化為BOp+Bt=Blpp+Bt;Blpp為下一步的 中間產物。
[0022] A0+a0=Aop+a0; a0是催化劑,前后反應不變,Αορ是第一步的中間產物,Αορ在進位 物質At的催化下,轉化為Aop+At=Alpp+At。
[0023] 通過雙穩態反應,得到最終的產物0<^=0〇,&^口=(]〇,13]^。=131,4]^。=41,從而得到 和AlBICoDo。
[0024]在CRNs中,我們用特定的化學物質表示一個二進制數某一位的某個邏輯值0或1。 如首位的值1用A1代表的化學物質表示,0用A0代表的化學物質表示,A0、A1之間通過雙穩態 反應確保同一位的值的唯一性。此外,我們為"被加數"與"和"建立統一的表達方式,即在 "被加數"與"和"中任意一個數的特定位上的特定值應由同一種物質表示。"加數"作為控制 信號,擁有獨立的表達方式一一如"加數"的首位值1用小寫的al表示,0則用a0表示。且代表 "加數"的化學物質是少量的、高效的。"被加數"在"加數"的催化作用下轉化為"和"。
[0025] 如一位數的加法:
'加數"與"被加數"的相同位進行異 或。"加數"作為催化劑本身不發生改變,"被加數"被快速轉化為對應的中間產物,中間產物 快速積累并且不再與"加數"反應。若"加數"與"被加數"的某一位都為1,則同時產生下一位 的進位物質。來自低位的進位物質催化高位的中間產物進一步快速轉化為對應的中間產 物。
[0026] "加數"與"被加數"反應得到的中間產物自發地以相對較低的速率轉化為最終的 計算結果一一 "和"。由于"和"與"被加數"使用同一類物質表示,為了防止"加數"與"和"進 一步反應改變計算結果,"加數"需要自發地轉化為不相關的其它物質。在此過程中,會有少 部分的"和"生成并且與未完全消失的"加數"反應,在"加數"為1或有進位的情況下會產生 少部分與計算結果相反的"和",這小部分相反的"和"由于濃度較小,在雙穩態反應中被轉 化為正確計算結果的"和"。
[0027] 如圖3所示,每一步的中間產物慢速轉化為對應的最終產物,在"加數"完全消失 前,少部分"和"在"加數"催化下轉化為數值上相反的物質。
[0028]如圖4所示,"加數"完全消失且中間產物完全轉化后,代表"和"的物質與少部分數 值相反的物質在雙穩態反應下最終完全轉化為"和"。
【主權項】
1. 一種基于雙穩態反應的CRNs加法器的計算方法,其特征在于,包括以下步驟: S1設置參數,所述參數包括被加數、加數與和;被加數+加數=和;所述被加數為反應物, 所述加數為催化物,所述和為反應生成物;所述參數包括η位物質位,每一位物質位由兩種 物質分別代表該物質位的邏輯值1和〇;以和的物質位位數為基準,被加數與加數的物質位 位數與和的物質位位數保持一致; S2將被加數與加數相加,被加數與加數對應位的物質同時進行異或反應,得到第一步 中間產物與進位物質; S3第一步中間產物在進位物質的催化下轉化為下一步的中間產物;每一步的中間產物 轉化為對應的最終產物,并在雙穩態反應下,最后得到穩定的結果。
【專利摘要】本發明公開了一種基于雙穩態反應的CRNs加法器的計算方法,包括以下步驟:S1設置參數,S2將被加數與加數相加,被加數與加數對應位的物質同時進行異或反應,得到第一步中間產物與進位物質;S3第一步中間產物在進位物質的催化下轉化為下一步的中間產物;每一步的中間產物轉化為對應的最終產物,并在雙穩態反應下,最后得到穩定的結果。本發明無需數字電路加法器內部復雜的電路結構,尋求簡潔高效的計算方式,使得被加數在加數的“催化”作用下,通過中間產物快速而穩定地轉化為計算結果。
【IPC分類】G06F7/50
【公開號】CN105677293
【申請號】CN201610014193
【發明人】張川, 鐘志偉, 戈璐璐, 尤肖虎
【申請人】東南大學
【公開日】2016年6月15日
【申請日】2016年1月11日