标签: equivalence

姓名等同问题

假设我有:

int a;
int b;
Run Code Online (Sandbox Code Playgroud)

变量ab名称是否等效(更具体地说,因为原始类型没有类型名称,它们是否可以被视为名称等价)?

谢谢.

c equivalence type-equivalence

4
推荐指数
1
解决办法
5047
查看次数

如何在R中找到相等的列?

鉴于以下内容:

a <- c(1,2,3)
b <- c(1,2,3)
c <- c(4,5,6)
A <- cbind(a,b,c)
Run Code Online (Sandbox Code Playgroud)

我想找到A中的哪些列等于例如我的向量a.

我的第一次尝试是:

> which(a==A)
[1] 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)

哪个没有那样做.(老实说,我甚至不明白它做了什么)第二次尝试是:

a==A
        a    b     c
[1,] TRUE TRUE FALSE
[2,] TRUE TRUE FALSE
[3,] TRUE TRUE FALSE
Run Code Online (Sandbox Code Playgroud)

这肯定是朝着正确方向迈出的一步,但似乎扩展到了一个矩阵.我更喜欢的是像其中一行一样的东西.如何将矢量与列进行比较,如何在矩阵中找到等于矢量的列?

r equivalence

4
推荐指数
2
解决办法
5660
查看次数

使 R 中的嵌套 for 循环更高效

我正在从事一个研究项目,我想确定两个分布的等价性。我目前正在使用 Mann-Whitney Test for Equivalence 并且我正在运行的代码(下面)是由 Stefan Wellek (2010) 所著的 Test Statistical Hypotheses of Equivalence and Noninferiority 一书提供的。在运行我的数据之前,我正在使用具有相同均值和标准差的随机正态分布测试此代码。我的问题是有三个嵌套的 for 循环,当运行更大的分布时(如下例所示),代码需要永远运行。如果我只需要运行一次就不会出现这样的问题,但我正在做一个模拟测试并创建功率曲线,所以我需要运行此代码的多次迭代(大约 10,000)。目前,根据我如何改变分布大小,运行 10 个需要几天的时间,

任何有助于提高性能的帮助将不胜感激。

x <- rnorm(n=125, m=3, sd=1)
y <- rnorm(n=500, m=3, sd=1)

alpha <- 0.05
m <- length(x)
n <- length(y)
eps1_ <- 0.2 #0.1382 default
eps2_ <- 0.2 #0.2602 default

eqctr <- 0.5 + (eps2_-eps1_)/2 
eqleng <- eps1_ + eps2_

wxy <- 0
pihxxy <- 0
pihxyy <- 0

for (i in 1:m)
 for (j in 1:n) …
Run Code Online (Sandbox Code Playgroud)

r nested-loops equivalence

4
推荐指数
2
解决办法
1253
查看次数

是否真的有必要对比较相同的类进行哈希处理?

阅读这个答案看来,如果__eq__在自定义类的定义,__hash__需要被定义好.这是可以理解的.
然而,目前尚不清楚,为什么 - 有效 - __eq__应该是相同的self.__hash__()==other.__hash__

想象一下这样的课程:

class Foo:
    ...
    self.Name
    self.Value
    ...
    def __eq__(self,other):
        return self.Value==other.Value
    ...
    def __hash__(self):
        return id(self.Name)
Run Code Online (Sandbox Code Playgroud)

这样,类实例可以通过值进行比较,这可能是唯一合理的用途,但是按名称认为是相同的.
这种方式set不能包含具有相同名称的多个实例,但比较仍然有效.

这样的定义会出现什么问题?

之所以定义__eq__,__lt__以及其他Value的能够通过对实例进行排序Value,并能够使用功能,如最大值.例如,他的类应该代表设备的物理输出(比如加热元件).每个输出都有唯一的名称.值是输出设备的功率.为了找到加热元件的最佳组合以便打开,能够通过功率(值)进行比较是有用的.但是,在集合或字典中,不应该有多个具有相同名称的输出.当然,具有不同名称的不同输出可能容易具有相同的功率.

python hash class equivalence

4
推荐指数
1
解决办法
265
查看次数

是什么让Haskell中的两个类型表达式相当?

所以我被问到这三种类型的表达式在Haskell中是否相同:

?1 = (a -> a) -> (a -> a -> a)
?2 = a -> a -> ((a -> a) -> a)
?3 = a -> a -> (a -> (a -> a))
Run Code Online (Sandbox Code Playgroud)

