分页: 1 / 2

#1 提一个问题

发表于 : 2024年 2月 16日 19:19
TheMatrix
举几个二元函数的例子 f:Z×Z --> Z,使得可以定义出具有结合律的二元运算 x#y = f(x,y),也就是(x#y)#z=x#(y#z)。

以下两个是显然的:
f(x,y)=x+y
f(x,y)=x*y

举几个其他的例子。

#2 Re: 提一个问题

发表于 : 2024年 2月 16日 22:48
TheMatrix
TheMatrix 写了: 2024年 2月 16日 19:19 举几个二元函数的例子 f:Z×Z --> Z,使得可以定义出具有结合律的二元运算 x#y = f(x,y),也就是(x#y)#z=x#(y#z)。

以下两个是显然的:
f(x,y)=x+y
f(x,y)=x*y

举几个其他的例子。
限定一下范围,假如f(x,y)是二元polynomial,这样会简单一些吧。

#3 Re: 提一个问题

发表于 : 2024年 2月 17日 00:31
YWY
f(x,y) = nx+ny, where n is an integer.
f(x,y) = xnyn, where n is a non-negative integer.

#4 Re: 提一个问题

发表于 : 2024年 2月 17日 08:38
TheMatrix
YWY 写了: 2024年 2月 17日 00:31 f(x,y) = nx+ny, where n is an integer.
f(x,y) = xnyn, where n is a non-negative integer.
还能找到其他的吗?也许没有其他的了。结合律是一个很强的限制。

#5 Re: 提一个问题

发表于 : 2024年 2月 17日 09:24
randomatrices
这俩个都不行吧?
n(nx+ny)+nz != nx+n(ny+nz) when n != 1

AND, OR, bitwise AND, bitwise OR 可以
TheMatrix 写了: 2024年 2月 17日 08:38 还能找到其他的吗?也许没有其他的了。结合律是一个很强的限制。

#6 Re: 提一个问题

发表于 : 2024年 2月 17日 09:48
TheMatrix
randomatrices 写了: 2024年 2月 17日 09:24 这俩个都不行吧?
n(nx+ny)+nz != nx+n(ny+nz) when n != 1

AND, OR, bitwise AND, bitwise OR 可以
确实。nx+ny, xnyn都不行。

bitwise AND OR可以。

整数怎么AND OR? 0=false, otherwise true?

#7 Re: 提一个问题

发表于 : 2024年 2月 17日 10:19
randomatrices
最简单的就是0=false, otherwise true吧, 或者复杂一点 AND(isPrime(x), isPrime(y))
TheMatrix 写了: 2024年 2月 17日 09:48 确实。nx+ny, xnyn都不行。

bitwise AND OR可以。

整数怎么AND OR? 0=false, otherwise true?

#8 Re: 提一个问题

发表于 : 2024年 2月 17日 10:23
randomatrices
只考虑结合律的话:
f(x,y)=x
f(x,y)=y
都可以,但不满足交换律。
有没有更复杂的呢?
TheMatrix 写了: 2024年 2月 16日 19:19 举几个二元函数的例子 f:Z×Z --> Z,使得可以定义出具有结合律的二元运算 x#y = f(x,y),也就是(x#y)#z=x#(y#z)。

以下两个是显然的:
f(x,y)=x+y
f(x,y)=x*y

举几个其他的例子。

#9 Re: 提一个问题

发表于 : 2024年 2月 17日 10:27
YWY
randomatrices 写了: 2024年 2月 17日 09:24 这俩个都不行吧?
n(nx+ny)+nz != nx+n(ny+nz) when n != 1

AND, OR, bitwise AND, bitwise OR 可以
哈哈,我一觉醒来,冲澡时也发现了自己的错误,刚想上来纠正,却早已经被班上大牛们的火眼金睛发现了。

我冲澡时还发现了另一个(trivial的)结合律例子,就是f(x,y) = n where n is a constant。

#10 Re: 提一个问题

发表于 : 2024年 2月 17日 10:30
TheMatrix
randomatrices 写了: 2024年 2月 17日 10:19 最简单的就是0=false, otherwise true吧, 或者复杂一点 AND(isPrime(x), isPrime(y))
嗯。一个indicator function on Z,然后再logic function。特例通常可以泛化。。。

