问题标签 [symmetry]

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 投票
2 回答
495 浏览

algorithm - 3D对称搜索算法

这可能更适合数学溢出,但是:

给定一个 3D 结构(例如,一个分子),找到对称性(旋转/反射/反转/等)的好方法/算法是什么?

我想出了蛮力天真的算法,但似乎应该有更好的方法。我对遗传算法不太感兴趣,因为我想要最好的对称性,而不是几乎最好的对称性

这里有这个:http: //pubs.acs.org/doi/abs/10.1021/ci990322q来自我的领域。很高兴知道数学家/计算机科学人员也想出了什么。

到网站/论文的链接会很棒。谢谢

0 投票
6 回答
1232 浏览

java - 在具有主键的类中覆盖 equals 方法而不破坏对称性

这个问题的答案可能是“不可能的”,但无论如何让我问一下:)

假设我们有一个非常简单的 JAVA 类,它有一个主键,例如:

现在,我想将人员存储在一个集合中,这意味着我必须重写 equals 方法。不是一件完全微不足道的事情,但在一个简单的基础上,我会有一些类似的东西:

原谅任何明显的错误,只是从我的脑海中输入这个。现在,让我们稍后在应用程序中说,我有一个通过用户输入获得的 ssid。如果我想将我的 ssid 与一个人进行比较,我将不得不调用类似:

这意味着我必须创建一个方便的构造函数来创建一个基于 ssid 的 Person(如果我还没有的话),而且它也很冗长。简单地打电话会更好

但是如果我向我的 Person equals 类添加了一个字符串比较,那会破坏对称属性,因为 String 不知道如何将自己与 Person 进行比较。

所以最后,最大的问题是,有没有办法使用覆盖的 equals 方法启用这种“速记”比较,而不破坏对称规则?

感谢您对此的任何想法!

编辑:澄清一下,这更像是一个悬而未决的问题,而不是寻求确切解决方案的问题。当我想从集合中提取一个 Person 时,equals 应该满足这种情况。所以应该可以做这样的事情:

能够基于主键在类上定义相等性似乎是显而易见且直观的,但我还没有找到一种直接的方法来做到这一点。

0 投票
3 回答
2511 浏览

clojure - Clojure 的计算机代数

简短版本:我对一些 Clojure 代码感兴趣,它允许我指定 x 的转换(例如排列、旋转),在这种转换下,函数 f(x) 的值是不变的,这样我就可以有效地生成 x 的序列满足 r = f(x)。Clojure 的计算机代数是否有一些发展?对于(一个微不足道的)示例

