庞加莱回归猜想起源:

自然界的微观粒子无时不刻不在进行着随机运动,并在运动中消耗能量.根据热力学第二法则,孤立系统的熵恒增加.Rudolph Clausius认为任何系统都是由有序向无序发展,粒子的运动也将趋于复杂.更可怕的是,随着时光之箭的飞逝,宇宙将会走向热寂.依照惯例,客观真理都是肯定的表述,热力学第二法则因其个性让科学家们感到不舒服,并被称为科学史上最令人绝望痛苦的公设.

庞加莱回归猜想概述:

任何粒子在经过一个漫长的时间之后必然能回到其无限接近其初始位置的位置(但是不能回到原来位置,只能无限接近),尽管这个时间的长度远远超出我们所能想,但是它必然会实现·这样一个周期就称为一个庞加莱回归。

创作想法:

庞加莱回归是一个非常有意思的问题,它探讨了事物未来的发展。简单来说,就是一个孤立而有限的系统在演化的过程中,会无限次任意接近自己的初始状态!这意味着万物皆有轮回:宇宙会在无限的时空中慢慢的回到自己原来的面貌,只要时间足够的长!

当然宇宙中因子非常的多,不可能用计算机推演!(正如《三体》里永远也计算不出三个太阳的轨迹),本文借助于洗扑克牌的理念(一副扑克牌顺序放置,不断的洗牌,在经过无数次的洗牌后,会回到原来的顺序!),同时也简化了变量的个数,设为10个字母(A~O),验证10个变量在经历多少次的随机排序后会变为1-10顺序排序!

JAVA代码:

public class pangkailai{public static void main(String[] args) {int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,o=0;long sum=0;long start=System.currentTimeMillis();int flag=1;while(flag==1){a=(int)(Math.random()*10)+1;do{b=(int)(Math.random()*10)+1;}while(b==a);do{c=(int)(Math.random()*10)+1;}while(c==a||c==b);do{d=(int)(Math.random()*10)+1;}while(d==a||d==b||d==c);do{e=(int)(Math.random()*10)+1;}while(e==a||e==b||e==c||e==d);do{f=(int)(Math.random()*10)+1;}while(f==a||f==b||f==c||f==d||f==e);do{g=(int)(Math.random()*10)+1;}while(g==a||g==b||g==c||g==d||g==e||g==f);do{h=(int)(Math.random()*10)+1;}while(h==a||h==b||h==c||h==d||h==e||h==f||h==g);do{i=(int)(Math.random()*10)+1;}while(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h);do{o=(int)(Math.random()*10)+1;}while(o==a||o==b||o==c||o==d||o==e||o==f||o==g||o==h||o==i);sum++;System.out.println(a+"  "+b+"  "+c+"  "+d+"  "+e+"  "+f+"  "+g+"  "+h+"  "+i+"  "+o);if(a==1&&b==2&&c==3&&d==4&&e==5&&f==6&&g==7&&h==8&&i==9&&o==10) break;a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;i=0;o=0;} long end=System.currentTimeMillis();
System.out.println((end-start)/1000+"s    "+sum); }
}

c/c++代码:

#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main()
{int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,o=0;long long sum=0;int flag=1;clock_t start, finish;start=clock();while(flag==1){a=(int)(rand()%10)+1;do{b=(int)(rand()%10)+1;}while(b==a);do{c=(int)(rand()%10)+1;}while(c==a||c==b);do{d=(int)(rand()%10)+1;}while(d==a||d==b||d==c);do{e=(int)(rand()%10)+1;}while(e==a||e==b||e==c||e==d);do{f=(int)(rand()%10)+1;}while(f==a||f==b||f==c||f==d||f==e);do{g=(int)(rand()%10)+1;}while(g==a||g==b||g==c||g==d||g==e||g==f);do{h=(int)(rand()%10)+1;}while(h==a||h==b||h==c||h==d||h==e||h==f||h==g);do{i=(int)(rand()%10)+1;}while(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h);do{o=(int)(rand()%10)+1;}while(o==a||o==b||o==c||o==d||o==e||o==f||o==g||o==h||o==i);sum++;printf("%d  %d  %d  %d  %d  %d  %d  %d  %d  %d\n",a,b,c,d,e,f,g,h,i,o);if(a==1&&b==2&&c==3&&d==4&&e==5&&f==6&&g==7&&h==8&&i==9&&o==10) break;a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;i=0;o=0;} finish=clock();printf("%lld ,%d s",sum,(int)(finish-start));}

结论:

从上可以看到,当10个变量经过足够多次数的随机排序后,最终会变为1-10顺序排序,由此也可见,庞加莱回归的可实现性,宇宙万物的永恒性!

由于本人代码水平有限,有错误的地方希望大家指正!

