虽然现在市面已经有很多化学软件可以用于模拟原子,分子甚至小型蛋白质。但那些软件多是收费的,使用起来也很繁琐。至少要学到化学硕士才有可能接触这些模拟软件,但对于大多数化学爱好者来说多数情况下想知道的只是两种物质作用的基本过程和规律,并不需要计算出的值有多精确。

用万有引力和电磁力做一个模型很显然是错误的,因为已经被量子力学否定掉了。就是没有否定掉,一个像氯原子的17体问题也不太可能得到什么有意义的解。

而如果把神经网络的权重当做概率幅好像是可以解决这个问题,

用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型

这个仿照f2分子做的模型,如果我们把这个模型给卷起来

用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型

 

 

这个模型开起来似乎更像原子,只不过模型里是用两层网络来模拟电子和电子的相互作用。

同样cl2分子的模型

 

用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型

 

卷起来

用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型

 

还有br2分子

用神经网络做分子模型是不是扯淡,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

 

 

相关文章: