找回密码
 欢迎注册
楼主: 数学星空

[讨论] 方形覆盖最大值

[复制链接]
 楼主| 发表于 2009-7-7 14:03:52 | 显示全部楼层
当然是自已想的,主要是看了类似题目,而又没有发现有此类解答(或许,已经有了答案),这类问题每个人都可以得到一个答案,但答案的好与坏(最优性和准确值)就可以判断一个人的数学水平和足够的创造力....
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-7 17:40:30 | 显示全部楼层
呵呵,又有新发现,对于7阶方阵覆盖,有a=(2^0.5+3)/2=2.20710678...
7阶覆盖3.jpg
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-8 17:46:02 | 显示全部楼层
今天发现一个有趣的例题:已知5个同样大小的正方形可以覆盖正方形ABCD,证明4个这样的正方形就可以覆盖正方形ABCD(见我上传的<组合几何>P83)
即a(5)=a(4)=2
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-8 23:02:55 | 显示全部楼层
到目前止,还没有发现a(6)>2的例子,猜想:a(6)=a(4)=2   ???
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-9 09:44:46 | 显示全部楼层
发现一个很有意思的问题,与此类问题相似,或许会有帮助
FangXingQianRu_1.gif
FangXingQianRu_2.gif
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-21 17:40:37 | 显示全部楼层
有一点程序化的萌芽思想,还不知道能不能落实

有空再好好想想,成功的话发码^^
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-21 17:49:16 | 显示全部楼层
期待你能有一个好的程序至少解决N值较小的情形....
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-23 15:41:41 | 显示全部楼层
验证三个的情况:

double Cover3( void )
{
        double PI = 3.1415926535897932f;

        double r = 0.5f;       

        double rad = 0.0f;

        double p1x, p1y;
        double p2x, p2y;

        while( r < 1.0f )
        {
                double distance = pow( r, 2 );

                rad = 0.0f;

                while( rad < PI / 4 )
                {
                        p1x = r * cos( rad );
                        p1y = r * sin( rad );

                        p2x = r * sin( rad );
                        p2y = r * cos( rad );

                        double x, y;
                        for( x = 1.0f, y = 0.0f; y < 1.0f - r * 2.0f / 1.414213f; y += 0.02f )
                        {
                                double a2 = pow( r * 2, 2 );
                                double b2 = pow( x - p1x * 2, 2 ) + pow( y - p1y * 2, 2 );
                                double c2 = pow( x, 2 ) + pow( y, 2 );

                                if( ( a2 != 0 ) && ( b2 != 0 ) )
                                {
                                        double crad = ( a2 + b2 - c2 ) / ( pow( a2, .5 ) * pow( b2, .5 ) * 2 );

                                        if( acos( crad ) > PI / 4 )
                                                goto next;
                                }
                        }

                        goto out;


next:
                        rad += 0.002f;
                }


                r += 0.002F;
        }

out:
        return pow( 2, .5 ) / r / 2;
       
}


要找通解好复杂 - -#
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-7-23 16:24:57 | 显示全部楼层
对于a(3)=1.272019...可以肯定是最佳结果了
对于a(6),a(7),a(8)需要找到比我提供答案的更好结果才算有效哟
呵,希望你能给出运行结果,至少可以用CAD画出来验证一下正确性...
不论怎样,只要结果正确,就是个好的开端!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-23 16:31:00 | 显示全部楼层
其实在我程序里有结果自动画图验证,可是考虑到并不是所有人都用的windows系统,所以把画图部分cut掉了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-27 13:23 , Processed in 0.111867 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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