Questions tagged «ds.algorithms»

有关完成任务的明确指令的问题,以及有关时间/内存/等方面的相关分析。


1
矩阵乘法
我正在搜索矩阵乘法,因此我首先访问Wiki矩阵乘法算法。在参考文献中,我找到了一篇声称使用算法的论文O(n2log(n))O(n2log(n))O(n^2 log(n)),我打算读一下文章,但它很复杂且将花费太多时间阅读它,但是如果有人阅读本文或了解此算法,这是真的吗?并且您是否了解此基本概念以进行一些描述。 在此先感谢您,我知道这是一个普遍的问题,但是,如果我发现这是个好方法,我将学习详细信息。

2
Monotone-2CNF公式的计数解
Monotone-2CNF公式是CNF公式,其中每个子句均由2个正文字组成。 现在,我有一个单调,2CNF公式。令为的满意分配的集合。我也有一个oracle,它可以提供以下信息:S F OFFF小号SSFFFØOO 集合的基数(即)。˚F小号SSFFF 给定变量: Xxx 包含正文字中的解决方案数。X小号SSXxx 包含负文字的解决方案的数量。¬ XSSS¬x¬x\lnot x 给定2个变量和: x 2x1x1x_1x2x2x_2 包含的解的数量。X 1 ∧ X 2SSSx1∧x2x1∧x2x_1 \land x_2 包含的解的数目。X 1 ∧ ¬ X 2SSSx1∧¬x2x1∧¬x2x_1 \land \lnot x_2 包含的解的数量。¬ X 1 ∧ X 2SSS¬x1∧x2¬x1∧x2\lnot x_1 \land x_2 包含的解的数目。¬ X 1 ∧ ¬ X 2SSS¬x1∧¬x2¬x1∧¬x2\lnot x_1 \land \lnot x_2 …

1
快速稀疏布尔矩阵链乘积
因此,我有大约100-200个非常稀疏的方布尔矩阵,边长约为几十个,我需要计算它们的乘积。我知道,如果我连续乘以它们,乘积通常在每一步都保持稀疏状态。 在这种情况下,是否有任何矩阵链乘积算法工作得特别快? 从更高的角度讲,问题是要在一个相当小的图(NFA的转换函数)上计算一系列一对多映射的组成,其中大多数元素映射到不超过0-3。 (请注意,这不是通常的“矩阵链乘积”问题,因为所有矩阵的大小相同,我不必选择最佳括号)

1
时空权衡下限
在讨论了3SAT [ 1 ]的下界之后,我想知道制定为时空权衡的主要下界结果是什么。我排除了诸如Savitch定理之类的结果;一个好的条目将集中在单个问题及其边界上。一个例子是: “让T和S为任何SAT算法的运行时间和空间范围。那么我们必须经常无限地使T⋅S≥n2cos(π/ 7)-o(1)无限。” (在Ryan Williams的[ 1 ]中给出。) 要么 “ 在一般随机访问不确定的图灵机上,对于任何ε> 0而言,在n 1 + 0(1)时间和n1 -ε空间中无法同时求解SAT 。” (Lance Fortnow在10.1109 / CCC.1997.612300中) 此外,我包括定义自然时空权衡复杂类(不包括电路类)的。


1
在循环Paley图中寻找奇数孔
所述佩利图表 P q是那些顶点集将被给定有限域 GF(q)中,对素数方幂q≡1(mod 4)时,且其中两个顶点相邻当且仅当它们相差一个2对于一些a∈GF(q)在q为质数的情况下,有限域GF(q)只是对q取模的整数集。 Maistrelli和Penman 在最近的一篇论文中指出,唯一的Paley图是完美的(色数等于其最大派系的大小)是九个顶点上的一个。这尤其意味着,没有一个Paley图P q对于q素数是完美的。 的强完美图定理断言图G是完美的,当且仅当两个G和它的补缺乏奇数孔(一个导出子是奇数长度的一个周期,和尺寸至少为5)的素数阶的佩利图是自我补充的,不完善的;因此它们必须包含奇数个孔。 题。对于q≡1(mod 4)素数,是否存在用于在P q中找到奇数孔的poly(q)算法?有polylog(q)算法吗?允许随机性和流行的数论猜想。

