势函数和鞅的停时定理
前置芝士
鞅:
鞅是一类特殊的随机过程,假设我们从一开始就在观察一场赌博游戏,现在已经得到了前t秒的观测值,那么当第t+1 秒观测值的期望等于第t秒的观测值时,我们称这是一个公平赌博游戏。
具体来说,对于一个随机过程 A 1 , A 2 , . . . {A_1,A_2,...} A1,A2,...,如果 E ( A n + 1 ∣ A 0 , A 2 , . . A n ) = A n E(A_{n+1}|A_0,A_2,..A_n)=A_n E(An+1∣A0,A2,..An)=An,我们称该随机过程为鞅。
鞅的停时定理:
设时停时间(在不知道随机过程的中间状态下停止的时刻)为t,则 E ( t ) = E ( 0 ) E(t)=E(0) E(t)=E(0)
这个E到底是什么,由具体的情境而定,但是只要一个随机过程是一个鞅,它就有该结论
势函数
接下来我们考虑一个很常见的问题:
对于一个随机过程 A 1 , A 2 , . . . {A_1,A_2,...} A1,A2,...,如果其终止状态 A t A_t At是确定的,求 E [ t ] E[t] E[t],即时停时刻的期望(注意这里我们不要求该随机过程是一个鞅)
为此,我们引入一个势函数 ϕ ( X ) \phi(X) ϕ(X)
并且 ϕ ( x ) \phi(x) ϕ(x)满足如下性质:
- ∀ n < t , E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 \forall n<t, E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=-1 ∀n<t,E(ϕ(An+1)−ϕ(An)∣A0,A1,...An)=−1,即势能不断降低
- E ( ϕ ( A t ) ) = C E(\phi(A_t))=C E(ϕ(At))=C,是一个常值
那么如果我们令 X t = ϕ ( A t ) + t X_t=\phi(A_t)+t Xt=ϕ(At)+t,则 E ( X n + 1 − X n ∣ x 0 , x 1 . . . x n ) = E ( ϕ ( A n + 1 ) − ϕ ( A n ) + 1 ∣ x 0 , x 1 . . . x n ) = E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ x 0 , x 1 . . . x n ) + 1 = 0 E(X_{n+1}-X_n|x_0,x_1...x_n)=E(\phi(A_{n+1})-\phi(A_n)+1|x_0,x_1...x_n)=E(\phi(A_{n+1})-\phi(A_n)|x_0,x_1...x_n)+1=0 E(Xn+1−Xn∣x0,x1...xn)=E(ϕ(An+1)−ϕ(An)+1∣x0,x1...xn)=E(ϕ(An+1)−ϕ(An)∣x0,x1...xn)+1=0
我们发现随机过程 X t X_t Xt就是一个鞅了
那么由鞅的停时原理, E ( X t ) = E ( X 0 ) E(X_t)=E(X_0) E(Xt)=E(X0),即 E ( ϕ ( A t ) + t ) = E ( ϕ ( A 0 ) + 0 ) E(\phi(A_t)+t)=E(\phi(A_0)+0) E(ϕ(At)+t)=E(ϕ(A0)+0),也即 E ( ϕ ( A t ) ) + E ( t ) = E ( ϕ ( A 0 ) ) E(\phi(A_t))+E(t)=E(\phi(A_0)) E(ϕ(At))+E(t)=E(ϕ(A0))
所以我们得到 E ( t ) = E ( ϕ ( A 0 ) ) − E ( ϕ ( A t ) ) E(t)=E(\phi(A_0))-E(\phi(A_t)) E(t)=E(ϕ(A0))−E(ϕ(At)),根据我们之前定义的性质, E ( ϕ ) A t E(\phi)A_t E(ϕ)At为一个常值,而 E ( ϕ ( A 0 ) ) E(\phi(A_0)) E(ϕ(A0))显然也是一个常值,所以只要能找到这个满足条件的势函数,就能很方便的求出 E ( t ) E(t) E(t)
这里我们只是在随机过程 X t X_t Xt中应用了停时定理,对原本的随机过程 A t A_t At并没有做什么限制
接下来结合具体的题目来讨论一下如何构造这样的一个势函数
CF1349D
大意:
有n个人在玩传球游戏,一开始第 i i i个人有 a i a_i ai个球。每一次传球,等概率随机选中一个球,设其当前拥有者为 i i i, i i i将这个球等概率随机传给另一个人 j ( j ≠ i ) j(j\neq i) j(j=i)。当某一个人拥有所有球时,停止游戏。问游戏停止时的期望传球次数。
记球的总数为m
不妨记状态 A t = ( a t , 1 , a t , 2 . . . a t , n ) A_t=(a_{t,1},a_{t,2}...a_{t,n}) At=(at,1,at,2...at,n),一个n维向量,分别表示 在时刻t,第i个人手中球的数量,显然它唯一地表示了某一个时刻的全局状态
也就是说,我们现在就把这个游戏过程抽象成了一个随机过程 A 0 , A 1 . . . . A_0,A_1.... A0,A1....,并且其停时为t。那么按照之前所说,我们需要去定义一个势函数 ϕ ( A t ) \phi(A_t) ϕ(At),为了计算方便,我们可以将 ϕ \phi ϕ具体到A的每一维向量,不妨记为 ϕ ( A t ) = ∑ i = 1 n f ( a t , i ) \phi(A_t)=\sum_{i=1}^{n}f(a_{t,i}) ϕ(At)=∑i=1nf(at,i),这里f是什么我们并不知道,但是如果我们知道了f,其实也就是相当于构造出了这个势能函数
这里再把我们定义的 ϕ \phi ϕ的性质再放一下
ϕ ( x ) \phi(x) ϕ(x)满足如下性质:
- ∀ n < t , E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 \forall n<t, E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=-1 ∀n<t,E(ϕ(An+1)−ϕ(An)∣A0,A1,...An)=−1,即势能不断降低
- E ( ϕ ( A t ) ) = C E(\phi(A_t))=C E(ϕ(At))=C,是一个常值
那么我们首先来考虑第一个性质,为了方便,不妨先考虑 E ( ϕ ( A n + 1 ) ∣ A 0 , A 1 , . . . A n ) E(\phi(A_{n+1})|A_0,A_1,...A_n) E(ϕ(An+1)∣A0,A1,...An)
发现传球过程就是一个 M a r k o v Markov Markov过程,并且该时刻的状态只与上一个时刻的状态有关,所以 E ( ϕ ( A n + 1 ) ∣ A 0 , A 1 , . . . A n ) = E ( ϕ ( A n + 1 ) ∣ A n ) E(\phi(A_{n+1})|A_0,A_1,...A_n)=E(\phi(A_{n+1})|A_n) E(ϕ(An+1)∣A0,A1,...An)=E(ϕ(An+1)∣An)
考虑一次转移的所有可能
i传球给j的概率是 a t , i m 1 n − 1 \large \frac{a_{t,i}}{m}\frac{1}{n-1} mat,in−11
E ( ϕ ( A n + 1 ) ∣ A n ) = ∑ i = 1 n ∑ j ≠ i a t , i m 1 n − 1 [ f ( a t , i − 1 ) + f ( a t , j + 1 ) + ∑ k ∉ ( i , j ) f ( a t , k ) ] E(\phi(A_{n+1})|A_n)=\sum_{i=1}^{n}\sum_{j\neq i}\frac{a_{t,i}}{m}\frac{1}{n-1}[f(a_{t,i}-1)+f(a_{t,j}+1)+\sum_{k\notin(i,j)}f(a_{t,k})] E(ϕ(An+1)∣An)=∑i=1n∑j=imat,in−11[f(at,i−1)+f(at,j+1)+∑k∈/(i,j)f(at,k)]
= ∑ i = 1 n a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) =\sum_{i=1}^{n}\frac{a_{t,i}}{m}f(a_{t,i}-1)+\frac{m-a_{t,i}}{m(n-1)}f(a_{t,i}+1)+\frac{(m-a_{t,i})(n-2)}{m(n-1)}f(a_{t,i}) =∑i=1nmat,if(at,i−1)+m(n−1)m−at,if(at,i+1)+m(n−1)(m−at,i)(n−2)f(at,i)
根据我们定义的性质 E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=-1 E(ϕ(An+1)−ϕ(An)∣A0,A1,...An)=−1
E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A n ) E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=E(\phi(A_{n+1})-\phi(A_n)|A_n) E(ϕ(An+1)−ϕ(An)∣A0,A1,...An)=E(ϕ(An+1)−ϕ(An)∣An)
= ( ∑ i = 1 n a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) ) − ∑ f ( a t , i ) = − 1 =(\sum_{i=1}^{n}\frac{a_{t,i}}{m}f(a_{t,i}-1)+\frac{m-a_{t,i}}{m(n-1)}f(a_{t,i}+1)+\frac{(m-a_{t,i})(n-2)}{m(n-1)}f(a_{t,i}))-\sum f(a_{t,i})=-1 =(∑i=1nmat,if(at,i−1)+m(n−1)m−at,if(at,i+1)+m(n−1)(m−at,i)(n−2)f(at,i))−∑f(at,i)=−1
所以 ∑ f ( a t , i ) = ( ∑ i = 1 n a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) ) + 1 \sum f(a_{t,i})=(\sum_{i=1}^{n}\frac{a_{t,i}}{m}f(a_{t,i}-1)+\frac{m-a_{t,i}}{m(n-1)}f(a_{t,i}+1)+\frac{(m-a_{t,i})(n-2)}{m(n-1)}f(a_{t,i}))+1 ∑f(at,i)=(∑i=1nmat,if(at,i−1)+m(n−1)m−at,if(at,i+1)+m(n−1)(m−at,i)(n−2)f(at,i))+1
那么我们可以把末尾的1分配到每一个和式里面去,这样左右的形式就统一了
所以 ∑ f ( a t , i ) = ∑ i = 1 n [ a t , i m f ( a t , i − 1 ) + m − a t , i m ( n − 1 ) f ( a t , i + 1 ) + ( m − a t , i ) ( n − 2 ) m ( n − 1 ) f ( a t , i ) + a t , i n ] \sum f(a_{t,i})=\sum_{i=1}^{n}[\frac{a_{t,i}}{m}f(a_{t,i}-1)+\frac{m-a_{t,i}}{m(n-1)}f(a_{t,i}+1)+\frac{(m-a_{t,i})(n-2)}{m(n-1)}f(a_{t,i})+\frac{a_{t,i}}{n}] ∑f(at,i)=∑i=1n[mat,if(at,i−1)+m(n−1)m−at,if(at,i+1)+m(n−1)(m−at,i)(n−2)f(at,i)+nat,i]
那么不妨记 f ( a ) = a m f ( a − 1 ) + m − a m ( n − 1 ) f ( a + 1 ) + ( m − a ) ( n − 2 ) m ( n − 1 ) f ( a ) + a n f(a)=\frac{a}{m}f(a-1)+\frac{m-a}{m(n-1)}f(a+1)+\frac{(m-a)(n-2)}{m(n-1)}f(a)+\frac{a}{n} f(a)=maf(a−1)+m(n−1)m−af(a+1)+m(n−1)(m−a)(n−2)f(a)+na
这样和式还是成立的,我们也成功抽象出了f函数
再转化一下, f ( a + 1 ) = m + a n − 2 a m − a f ( a ) − a ( n − 1 ) m − a ( f ( a − 1 ) + 1 ) f(a+1)=\frac{m+an-2a}{m-a}f(a)-\frac{a(n-1)}{m-a}(f(a-1)+1) f(a+1)=m−am+an−2af(a)−m−aa(n−1)(f(a−1)+1)
代入边界条件 a = 0 a=0 a=0时,有 f ( 1 ) = f ( 0 ) f(1)=f(0) f(1)=f(0),所以我们可以设 f ( 1 ) = f ( 0 ) = 0 f(1)=f(0)=0 f(1)=f(0)=0,毕竟势函数的初值并不重要
这样就得到了f,也就是相当于得到了势函数 ϕ ( x t ) = ∑ i f ( x t , i ) \phi(x_t)=\sum_{i}f(x_{t,i}) ϕ(xt)=∑if(xt,i)
然后考虑势函数的第二个性质: E ( ϕ ( A t ) ) = C E(\phi(A_t))=C E(ϕ(At))=C是一个常值
显然 E ( ϕ ( A t ) ) = ∑ i f ( a t , i ) = f ( m ) + ( n − 1 ) f ( 0 ) E(\phi(A_t))=\sum_{i}f(a_{t,i})=f(m)+(n-1)f(0) E(ϕ(At))=∑if(at,i)=f(m)+(n−1)f(0)是一个常值
所以根据我们的结论, E ( t ) = E ( ϕ ( A 0 ) ) − E ( ϕ ( A t ) ) = ∑ i f ( a 0 , i ) − f ( m ) − ( n − 1 ) f ( 0 ) = ∑ i f ( a 0 , i ) − f ( m ) E(t)=E(\phi(A_0))-E(\phi(A_t))=\sum_{i}f(a_{0,i})-f(m)-(n-1)f(0)=\sum_{i}f(a_{0,i})-f(m) E(t)=E(ϕ(A0))−E(ϕ(At))=∑if(a0,i)−f(m)−(n−1)f(0)=∑if(a0,i)−f(m)
这样我们就非常方便的得到了停时的期望
不妨来看一个近一点的例子
杭电多校09 Coins
大意:
n个人,每个人手中初始有 a i a_i ai个硬币,每次随机选择两个人,第一个人给第二个人一个硬币,如果某个人手中没有硬币了,则立即退出游戏,不再回来。当某一个人拥有全部硬币时,游戏结束
问停时的期望
题意与上一题十分相像,但是该题存在人数不固定的情况,所以我们描述游戏局面的时候要稍微改变一下
还是令 m = ∑ a i m=\sum a_i m=∑ai
令 A t = ( a t , 1 , a t , 2 . . . a t , h t ) A_t=(a_{t,1},a_{t,2}...a_{t,h_t}) At=(at,1,at,2...at,ht)来描述第t个时刻的局面,其中 h t h_t ht表示当前的剩余人数,显然它不是一个固定的值。但是我们能保证 ∀ i ≤ h t , a t , i > 0 \forall i\leq h_t,a_{t,i}>0 ∀i≤ht,at,i>0
仿照上一题的思路,我们令 ϕ ( A t ) = ∑ i = 1 n f ( a t , i ) \phi(A_t)=\sum_{i=1}^{n}f(a_{t,i}) ϕ(At)=∑i=1nf(at,i)作为势函数,尝试确定f
E ( ϕ ( A n + 1 ) ∣ A n ) = ∑ i = 1 h t ∑ j ≠ i 1 h t ( h t − 1 ) [ f ( a t , i − 1 ) + f ( a t , j + 1 ) + ∑ k ∉ ( i , j ) f ( a t , k ) ] E(\phi(A_{n+1})|A_n)=\sum_{i=1}^{h_t}\sum_{j\neq i}\frac{1}{h_t(h_t-1)}[f(a_{t,i}-1)+f(a_{t,j}+1)+\sum_{k\notin(i,j)}f(a_{t,k})] E(ϕ(An+1)∣An)=∑i=1ht∑j=iht(ht−1)1[f(at,i−1)+f(at,j+1)+∑k∈/(i,j)f(at,k)]
= ∑ i = 1 h t 1 h t f ( a t , i − 1 ) + 1 h t f ( a t , i + 1 ) + h t h t − 2 f ( a t , i ) =\sum_{i=1}^{h_t}\frac{1}{h_t}f(a_{t,i}-1)+\frac{1}{h_t}f(a_{t,i}+1)+\frac{h_t}{h_t-2}f(a_{t,i}) =∑i=1htht1f(at,i−1)+ht1f(at,i+1)+ht−2htf(at,i)
代入 E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A 0 , A 1 , . . . A n ) = − 1 E(\phi(A_{n+1})-\phi(A_n)|A_0,A_1,...A_n)=-1 E(ϕ(An+1)−ϕ(An)∣A0,A1,...An)=−1,也就是 E ( ϕ ( A n + 1 ) − ϕ ( A n ) ∣ A n ) = − 1 E(\phi(A_{n+1})-\phi(A_n)|A_n)=-1 E(ϕ(An+1)−ϕ(An)∣An)=−1(显然这里当前局面也只与上一个局面有关),有
∑ i = 1 h t f ( a t , i ) = [ ∑ i = 1 h t 1 h t f ( a t , i − 1 ) + 1 h t f ( a t , i + 1 ) + h t h t − 2 f ( a t , i ) ] + 1 \sum_{i=1}^{h_t} f(a_{t,i})=[\sum_{i=1}^{h_t}\frac{1}{h_t}f(a_{t,i}-1)+\frac{1}{h_t}f(a_{t,i}+1)+\frac{h_t}{h_t-2}f(a_{t,i})]+1 ∑i=1htf(at,i)=[∑i=1htht1f(at,i−1)+ht1f(at,i+1)+ht−2htf(at,i)]+1
= ∑ i = 1 h t ( 1 h t f ( a t , i − 1 ) + 1 h t f ( a t , i + 1 ) + h t h t − 2 f ( a t , i ) + 1 h t ) =\sum_{i=1}^{h_t}(\frac{1}{h_t}f(a_{t,i}-1)+\frac{1}{h_t}f(a_{t,i}+1)+\frac{h_t}{h_t-2}f(a_{t,i})+\frac{1}{h_t}) =∑i=1ht(ht1f(at,i−1)+ht1f(at,i+1)+ht−2htf(at,i)+ht1)
抽象出 f ( a ) = 1 h f ( a − 1 ) + 1 h f ( a + 1 ) + h h − 2 f ( a ) + 1 h f(a)=\frac{1}{h}f(a-1)+\frac{1}{h}f(a+1)+\frac{h}{h-2}f(a)+\frac{1}{h} f(a)=h1f(a−1)+h1f(a+1)+h−2hf(a)+h1
f ( a + 1 ) − f ( a ) = f ( a ) − f ( a − 1 ) − 1 f(a+1)-f(a)=f(a)-f(a-1)-1 f(a+1)−f(a)=f(a)−f(a−1)−1
令 g ( a ) = f ( a ) − f ( a − 1 ) , 有 g ( a ) = g ( 0 ) − a g(a)=f(a)-f(a-1),有g(a)=g(0)-a g(a)=f(a)−f(a−1),有g(a)=g(0)−a,则 f ( a ) = f ( 0 ) + a g ( 0 ) − a ( a + 1 ) 2 f(a)=f(0)+ag(0)-\frac{a(a+1)}{2} f(a)=f(0)+ag(0)−2a(a+1)
取 f ( 0 ) = g ( 0 ) = 0 f(0)=g(0)=0 f(0)=g(0)=0,则 f ( a ) = − a ( a + 1 ) 2 f(a)=-\frac{a(a+1)}{2} f(a)=−2a(a+1)
所以 E ( t ) = E ( ϕ ( A 0 ) ) − E ( ϕ ( A t ) ) = ∑ i = 1 n f ( a 0 , i ) − f ( m ) E(t)=E(\phi(A_0))-E(\phi(A_t))=\sum_{i=1}^{n}f(a_{0,i})-f(m) E(t)=E(ϕ(A0))−E(ϕ(At))=∑i=1nf(a0,i)−f(m)
未完待续
相关文章:
势函数和鞅的停时定理
前置芝士 鞅: 鞅是一类特殊的随机过程,假设我们从一开始就在观察一场赌博游戏,现在已经得到了前t秒的观测值,那么当第t1 秒观测值的期望等于第t秒的观测值时,我们称这是一个公平赌博游戏。 具体来说,对于…...
途乐证券-炒股开户流程是怎样的?
炒股是一种危险较大但收益也相对较高的出资方法,而开户则是出资炒股的前提。跟着科技的开展,炒股开户已经能够在线完结,但流程相对来说仍是比较繁琐的。那么,炒股开户流程是怎样的呢?下面从多个视点剖析。 一、炒股开户…...
Eclipse如何设置快捷键
在eclopse设置注释行和取消注释行 // 打开eclipse,依次打开:Window -> Preferences -> General -> Key,...
刷享全球美好 中信银行信用卡推出跨境消费系列活动
来源 | 镭射财经(leishecaijing) 日前,文旅部办公厅发布通知,恢复全国旅行社及在线旅游企业经营中国公民赴有关国家和地区(第三批)出境团队旅游和“机票酒店”业务,出境跟团游国家和地区由此前…...
LeetCode算法心得——限制条件下元素之间的最小绝对差(TreeSet)
大家好,我是晴天学长,今天用到了Java一个非常实用的类TreeSet,能解决一些看起来棘手的问题。 1 )限制条件下元素之间的最小绝对差 2) .算法思路 初始化变量:n为列表nums的大小。 min为整型最大值,用于记录…...
MySQL表的基础操作(crud)
1. 新增(Create) insert into 表名 values (值, 值…); 此处列出的这些值,的数目和类型要和表的列相匹配。 -- 在student 表中插入学号1,姓名zhangsan的数据 insert into student values(1, zhangsan); -- 指定列插入 insert into student …...
vue中的activated和deactivated
目录 一、简介二、使用 一、简介 当页面被keep-alive缓存下来的时候,vue提供两个钩子函数 activated被 keep-alive 缓存的组件激活时调用。deactivated被 keep-alive 缓存的组件失活时调用。 当keepalive页面缓存,有activated钩子和created钩子函数时 …...
unity 发布报错 The type or namespace name `UnityEditor‘ could not be found.
引用了UnityEditor的内容,发布当然会报错啦 加上宏判断就好啦...
在ubuntu中将dict.txt导入到数据库sqlite3
将dict.txt导入到数据库 #include <head.h> #include <sqlite3.h> int do_insert(int i,char *str,sqlite3 *db); int main(int argc, const char *argv[]) {//创建泵打开一个数据库sqlite3 *db NULL;if(sqlite3_open("./my.db",&db) ! SQLITE_OK){…...
nginx 代理postgresql
首先,Nginx为我们的数据库增加了额外的安全层。Nginx提供了一整套的选项,这使得管理访问和保护数据库变得很容易。例如,我们可以配置为只有一小部分IP地址可以访问数据库。 PostgreSQL不使用HTTP或HTTPS,而是使用一个新块儿strea…...
小程序 CSS-in-JS 和原子化的另一种选择
小程序 CSS-in-JS 和原子化的另一种选择 小程序 CSS-in-JS 和原子化的另一种选择 介绍快速开始 pandacss 安装和配置 0. 安装和初始化 pandacss1. 配置 postcss2. 检查你的 panda.config.ts3. 修改 package.json 脚本4. 全局 css 注册 pandacss5. 配置的优化与别名 weapp-pand…...
flutter项目 环境搭建
开发flutter项目 搭建工具环境 flutter项目本身 所需开发工具环境 flutter 谷歌公司开发 系统支持库 镜像库 搭建流程: flutter 官网: https://flutter.dev/community/china //步骤1 .bash_profile touch .bash_profile pwd /Users/haijunyan open ~ e…...
PG-DBA培训12:PostgreSQL物理备份与恢复实战
一、风哥PG-DBA培训12:PostgreSQL物理备份与恢复实战 课程目标: 本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL备份恢复与迁移升级阶段之PostgreSQL物理备份与恢复实战,学完本课程可以掌握࿱…...
饿了么大数据开发凉经
1 一个mapreduce进程会启动多少map进程多少reduce进程* 1)map数量由处理的数据分成的block数量决定default_num total_size / split_size; 2)reduce数量为job.setNumReduceTasks(x)中x 的大小。不设置的话默认为 1。 2 讲下shuffle的过程 shuffle分为…...
前端安全:XSS 与 CSRF 安全防御
在当今数字化的时代,前端安全性变得愈发重要。跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是常见的前端安全威胁,但通过一些简单的防御策略,我们可以有效地保护我们的应用程序和用户信息。本文将为您…...
应用层读取wfp防火墙阻断记录
前言 之前的文档中,描写了如何对WFP防火墙进行操作[链接在此],这篇文档中,描述如何获取WFP防火墙进行阻断的操作记录。 需要注意的坑点 使用FWPM_NET_EVENT_TYPE获取防火墙日志时,需要注意,只有丢弃和内核丢弃&…...
web基础和tomcat的安装,部署jpress应用
目录 1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。 1. 简述静态网页和动态网页的区别。 【1】定义区别 请求响应信息,发给客户端进行处理,由浏览…...
idea git命令使用
这个标签标识单签分支:(标签图标) 标识关联分支:(五角星) 本地切换分支:如当前分支是dev ,git branch 显示的是dev ,然后通过 git checkout -b release 切换到release分支 git checkout re…...
软件测试技术之单元测试—工程师 Style 的测试方法
什么是单元测试? Wikipedia 对单元测试的定义: 在计算机编程中,单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。 在实际…...
C#学习....
1.基础 //引用命名空间using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//项目名或者命名空间 namespace _01_MY_First_Demo {//Program类class Program{//程序的主入口或者Main函数static void Main(S…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
Java并发编程实战 Day 11:并发设计模式
【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天,今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案,它们不仅提供了优雅的设计思路,还能显著提升系统的性能…...
当下AI智能硬件方案浅谈
背景: 现在大模型出来以后,打破了常规的机械式的对话,人机对话变得更聪明一点。 对话用到的技术主要是实时音视频,简称为RTC。下游硬件厂商一般都不会去自己开发音视频技术,开发自己的大模型。商用方案多见为字节、百…...
