=數據壓縮算法=符號已知,數值排列組合未知=
把二進製的0,變成2,把二進製的1就當1;
1+2=3;奇數個奇數相加,再加上任意個偶數,結果等於奇數,偶數個奇數相加,再加上任意個偶數,結果等於偶數;奇數乘以奇數=奇數,奇數乘以偶數=奇數,偶數乘以偶數=偶數;把奇數和偶數在作為次方號前麵的底數時都取負值,然後(負值奇數)的奇數次方=(負值奇數),(負值奇數)的偶數次方=正值奇數,(負值偶數)的奇數次方=(負值偶數),(負值偶數)的偶數次方=正值偶數。
同樣的道理,可以把二進製的0轉換為十進製的2(偶數,還是素數),把二進製的1轉換為十進製的5或7(奇數,也是素數),然後計算;
如0110001100,換算成2和7,就是2772227722
統計結果:總共有6個二進製0,四個二進製1;
加法:
2+7+7+2+2+2+7+7+2+2=40(記錄為全是加法)
2+7-7+2-2+2-7+7-2+2=4(記錄為奇數次為加法,偶數次為減法)
2-7+7-2+2-2+7-7+2-2=0(記錄為奇數次為減法,偶數次為加法)
2+7-7-2+2-2-7+7-2-2=-4(記錄為n+1為加法,n+2為減法,n+3為減法,每次n增加都是加3)
2-7+7+2-2+2+7-7+2+2=8
(記錄為n+1為減法,n+2為加法,n+3為加法,每次n增加都是加3)
以此類推,隻要進行的加法運算次數足夠多,然後規律碰撞,就能快速得知每一位的排列順序。
也可以使用六循環法:
第一循環(記錄為n+1為減法,n+2為加法,n+3為乘法,每次n增加都是加3)
2-7+7*2-2+2*7-7+2*2=18(優先計算乘法)
2-7+7*2-2+2*7-7+2*2=16(最後計算乘法,先算加減法)
第二循環(記錄為n+1為加法,n+2為乘法,n+3為減法,每次n增加都是加3)
2+7*7-2+2*2-7+7*2-2=58(優先計算乘法)
2+7*7-2+2*2-7+7*2-2=0(最後計算乘法,先算加減法,且不去除0)
2+7*7-2+2*2-7+7*2-2=126(最後計算乘法,先算加減法,且去除0)
第三循環(記錄為n+1為乘法,n+2為減法,n+3為加法,每次n增加都是加3)
2*7-7+2*2-2+7*7-2+2=58(優先計算乘法)
2*7-7+2*2-2+7*7-2+2=196(最後計算乘法,先算加減法)
第四循環(記錄為n+1為減法,n+2為乘法,n+3為加法,每次n增加都是加3)
2-7*7+2-2*2+7-7*2+2=-54(優先計算乘法)
2-7*7+2-2*2+7-7*2+2=-280(最後計算乘法,先算加減法)
第五循環(記錄為n+1為加法,n+2為減法,n+3為乘法,每次n增加都是加3)
2+7-7*2+2-2*7+7-2*2=-14(優先計算乘法)
2+7-7*2+2-2*7+7-2*2=96(最後計算乘法,先算加減法)
第六循環(記錄為n+1為乘法,n+2為加法,n+3為減法,每次n增加都是加3)
2*7+7-2*2+2-7*7+2-2=-30(優先計算乘法)
2*7+7-2*2+2-7*7+2-2=-504(最後計算乘法,先算加減法)
最後通過運算法則逆推的方式,來從最終結果,確定有限的排列方式,當然這種算法也存在碰撞交叉問題,然而這卻是使用最少的運算結果數據,來逆推最多的分布排列數據(能夠通過最終結果,得知結果)
記錄的時候,隻需要記錄最終結果,各種條件的最終結果
當然了,還有先算加法和乘法,再算減法;先算減法和乘法,再算加法;先算加法和減法,再算乘法;以及各種擴展運算限製,加多運算量生成的結果,然後減少碰撞量,從而能夠用最少的(按照規則運算之後得到的結果)數據來表達最多的數據
理論上講,隨著算式長度的增加,碰撞交叉出現的次數就會越來越多;
例如:a?b?c?d?e?f?……y?z?aa?ab?ac?……zx?zy?zz?aaa?aab?aac?……………………zzzzzzzzzzzzzx?zzzzzzzzzzzzzy?zzzzzzzzzzzzzz;其中就很有可能出現碰撞交叉;如同md5的碰撞破解一樣,兩者的md5值一樣,然而內容卻不全等。
怎麽辦?
這個時候就更容易了,在什麽情況下,+2出現過多少次;-2重選過多少次;*2出現過多少次;+7出現過多少次;-7重選過多少次;*7出現過多少次;+2-2出現過多少次,+7-7出現過度少次,-2+2出現過多少次,-7+7出現過多少次(加減抵消為0);(什麽運算符號)(什麽數值)(什麽運算符號)(什麽數值)各出現過多少次;定義(什麽運算符號)(什麽數值)=(一個運算小組);(一個運算小組)(一個運算小組)(一個運算小組)各出現過多少次;(一個運算小組)(一個運算小組)(一個運算小組)(一個運算小組)各出現過多少次;(一個運算小組)(一個運算小組)(一個運算小組)(一個運算小組)(一個運算小組)各出現過多少次;然後就是越來越長的統計數據,用來減少碰撞交叉,以及淘汰碰撞交叉的錯誤分支。
計算的時候,把帶數據每一位中間都加上運算符號,然後運算出結果,把結果記錄為帶運算符號或不帶運算符號的數值(如果數足夠大,那麽就隻能使用帶運算符號來減少所占用存儲空間長度);
然後解壓縮的時候,就進行運算符號逆推,以及排列組合逆推,可如果真就可以使用量子計算機,就可以進行快速的窮舉並列運算,最終把碰撞成功的唯一結果導出(如果是多個符合結果,那麽就采取更多篩選條件)(同樣的,壓縮時,就要進行解壓縮運算,不能隻等到解壓縮時,才發現等式並不是唯一,而是有多種結果,最常見的,就是7-5=2;然而2不僅可以=7-5,還能等於100-98)。
這就是單向等於邏輯的根源,比如(-2)*(-2)=(-2)^2=4;然而4開平方=(+2)和(-2)。
當等式足夠長時,或許結果就是很短很短的,然而如何通過結果來逆推等式呢?知道運算符號,然後進行填空和窮舉就可以了,隻需要把最後能夠窮舉通過的結果都反饋,然後再進行抉擇去掉錯誤答案就可以了。
把二進製的0,變成2,把二進製的1就當1;
1+2=3;奇數個奇數相加,再加上任意個偶數,結果等於奇數,偶數個奇數相加,再加上任意個偶數,結果等於偶數;奇數乘以奇數=奇數,奇數乘以偶數=奇數,偶數乘以偶數=偶數;把奇數和偶數在作為次方號前麵的底數時都取負值,然後(負值奇數)的奇數次方=(負值奇數),(負值奇數)的偶數次方=正值奇數,(負值偶數)的奇數次方=(負值偶數),(負值偶數)的偶數次方=正值偶數。
同樣的道理,可以把二進製的0轉換為十進製的2(偶數,還是素數),把二進製的1轉換為十進製的5或7(奇數,也是素數),然後計算;
如0110001100,換算成2和7,就是2772227722
統計結果:總共有6個二進製0,四個二進製1;
加法:
2+7+7+2+2+2+7+7+2+2=40(記錄為全是加法)
2+7-7+2-2+2-7+7-2+2=4(記錄為奇數次為加法,偶數次為減法)
2-7+7-2+2-2+7-7+2-2=0(記錄為奇數次為減法,偶數次為加法)
2+7-7-2+2-2-7+7-2-2=-4(記錄為n+1為加法,n+2為減法,n+3為減法,每次n增加都是加3)
2-7+7+2-2+2+7-7+2+2=8
(記錄為n+1為減法,n+2為加法,n+3為加法,每次n增加都是加3)
以此類推,隻要進行的加法運算次數足夠多,然後規律碰撞,就能快速得知每一位的排列順序。
也可以使用六循環法:
第一循環(記錄為n+1為減法,n+2為加法,n+3為乘法,每次n增加都是加3)
2-7+7*2-2+2*7-7+2*2=18(優先計算乘法)
2-7+7*2-2+2*7-7+2*2=16(最後計算乘法,先算加減法)
第二循環(記錄為n+1為加法,n+2為乘法,n+3為減法,每次n增加都是加3)
2+7*7-2+2*2-7+7*2-2=58(優先計算乘法)
2+7*7-2+2*2-7+7*2-2=0(最後計算乘法,先算加減法,且不去除0)
2+7*7-2+2*2-7+7*2-2=126(最後計算乘法,先算加減法,且去除0)
第三循環(記錄為n+1為乘法,n+2為減法,n+3為加法,每次n增加都是加3)
2*7-7+2*2-2+7*7-2+2=58(優先計算乘法)
2*7-7+2*2-2+7*7-2+2=196(最後計算乘法,先算加減法)
第四循環(記錄為n+1為減法,n+2為乘法,n+3為加法,每次n增加都是加3)
2-7*7+2-2*2+7-7*2+2=-54(優先計算乘法)
2-7*7+2-2*2+7-7*2+2=-280(最後計算乘法,先算加減法)
第五循環(記錄為n+1為加法,n+2為減法,n+3為乘法,每次n增加都是加3)
2+7-7*2+2-2*7+7-2*2=-14(優先計算乘法)
2+7-7*2+2-2*7+7-2*2=96(最後計算乘法,先算加減法)
第六循環(記錄為n+1為乘法,n+2為加法,n+3為減法,每次n增加都是加3)
2*7+7-2*2+2-7*7+2-2=-30(優先計算乘法)
2*7+7-2*2+2-7*7+2-2=-504(最後計算乘法,先算加減法)
最後通過運算法則逆推的方式,來從最終結果,確定有限的排列方式,當然這種算法也存在碰撞交叉問題,然而這卻是使用最少的運算結果數據,來逆推最多的分布排列數據(能夠通過最終結果,得知結果)
記錄的時候,隻需要記錄最終結果,各種條件的最終結果
當然了,還有先算加法和乘法,再算減法;先算減法和乘法,再算加法;先算加法和減法,再算乘法;以及各種擴展運算限製,加多運算量生成的結果,然後減少碰撞量,從而能夠用最少的(按照規則運算之後得到的結果)數據來表達最多的數據
理論上講,隨著算式長度的增加,碰撞交叉出現的次數就會越來越多;
例如:a?b?c?d?e?f?……y?z?aa?ab?ac?……zx?zy?zz?aaa?aab?aac?……………………zzzzzzzzzzzzzx?zzzzzzzzzzzzzy?zzzzzzzzzzzzzz;其中就很有可能出現碰撞交叉;如同md5的碰撞破解一樣,兩者的md5值一樣,然而內容卻不全等。
怎麽辦?
這個時候就更容易了,在什麽情況下,+2出現過多少次;-2重選過多少次;*2出現過多少次;+7出現過多少次;-7重選過多少次;*7出現過多少次;+2-2出現過多少次,+7-7出現過度少次,-2+2出現過多少次,-7+7出現過多少次(加減抵消為0);(什麽運算符號)(什麽數值)(什麽運算符號)(什麽數值)各出現過多少次;定義(什麽運算符號)(什麽數值)=(一個運算小組);(一個運算小組)(一個運算小組)(一個運算小組)各出現過多少次;(一個運算小組)(一個運算小組)(一個運算小組)(一個運算小組)各出現過多少次;(一個運算小組)(一個運算小組)(一個運算小組)(一個運算小組)(一個運算小組)各出現過多少次;然後就是越來越長的統計數據,用來減少碰撞交叉,以及淘汰碰撞交叉的錯誤分支。
計算的時候,把帶數據每一位中間都加上運算符號,然後運算出結果,把結果記錄為帶運算符號或不帶運算符號的數值(如果數足夠大,那麽就隻能使用帶運算符號來減少所占用存儲空間長度);
然後解壓縮的時候,就進行運算符號逆推,以及排列組合逆推,可如果真就可以使用量子計算機,就可以進行快速的窮舉並列運算,最終把碰撞成功的唯一結果導出(如果是多個符合結果,那麽就采取更多篩選條件)(同樣的,壓縮時,就要進行解壓縮運算,不能隻等到解壓縮時,才發現等式並不是唯一,而是有多種結果,最常見的,就是7-5=2;然而2不僅可以=7-5,還能等於100-98)。
這就是單向等於邏輯的根源,比如(-2)*(-2)=(-2)^2=4;然而4開平方=(+2)和(-2)。
當等式足夠長時,或許結果就是很短很短的,然而如何通過結果來逆推等式呢?知道運算符號,然後進行填空和窮舉就可以了,隻需要把最後能夠窮舉通過的結果都反饋,然後再進行抉擇去掉錯誤答案就可以了。