Questions tagged «permutations»

4
重新排序数据(字符串集)以优化压缩?
是否有用于重新排序数据以优化压缩的算法?我了解这是特定于数据和压缩算法的,但是这个话题有没有用呢?在哪里可以找到这方面的研究? 具体来说,我有一个150万个字符串的json列表,我想对这些字符串重新排序,以便优化gzip(用于HTTP)压缩。对字符串进行排序非常好,但是我真的不知道这是否是最佳选择。

1
有差异序列置换的有效算法?
这个问题是由这篇文章引起的,您能确定多项式时间内两个置换的总和吗?,以及对排列的计算属性的兴趣。 甲差异测序 置换的π数的1 ,2 ,... Ñ + 1通过找到在排列的每两个相邻的数字之间的差,形成π。换句话说,a i = | π (我+ 1 )- π (我)| 为1个≤ 我≤ Ñ一个1个,一2,… 一个ña1,a2,…ana_1, a_2, \ldots a_nππ\pi1 ,2 ,... Ñ + 11,2,…n+11, 2, \ldots n+1ππ\pi一个一世= | π(我+ 1 )- π(i )|ai=|π(i+1)−π(i)|a_i= |\pi(i+1)-\pi(i)|1个≤ 我≤ Ñ1≤i≤n1 \le i \le n 例如,序列 是置换的差异序列2 3 4 1。同时,序列2 …

