CREW 和 EREW 婴儿车上的布尔 OR 和 AND 问题

Posted

技术标签:

【中文标题】CREW 和 EREW 婴儿车上的布尔 OR 和 AND 问题【英文标题】:Boolean OR and AND problems on CREW and EREW Prams 【发布时间】:2013-09-21 02:05:47 【问题描述】:

我正在学习 PRAM 算法。因为我们可以使用以下方法在 O(1) 时间内为 CRCW PRAM 计算布尔 OR。

令 A[0]= A[1]|A[2]|A[3]...|A[n] 是 n 位 A[1..n] 的布尔或。假设 A[0] 一开始就为零。在第一个时间步,处理器 i (1

类似地,我们可以解决 CRCW 的布尔 AND

我想知道我们如何为 CREW 和 EREW 解决这个问题。算法的时间和处理器界限是多少?

【问题讨论】:

【参考方案1】:

我认为独占读取不是问题,因为每个处理器都在读取自己的位。问题出在独占写入部分,因为它们都必须写入 A[0]。我认为最好的方法是制作一种锦标赛树。因此,您可以 OR 对位并将结果提升到一个新的水平,直到您获得冠军。然后可以将最终结果写入A[0]。这将是 O(log n)。

【讨论】:

感谢回复 .. 所以 .. 考虑我们有 5 个元素 A[0]=1,A[1]=0,A[2]=1,A[3]=1,A [4]=1。那么对于 CREW 和 EREW,我们可以做的是在第一步是.. A[0] | A[1] 用于一个处理器,然后 A[1] | A[2] 用于第二个处理器等等,然后在下一步我们可以 OR 他们的答案是对的???那么什么可以被处理器绑定..它也是logn吗???谢谢 没错,你必须匹配 A[1] | A2];一个[3] |一个[4]; ... ; A[n-1] | A[n],然后他们在第二级的结果,依此类推。如果要达到 O(log n) 时间,则第一轮至少需要 n/2 个处理器(这是操作数)。然后,您可以在每一步中将处理器数量减少一半。但由于第一步,这仍然是 O(n) 个处理器。

以上是关于CREW 和 EREW 婴儿车上的布尔 OR 和 AND 问题的主要内容,如果未能解决你的问题,请参考以下文章

婴儿提篮式安全座椅用英语怎么说

0到1岁是婴儿思维的啥时期

适合婴儿听的音乐都有哪些?

创建自定义jquery不定式婴儿车,发送请求后如何打开和关闭滚动?

电商数据分析-婴儿用品数据分析

html 婴儿床笔记和Stoyan Stefanov的“JavaScript模式”中的一些例子//第4章功能