=光化學存儲器猜想=
如何用光實現存儲?作者猜想到,有以下多種方法:
1:設計兩個平行的單面反光鏡,兩者之間的距離足夠遠,至少1千米,然后在一個平面鏡被抽出,然后存入被編碼成摩爾電碼一樣的光照射,然后把平面鏡放回去,然后讓光在兩個平面鏡之間來回,到需要讀取時,再把平面鏡抽出,光就被受光器接收。
2:設計被特定頻率光照射就會改變化學性質的光化學固體或光化學流體,比如受到紫外線照射就會變成固態,受到紅外線照射就會變成液態;又比如受到特定頻率光照射,就變成正四面體方式結晶,而受到另一種頻率光照射,就變成正六面體方式結晶,比如用特定頻率光A照射,就成為酒精,用特定頻率光B照射,就成為二氧化碳,使用特定頻率光C照射,就成為環氧。
3:設計成正六面體方式,有兩個照射面,一個面是寫入面又稱編程面,一個面是讀取面又稱反饋面,用特定頻率的光,可以在寫入面改變化學成分,從而改變折射率,用折射率定義二進制的0和1,屬于偏結晶,只有在特定寫入面才能改變其化學成分,而不是寫入面,就只能讓光受到折射率作用,還有一個面能夠用來干嘛呢?
4:可以把數據轉換為一個特定結構的透鏡,自帶原點,然后用特定數據(文件系統原始數據)來定義照射方式,從而把每一個球半徑方向的折射率不同換算成數據,從而能夠把1ZB數據刻錄在不到1立方厘米的被三維打印的特殊透鏡中,其本身可以作為密鑰,也可以作為運算邏輯器。
=數據壓縮算法猜想=
對折算法,例如10100101(偶數位)和101010101(奇數位)。
做三種算法,分別是加法,乘法和乘方法。
0+0=0,0+1=1+0=1,1+1=10(二進制的2)
0*0=0,0*1=1*0=0,1*1=1
0^0=1,0^1=1^0=1,1^1=1
也就是結果=001,則表示兩個都是0,結果等于101,則表示一個等于0,一個等于1,結果等于1011,則兩個都是1
以上算法另有用途。
還有一種表達方式,把數據中分(如果奇數位,則先把中間位去掉作為原點,如果偶數位,直接中分)
比如10100101,可以記錄為1010取對稱(完全鏡面對稱)
比如101010101,可以記錄為原點為1,1010取對稱(完全鏡面對稱)
比如10101010,可以記錄為1010循環,也可以記錄為1010和正負取逆反(原點左邊第一個和原點右邊的一個互異,原點左邊第N個和原點右邊的第N個互異)
只需要記錄一半的數據作為數據卡尺,當然了,也可以只是用整體的N分之一作為全記錄數據卡尺,其他的就看特定位是互同還是互異,只是需要記錄數據對齊方法,比如可以使用1KB數據作為數據卡尺,然后進行比對。
這種算法最怕有數據缺失,也就是不管是數據卡尺出問題,還是記錄互異和互同的部分出問題,都會導致數據不可用,只能進行試錯逆推。
對于數據壓縮,這是缺點,然而對于作為一種密文防止篡改的技術,這是優點。
任意數,都可以變成算術:
7?6?5?4?3?2?1?1?2?3?4?5?6?7
先從最大數到最小數,然后從最小數到最大數。
而每一個?都可以是加法,減法,乘法,次方,這套算法對于長度不大的數據,可能壓縮后長度比原數據還大,然而如果是使用很長的數呢?
其中的數如果相差不大,還能記錄為:
比如9876543210123456789到9876543210123456777,那么就可以節省掉記錄每一個運算符號之間的數,直接記錄運算符號就可以了,一般情況下,都是00=+加法;01=-減法;10=*乘法;11=^乘方
記錄了運算符號還不算,每一個運算符號都有獨特的運算優先級,就如同把小括號改造成了運算優先級,在這種運算優先級中,所有符號都是同等優先級,只有被定義為更高的運算優先級,才具備更高的運算優先級。
當然了,可以把所有數都減去同一個數,然后只記錄減去該數之后的差來代表該數,從而節約存儲長度,比如上面的9876543210123456777-9876543210123456777=0,可以記錄為0;9876543210123456789-9876543210123456777=12,可以記錄為12;
所有的正整數,都可以換算成該數除以一個恰當的素數得到的商可以表示為兩個數相乘再加上或減去某個數;
而當這些數并非連續,而且本身也不是很大,那么就可以使用帶有運算符號的方式,來用算法表示該大數據,使用有理數算法時,數據的最終結果就是源數據,使用無理數算法時,數據只出現在有限長度之內,然后再對這些截取的無理數特定長度的內容,再對其中的很多位進行微調,從而還原出源數據。
數據長度很小的算法:正整數=A;素數=B;商=C;余數=D*E+F或D*E-F
逆運算就是C*B+(D*E+F或D*E-F)
數據長度相對多的算法:正整數=A;可以取兩個乘方來接近(一個略大于,一個略小于)
B^C(加上或減去)D*E(加上或減去)F=A;B^C大于A。
G^H(加上或減去)I*J(加上或減去)K=A;G^H小于A。
逆運算就不解釋了,數學問題。
這就需要使用人工智能,來逆推一個足夠大的數,如何用最少的數和最少的運算,來記錄,然后能夠通過這些運算式快速的解壓出源數據。
而快速減少大量數據逆推的方法,就是之前所說的素數進制碰撞方法,數所有位在特定進制時出現特定數多少次,然后進行順序排列就能還原出源數據。
而這種壓縮方式和解壓縮方式,可以研究出專用的運算內核,從而做成壓縮卡和解壓縮卡,如同顯卡和網卡一樣。
示例:1位二進制0和2位二進制1,有多少種排列組合?
011;101;110;三種。
0011;0101;1001;1010;1100;五種。
0111;1011;1101;1110;四種。
00011;00101;01001;10001;10010;10100;11000;七種。
00111;01011;10011;10101;11001;11010;11100;
5位二進制0和3位二進制1,有多少種排列組合?16種。
偶數為0出現過多少次;偶數為1出現過多少次;
3的倍數為0出現過多少次;3的倍數+1為0出現過多少次;3的倍數+2為0出現過多少次;
N的倍數為0出現過多少次;N的倍數+1為0出現過多少次;N的倍數+2為0出現過多少次;……一直到N的倍數+(N-1)為0出現過多少次;
以此類推,就能大量減少排列組合次數。
比如10254個二進制比特,其中二進制1出現過5332次,其中二進制0出現過4922次
不換算時(二進制統計時)
奇數位的0出現過3791次;奇數位的1出現過2999次;
偶數位的0出現過1131次;偶數位的1出現過2333次;
5332-2333=2999
4922-1131=3791
3的倍數位的0出現過多少次;3的倍數位的1出現過多少次;
3的倍數+1位的0出現過多少次;3的倍數+1位的1出現過多少次;
3的倍數+2位的0出現過多少次;3的倍數+2位的1出現過多少次;
再擴展到N的倍數;N的倍數+1;N的倍數+2;……N的倍數+(N-1);其中對應的0和對應的1各出現過多少次;
換算為三進制;
奇數位;偶數位;其中A(三進制中的0)各出現了多少次;其中B(三進制的1)各出現了多少次;其中C(三進制的2)各出現了多少次;
3的倍數位;3的倍數+1位;3的倍數+2位;A,B,C各分別各出現了多少次;
再擴展到N的倍數;N的倍數+1;N的倍數+2;……N的倍數+(N-1);其中對應的A,B,C各分別各出現了過多少次;
這種可以使用簡單的單一比特數據互換的快速內存專用運算單片機,就能進行快速窮舉,以及進行邏輯碰撞;同樣的,N一般都取素數,避免重復碰撞,比如用了2,又用4,用了5,又用10,就浪費了。
想想看,素數和無理數,在數據壓縮中,還能有什么用法?
網頁版章節內容慢,請下載好閱小說app閱讀最新內容
請退出轉碼頁面,請下載好閱小說app 閱讀最新章節。