2
什么是好的特殊情况排序算法?
我有一个数据集,该数据集是多个以2D网格排列的对象。我知道我有严格的顺序,在每一行中从左到右增加,而在每一列中从上到下增加。例如, 1 2 3 4 6 7 5 8 9 我可以改进天真的排序以对整个数据集进行线性排序(在比较中进行衡量)吗? nd数据集呢?带有比较子集的任意有限数据集?

3
每个贪心算法都有拟阵结构吗?
这是公认,对于每个拟阵和任何加权函数,有退出的算法,其返回的最大重量为基础的。那么,反向也是正确的吗?也就是说,如果有一些贪婪算法,那么也必须有一些拟阵结构。中号MMwwwGreedyBasis(中号,w )GreedyBasis(M,w)\mbox{GreedyBasis}(M,w)中号MM

1
在负循环的情况下找到最短路径
给定有向循环图,其中每个边的权重可能为负,则“最短路径”的概念只有在没有负循环的情况下才有意义,在这种情况下,您可以应用Bellman-Ford算法。 但是,我感兴趣的是找到两个不涉及循环的顶点之间的最短路径(即,在您可能不会两次访问同一顶点的约束下)。这个问题研究得很好吗?可以采用Bellman-Ford算法的变体吗?如果没有,是否还有其他解决方案? 我也对等效的全对问题感兴趣,否则我可能会应用Floyd–Warshall。

1
是否可以在时间和线性空间中排序
在最近的预印本https://arxiv.org/abs/1801.00776中,声称可以按时间 和线性空间实数进行排序 。尽管我不是排序算法方面的专家,但本文似乎很合理。ø (Ñ √ñnnØ (ñ 日志ñ----√),O(nlog⁡n),O(n \sqrt{\log n}), 我认为,至少从理论上讲,如果正确,那将是重要的。 然而,主要论点的表达有些非正式和非传统。 有人注意到/评论过本文吗?似乎同一位作者韩一杰(Yijie Han)发表了有关整数排序的相关结果,如Han's时间,线性空间,整数排序算法中所述Ø (ñ 日志日志n )O(nlog⁡log⁡n)O(n \log\log n)

2
快速矩阵乘法的内存需求
假设我们要乘以乘以矩阵。慢矩阵乘法算法在时间运行,并使用内存。最快的矩阵乘法在时间,其中是线性代数常数,但是关于它的存储复杂度又知道什么呢?ø (Ñ 3)ø (Ñ 2)Ñ ω + Ö (1 ) ωn×nn×nn \times nO(n3)O(n3)O(n^3)O(n2)O(n2)O(n^2)nω+o(1)nω+o(1)n^{\omega + o(1)}ωω\omega 快速的矩阵乘法可能会消耗内存,这似乎是先验的。是否有任何保证可以在内存中完成?当前已知的矩阵乘法算法是否使用存储器? ø (Ñ 2)ø (Ñ 2)nωnωn^{\omega}Ø (ñ2)O(n2)O(n^2)Ø (ñ2)O(n2)O(n^2) (我实际上对矩形矩阵乘法很感兴趣,但我认为在那种情况下答案与在正方形情况下是相同的,并且对正方形情况进行了更好的研究。)

1
回文覆盖线
如果给定字符串,一个回文盖是一个序列p 1个p 2 ⋯ p 米字的p 我使得p 1 p 2 ⋯ p 米 = 瓦特和,使得每个p 我是回文。w=σ1σ2…σnw=σ1σ2…σnw=\sigma_1\sigma_2\ldots\sigma_np1p2⋯pmp1p2⋯pmp_1p_2\cdots p_mpipip_ip1p2⋯pm=wp1p2⋯pm=wp_1p_2\cdots p_m = wpipip_i 找到最小的回文覆盖面有多难?(这似乎可以通过动态编程来实现,但是我不确定它是否有效)。 如果将输入作为每个回文长度的界,问题是否会变得更加棘手?bbb 考虑简单的贪心算法,该算法始终采用从当前位置开始的最长回文。例如,如果,则它将输出(121 )⋅ (33 )⋅ (1 )⋅ (2 ),而最佳覆盖率是(1 )⋅ (213312 )。w=1213312w=1213312w=1213312(121)⋅(33)⋅(1)⋅(2)(121)⋅(33)⋅(1)⋅(2)(121)\cdot(33)\cdot(1)\cdot(2)(1)⋅(213312)(1)⋅(213312)(1)\cdot(213312) 贪心算法是否为问题提供2近似值?



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.