#11 Re: 提一个问题

发表于 : 2024年 2月 17日 10:32
YWY
randomatrices 写了: 2024年 2月 17日 10:23 只考虑结合律的话:
f(x,y)=x
f(x,y)=y
都可以,但不满足交换律。
有没有更复杂的呢?
还有就是
f(x,y) = min{x,y}
f(x,y) = max{x,y}
f(x,y) = gcd(x,y), where we agree gcd(0,0) = 0
这几个都满足交换律,但不是多项式。

#12 Re: 提一个问题

发表于 : 2024年 2月 17日 10:35
TheMatrix
randomatrices 写了: 2024年 2月 17日 10:23 只考虑结合律的话:
f(x,y)=x
f(x,y)=y
都可以,但不满足交换律。
有没有更复杂的呢?
对。这是polynomial。

#13 Re: 提一个问题

发表于 : 2024年 2月 17日 10:36
TheMatrix
YWY 写了: 2024年 2月 17日 10:32 还有就是
f(x,y) = min{x,y}
f(x,y) = max{x,y}
f(x,y) = gcd(x,y), where we agree gcd(0,0) = 0
这几个都满足交换律,但不是多项式。
嗯。对。我们很可能快要穷尽构造结合律的方法了! :D

#14 Re: 提一个问题

发表于 : 2024年 2月 17日 10:41
randomatrices
哈哈, 大牛一时失察, 我等只是稍微起得早了点。
YWY 写了: 2024年 2月 17日 10:27 哈哈,我一觉醒来,冲澡时也发现了自己的错误,刚想上来纠正,却早已经被班上大牛们的火眼金睛发现了。

我冲澡时还发现了另一个(trivial的)结合律例子,就是f(x,y) = n where n is a constant。

#15 Re: 提一个问题

发表于 : 2024年 2月 17日 10:45
FoxMe
wikipedia上给了一些例子。要提醒的是,乘法不一定满足结合律,比如octonion:

https://en.wikipedia.org/wiki/Associati ... _operation

#16 Re: 提一个问题

发表于 : 2024年 2月 17日 10:50
YWY
randomatrices 写了: 2024年 2月 17日 10:41 哈哈, 大牛一时失察, 我等只是稍微起得早了点。
randomatrices 写了: 2024年 2月 17日 10:23 只考虑结合律的话:
f(x,y)=x
f(x,y)=y
都可以,但不满足交换律。
有没有更复杂的呢?
在你上面例子的基础上,可以取绝对值,依然满足结合律
f(x,y) = |x|
f(x,y) = |y|

#17 Re: 提一个问题

发表于 : 2024年 2月 17日 11:34
TheMatrix
FoxMe 写了: 2024年 2月 17日 10:45 wikipedia上给了一些例子。要提醒的是,乘法不一定满足结合律,比如octonion:

https://en.wikipedia.org/wiki/Associati ... _operation
这里列的跟wiki上的差不多了。

#18 Re: 提一个问题

发表于 : 2024年 2月 18日 12:26
TheMatrix
再出一个题:构造一个3个元素的monoid,而且非group。

#19 Re: 提一个问题

发表于 : 2024年 2月 18日 14:52
YWY
TheMatrix 写了: 2024年 2月 18日 12:26 再出一个题:构造一个3个元素的monoid,而且非group。
Let A = {1, 2, ..., n} and let x # y = max{x, y} for x, y in A. Then A is a monoid (with n elements), but A is not a group for n > 1.

#20 Re: 提一个问题

发表于 : 2024年 2月 18日 15:00
TheMatrix
YWY 写了: 2024年 2月 18日 14:52 Let A = {1, 2, ..., n} and let x # y = max{x, y} for x, y in A. Then A is a monoid (with n elements), but A is not a group for n > 1.
对。

这个问题我没想出来。我问了Bing,Bing给了这个答案。

monoid的这种结构和自然数很不同啊。看来要撑起自然数的结构,加法和乘法都是必不可少的。