On The Complexity Of Partial Order Productions 笔记

Introduction

无论是中位数查找问题,k分位数查找问题,或是排序问题,它们都是偏序产生问题的特例。这里不在赘述偏序的定义,我们让\(P=(<_P,Y)\)\(Y=\{y_1,y_2,...,y_n\}\)上的一个偏序。从一个给定的输入集合\(X=\{x_1,x_2,...,x_n\}\)中产生P是指:找到一个\((1,2,...,n)\)的自同构\(\delta\),使得\(y_i <_P y_j\)可以推出\(x_{\delta(i)}<_P x_{\delta(j)}\).实际上,从直观上看的话,相当于找到一种把X中的数填到偏序P所对应的n个位置上,当然,要满足偏序的要求。

对任何一个偏序产生算法,我们都可以将其与一颗称为"决策树"的二叉树T对应起来。决策树的每个结点是一个比较\(x_i:x_j\),比较的结果导致了两个分叉,叶节点是算法的输出,它是上一段中描述的自同构。比较次数即从根节点到叶的长度。算法的最坏代价(COST)即最坏比较次数,当然是决策树的最大高度。至于平均比较次数,就是把输入看成等可能的情况所得到的平均比较次数。

如果自同构\(\delta\)\(\{1,2,...,n\}\)填充到偏序P中,并且满足偏序条件(即\(y_i<_P y_j\)可推出\(y_{\delta(i)}<_P y_{\delta(j)}\)),则称作与P相容。记\(\Delta (P)\)是所有与P相容的自同构组成的集合,记\(\mu (P)=|\Delta (P)|\)。定义C(P)为最坏比较次数,\(\bar{C}(P)\)是平均比较次数。

Schonhage的研究指出\(C(P)\geq log_2 (n!/\mu(P))\),随后Aigner指出,此下界可以渐进地达到,在\(C(P)=O(log_2 (n!/\mu (P)) +n)\)的意义下。在本文中,A.C.Yao证明了
Thm1.\(\bar{C}(P) = \Omega (n-\beta(P)+log_2(n!/\mu(P)))\)
Thm2.\(C(P) = O(n-\beta(P)+log_2 (n!/\mu(P)))\)
从而得出
Thm3.\(C(P) = \Theta(\bar{C}(P))\)
即偏序产生问题的平均意义复杂度和最坏复杂度是同阶的。其中\(\beta(P)\)指偏序P中的连通分支数量,由于偏序实际上可以用一个无圈有向图表示,这里的连通实际上就是有向图的弱连通而已。

Thm1

Thm1来自两个引理
Lem1.\(\bar{C}(P)\geq log_2(n!/\mu(P))\)
Lem2.\(\bar{C}(P) \geq n-\beta (P)\)

Lem1考虑了到达决策树每个叶子\(l\)所产生的偏序\(Q_l\),这些偏序\(Q_l\)当然是包含P的,从而\(\mu(Q)\leq \mu(P)\),并且和\(Q_l\)相容的初始输入会输出到对应的叶子这样的话,并且所有\(\mu(Q_l)/n!\)的和为1(因为任何输入都唯一地决定一个输出),利用信息论的结论就可以给出\(\bar{C}(P)\)的下界。

Lem2直观上十分显然,所以不再赘述证明。

Thm2

Yao先证明了Thm4.\(C(P)\leq \lambda (n-1+log_2 (\frac{n!}{\mu (P)}))\),由它容易得出Thm2.
为了证明Thm4只需要给出一个满足条件的算法就可以了。

准备

\(A\in Y\)是一个P的独立集,如果对于所有不同的\(y,y'\in A\)都有y不小于y'.P的宽度是P的最大独立集的规模。P的一个k-分割是一个k元子集组\((A_1,A_2,...,A_k)\),各\(A_k\)是对集合P的一个分割,并且\(A_i<_P A_{i+1}\),这里的小于是指任何\(A_i\)的元素小于\(A_{i+1}\)的元素。这里尤其要介绍两类特别的分割。让\(B_p = (B_{p,1},B_{p,2},B_{p,3})\)\(B_{p,2}\)是Y的一个极大独立集\(Y_p\)\(B_{p,1}=\{y| y<_P y' for some y'\in Y_p\}\),\(B_{p,3}=Y-Y_p-B_{p,1}\),这是一个3-分割。记\(M_p\)是所有满足\(|A_1|=\lceil n/2 \rceil,|A_2| =\lfloor n/2 \rfloor\)的2-分割\((A_1,A_2)\)组成的集合。让\(D_p=(D_{p,1},D_{p,2}) \in M_p\)\(\mu(P_1) \mu(P_2)\)达到最大。接下来,有
Lem3. \(k\in \{2,3\}\),让I是\(\{1,2,...,n\}\)的子集,并且\(n_1,n_2,...,n_k\)满足\(\sum_{1\leq i \leq k}n_i=|I|\),那么存在一个高度为\(c_k |I|\)的决策树T,给定任何n个不同的数\(X=\{x_1,x_2,...,x_n\}\),T决定了互不相交的\(I_1,I_2,...,I_k\)满足(a)\(\cup_i I_i = I\),(b)\(|I_i|=n_i\),(c)\(X_{I_i}<X_{I_2}<\cdots<X_{I_k}\)
其中\(c_2=40,c_3=80\).此引理用了另外文献中的选择算法。

Procedure POPROD

算法的思路是不断递归地将偏序分解为三部分或者两部分(根据上述的“感兴趣”的两种分割,Lem3给出了分割方法),当当前偏序的宽度大于\(n/100\)时,将它分成三部分,小于\(n/100\)时将它分成两部分。如果分成三部分,那么对于中间的独立集\(B_{p,2}\),我们可以将Lem3得出的\(X_2\)与它任意地一一对应(因为\(B_{p,2}\)是独立的),而对于两边的偏序,则递归继续分解,直到偏序集的大小变为1,此时将输入集唯一对应即可。(可以发现,当宽度变为1时,即偏序变为线性序时,算法实际上是一个归并排序)
1443026-20190425201724612-1332347973.png
经过一些繁琐但并不复杂的分析,可以知道POPROD满足Thm4,于是Thm2得到证明。

转载于:https://www.cnblogs.com/mathematic-offering/p/10764658.html

The classification of agricultural products is a system used to group different types of crops and livestock based on their characteristics, usage, and market value. This system is important for farmers, traders, and governments to understand the agricultural sector and to make informed decisions about production, distribution, and trade. Here are some key points about the classification of agricultural products: 1. The classification of agricultural products varies by country and region, depending on local conditions, traditions, and regulations. 2. In general, agricultural products can be classified into two main categories: crops and livestock. 3. Crops can be further classified into two groups: food crops and non-food crops. Food crops are those that are grown for human consumption, such as grains, vegetables, fruits, and nuts. Non-food crops are those that are grown for other purposes, such as fiber, fuel, or industrial uses. 4. Livestock can be classified into four groups: meat animals, dairy animals, poultry, and other animals. Meat animals include cattle, sheep, pigs, and goats. Dairy animals include cows, goats, and sheep. Poultry include chickens, turkeys, ducks, and geese. Other animals include horses, rabbits, and bees. 5. Within each group, there may be further subcategories based on specific characteristics such as breed, quality, or market value. 6. The classification of agricultural products is important for trade and export regulations, as well as for government policies related to food security, rural development, and environmental sustainability. Overall, the classification of agricultural products is a complex system that reflects the diversity and complexity of the agricultural sector. Understanding this system is important for anyone involved in agriculture, from farmers to policymakers to consumers.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值