虽然现在市面已经有很多化学软件可以用于模拟原子,分子甚至小型蛋白质。但那些软件多是收费的,使用起来也很繁琐。至少要学到化学硕士才有可能接触这些模拟软件,但对于大多数化学爱好者来说多数情况下想知道的只是两种物质作用的基本过程和规律,并不需要计算出的值有多精确。
用万有引力和电磁力做一个模型很显然是错误的,因为已经被量子力学否定掉了。就是没有否定掉,一个像氯原子的17体问题也不太可能得到什么有意义的解。
而如果把神经网络的权重当做概率幅好像是可以解决这个问题,
这个仿照f2分子做的模型,如果我们把这个模型给卷起来
这个模型开起来似乎更像原子,只不过模型里是用两层网络来模拟电子和电子的相互作用。
同样cl2分子的模型
卷起来
还有br2分子
这个卷起来就是两个黑球。
然后按照神经网络的原理让两个网络向对方收敛,
权重的初始化标准是
Random rand1 =new Random();
int t=rand1.nextInt(99);
w[a][b]=(double)t/200;
收敛标准是
While(Math.abs(a-b)>0.001)
学习率是0.1
分别训练了仿f2,cl2,br2分子的神经网络模型,运行了50组。
得到数据
|
a |
b |
迭代次数 |
|
|
9 |
0.500232353 |
0.499992353 |
47506352.98 |
|
17 |
0.50002205 |
0.500191862 |
58026278.87 |
|
35 |
0.500202081 |
0.500042081 |
69912392.06 |
|
|
由实验得到的数据很显然随着原子序数的增加网络收敛需要迭代次数逐渐增加,直观上看1*17*17的网络很显然比1*9*9的网络复杂,需要的迭代次数更多也符合常理。化学键越长越不稳定这个化学世界的真实的化学性质与神经网络模拟出来的渐进性也相符。
| 35 | 0.500649 | 0.499649 | 6.72E+07 |
| 0.500617 | 0.499617 | 7.30E+07 | |
| tw[a][b]=(double)ti1/200; | 0.500648 | 0.499648 | 8.00E+07 |
| 0.500594 | 0.499594 | 6.23E+07 | |
| Math.abs(jud[0]-jud[1])>0.001 | 0.499619 | 0.500619 | 5.74E+07 |
| 0.499688 | 0.500688 | 7.83E+07 | |
| ret=0.1 | 0.499688 | 0.500688 | 7.00E+07 |
| 0.500547 | 0.499547 | 6.67E+07 | |
| 0.499588 | 0.500588 | 6.73E+07 | |
| 0.500679 | 0.499679 | 8.37E+07 | |
| 0.499616 | 0.500616 | 7.04E+07 | |
| 0.499523 | 0.500523 | 6.10E+07 | |
| 0.500591 | 0.499591 | 7.26E+07 | |
| 0.50065 | 0.49965 | 7.07E+07 | |
| 0.500654 | 0.499654 | 7.46E+07 | |
| 0.500556 | 0.499556 | 6.26E+07 | |
| 0.499649 | 0.500649 | 7.14E+07 | |
| 0.499598 | 0.500598 | 7.51E+07 | |
| 0.50062 | 0.49962 | 6.99E+07 | |
| 0.500633 | 0.499633 | 7.38E+07 | |
| 0.500618 | 0.499618 | 7.11E+07 | |
| 0.500594 | 0.499594 | 6.22E+07 | |
| 0.500628 | 0.499628 | 6.29E+07 | |
| 0.500664 | 0.499664 | 6.68E+07 | |
| 0.500602 | 0.499602 | 5.94E+07 | |
| 0.500571 | 0.499571 | 6.92E+07 | |
| 0.500645 | 0.499645 | 6.49E+07 | |
| 0.500665 | 0.499665 | 7.37E+07 | |
| 0.499639 | 0.500639 | 6.65E+07 | |
| 0.500617 | 0.499617 | 6.43E+07 | |
| 0.499593 | 0.500593 | 6.57E+07 | |
| 0.500642 | 0.499642 | 6.90E+07 | |
| 0.500653 | 0.499653 | 8.11E+07 | |
| 0.4996 | 0.5006 | 6.31E+07 | |
| 0.500628 | 0.499628 | 7.50E+07 | |
| 0.499583 | 0.500583 | 7.41E+07 | |
| 0.499609 | 0.500609 | 7.22E+07 | |
| 0.500649 | 0.499649 | 6.83E+07 | |
| 0.499698 | 0.500698 | 6.38E+07 | |
| 0.499644 | 0.500644 | 7.75E+07 | |
| 0.500647 | 0.499647 | 7.75E+07 | |
| 0.500631 | 0.499631 | 7.22E+07 | |
| 0.500679 | 0.499679 | 8.08E+07 | |
| 0.499599 | 0.500599 | 7.26E+07 | |
| 0.49963 | 0.50063 | 5.86E+07 | |
| 0.499621 | 0.500621 | 6.10E+07 | |
| 0.499566 | 0.500566 | 7.37E+07 | |
| 0.499593 | 0.500593 | 7.16E+07 | |
| 0.500572 | 0.499572 | 7.09E+07 | |
| 0.49962 | 0.50062 | 7.80E+07 | |
| 35 | 0.500202 | 0.500042 | 69912392 |
| 17 | 0.50065 | 0.49965 | 59336199 |
| 0.500471 | 0.499471 | 34869002 | |
| tw[a][b]=(double)ti1/200; | 0.499662 | 0.500662 | 59806039 |
| 0.500587 | 0.499587 | 59767604 | |
| Math.abs(jud[0]-jud[1])>0.001 | 0.499518 | 0.500518 | 41271014 |
| 0.500546 | 0.499546 | 51099693 | |
| ret=0.1 | 0.499594 | 0.500594 | 58751931 |
| 0.499632 | 0.500632 | 68068135 | |
| 0.49954 | 0.50054 | 53799487 | |
| 0.500609 | 0.499609 | 80030738 | |
| 0.499625 | 0.500625 | 78555638 | |
| 0.499499 | 0.500499 | 41753267 | |
| 0.500571 | 0.499571 | 66957176 | |
| 0.499661 | 0.500661 | 58737834 | |
| 0.500564 | 0.499564 | 47448803 | |
| 0.499703 | 0.500703 | 55357026 | |
| 0.499607 | 0.500607 | 55595749 | |
| 0.500548 | 0.499548 | 46903503 | |
| 0.499626 | 0.500626 | 59191310 | |
| 0.499629 | 0.500629 | 70024707 | |
| 0.499587 | 0.500587 | 62567294 | |
| 0.499517 | 0.500517 | 24392995 | |
| 0.499747 | 0.500747 | 79681730 | |
| 0.500692 | 0.499692 | 84343653 | |
| 0.500653 | 0.499653 | 57172607 | |
| 0.500635 | 0.499635 | 67990313 | |
| 0.50064 | 0.49964 | 74391095 | |
| 0.499592 | 0.500592 | 67943518 | |
| 0.499592 | 0.500592 | 67180622 | |
| 0.500546 | 0.499546 | 27003113 | |
| 0.499657 | 0.500657 | 61438073 | |
| 0.499606 | 0.500606 | 60559267 | |
| 0.49966 | 0.50066 | 64776072 | |
| 0.499587 | 0.500587 | 47483799 | |
| 0.499631 | 0.500631 | 59139975 | |
| 0.500547 | 0.499547 | 29686439 | |
| 0.499623 | 0.500623 | 44591791 | |
| 0.499602 | 0.500602 | 54192161 | |
| 0.500649 | 0.499649 | 74098409 | |
| 0.500549 | 0.499549 | 41141360 | |
| 0.49964 | 0.50064 | 65396864 | |
| 0.500645 | 0.499645 | 57046591 | |
| 0.499591 | 0.500591 | 55936926 | |
| 0.499653 | 0.500653 | 55118837 | |
| 0.500647 | 0.499647 | 75618246 | |
| 0.499645 | 0.500645 | 69214925 | |
| 0.499701 | 0.500701 | 71459912 | |
| 0.499681 | 0.500681 | 66793640 | |
| 0.499513 | 0.500513 | 51093714 | |
| 0.500507 | 0.499507 | 41322759 | |
| 0.500658 | 0.499658 | 66250148 | |
| 0.500567 | 0.499567 | 27297232 | |
| 0.500566 | 0.499566 | 75743845 | |
| 0.500022 | 0.500192 | 58026278.9 |
| 9 | 0.499627 | 0.500627 | 18218331 |
| 0.500488 | 0.499488 | 24847604 | |
| tw[a][b]=(double)ti1/200; | 0.500673 | 0.499673 | 13381875 |
| 0.500534 | 0.499534 | 40870510 | |
| Math.abs(jud[0]-jud[1])>0.001 | 0.50068 | 0.49968 | 59712613 |
| 0.500512 | 0.499512 | 32636062 | |
| ret=0.1 | 0.500682 | 0.499682 | 87890082 |
| 0.499519 | 0.500519 | 23446996 | |
| 0.499723 | 0.500723 | 1.08E+08 | |
| 0.49962 | 0.50062 | 33038556 | |
| 0.499604 | 0.500604 | 46995494 | |
| 0.500549 | 0.499549 | 24257117 | |
| 0.499653 | 0.500653 | 72162912 | |
| 0.500663 | 0.499663 | 56553545 | |
| 0.500522 | 0.499522 | 35722526 | |
| 0.500564 | 0.499564 | 24791530 | |
| 0.50056 | 0.49956 | 42246763 | |
| 0.500706 | 0.499706 | 54600870 | |
| 0.499646 | 0.500646 | 43246458 | |
| 0.500546 | 0.499546 | 32663741 | |
| 0.500582 | 0.499582 | 17415161 | |
| 0.49958 | 0.50058 | 70934811 | |
| 0.500576 | 0.499576 | 32243653 | |
| 0.500495 | 0.499495 | 42343676 | |
| 0.500675 | 0.499675 | 42515329 | |
| 0.49959 | 0.50059 | 49437484 | |
| 0.500575 | 0.499575 | 37808733 | |
| 0.499659 | 0.500659 | 53235418 | |
| 0.500508 | 0.499508 | 29799826 | |
| 0.500661 | 0.499661 | 55984079 | |
| 0.499577 | 0.500577 | 25143305 | |
| 0.499635 | 0.500635 | 36499155 | |
| 0.500642 | 0.499642 | 57005669 | |
| 0.500714 | 0.499714 | 53734220 | |
| 0.499643 | 0.500643 | 63838452 | |
| 0.500602 | 0.499602 | 58464224 | |
| 0.500626 | 0.499626 | 47485614 | |
| 0.499638 | 0.500638 | 35013326 | |
| 0.499604 | 0.500604 | 59042416 | |
| 0.499646 | 0.500646 | 49875628 | |
| 0.499732 | 0.500732 | 56967543 | |
| 0.500618 | 0.499618 | 75707368 | |
| 0.500684 | 0.499684 | 71306089 | |
| 0.500704 | 0.499704 | 73909070 | |
| 0.500577 | 0.499577 | 42842265 | |
| 0.50062 | 0.49962 | 59883013 | |
| 0.499764 | 0.500764 | 71712217 | |
| 0.499534 | 0.500534 | 32954681 | |
| 0.500578 | 0.499578 | 51213434 | |
| 0.500508 | 0.499508 | 45483021 | |
| 0.500232 | 0.499992 | 47506353 |