问题标签 [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.
c++ - 用继承建模同态
我想模拟扑克手。数学背景并将其融入 C++ 非常疯狂。
标准的 52 张卡片组可让您制作 1326 种两张卡片的组合。然而,人们可以将这些牌分为 169 类,其中包含同构牌:对子(例如 TT)、同花(AsKs)和非同花(AcKd)。这是通用不可知扑克语言的一个子集,用于描述一组扑克手(TT+、22-55、A9s+ 等)
话虽如此,我的问题是通过继承对 169 手和 1326 手之间的同态建模。恕我直言,从 Hand169 派生的 Hand1326 id。因此类看起来像
但现在的问题是,Hand169 应该有关于适合度 ( ) 的信息,这在 Hand1326 中是多余的,bool suit
因为隐含地提供了这些信息。关于对与否的信息通过 和 隐含地给出。suit1
suit2
rank1
rank2
有没有更好的方法来模拟这个,没有冗余?
haskell - “交错同态”的概念是真实的吗?
我需要以下类别的功能:
显然我为它发明的名字在任何方面都不是任何东西的官方术语,而且上面的类型类也不是很优雅。这是一个有名字的概念,甚至是某个库中的实现吗?有没有更合理的方法来做到这一点?
这个函数的目的是我有一些f
注释一些数据的上下文(Foo
并且Bar
只是为了这个问题而随机的示例数据结构):
我想以多态的方式转换数据的上下文;通过只知道上下文之间的同态而不(必然)关心数据本身。这将通过在上面的示例中提供instance InterleavedHomomorphic Foo
和来完成。instance InterleavedHomomorphic Bar
haskell - 如何测试 Applicative 实例的同态律?
我正在做Typeclassopedia的练习;在该Applicative
部分中,我编写了ZipList
'spure
函数,并检查它是否遵循Applicative
法律。
我检查过:
- 身份法
- 互换法
- 组成法
但是当我尝试检查“同态”定律时,我发现 GHCi 没有得到MZipList
.
我认为这是因为我错过了指定pure
我的Applicative
类型类。没有它如何立即运行pure
函数?</p>
<*>
Applicative
这是MZipList
定义和类实例:
当我检查“交换”法时,例如:
但是当我检查“同态”定律时,不叫MZipList
's :pure
这是为什么?
seal - 我将如何检索密文的二进制表示,因为它将存储到磁盘
这个问题参考了 Microsoft 简单加密算术库 (SEAL) 的 3.0 版,以防从标签中看不出来。
我正在尝试提取和评估将写入内存的实际位,这些位存储在 Ciphertext 类中。我不知道该怎么做;内部表示似乎包含 65 个字节的附加信息,目前尚不清楚在读回密文时重建密文需要多少这些信息。假设系统参数是固定的并且是先验已知的,那么保存函数的任何其他部分是否是重建密文所必需的?
在梳理了代码之后,我决定尝试使用我的编码器准备一个密文,检索 uint64_count,然后使用 [] 运算符重载迭代系数。如果这些值被零填充到某个公共长度,这是否是基础数据的忠实表示?
提前致谢
encryption - 问题:同态加密可以“读取”加密的单词吗?
这是我的一个问题。我不是这方面的专家,所以请善待答案。
我理解同态加密过程允许读取一条消息,就好像它已被解密一样,但它会在不移除加密过程放置在其上的保护层的情况下这样做。
让我们假设单词“TESTE”是加密的,并且对该加密的单词进行了同态加密。
我的问题是:
同态会理解密文的“意义”吗?同态会知道加密后的字也是“TESTE”吗?
谢谢你。
scala - Monoid 同态和同构
我正在阅读《Scala 编程》这本书(红皮书)。
在关于 Monoids 的章节中,我了解了 Monoid 同态是什么,例如:M
具有连接和length
函数的 String Monoidf
保留了幺半群结构,因此是同态的。
引用这本书(凭记忆,如果我错了,请纠正我:
当这发生在两个方向上时,它被命名为 Monoid isomorphisim,这意味着对于 monoids
M, N
和函数f, g
,f andThen g
并且g andThen f
是identity
函数。例如String
Monoid 和List[Char]
具有连接的 Monoid 是同构的。
但是我看不到一个实际的例子,我只能认为是f
函数length
,但是会发生什么g
?
注意:我看过这个问题:What are isomorphism and homomorphisms。
agda - 表示同态而不写出所有定律
假设我有一些代数结构的记录类型;例如对于幺半群:
然后我可以手动为幺半群同态创建一个类型:
但是有没有一种方法可以在Hom
不说明同态定律的情况下进行定义?M : Monoid A
因此,作为从见证人到的某种映射N : Monoid B
,但这对我来说没有多大意义,因为它是一个“映射”,我们已经知道它应该映射M
到N
......
encryption - 如何使用 HElib 或 SEAL 对具有二进制运算的加密数据执行除法运算?
我们在尝试通过 HElib 中提供的算法实现完全同态加密时遇到了一些问题。我们想知道是否必须通过使用二元运算来构建一些新的同态方法、除法或比较?
homomorphism - 在同态加密中隐藏和使用私钥是否可能或安全
我只是想知道这样做是否可能或安全。
如果有公开可用的代码,则使用同态加密进行加密。隐藏一个私钥是否安全,该私钥将用于与该加密方案中的某些其他软件进行交互?
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 的边数。
谁能帮帮我?谢谢。