免費小說網 > 腦回路清奇的主角們 > 幻符號已知,數值排列組合未知的數據壓縮算法
  =數據壓縮算法=符號已知,數值排列組合未知=

  把二進制的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)。

網頁版章節內容慢,請下載好閱小說app閱讀最新內容

請退出轉碼頁面,請下載好閱小說app 閱讀最新章節。