找回密码
 欢迎注册
楼主: 0→∞

[求助] 果树问题讨论:这两个问题等价么?

  [复制链接]
发表于 2008-8-15 16:43:02 | 显示全部楼层
呵呵
学好C语言不一定能学会写这些数学计算程序
数据结构,算法,技巧,优化等都要学习
甚至要学一种汇编语言
另外,还可能要明白linux怎么用
好多大型计算程序仅有linux版本

你照mathe懂的努力就可以了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 09:57:18 | 显示全部楼层
现在终于写C++程序实现了51#所说的功能。
通过这个程序,可以证明n=13时候10条直线无解,所以只能最多9条。
同样,在n=14的时候,程序过虑结果是11条直线只余下一个结果:
ABCD AEFM AGHN BEIN BJKM CFJN CGLM DHIM DKLN EHJL FGIK

solve([+1+1*M_Y+1/2*M_Y*M_Y],[M_Y])
+1*L_X+1/2*M_Y
-2+1*L_Y-1*M_Y
-2+1*K_Y
+1*J_X+1*M_Y
+1+1*K_X+1*M_Y
-1+1*I_X-1*M_Y
-1+1*F_Y-1*M_Y
-2+1*D_Y-2*M_Y
-1+1*C_Y-1*M_Y
-2+1*J_Y-1*M_Y
-2+1*H_Y-1*M_Y
-1+1*D_X
-1+1*C_X
A=(0,1,0) B_x=1 B_y=0 E=(1,0,0) F=(1,F_y,0) G_x=0 G_y=1 H_x=0 I_y=0 M=(1,M_y,0) N_x=0 N_y=0

其中余下的二次方程:
solve([+1+1*M_Y+1/2*M_Y*M_Y],[M_Y])
显然没有实数解,所以证明了n=14时最多10条直线。
n=14对应的10条直线可以有解:
ABDEAFGHBIJNCDIKCFLNDGMNEFJMEHKNGJKLHILM

-3/4+1*L_X
-1/4+1*M_X
+2+1*N_Y
+1/2+1*M_Y
-2+1*H_Y
-1/2+1*L_Y
-1/2+1*I_X
+1/4+1*G_X
-3/2+1*F_Y
-1+1*B_Y
-1/2+1*J_Y
-1/2+1*G_Y
-1/4+1*J_X
-1/4+1*F_X
A_x=0 A_y=1 B_x=0 C_x=1 C_y=0 D_x=0 D_y=0 E=(0,1,0) H=(1,H_y,0) I_y=0 K=(1,0,0) N=(1,N_y,0)
这个图我还没有画出来,不知道是否是合理的解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 09:59:10 | 显示全部楼层
上面的例子显然不行,有重复点(A和B坐标相同),使用另外一个例子可以得到结果:
-3/4+1*L_X
-1/4+1*M_X
-2/3+1*N_Y
-1/6+1*M_Y
+2/3+1*H_Y
+1/6+1*L_Y
-1/2+1*I_X
-5/4+1*F_X
-1/2+1*G_Y
+1/3+1*B_Y
-1/6+1*J_Y
-1/6+1*F_Y
-3/4+1*J_X
-3/4+1*G_X
A_x=0 A_y=1 B_x=0 C_x=1 C_y=0 D_x=0 D_y=0 E=(0,1,0) H=(1,H_y,0) I_y=0 K=(1,0,0) N=(1,N_y,0)
n14l10.GIF
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 10:20:48 | 显示全部楼层
n=15时,13条直线所有581种情况程序过滤后只余下一种情况:
ABCIADJKAELMBEJNBFLOCEKOCGMNDFGIDHNOFHKMGHJLIJMOIKLN

solve([+1+1*O_Y+1*O_Y*O_Y],[O_Y])
+1+1*G_X
-1+1*M_Y-1*O_Y
+1+1*M_X+1*O_Y
-1+1*F_Y-2*O_Y
+1*O_X+1*O_Y
+1+1*L_Y+1*O_Y
-1+1*G_Y-1*O_Y
+1*H_Y-1*O_Y
+1*D_Y-1*O_Y
+1+1*H_X+1*O_Y
+1+1*F_X+1*O_Y
+1*C_X+1*O_Y
+1+1*I_Y
+1*E_X+1*O_Y
-1+1*C_Y-1*O_Y
A_x=0 A_y=1 B_x=1 B_y=0 D_x=0 E_y=0 I=(1,I_y,0) J_x=0 J_y=0 K=(0,1,0) L=(1,L_y,0) N=(1,0,0)
其中,方程:
solve([+1+1*O_Y+1*O_Y*O_Y],[O_Y])
显然也没有实数解。
所以对于n=15,我们也证明了最多12条直线,这个也是walframe给出的下界。具体构造我先不给出了,等到加强一下程序(比如会出现重复点的情况也先让计算机淘汰了再说)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 10:24:59 | 显示全部楼层
n=16时,我前面的程序只产生了所有大于等于17条直线的模板,总数很少,才13种,全部无解,所以我们证明了对于n=16,最多16条直线,wolfram给出16个点时下界为15,所以我们知道16个点时,最多15或16条直线。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 10:29:13 | 显示全部楼层
不过$n>=17$时,我的程序已经不能产生所有的直线模板了(由于2G文件大小的限制)。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-8-18 10:51:32 | 显示全部楼层
不能使用两个文件么?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-8-18 11:02:57 | 显示全部楼层
数据不能随时产生随时处理么?(牺牲时间换取空间)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 11:44:44 | 显示全部楼层
当然可以,不过那样又要修改代码了。暂时还没有时间考虑这个问题。
不过现在感觉我那个解方程的代码有memory leak,运行一段时间后程序会out of memory.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-18 12:46:04 | 显示全部楼层
呵呵
你把磁盘分区改成NTFS就能支持4G文件了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-20 17:50 , Processed in 0.048744 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表