1
计算对称多项式
令是一个对称多项式,即对于所有的多项式和所有置换。为了方便起见,我们可以假设是一个有限域,以避免解决计算模型中的问题。f:Kn→Kf:Kn→Kf:\mathbb{K}^n \to \mathbb{K}f(x)=f(σ(x))f(x)=f(σ(x))f(x)=f(\sigma(x))x∈Knx∈Knx \in \mathbb{K}^nσ∈Snσ∈Sn\sigma \in S_nKK\mathbb{K} 令表示计算的复杂度,即给定返回的算法的复杂度。我们可以基于的性质以某种方式表征吗?例如,对于所有对称多项式,我们是否保证是多项式(在)?C(f)C(f)C(f)fffxxxf(x)f(x)f(x)C(f)C(f)C(f)fffC(f)C(f)C(f)nnnfff 作为特殊情况,看起来(a)我们可以在时间计算幂和多项式,并且(b)我们可以在时间计算基本对称多项式,使用牛顿的身份。结果,如果是单项式的加权和,其中没有任何变量被提高到大于1的幂(即,如果是多线性的),则可以用多项式时间来计算(因为它可以表示为加权和基本对称多项式的集合。例如,当poly(n)poly(n)\text{poly}(n)poly(n)poly(n)\text{poly}(n)fffffffffK=GF(2)K=GF(2)\mathbb{K}=GF(2),则可以在多项式时间内计算每个对称多项式。谁能说的比这更多?

1
通过随机交换生成所需排列的可能性
我对以下问题感兴趣。我们作为输入“目标置换” ,以及指标的有序列表我1,... ,我中号 ∈ [ ñ - 1 ]。然后,从该列表大号= (1 ,2 ,... ,Ñ )(即,身份置换),在每个时间步吨∈ [ 米]我们交换我吨ħ吨在元件大号σ∈ 小号ñσ∈小号ñ\sigma\in S_n一世1个,…… ,我米∈ [ n − 1 ]一世1个,…,一世米∈[ñ-1个]i_1,\ldots,i_m\in [n-1]大号= (1 ,2 ,... ,Ñ )大号=(1个,2,…,ñ)L=(1,2,\ldots,n)吨∈ [ 米]Ť∈[米]t\in [m]一世Ť ^ hŤ一世ŤŤHi_t^{th}大号大号L与元件,具有独立的概率1 / 2。令p为σ作为输出产生的概率。(我Ť+ 1 )小号Ť(一世Ť+1个)sŤ(i_t+1)^{st}1 / 21个/21/2pppσσ\sigma 我想知道以下任何一项: 正在确定是否是N P-完全问题?p > 0p>0p>0ñPñPNP 计算正好是#P-完成吗?ppp#P#P\#P 关于乘积常数近似,我们能说什么?是否有PTAS?ppp 交换不需要相邻元素的变体也很有趣。 请注意,将这个问题简化为边缘不相交的路径(或整数值的多商品流)并不困难;我不知道是朝另一个方向减少。 …

1
置换组算法的最新进展?
我对GAP包中实现的有限组算法感兴趣。似乎该领域中所有已知的算法都处理置换组/矩阵组。两个基本的是Schreier-Sims [1970]和Butler [1979],请参见例如Alice Niemeyer的“置换组算法”作为可能的参考(?)。 因此,我想知道过去50年中该领域是否取得了重大进展。我已经看到用户NisaiVloot提出了有关编织组的一些问题,这些问题可能构成了有关排列组的已知结果的有趣扩展,尽管我不清楚目前这个领域的研究状态是什么,因为数学/算法社区似乎有所发展同步-现在。

1
用生成集和一组排除的元素对排列的集合进行编码
多项式时间算法可用于查找置换组的生成集,这很有趣,因为我们可以简洁地表示这些组,而无需放弃多项式时间算法来回答与这些组有关的许多有趣问题。 但是,我们可能有时有兴趣的一组不形成一组排列的,从而使集将被表示为[R = ⟨ 小号⟩ ∖ Ť,其中⟨ 小号⟩是由一组所产生的基团小号发生器和Ť是一组是置换的不在ř,而不是仅仅⟨ 小号⟩。[RRRR=⟨S⟩∖TR=⟨S⟩∖TR=\langle S\rangle \setminus T⟨S⟩⟨S⟩\langle S\rangleSSSTTTRRR⟨S⟩⟨S⟩\langle S\rangle 对以对形式进行的这种编码的计算是否已经完成,可能还有其他自然目标,那就是最小化| S。S | + | T | ?{S,T}{S,T}\{S,T\}|S|+|T||S|+|T||S|+|T|

2
如何洗彩球?
我有400个球,其中100个是红色,40个是黄色,50个是绿色,60个是蓝色,70个是紫色,80个是黑色。(相同颜色的球是相同的) 我需要一种有效的改组算法,以便在改组后,球在列表中,并且 任何连续的3个球的颜色都不相同。例如,我不能有“红色,红色,红色,黄色...” 并且,所有排列都可能“相等地”发生。(好吧,如果效率与无偏之间的权衡足够好,那么我不介意比无偏有更多的效率)。 我试图改编Fisher-Yates-Knuth,但结果并不理想。 为什么Fisher-Yates不够好?FY采用蒙特卡洛逆变换。输出分配对相同的色球的处理方式有所不同,即它会为我的需求产生偏差的结果。 而且,天真的想法是从整个空间过滤/回溯所有不良排列。例如,当限制非常严格时,如果我们只有300个球,而其中100个是红色的,那么在获得适当的排列之前,将存在太多的反向跟踪/失败。 因此,最终,我希望能够迭代所有好的排列。但是,由于有效排列的数量太大,因此我只能随机抽样其中的一些。我想让其中“一些”的统计特征尽可能类似于人口。

3
字符串中的排列模式匹配
宽松地说,排列模式匹配处理以下类型的问题: 给定的排列在S_N和\西格玛在S_M,与米\当量Ñ,并\ PI包含一个子序列\ tau蛋白的长度米的元素根据排序\西格玛?ππ\pi小号ñSnS_nσσ\sigma小号米SmS_m米≤ Ñm≤nm\leq nππ\pi ττ\tau米mmσσ\sigma 例如,如果π= ⟨ 3 1 5 4 2 8 6 7 ⟩ π=⟨3 1 5 4 2 8 6 7⟩\pi=\langle 3\ 1\ 5\ 4\ 2\ 8\ 6\ 7\rangle和σ= ⟨ 2 1 3 ⟩ σ=⟨2 1 3⟩\sigma=\langle 2\ 1\ 3\rangle,则子序列3 1 4 3 1 43\ …


2
有没有找到第i个重排的有效算法?
这是这个问题的背景。我和朋友正在玩一个游戏,每个人都需要给别人一些礼物。为了确定谁应该给谁礼物,我们决定抽签。但是问题是,某人最终可能会给自己礼物,这并不好笑。您可以看到此类不幸人员的预期人数为1,因此这种情况经常发生。 为此,重新安排似乎是一个很好的选择。如果我可以公平地产生一种重新安排,那么我就可以选择一种重新安排,并用它来决定谁给谁礼物。 随机重排产生可以用拉斯维加斯方法完成。但是问题是,它只有预期的多项式运行时间。因此我遇到了发现第i个重排的问题。如果我可以在[1,D_n]中随机选择一个i,并使用一些最坏情况的多项式时间(有效)算法来获取第i个重排,那么就可以了。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.