问题标签 [set-theory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
299 浏览

algorithm - 在完整图的有序集中查找顶点

问题:对于一个完全图Kn的边E的有序集合,给定边Ei,求边的顶点(v,w)_Ei。

注意:这可能不是图论特有的问题,尽管选择它来表达问题仅仅是因为熟悉。对引入的任何不正确的符号表示歉意。

假设从由顶点 1、2、3、4、5 组成的完整图 K5 构造,我们有一个图的边的有序集合 E,总共 10 条边。已知集合 E 总是按如下方式排序:

Ei = (0 < v < n, v < w =< n)

对于任何给定的 Ei,我们现在必须单独使用 i 找到顶点 (v, w)_Ei。例如,给定 6,我们应该得到 (2, 4)。

更新: 表达这个问题的另一种可能更简单的方法是:

这是怎么做到的?

0 投票
1 回答
740 浏览

set-theory - 学习集合论的好免费资源

我想学习集合论。我的编码历史主要是实用的,我想更多地进入事物的理论方面。我想我了解集合论的基本概念,但我对它的应用、符号和可以在集合上执行的操作一无所知。

任何可以为我指明正确方向的资源都会很棒!

0 投票
5 回答
266 浏览

mysql - 有没有办法删除这种类型的 SQL SELECT 中的嵌套查询?

鉴于此表结构和示例数据(查询中不应使用 t3,此处仅显示 t1 和 t2 之间的关系):

您将如何构建满足以下条件的 SQL 查询:

当桌子更大时不会影响性能......?

0 投票
1 回答
800 浏览

grammar - 构建跟随集

在为给定语法创建第一组时,我注意到在我的算法参考中没有描述的场景。

即,如何使用这样的规则计算非终结符的跟随集。

<..> 包围的表达式是非终结符,COMMA 是终结符。
我最好的猜测是我应该将空字符串添加到后续集合中,但我不确定。

通常,对于非终结符位于生产规则末尾的情况,您只需计算左侧非终结符的跟随列表,但您可以看到这将是一个问题。

0 投票
5 回答
389 浏览

c++ - 为什么没有用于 set_union 等的便利函数,它们采用容器类型而不是迭代器?

std::set_union 及其亲属使用两对迭代器来操作要操作的集合。这很棒,因为它是最灵活的事情。然而,他们可以很容易地制作额外的便利功能,这对于 80% 的典型用途来说会更加优雅。

例如:

会转:

进入:

所以:

  • 有没有像这样的便利功能隐藏在我还没找到的地方?

  • 如果没有,任何人都可以解释为什么它会被排除在 STL 之外吗?

  • 在 boost 中是否有功能更全的集合库?(我找不到一个)

当然,我总是可以将我的实现放在某个实用程序库中,但是很难将这些东西组织起来,以便在所有项目中使用它们,但又不会不恰当地组合在一起。

0 投票
3 回答
594 浏览

c# - 使用 Aggregate 连接 ISet

我正在尝试Concat()在多个 ISet 上使用来制作一个更大的 ISet。所以我尝试了以下代码:

问题是这会导致编译器错误:

无法将类型隐式转换System.Collections.Generic.IEnumerable<Faa>System.Collections.Generic.ISet<Faa>. 存在显式转换(您是否缺少演员表?)

还有第二个错误:

无法将 lambda 表达式转换为委托类型System.Func<System.Collections.Generic.ISet<Faa>,System.Collections.Generic.ISet<Faa>,System.Collections.Generic.ISet<Faa>>,因为块中的某些返回类型不能隐式转换为委托返回类型

我也尝试过使用像这样的演员:

但这会给我一个InvalidCastException,因为它应该是一个ConcatIterator或某种。

如何进行良好的演员表以将所有 ISet 加入一个 ISet?

0 投票
0 回答
133 浏览

math - 编程理论 - 证明不变量

我已经定义了这个伪代码,用于使用松弛特里树识别字符串,其中函数 Next[u,x] 给出了具有来自 u 的 u 边的节点集(基本上是节点集,例如 (u,x,v)是 T 中的一条边)。

这里是:

基本上我已经为循环定义了一个后置条件,并给出了一个循环不变量(我想我已经涵盖了这些元素,但如果你认为它有助于解释它,那就去吧)。

所以我需要给出一个简短的论据来说明为什么不变量是不变的(即当循环条件成立时,它是如何被循环体保存的)。

然后我需要扩展这个伪代码,以便它可以移动到一个新节点而不推进输入:

(我想我会通过添加另一个数组(比如 Null)来做到这一点,其中 Null[u] 是它可以从 u 移动到的状态集,而无需推进输入)

它还应该改变,使得在查看输入之前的每次迭代都可以从 U 中的状态到达所有状态,而无需推进输入。

感谢您的所有帮助,我发现这两个步骤非常困难,但认为我第一部分的伪代码很好

0 投票
1 回答
293 浏览

math - 确定性有限状态自动机问题

我将此 DFA 描述为 (Q, q1, A, N, F) 其中

Q = {1,2,3,4},
q1 = 1,
A = {a,b,c},
F = {2,4},
N = {
(1,a) -> 2, (1,b ) -> 3, (1,c) -> 4,
(2,a) -> 2, (2,b) -> 4,
(3,a) -> 2, (3,c) -> 4,
(4,b) -> 4, (4,c) -> 4 }

所以我画了转换图,看起来不错,

然后,我需要确定此 DFA 是否可以接受以下字符串:

  1. aabbcc
  2. 金合欢
  3. 卷心菜
  4. 巴巴布

并提出以下内容

  1. 正确的
  2. 不正确(不能从 a -> c 移动?)
  3. 不正确(不能从 c -a 移动?)
  4. 不正确(不能从 b -> a 移动)

我不是 100% 确定这些是正确的,但我认为它们在正确的轨道上。

然后我需要用英语描述它接受的语言,我认为这不是问题,但我需要帮助的地方是使用数学符号描述这种语言。你能帮我理解这一点吗?

非常感谢你的帮助

0 投票
5 回答
13531 浏览

objective-c - 通过 Intersection 和 Union 组合 NSArray

我有两个 NSArrays A 和 B 共享一些共同的元素,例如

我想创建一个新的 NSArray,其中包含两个 NSArray 之间的共同内容以及第二个 NSArray 的内容,同时保持元素的顺序并删除重复项。也就是说,我想要 (A ∩ B) ∪ B。

对先前 NSArrays 的操作将产生:

我如何在 Objective-C 中实现这一点?

0 投票
1 回答
359 浏览

sql - SQL:通过集合论匹配记录

我最近一直在为一个复杂的 SQL 查询而苦苦挣扎。
我有以下表格:

它基本上是一个用户为每个属性选择值的项目。每个属性可以是单值或多值。例如,用户可以为属性 {ID=1,title=Hobbies} 选择多个值,但必须为属性 {ID=2,title=HairColor} 选择单个值。

使用另一个表 - [dbo].[Search_Property_Values_User_Linkage] - {UserID,PropertyID,valueID} 我正在选择我想要的属性并且我希望找到匹配的用户。但是,如果我没有为 HairColor 选择一个值(或多值),我应该得到所有用户(因为我不想按 HairColor 过滤)。

到目前为止这很容易,但我似乎无法解决的问题是前面有多个值或没有用户定义的值的情况。例如,我希望所有具有 HairColor=Brown 和 Hobbies IN(basketball,football) 的用户。

我可以检索与其中一个术语匹配的所有用户(以及具有其他属性的用户,因为我没有选择过滤它们),但我不能只获取完全符合我的条件的用户。

要将代码转化为文字,假设我需要所有用户:

  • 匹配我选择的所有属性值
  • 可能有其他属性,例如 EyesColor,但由于我没有选择过滤值,它们也可能会被检索到。
  • 可能根本没有设置任何属性,但由于我没有为此属性选择值,所以它们是有效的!
  • 将所有选定的属性作为组匹配,而不仅仅是我选择的一个属性(喜欢篮球但头发颜色为“红色”的用户是无效的!

我遇到了一个解决方案,在该解决方案中,我创建了一个虚拟表,该表按位“完成”未选择的值。例如(不是实际代码):

我基本上 CROSS-JOIN [Property] WITH [User]
和 LEFT-OUTER-JOIN 其余的表来匹配选择。
我让所有用户和他们匹配到一个属性。这还不够好,因为我得到了棕色头发的用户,喜欢篮球/足球的用户,但没有同时匹配两者的用户(当然还有我未定义的任何其他属性)。
这很重,但这是我到目前为止分析问题的内容。

我将不胜感激任何帮助。我想我在 10 年前的数学课上遗漏了一些东西……

编辑:数据库图片:http: //i51.tinypic.com/2n1cfwg.png