我可以调用 (preimage f #{0}),它会有效地返回 #{3 4 7}。自然,它也能够正确地注释 codomain。有什么建议么?

更长的版本:我有一个特定的问题让我有兴趣了解有关 Clojure 计算机代数的开发。谁能指出我这样的项目?我的具体问题涉及找到满足 F(x) = r 的所有单词组合,其中 F 是排名函数,ra 是正整数。在我的特殊情况下, f 可以计算为总和

F(x) = f(x[0]) + f(x[1]) + ... f(x[N-1])

此外,我有一组不相交的集合 S = {s_i},使得 f(a)=f(b) for a,b in s, s in S. 所以生成所有 x 的策略使得 F(x) = r 应该依赖于 F 的这种因式分解和每个 s_i 下 f 的不变性。换句话说,我计算了包含 S 元素总和为 r 的站点的所有排列,并将它们与每个 s_i 中元素的所有组合组成。这在以下情况下非常草率地完成:

这完成了工作,但错过了潜在的画面。例如,如果关联操作是乘积而不是总和,我将不得不重写部分。

0 投票
3 回答
629 浏览

algorithm - 从图中消除对称性

我有一个算法问题,我在其中导出了许多状态之间的传递矩阵。下一步是取幂,但它非常大,所以我需要对它做一些归约。具体来说,它包含很多对称性。下面是一些关于通过简单观察可以消除多少节点的示例。

我的问题是是否有一种算法可以有效地消除有向图中的对称性,类似于我在下面手动完成的方式。

在所有情况下,初始向量对于所有节点都具有相同的值。


在第一个示例中,我们看到b、和都从彼此接收值。因此它们将始终包含相同的值,我们可以合并它们。cdea

有向图 A 有向图 B


在这个例子中,我们很快发现,从、和的角度来看,该图是相同a的。同样对于它们各自的侧节点,它附加到哪个内部节点并不重要。因此,我们可以将图减少到只有两个状态。bcd

有向图 C 有向图 D


更新:有些人很合理,不太确定“状态转移矩阵”是什么意思。这里的想法是,您可以将一个组合问题拆分为多个状态类型,以便n在您的循环中为每个状态类型。然后矩阵会告诉你如何从n-1n

通常你只对你的一个状态的值感兴趣,但你也需要计算其他状态,所以你总是可以进入下一个级别。然而,在某些情况下,多个状态是对称的,这意味着它们将始终具有相同的值。显然计算所有这些是相当浪费的,所以我们想减少图,直到所有节点都是“唯一的”。

下面是示例 1 中简化图的传递矩阵示例。


对论文的任何建议或参考表示赞赏。

0 投票
1 回答
1439 浏览

database - 如何在数据库建模中表示对称关系

如果表中存在对称关系,如何优雅地表示呢?例如,有一个名为 的表Friend,其中应包含两个用户的用户 ID。如果我们在这个表中使用UID1and UID2,当我们想知道 A_uid 和 B_uid 是否是朋友时,我们应该使用

因为UID1UID2在代表友谊方面是相同的。在这个困境中最重要的UID1UID2对称性。

我认为这很丑陋,想知道是否有更好的方法来处理它。

谢谢!

0 投票
2 回答
4291 浏览

algorithm - 计算点对称性的算法

给定一组二维点,我想计算这些点的水平对称和垂直对称程度。

或者,对于每组点,我还将获得这些点之间线条的光栅化图像,那么有什么方法可以计算图像的对称性度量吗?

顺便说一句,这是用于将呈现给神经网络的特征向量。

澄清

左边的图像是“水平”对称的。如果我们想象一条垂直线从它的中间向下延伸,那么左右部分是对称的。同样,右边的图像是“垂直”对称的,如果你想象一条水平线穿过它的中心。

我想要的是衡量它们的水平对称程度,以及它们的垂直对称程度。

在此处输入图像描述在此处输入图像描述

0 投票
2 回答
2699 浏览

unicode - 大小写不对称的 Unicode 字符。为什么?

为什么下面三个字符没有对称toLowertoUpper结果

0 投票
1 回答
409 浏览

wpf - WPF FlowDocument 对称布局

如何使用一个 FlowDocument 生成对称布局?

我的代码是:

我希望它们与每个内容在同一位置并排对齐。我怎样才能实现这种布局?

0 投票
1 回答
2420 浏览

java - 编程java以确定对称词

我是新来的,但是我很难弄清楚如何编写代码来确定单词的输入并查看第一个是否与单词的结尾匹配。您可以输入 abba 并得到答案,它是均匀对称的,而 aba 是奇怪对称的。

请告诉我如何:(

主要有两点。

首先 我想知道它是奇数还是偶数的字母(字母数除以2,如果它以0.5结尾,它是奇怪对称的,如果是一个整数它是均匀对称的。

第二个 我想得到(即1=n,2=n-1,3=n-2...)字母在单词中的位置作为执行的主要思想。如果在最后一个字母奇怪的对称词,忽略最后一个字母。

我感谢任何先机或想法:)谢谢!

感谢 KDiTraglia,我编写了代码并编译了,这就是我放的。我没有更进一步。

报告的问题:

线程“main” java.lang.Error 中的异常:未解决的编译问题:reverse 无法解析或不是字段 reverse 无法解析或不是字段 语法错误,插入“)语句”完成 IfStatement

这就是我得到的,KDiTraglia 的帮助

} }

0 投票
6 回答
2597 浏览

java - 将java编程为对称词

可能的重复:
编程java以确定对称词

我是新来的,但是我很难弄清楚如何编写代码来确定单词的输入并查看第一个是否与单词的结尾匹配。您可以输入 abba 并得到答案,它是均匀对称的,而 aba 是奇怪对称的。

请告诉我如何:(

主要有两点。

首先我想知道它是奇数还是偶数的字母(字母数除以2,如果它以0.5结尾,它是奇怪对称的,如果是一个整数它是均匀对称的。

第二个我想得到(即1=n,2=n-1,3=n-2...)字母在单词中的位置作为执行的主要思想。如果在最后一个字母奇怪的对称词,忽略最后一个字母。

我感谢任何先机或想法:)谢谢!

感谢 KDiTraglia,我编写了代码并编译了,这就是我放的。我没有更进一步。

报告的问题:

这就是我得到的,KDiTraglia 的帮助