用c/c++和Java语言实现庞加莱回归相关推荐

  1. Java语言中的数据类型

    Java语言是一种强调数据类型的语言,在声明任何变量时,必须将该变量定义为一种数据类型. Java中的数据类型包括基本类型和对象类型,基本类型总共有8种,其中4种整形.1种字符型.2种浮点型.1种布尔 ...

  2. java语言环境变量_JAVA语言环境变量的设置教程

    本文主要向大家介绍了JAVA语言环境变量的设置教程,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 安装JDK到目录,我这里是C:\Java 右键点击计算机属性 在系统变量里面建 JA ...

  3. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍

    本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...

  4. Java语言的基础知识9

    第十一章(线程) 1.通过String name=Thread.currentThread().getName();来获取当前线程的名称. 2.多次启动一个线程或者启动一个已经运行的线程是非法的,会抛 ...

  5. 重塑云上的 Java 语言

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 Photo @  Toa Heftiba 文 |郁磊 音乐无国界, ...

  6. 四川大学java试题_四川大学2013年计算机(软件)学院Java语言程序设计期末考试试题B卷...

    四川大学期末考试试题(闭卷) (2013 -2014学年第1学期) 课程号:课程名称: Java语言程序设计(B 卷)任课教师: 适用专业年级:学号:姓名: 一.单项选择题(本大题共20小题,每小题2 ...

  7. “坑爹”排行榜:Java语言最违反常识的功能点TOP 10

    来自:互联网全栈架构 作为一门面向对象的编程语言,Java凭借其简单易用.功能强大的特点受到了广大编程爱好者的青睐,伴随着开源社区的推波助澜,Java语言更是席卷全球,势不可挡,在世界各地都有Java ...

  8. Java语言中的生僻知识

    最近有一首名叫<生僻字>的流行歌曲火遍大江南北,创作者给佶屈聱牙的生僻字,配上了优美明快的旋律,竟然让歌曲变得琅琅上口.悦耳动听起来,平时不太常见的拒人于千里之外的这些汉字也不再那么陌生, ...

  9. java语言仅支持单重继承_java语言程序设计基础篇习题_复习题_第十一章

    java语言程序设计基础篇习题_复习题_第十一章 11.1 下面说法是真是假?一个子类是父类的子集. 11.2 使用什么关键字来定义一个子类 11.3 什么是单一继承?什么是多重继承?java支持多重 ...

  10. 第1章 Java语言概述

    第1章 Java语言概述 声明 0. Java语言应用场景 1. 软件开发介绍 2. 计算机编程语言介绍 3. Java语言概述 4. Java程序运行机制及运行过程 5. Java的环境搭建  5. ...

最新文章

  1. (C语言)一种简易记法:生成[a,b]范围内的随机整数
  2. 豆瓣评分 9.3,史上最好的 C 语言著作,竟然翻车了......
  3. Bitcoin Unlimited客户端发布新版本,删除了BSV协议功能
  4. 面对人口塌方式下降,必须把房子转移到省会以上级别城市的理由
  5. Redis报错#MISCONF Redis is configured to save RDB snapshots, but is currently not
  6. string函数使用---复制子字符串(含substr用法)
  7. favicon 尺寸问题
  8. win7与internet时间同步出错_电脑时间同步出错,教您电脑时间同步出错怎么办
  9. 俄亥俄州立大学哥伦布分校计算机科学,俄亥俄州立大学哥伦布分校什么专业最好?...
  10. 一行代码实现安慰剂检验
  11. 同事篇(12年至今)
  12. 访问ftp服务器网页,访问ftp服务器是网页
  13. NPR——卡通渲染(二)
  14. 高纯度钨酸铜粉末/钨酸铁粉末/钨酸亚铁粉末/硫化铋粉末/铬酸铋粉末/氧化锆粉末/铬酸钡粉末
  15. 动态代理ip的测试步骤有哪些?
  16. TPTP监控远程Tomcat
  17. 关于Halcon::threshold 用时
  18. 直击|人人车回应“破产”传闻:消息不实
  19. catia建模圆柱直齿轮和斜齿
  20. 自动刷新 html,JavaScript自动刷新页面的方法

热门文章

  1. 计算机登录界面没有用户显示不出来,win7让administrator账户不出现在登陆界面方法...
  2. java heap space 什么意思_java heap space是什么意思?
  3. 诚风老师-十年了,当年那帮做直销的穷小子都成了富豪
  4. Android关于微博发表微博时@好友后删除@的好友的功能实现
  5. CAN、485隔离电路分享
  6. Reflex WMS中阶系列1 – Reflex WMS系统打印单据,是打印成PDF还是直接从打印机里打印出来?
  7. 电子密码锁程序C语言,基于C语言STC89C52单片机电子密码锁的设计与仿真
  8. html加载fbx模型,[Unity菜鸟] FBX模型动画提取
  9. for的用法详解,for循环完全攻略
  10. 博客左侧导航栏添加打赏功能(添加微信赞赏码)