Zekendorf 与黄金比例基础之间的转换
Zekendorf 和黄金比例基础显然密切相关,但从一种转换到另一种似乎仍然很棘手。我知道 Frougny 和 Sakarovitch 在这方面有工作,但我还没有完全理解这一点。一个问题是黄金比例基本表示围绕小数点相当对称,这表明这些表示可能是上下文无关的。 Sakarovitch 和 Frougny 通过使用“折叠”黄金比例基数来解决这个问题。通过这种修改后的表示,他们应该可以使用有限状态传感器进行转换,但我不明白它应该如何工作。
至于黄金比例基的部分对称性,这与成对出现的根有关(我从 George Bergman (pc) 那里得到了对此的更长的解释)。
关于这两种表示之间的关系,我确实知道的一件事是,对于 d-1...d_i*d_j...d_n 形式的每个黄金比例基本表示(使用“*”作为基数点),都有一个相应的涉及斐波那契数的方程:(
Example 4 = 101.01 <=> 4f_n = f_{n+2} + f_n + f_{n-2} (with f_0 = f_1 = 1
and f_n = f_{n-1} + f_{n-2})
For n=3, f_n=3: 12 = 10101
for n=4, f_n=5: 20 = 101010
for n=5 f_n=8: 32 = 1010100
等等。有一系列数字都具有与 4 的黄金比例基本表示相同的 Zeckendorf 位模式)。这看起来确实应该有帮助,但是如何呢?
D. Gerdemann,《Zeckendorf 家族恒等式的组合证明》斐波那契季刊,2008/2009 年讨论了这种模式。
顺便说一句:尽管在《斐波那契季刊》上发表过一篇论文,但我在这方面完全是一个业余爱好者。我的知识有很多差距,包括我要问的差距。
Zeckendorf and Golden Ratio Base are clearly closely related, but still it seems tricky to convert from one to the other. I know that there is work by Frougny and Sakarovitch on this, but I haven't fully understood this. One problem is that Golden Ratio Base representations are rather symmetrical around the radix point, which suggests that these representations may be context free. Sakarovitch and Frougny deal with this by using "folded" Golden Ratio Base numbers. With this modified representation they can supposedly do the conversion with a finite state transducer, but I didn't grasp how this should work.
As for the partial symmetry of Golden ratio base, this has to do with roots coming in pairs (there's a longer explanation that I have of this from George Bergman (pc)).
One thing I do know about the relation between these two representations is that for every Golden Ratio base representation of the form d-1...d_i*d_j...d_n (using '*' as radix point), there is a corresponding equation involving Fibonacci numbers:
Example 4 = 101.01 <=> 4f_n = f_{n+2} + f_n + f_{n-2} (with f_0 = f_1 = 1
and f_n = f_{n-1} + f_{n-2})
For n=3, f_n=3: 12 = 10101
for n=4, f_n=5: 20 = 101010
for n=5 f_n=8: 32 = 1010100
(Etc. There is a whole series of numbers that all have the same Zeckendorf bit pattern as Golden Ratio base representation for 4). This sure looks like it ought to be helpful, but how?
This pattern is discussed in D. Gerdemann, Combinatorial proofs of Zeckendorf family identities Fibonacci Quarterly, 2008/2009.
BTW: Despite having a paper in the Fibonacci Quarterly, I'm strictly an amateur in this area. There are a lot of gaps in my knowledge, including the gap I am asking about.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我知道这个答案迟到了 1.75 年,但由于没有其他人尝试回答这个问题,而且我自己也在探索斐波那契数列、Zeckendorf 表示法和黄金比例基础之间的联系,所以我将继续发布我的内容在相关研究中找到了我最好的答案:
从现在开始,我将黄金比例基础称为为简洁起见,使用 phi 或 phary 为基础。
与 卢卡斯数相比,基础 phi 与卢卡斯数的联系更加紧密/wiki/Fibonacci_number">斐波那契数,这解释了直接转换它们时遇到的一些困难。但卢卡斯数与斐波那契数的关系如下:
L[n] = F[n-1] + F[n+1]
和
5 * F(n) = (L [n-1] + L[n+1])
卢卡斯数与基数 phi 的关系如下:
L[n] = phi^n + (-1/phi)^n
因此,将为每个卢卡斯数设置基本 phi 中的第 n 位和第 -n 位数字。斐波那契数
F[n]
以 phi 幂的形式直接表示为:F[n] = ( phi^n - (-1/phi)^n )/sqrt (5)
(注意减号而不是加号)这可以翻译为:
F[n] = ( 10^n - (-0.1)^n )/10.1
现在
sprt(5)
可以直接用 Phinary 表示为 10.1,但只有当整数中包含 5 的因数时,它才会整除斐波那契数,因为 5 及其倍数是唯一的整数 <代码>sqrt(5) 除以。这意味着在基数 phi 中,5 不是素数,但sqrt(5)
是(从技术上讲,它是一个原始素数理想)。sqrt(5)
的行为方式非常类似于整数。事实上,任何可以用 phi 基数有限表示的数字都被称为 Dirichlet Integer,因为它具有类似于整数的行为。我在这个网页上找到了上面的公式,其中有更多有关斐波那契数、卢卡斯数和 phi 之间关系的信息。
这是我对算法的尝试。我请求社区帮助我发现并纠正任何错误。我假设 Zeckendorf 和基本 phi 表示存储在一个数组中,其中 Zeckendorf 数组从 0 到 n,Phinary 数组从 -n 到 n,并且我使用类似 C 的伪代码:
标准化到最小形式的方法维基百科文章中记录了黄金比例基,并且可以使用欧几里得除法算法。
更好的方法可能是使用平衡三元 Tau 系统,以便“围绕基数”属性变为“围绕第 0 位数字完全对称”属性(称为镜像对称属性)。描述它的论文是“
I know this answer is 1.75 years late to the party, but since no one else has tried to answer it and I was exploring the connection between Fibonacci numbers, Zeckendorf representation, and golden ratio base myself, I'll go ahead and post what I've found in related research and my best stab at an answer:
From now on I'll refer to golden ratio base as base phi or phinary for brevity.
Base phi is more strongly tied to the Lucas numbers than the Fibonacci numbers, which explains some of the difficulty you've had in directly converting them. But the Lucas numbers are related to the Fibonacci numbers by:
L[n] = F[n-1] + F[n+1]
and
5 * F(n) = (L[n-1] + L[n+1])
Lucas numbers relate to base phi this way:
L[n] = phi^n + (-1/phi)^n
so the n'th and -n'th digits in base phi will be set for each Lucas number.The direct representation of a Fibonacci number
F[n]
in terms of powers of phi is:F[n] = ( phi^n - (-1/phi)^n )/sqrt(5)
(notice the minus sign instead of a plus sign)Which translates in phinary to:
F[n] = ( 10^n - (-0.1)^n )/10.1
Now
sprt(5)
is directly representable in phinary as 10.1, but it will only evenly divide a fibonacci number if the integer has a factor of 5 in it, because 5 and it's multiples are the only integerssqrt(5)
divides. This means that in base phi, 5 is not a prime, butsqrt(5)
is (technically it is a primitive prime ideal).sqrt(5)
behaves in a very integer-like way. In fact any number finitely representable in base phi is called a Dirichlet Integer because of its integer-like behavior.I found the above formulas on this web page which has more information on the relationship between Fibonacci numbers, Lucas numbers, and phi.
So here is my attempt at an algorithm. I ask the community to help me spot and correct any mistakes. I'm assuming the Zeckendorf and base phi representations are stored in an array with the Zeckendorf array from 0 to n and the Phinary array from -n to n, and I'm using C-like pseudocode:
The methods for standardization to minimal form are documented on the wikipedia article for golden ratio base and division can be performed using the Euclidean Division algorithm.
An even better approach might be to use the Balanced Ternary Tau system so that the "rather symmetrical around the radix" property becomes "completely symmetrical around the 0th digit" property (called the Mirror Symmetric Property). The paper describing it is "Brousentsov’s Ternary Principle, Bergman’s Number System and Ternary Mirror-symmetrical Arithmetic" by Alexey Stakhov.