问题标签 [homomorphism]

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 投票
0 回答
393 浏览

c++ - 用继承建模同态

我想模拟扑克手。数学背景并将其融入 C++ 非常疯狂。

标准的 52 张卡片组可让您制作 1326 种两张卡片的组合。然而,人们可以将这些牌分为 169 类,其中包含同构牌:对子(例如 TT)、同花(AsKs)和非同花(AcKd)。这是通用不可知扑克语言的一个子集,用于描述一组扑克手(TT+、22-55、A9s+ 等)

话虽如此,我的问题是通过继承对 169 手和 1326 手之间的同态建模。恕我直言,从 Hand169 派生的 Hand1326 id。因此类看起来像

但现在的问题是,Hand169 应该有关于适合度 ( ) 的信息,这在 Hand1326 中是多余的,bool suit因为隐含地提供了这些信息。关于对与否的信息通过 和 隐含地给出。suit1suit2rank1rank2

有没有更好的方法来模拟这个,没有冗余?

0 投票
3 回答
847 浏览

haskell - “交错同态”的概念是真实的吗?

我需要以下类别的功能:

显然我为它发明的名字在任何方面都不是任何东西的官方术语,而且上面的类型类也不是很优雅。这是一个有名字的概念,甚至是某个库中的实现吗?有没有更合理的方法来做到这一点?


这个函数的目的是我有一些f注释一些数据的上下文(Foo并且Bar只是为了这个问题而随机的示例数据结构):

我想以多态的方式转换数据的上下文;通过只知道上下文之间的同态而不(必然)关心数据本身。这将通过在上面的示例中提供instance InterleavedHomomorphic Foo和来完成。instance InterleavedHomomorphic Bar

0 投票
1 回答
499 浏览

haskell - 如何测试 Applicative 实例的同态律?

我正在做Typeclassopedia的练习;在该Applicative部分中,我编写了ZipList'spure函数,并检查它是否遵循Applicative法律。

我检查过:

  • 身份法
  • 互换法
  • 组成法

但是当我尝试检查“同态”定律时,我发现 GHCi 没有得到MZipList.

我认为这是因为我错过了指定pure我的Applicative类型类。没有它如何立即运行pure函数?</p> <*>Applicative

这是MZipList定义和类实例:

当我检查“交换”法时,例如:

但是当我检查“同态”定律时,不叫MZipList's :pure

这是为什么?

0 投票
1 回答
198 浏览

seal - 我将如何检索密文的二进制表示,因为它将存储到磁盘

这个问题参考了 Microsoft 简单加密算术库 (SEAL) 的 3.0 版,以防从标签中看不出来。

我正在尝试提取和评估将写入内存的实际位,这些位存储在 Ciphertext 类中。我不知道该怎么做;内部表示似乎包含 65 个字节的附加信息,目前尚不清楚在读回密文时重建密文需要多少这些信息。假设系统参数是固定的并且是先验已知的,那么保存函数的任何其他部分是否是重建密文所必需的?

在梳理了代码之后,我决定尝试使用我的编码器准备一个密文,检索 uint64_count,然后使用 [] 运算符重载迭代系数。如果这些值被零填充到某个公共长度,这是否是基础数据的忠实表示?

提前致谢

0 投票
2 回答
116 浏览

encryption - 问题:同态加密可以“读取”加密的单词吗?

这是我的一个问题。我不是这方面的专家,所以请善待答案。

我理解同态加密过程允许读取一条消息,就好像它已被解密一样,但它会在不移除加密过程放置在其上的保护层的情况下这样做。

让我们假设单词“TESTE”是加密的,并且对该加密的单词进行了同态加密。

我的问题是:

同态会理解密文的“意义”吗?同态会知道加密后的字也是“TESTE”吗?

谢谢你。

0 投票
2 回答
379 浏览

scala - Monoid 同态和同构

我正在阅读《Scala 编程》这本书(红皮书)。

在关于 Monoids 的章节中,我了解了 Monoid 同态是什么,例如:M具有连接和length函数的 String Monoidf保留了幺半群结构,因此是同态的。

引用这本书(凭记忆,如果我错了,请纠正我:

当这发生在两个方向上时,它被命名为 Monoid isomorphisim,这意味着对于 monoidsM, N和函数f, gf andThen g并且g andThen fidentity函数。例如StringMonoid 和List[Char]具有连接的 Monoid 是同构的。

但是我看不到一个实际的例子,我只能认为是f函数length,但是会发生什么g

注意:我看过这个问题:What are isomorphism and homomorphisms

0 投票
1 回答
65 浏览

agda - 表示同态而不写出所有定律

假设我有一些代数结构的记录类型;例如对于幺半群:

然后我可以手动为幺半群同态创建一个类型:

但是有没有一种方法可以在Hom 说明同态定律的情况下进行定义?M : Monoid A因此,作为从见证人到的某种映射N : Monoid B,但这对我来说没有多大意义,因为它是一个“映射”,我们已经知道它应该映射MN......

0 投票
0 回答
53 浏览

encryption - 如何使用 HElib 或 SEAL 对具有二进制运算的加密数据执行除法运算?

我们在尝试通过 HElib 中提供的算法实现完全同态加密时遇到了一些问题。我们想知道是否必须通过使用二元运算来构建一些新的同态方法、除法或比较?

0 投票
0 回答
15 浏览

homomorphism - 在同态加密中隐藏和使用私钥是否可能或安全

我只是想知道这样做是否可能或安全。

如果有公开可用的代码,则使用同态加密进行加密。隐藏一个私钥是否安全,该私钥将用于与该加密方案中的某些其他软件进行交互?

0 投票
1 回答
117 浏览

python - 使用 Python 的图同态

我的想法是编写一个 python 程序,它将两个有限简单无向图 G,H 作为参数,并返回从 G 到 H 的图同态的数字 hom(G,H)。

示例:如果 G=K_1(单顶点图),则 hom(G,H) 等于 H 的顶点数。如果 G=K_2(或等效为 P_2),则 hom(G,H) = 2 倍数H 的边数。

谁能帮帮我?谢谢。