『壹』 什麼是密碼分析,其攻擊類型有哪些
答:密碼分析是指研究在不知道密鑰的情況下來恢復明文的科學。攻擊類型有隻有密文的攻擊,已知明文的攻擊,選擇明文的攻擊,適應性選擇明文攻擊,選擇密文的攻擊,選擇密鑰的攻擊,橡皮管密碼攻擊。S盒是DES演算法的核心。其功能是把6bit數據變為4bit數據。
『貳』 蒙特卡洛樹是什麼演算法
蒙特卡羅樹搜索(MCTS)會逐漸的建立一顆不對稱的樹。可以分為四步並反復迭代:
(1)選擇
從根節點,也就是要做決策的局面R出發向下選擇一個最急迫需要被拓展的節點T;局面R是第一個被檢查的節點,被檢查的節點如果存在一個沒有被評價過的招式m,那麼被檢查的節點在執行m後得到的新局面就是我們所需要展開的T;如果被檢查的局面所有可行的招式已經都被評價過了,那麼利用ucb公式得到一個擁有最大ucb值的可行招式,並且對這個招式產生的新局面再次進行檢查;如果被檢查的局面是一個游戲已經結束的游戲局面,那麼直接執行步驟4;通過反復的進行檢查,最終得到一個在樹的最底層的最後一次被檢查的局面c和它的一個沒有被評價過的招式m,執行步驟2。
(2)拓展
對於此時存在於內存中的局面c,添加一個它的子節點。這個子節點由局面c執行招式m而得到,也就是T。
(3)模擬
從局面T出發,雙方開始隨機的落子。最終得到一個結果(win/lost),以此更新T節點的勝利率。
(4)反向傳播
在T模擬結束之後,它的父節點c以及其所有的祖先節點依次更新勝利率。一個節點的勝利率為這個節點所有的子節點的平均勝利率。並從T開始,一直反向傳播到根節點R,因此路徑上所有的節點的勝利率都會被更新。
『叄』 設計一個演算法代碼 ,解字謎ABCAB*A=DDDDDD
#include <stdio.h>
int main()
{
int a, b, c, dddddd;
for(a=1; a<=9; a++)
for(b=0; b<=9; b++)
for(c=0; c<=9; c++)
{
dddddd = (a*10000 + b*1000 + c*100 + a*10 + b) * a;
if(dddddd % 111111 == 0)
printf(" %d%d%d%d%d X %d = %d\n", a,b,c,a,b,a,dddddd);
}
return 0;
}