如果我拿走括号,我就离开了

?1 = (a -> a) -> a -> a -> a
?2 = a -> a -> (a -> a) -> a
?3 = a -> a -> a -> a -> a
Run Code Online (Sandbox Code Playgroud)

所以对我来说很明显,他们彼此都是不同的.但是,根据这个问题,这两个答案是错误的:

?1 !? ?2 !? ?3 !? ?1
?1 !? ?2 ? …
Run Code Online (Sandbox Code Playgroud)

haskell types equivalence

4
推荐指数
2
解决办法
133
查看次数

关于Python中反转列表的问题

我是python的新手,你可以告诉我.

如果我有一个清单:

a = [1,2,3,2,1]
Run Code Online (Sandbox Code Playgroud)

评估结果为true:

a == a[::-1]
Run Code Online (Sandbox Code Playgroud)

...但是评估为false:

a == a.reverse()
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

python list equivalence

3
推荐指数
1
解决办法
124
查看次数

不要求排序需要严格的弱排序吗?

来自http://stdcxx.apache.org/doc/stdlibref/less-equal.html

-

您可以将less_equal对象传递给任何需要二进制函数的算法.例如,sort()算法可以接受二进制函数作为备用比较对象来对序列进行排序.less_equal将以下列方式用于该算法:

vector<int> vec1;
sort(vec1.begin(), vec1.end(),less_equal<int>());
Run Code Online (Sandbox Code Playgroud)

-

现在我很困惑,上面的文档是否正确?

c++ stl equality equivalence strict-weak-ordering

3
推荐指数
1
解决办法
1319
查看次数

IP地址v4/v6等价测试

是否可以在同时使用 IPv4 和 IPv6 的双栈环境中测试 IP 地址的等效性?如果是这样,如何?

我的应用程序在 Boost ASIO 之上使用websocket++

例如,在我的 LAN 上,一个应用程序连接到另一个侦听192.168.1.2,但使用此答案的 IP 地址获取器

std::string s = socket.remote_endpoint().address().to_string();
Run Code Online (Sandbox Code Playgroud)

::ffff:192.168.1.3作为客户的地址。

问题是.2它将拥有自己的节点列表,其中包含原始 v4 地址 for .3,因此通过上面的 getter 与磁盘上保存的 v4 版本的简单字符串比较,.3即使已经连接,它也会寻找冗余连接。

我进一步读到事情可能会变得更加复杂,因为通过这个点分四元表示法::ffff:192.0.2.128也是::ffff:c000:0280.

我正在构建一个接受来自不受信任来源的地址的 p2p 应用程序,因此为了防止冗余连接,我需要能够绝对测试等效性。

我的意图可以实现吗?如果是这样,如何?如果没有,我应该只使用 v4 吗?我宁愿现在就包含未来的功能,而不是担心以后的集成。

c++ ip-address equivalence boost-asio websocket++

3
推荐指数
1
解决办法
1422
查看次数

在Java中实现等价

正如您可能从我的代码中看到的那样,我对此很新.我正在尝试编写一个简单的程序来检索一个人的朋友.这是我的代码:

public class Person {
    private String name;
    private String friends;

    public Person(String aName) {
        name = aName;
        friends = "";
    }

    public String getFriends() {
        return friends;
    }

    public void addFriend(Person friend) {
        friends = friends + " " + friend.name; 
    }

    public void unfriend(Person nonFriend) {
        friends = friends.replace(" " + nonFriend.name, "");
    }

    public static void main(String[] args) {
        Person dana = new Person("Dana");
        Person gina = new Person("Gina");
        Person john = new Person("John");

        dana.addFriend(gina);
        dana.addFriend(john);
        john.addFriend(gina); …
Run Code Online (Sandbox Code Playgroud)

java equivalence

2
推荐指数
1
解决办法
500
查看次数

使用哈希码确定对象等价

假设我有一个代表游戏牌的简单类,称为Tile:

public class Tile {

    public final int x;
    public final int y;
    public final int plane;

    public Tile(int x, int y, int plane) {
        this.x = x;
        this.y = y;
        this.plane = plane;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        } else if (obj instanceof Tile) {
            Tile other = (Tile) obj;
            return other.x == x && other.y == y && other.plane == plane;
        }
        return false;
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java hash equivalence

2
推荐指数
1
解决办法
126
查看次数