{"id":322725,"date":"2021-05-07T09:00:39","date_gmt":"2021-05-07T09:00:39","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=322725"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=322725","title":{"rendered":"\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a, \u0445\u0430\u0431\u0440\u043e\u0436\u0438\u0442\u0435\u043b\u0438. <\/p>\n<p>\u0414\u0430\u0432\u043d\u043e \u0445\u043e\u0442\u0435\u043b \u0437\u0430\u043f\u043e\u0441\u0442\u0438\u0442\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0433\u043e\u0434\u043d\u043e\u0435 \u043d\u0430 \u0425\u0430\u0431\u0440, \u0434\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e \u0438\u0434\u0435\u0438.<\/p>\n<p>\u0418 \u0442\u0443\u0442 \u044f \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0430\u043d\u0443\u043b \u0432 \u043b\u0435\u0442\u0443 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u044b\u043b \u0437\u0430\u043f\u0438\u0441\u0430\u043d. \u042d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0435\u0439 \u043a\u0443\u0440\u0441\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u043a\u043e\u0433\u0434\u0430 \u044f  \u0435\u0435 \u0441\u0434\u0435\u043b\u0430\u043b, \u0437\u043d\u0430\u043d\u0438\u0439 \u0431\u044b\u043b\u043e \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u043e\u0433\u043e-\u0433\u043e. \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0441\u0435 \u0437\u0430\u043d\u043e\u0432\u043e \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u0438 \u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c. \u041e\u0431\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 qt \u0438 c++.<\/p>\n<p>\u0412 \u0441\u0443\u043c\u043c\u0435 \u043e\u043a\u043e\u043b\u043e 300 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430.<\/p>\n<p>\u0412\u043e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/137\/0a0\/a0e\/1370a0a0eaf669644388d7596a8e1a14.png\" width=\"400\" height=\"300\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0432\u0442\u043e\u0440\u043e\u0435:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/45f\/331\/4d9\/45f3314d9899b25e2f08e93aa811e53b.png\" alt=\"\" title=\"\" width=\"400\" height=\"300\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u043d\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 400 \u043d\u0430 300 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432 \u043f\u043e\u043c\u043e\u0449\u044c \u043d\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0437 \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u044b, \u0442\u043e \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 2 \u0441\u043b\u043e\u044f, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0438 \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043b\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043b\u043e\u044e \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u0438\u043b\u0438 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u0436\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c?<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0447\u0435\u0440\u043d\u043e-\u0431\u0435\u043b\u044b\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440 \u0432\u043d\u043e\u0441\u0438\u0442\u044c &#171;y&#187; \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043f\u043e \u043f\u0443\u0442\u0438 \u0441\u0432\u0435\u0440\u0445\u0443-\u0432\u043d\u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0435 \u0431\u0435\u043b\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430, \u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 &#171;x&#187; \u0431\u0443\u0434\u0435\u0442 \u0438 \u0442\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440 (400 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u0430). \u041f\u043e \u0441\u0443\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437\u0435\u0446 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0442\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e &#171;\u043a\u0432\u0430\u0440\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438&#187; \u043c\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0443 \u043a\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u043e\u0442 \u043d\u0435\u0439\u0440\u043e\u043d \u0438 \u043f\u043e\u0431\u0435\u0434\u0438\u043b.<\/p>\n<p>\u041e\u0431\u0443\u0447\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u044b 2 \u0441\u043b\u043e\u044f \u0431\u0443\u0434\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442 \u041a\u043e\u0445\u043e\u043d\u0435\u043d\u0430:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"formula\" source=\"w(t+1)=w(t)-k*|x[i]-w(t)|\" alt=\"w(t+1)=w(t)-k*|x[i]-w(t)|\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f60\/98b\/cc4\/f6098bcc40cb79ffe16f329d40fa4810.svg\" width=\"237\" height=\"20\"><\/p>\n<p>k &#8212; \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, x[i] &#8212; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0435 &#171;y&#187; \u043a\u0430\u043a \u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u043c\u0435\u0448\u043d\u043e, w(t)-\u0432\u0435\u0441\u043e\u0432\u043e\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f,w(t+1) &#8212; \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439. \u041d\u0435\u0439\u0440\u043e\u043d\u044b \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0432\u043e\u0435\u043c\u0443 \u043d\u0435\u0439\u0440\u043e\u043d\u0443 2 \u0441\u043b\u043e\u044f, \u0431\u0435\u0437 \u0441\u043a\u0440\u0435\u0449\u0438\u0432\u0430\u043d\u0438\u044f, \u0442\u0430\u043a\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c(\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e x-&gt;f(x)-&gt;x).<\/p>\n<p>\u041a\u0430\u043a \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u044b \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/77d\/fe1\/0c0\/77dfe10c07d59f7f72f6fee537516c1a.png\" width=\"400\" height=\"300\"><figcaption><\/figcaption><\/figure>\n<p>\u0442\u0443\u0442 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0438 \u0435\u0441\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cb1\/474\/3b0\/cb14743b03a8219f73975ea234f867df.png\" width=\"400\" height=\"300\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0447\u043d\u0435\u043c \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u044b \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u043f\u0440\u0438 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f k = 0,75 \u0438 2-\u0445 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/357\/f9d\/483\/357f9d4835745f2219de2ca0248990bc.png\" width=\"400\" height=\"300\"><figcaption><\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0441\u0433\u0443\u0449\u0430\u0442\u044c\u0441\u044f \u043e\u043a\u043e\u043b\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b21\/832\/b36\/b21832b366e396ce445029e92bedee92.png\" width=\"400\" height=\"300\"><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0437\u0430\u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0434\u0430\u0432\u0430\u043b\u0430, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443 \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>\u041f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f k \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0441\u043e\u043b\u044c\u044e\u0442\u0441\u044f \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0438 \u0438\u0445 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 10^-6 \u0438 \u043c\u0435\u043d\u044c\u0448\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0443 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ee0\/b31\/afa\/ee0b31afa0c8a90070cfc467de2c4ce1.png\" width=\"127\" height=\"140\"><figcaption><\/figcaption><\/figure>\n<p>sum1 \u0438 sum2 &#8212; \u044d\u0442\u043e \u043f\u0440\u044f\u043c\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0432 \u043d\u0443\u043b\u0435\u0432\u044b\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445 &#171;y&#187; \u0441\u043b\u0435\u0432\u0430-\u043d\u0430\u043f\u0440\u0430\u0432\u043e (\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0447\u0438\u0441\u0442\u043e \u043f\u043e \u0444\u0430\u043d\u0443)<\/p>\n<p>v-v &#8212; \u044d\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0435\u0439\u0440\u043e\u043d \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 V-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435, \u0434\u0430\u043b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0434\u043b\u044f v 2533.56, \u0447\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u0430\u043b \u043d\u0435\u0439\u0440\u043e\u043d \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f w-v 39032.4 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0432\u044b\u0439 \u043d\u0435\u0439\u0440\u043e\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043b. \u0410 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u043e\u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e: \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0435\u0439\u0440\u043e\u043d \u043d\u0430 w \u0434\u0430\u043b \u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f w \u0447\u0435\u043c \u0435\u0433\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0430. \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u043f\u043e \u0438\u0442\u043e\u0433\u0443 \u043f\u0440\u044f\u043c\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0445\u0443\u0436\u0435 \u0432\u0441\u0435\u0433\u043e.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f 10 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b61\/3ad\/379\/b613ad3792f612a767d1ce4f396cd7e6.png\" width=\"133\" height=\"136\"><figcaption><\/figcaption><\/figure>\n<p>\u0423\u0436\u0435 \u0442\u0440\u0438 \u0441\u043e\u0442\u044b\u0445, \u0447\u0442\u043e \u0440\u0430\u0434\u0443\u0435\u0442.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0435\u0441\u043b\u0438 \u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443 \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438, \u0442\u043e \u043e\u043d\u0430 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u043e\u0431\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u044b \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 1\u0433\u043e \u0440\u043e\u0434\u0430:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b26\/f37\/447\/b26f3744732db27ea3aef13385bda31f.png\" width=\"141\" height=\"133\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0435\u0442 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b main.cpp:<\/p>\n<pre><code class=\"cpp\">#include &lt;iostream&gt; #include &lt;QtWidgets\/QApplication&gt; #include \"MainWindow.h\"   int main(int argc,char*argv[]) {     QApplication a(argc, argv);     QWidget qw;     MainWindow mw(&amp;qw);     mw.show();     mw.CreateImage(\"\");     mw.CreateImage2(\"\");     mw.OpenImage(\"\");     mw.OpenImage2(\"\");     return a.exec(); } <\/code><\/pre>\n<p>Neuron.h:<\/p>\n<pre><code class=\"cpp\">#pragma once #include &lt;ctime&gt; #include &lt;iostream&gt; #include &lt;vector&gt; class Neuron { public: \tstd::vector&lt;double&gt; x,  y, x0; \tdouble error; \tNeuron(std::vector&lt;double&gt; x, int length, int level); \tint level, length, min_, max_; \tstd::vector&lt;double&gt;  Send(); \tvoid Lerning(int steps); \tdouble Thinking(std::vector&lt;double&gt; xx);  \tstd::vector&lt;double&gt; SendW();  };<\/code><\/pre>\n<p>Neuron.cpp:<\/p>\n<pre><code class=\"cpp\">#include \"Neuron.h\"  Neuron::Neuron(std::vector&lt;double&gt; x,int length,int level) { \tthis-&gt;x = x; \tthis-&gt;length = length; \tif (level == 2) \t{ \t\tsrand(time(NULL)); \t\tmin_ = 0; \t\tmax_ = 300; \t\tfor (size_t i = 0; i &lt; length; i++) \t\t{ \t\t\tx0.push_back(min_ + rand() % (max_ - min_ + 1));  \t\t\ty.push_back(x0[i]); \t\t\t\/\/std::cout &lt;&lt; x0[i] &lt;&lt; std::endl; \t\t} \t} \tthis-&gt;level = level; \tthis-&gt;error = 0.0; }  std::vector&lt;double&gt; Neuron::Send() { \tif (level == 1) \t\treturn this-&gt;x; \telse \t\treturn this-&gt;y; } std::vector&lt;double&gt; Neuron::SendW() { \t\treturn this-&gt;x0; } void Neuron::Lerning(int steps) { \tfloat k = 0.75; \tfor (size_t j = 0; j &lt; steps; j++) \t{ \t\tfor (size_t i = 0; i &lt; length; i++) \t\t{ \t\t\tx0[i] = x0[i] + k* (x[i]-x0[i]); \t\t} \t} } double Neuron::Thinking(std::vector&lt;double&gt; xx) { \terror = 0.0; \tfor (size_t i = 0; i &lt; length; i++) \t{ \t\ty[i] = abs(xx[i] - x0[i]); \t\terror += y[i]; \t} \treturn error; } <\/code><\/pre>\n<p>NeuralNet.h<\/p>\n<pre><code class=\"cpp\">#pragma once #include \"Neuron.h\" \/\/#include &lt;vector&gt; class NeuralNet { public: \tstd::vector&lt;Neuron*&gt; l1,l2; \tvoid InitNeurons(std::vector&lt;double&gt; x, int length); \tvoid LearnNeurons(int steps, int i); \tdouble TestNeurons(int i, std::vector&lt;double&gt; xx); }; <\/code><\/pre>\n<p>NeuralNet.cpp<\/p>\n<pre><code class=\"cpp\">#include \"NeuralNet.h\"  void NeuralNet::InitNeurons(std::vector&lt;double&gt; x,int length) { \tl1.push_back(new Neuron(x,length,1)); } void NeuralNet::LearnNeurons(int steps,int i) { \t\tl2.push_back(new Neuron(l1[i]-&gt;Send(), l1[i]-&gt;length, 2)); \t\tl2[i]-&gt;Lerning(steps); } double NeuralNet::TestNeurons(int i, std::vector&lt;double&gt; xx) { \tdouble res = 0.0 ; \tres = l2[i]-&gt;Thinking(xx); \treturn res; } <\/code><\/pre>\n<p>MainWindow.h<\/p>\n<pre><code class=\"cpp\">#pragma once #include &lt;QtWidgets\/qmainwindow.h&gt; #include &lt;QtGui\/qpicture.h&gt; #include &lt;QtGui\/qimage.h&gt; #include &lt;QtGui\/qpainter.h&gt; #include &lt;QtCore\/qdebug.h&gt;  #include &lt;vector&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; \/\/ \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 #include &lt;iomanip&gt;  #include \"NeuralNet.h\" #pragma comment(lib,\"Qt5Core.lib\") #pragma comment(lib,\"Qt5Widgets.lib\") #pragma comment(lib,\"Qt5Gui.lib\")  namespace Ui {     class MainWindow; } \/\/Q_OBJECT class MainWindow : public QMainWindow {     \/\/Q_OBJECT public:     explicit MainWindow(QWidget* parent = 0);     void CreateImage(QString path);     void CreateImage2(QString path);     void OpenImage(QString path);     void OpenImage2(QString path);     std::vector&lt;double&gt; x1, x2, zeros1, zeros2;     QImage* image_t1, * image_t2 ;     NeuralNet net;     \/\/ ~MainWindow(); protected:     void paintEvent(QPaintEvent*); \/\/ \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438      private:     Ui::MainWindow* ui;      };<\/code><\/pre>\n<p>MainWindow.cpp<\/p>\n<pre><code class=\"cpp\">#include \"MainWindow.h\" MainWindow::MainWindow(QWidget* parent)     : QMainWindow(parent) {     setWindowTitle(tr(\"Neural\"));     setGeometry(0, 0, 1000, 700); } void MainWindow::paintEvent(QPaintEvent*) {     QImage img(\"testImage.png\"); \/\/ \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443     QPainter painter(this); \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 painter, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435     painter.drawImage(0, 0, img.scaled(this-&gt;size())); \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u043d\u0430\u0448\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 0,0 \u0438 \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u0432\u0438\u0434\u0436\u0435\u0442\u0443 }  void MainWindow::CreateImage(QString path) {     QImage image(QSize(400, 300), QImage::Format_RGB32);     QPainter painter(&amp;image);     painter.fillRect(QRectF(0, 0, 400, 300), Qt::white);     painter.setPen(QPen(Qt::black));     painter.drawLine(0, 0, image.width() \/ 2, image.height());     painter.drawLine(image.width() \/ 2, image.height(), image.width(), 0);      image.save(\"testImage.png\"); } void MainWindow::CreateImage2(QString path) {     QImage image(QSize(400, 300), QImage::Format_RGB32);     QPainter painter(&amp;image);     painter.fillRect(QRectF(0, 0, 400, 300), Qt::white);     painter.setPen(QPen(Qt::black));     painter.drawLine(0, 0, image.width() \/ 4, image.height());     painter.drawLine(image.width() \/ 4, image.height() , image.width() \/ 2, 0);     painter.drawLine(image.width() \/ 2, 0, 3 * image.width() \/ 4, image.height());     painter.drawLine(3*image.width() \/ 4, image.height(), image.width() , 0);      image.save(\"testImage2.png\"); }  void MainWindow::OpenImage(QString path) {     image_t1 = new QImage(\"testImage.png\");     QPoint qp;     std::ofstream fout(\"data.txt\", std::ios_base::out | std::ios_base::trunc);      for (int i = 0; i &lt; image_t1-&gt;width(); i++)     {         for (int j = 0; j &lt; image_t1-&gt;height(); j++)         {             qp.setX(i);             qp.setY(j);             if (image_t1-&gt;pixel(qp) != 4294967295\/* 4278190080*\/)             {                 x1.push_back(j);                 zeros1.push_back(abs(150-j));                 \/\/qDebug() &lt;&lt; j &lt;&lt; \" \";                 fout &lt;&lt; j&lt;&lt; std::endl;                 break;             }         }      }     qDebug() &lt;&lt;\"size:\"&lt;&lt; x1.size() &lt;&lt; \" \";     int sum = 0;     for (int j = 0; j &lt; zeros1.size(); j++)     {         sum += zeros1[j];     }     qDebug() &lt;&lt; \"sum1=\" &lt;&lt; sum &lt;&lt; \" \";     fout.close();          net.InitNeurons(x1, x1.size());     net.LearnNeurons(10,0);     \/\/net.TestNeurons(0);     for (size_t i = 0; i &lt; net.l2[0]-&gt;SendW().size(); i++)     {         qp.setX(i);         qp.setY(int(net.l2[0]-&gt;SendW()[i]));         image_t1-&gt;setPixel(qp, Qt::red);     }     image_t1-&gt;save(\"testImage1-1-1-1-000000.png\");      } void MainWindow::OpenImage2(QString path) {     image_t2 = new QImage(\"testImage2.png\");     QPoint qp;     std::ofstream fout(\"data.txt\", std::ios_base::out | std::ios_base::trunc);      for (int i = 0; i &lt; image_t2-&gt;width(); i++)     {         for (int j = 0; j &lt; image_t2-&gt;height(); j++)         {             qp.setX(i);             qp.setY(j);             if (image_t2-&gt;pixel(qp) != 4294967295\/* 4278190080*\/)             {                 x2.push_back(j);                 fout &lt;&lt; j &lt;&lt; std::endl;                 zeros2.push_back(abs(150 - j));                 \/\/qDebug() &lt;&lt; j &lt;&lt; \" \";                 break;             }         }      }     qDebug() &lt;&lt; \"size:\" &lt;&lt; x2.size() &lt;&lt; \" \";     int sum = 0;     for (int j = 0; j &lt; zeros2.size(); j++)     {         sum += zeros2[j];     }     qDebug()&lt;&lt;\"sum2=\" &lt;&lt; sum &lt;&lt; \" \";     fout.close();          net.InitNeurons(x2, x2.size());     net.LearnNeurons(10,1);     qDebug() &lt;&lt;\"v - v\"&lt;&lt; net.TestNeurons(0, x1);     qDebug() &lt;&lt;\"v - w\"&lt;&lt; net.TestNeurons(0, x2);     qDebug() &lt;&lt;\"w - v\"&lt;&lt; net.TestNeurons(1, x1);     qDebug() &lt;&lt;\"w - w\"&lt;&lt; net.TestNeurons(1, x2);     for (size_t i = 0; i &lt; net.l2[1]-&gt;SendW().size(); i++)     {         qp.setX(i);         qp.setY(int(net.l2[1]-&gt;SendW()[i]));         \/\/qDebug() &lt;&lt; int(net.l2[1]-&gt;SendW()[i]) &lt;&lt; \" \";\/\/ std::endl;         image_t2-&gt;setPixel(qp, Qt::red);     }     image_t2-&gt;save(\"testImage2-2-2-2-000000.png\");      } <\/code><\/pre>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/556242\/\"> https:\/\/habr.com\/ru\/post\/556242\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>\u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a, \u0445\u0430\u0431\u0440\u043e\u0436\u0438\u0442\u0435\u043b\u0438. <\/p>\n<p>\u0414\u0430\u0432\u043d\u043e \u0445\u043e\u0442\u0435\u043b \u0437\u0430\u043f\u043e\u0441\u0442\u0438\u0442\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0433\u043e\u0434\u043d\u043e\u0435 \u043d\u0430 \u0425\u0430\u0431\u0440, \u0434\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e \u0438\u0434\u0435\u0438.<\/p>\n<p>\u0418 \u0442\u0443\u0442 \u044f \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043b \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0430\u043d\u0443\u043b \u0432 \u043b\u0435\u0442\u0443 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u044b\u043b \u0437\u0430\u043f\u0438\u0441\u0430\u043d. \u042d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0435\u0439 \u043a\u0443\u0440\u0441\u043e\u0432\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u043a\u043e\u0433\u0434\u0430 \u044f  \u0435\u0435 \u0441\u0434\u0435\u043b\u0430\u043b, \u0437\u043d\u0430\u043d\u0438\u0439 \u0431\u044b\u043b\u043e \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u043e\u0433\u043e-\u0433\u043e. \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0441\u0435 \u0437\u0430\u043d\u043e\u0432\u043e \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u0438 \u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0432\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c. \u041e\u0431\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 qt \u0438 c++.<\/p>\n<p>\u0412 \u0441\u0443\u043c\u043c\u0435 \u043e\u043a\u043e\u043b\u043e 300 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430.<\/p>\n<p>\u0412\u043e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0432\u0442\u043e\u0440\u043e\u0435:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u043d\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 400 \u043d\u0430 300 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432 \u043f\u043e\u043c\u043e\u0449\u044c \u043d\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0438\u0437 \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0439\u0440\u043e\u043d\u043e\u0432 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u044b, \u0442\u043e \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 2 \u0441\u043b\u043e\u044f, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0438 \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043b\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043b\u043e\u044e \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0448\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0443 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u0438\u043b\u0438 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u0436\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c?<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0447\u0435\u0440\u043d\u043e-\u0431\u0435\u043b\u044b\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440 \u0432\u043d\u043e\u0441\u0438\u0442\u044c &#171;y&#187; \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043f\u043e \u043f\u0443\u0442\u0438 \u0441\u0432\u0435\u0440\u0445\u0443-\u0432\u043d\u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0435 \u0431\u0435\u043b\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430, \u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 &#171;x&#187; \u0431\u0443\u0434\u0435\u0442 \u0438 \u0442\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440 (400 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u0430). \u041f\u043e \u0441\u0443\u0442\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437\u0435\u0446 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0442\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e &#171;\u043a\u0432\u0430\u0440\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438&#187; \u043c\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0443 \u043a\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u043e\u0442 \u043d\u0435\u0439\u0440\u043e\u043d \u0438 \u043f\u043e\u0431\u0435\u0434\u0438\u043b.<\/p>\n<p>\u041e\u0431\u0443\u0447\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u044b 2 \u0441\u043b\u043e\u044f \u0431\u0443\u0434\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442 \u041a\u043e\u0445\u043e\u043d\u0435\u043d\u0430:<\/p>\n<p>k &#8212; \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, x[i] &#8212; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0435 &#171;y&#187; \u043a\u0430\u043a \u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u043c\u0435\u0448\u043d\u043e, w(t)-\u0432\u0435\u0441\u043e\u0432\u043e\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f,w(t+1) &#8212; \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439. \u041d\u0435\u0439\u0440\u043e\u043d\u044b \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0432\u043e\u0435\u043c\u0443 \u043d\u0435\u0439\u0440\u043e\u043d\u0443 2 \u0441\u043b\u043e\u044f, \u0431\u0435\u0437 \u0441\u043a\u0440\u0435\u0449\u0438\u0432\u0430\u043d\u0438\u044f, \u0442\u0430\u043a\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c(\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430 \u0435\u0441\u043b\u0438 \u0447\u0442\u043e x-&gt;f(x)-&gt;x).<\/p>\n<p>\u041a\u0430\u043a \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u044b \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0442\u0443\u0442 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0438 \u0435\u0441\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0447\u043d\u0435\u043c \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u044b \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u043f\u0440\u0438 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f k = 0,75 \u0438 2-\u0445 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0441\u0433\u0443\u0449\u0430\u0442\u044c\u0441\u044f \u043e\u043a\u043e\u043b\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u043e \u0441\u0443\u0442\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0437\u0430\u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0434\u0430\u0432\u0430\u043b\u0430, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443 \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>\u041f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f k \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0441\u043e\u043b\u044c\u044e\u0442\u0441\u044f \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0438 \u0438\u0445 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u0441\u0442 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 10^-6 \u0438 \u043c\u0435\u043d\u044c\u0448\u0435.<\/p>\n<p>\u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0443 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>sum1 \u0438 sum2 &#8212; \u044d\u0442\u043e \u043f\u0440\u044f\u043c\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0432 \u043d\u0443\u043b\u0435\u0432\u044b\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445 &#171;y&#187; \u0441\u043b\u0435\u0432\u0430-\u043d\u0430\u043f\u0440\u0430\u0432\u043e (\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0447\u0438\u0441\u0442\u043e \u043f\u043e \u0444\u0430\u043d\u0443)<\/p>\n<p>v-v &#8212; \u044d\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0435\u0439\u0440\u043e\u043d \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0430 V-\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435, \u0434\u0430\u043b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0434\u043b\u044f v 2533.56, \u0447\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u0430\u043b \u043d\u0435\u0439\u0440\u043e\u043d \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f w-v 39032.4 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0432\u044b\u0439 \u043d\u0435\u0439\u0440\u043e\u043d \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043b. \u0410 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u043e\u0436\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e: \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043d\u0435\u0439\u0440\u043e\u043d \u043d\u0430 w \u0434\u0430\u043b \u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f w \u0447\u0435\u043c \u0435\u0433\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0430. \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u043f\u043e \u0438\u0442\u043e\u0433\u0443 \u043f\u0440\u044f\u043c\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0445\u0443\u0436\u0435 \u0432\u0441\u0435\u0433\u043e.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f 10 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u0433\u043e \u0436\u0435 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0423\u0436\u0435 \u0442\u0440\u0438 \u0441\u043e\u0442\u044b\u0445, \u0447\u0442\u043e \u0440\u0430\u0434\u0443\u0435\u0442.<\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0435\u0441\u043b\u0438 \u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043f\u043e \u0446\u0435\u043d\u0442\u0440\u0443 \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438, \u0442\u043e \u043e\u043d\u0430 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u043e\u0431\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u044b \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 1\u0433\u043e \u0440\u043e\u0434\u0430:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0435\u0442 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b main.cpp:<\/p>\n<pre><code class=\"cpp\">#include &lt;iostream&gt; #include &lt;QtWidgets\/QApplication&gt; #include \"MainWindow.h\"   int main(int argc,char*argv[]) {     QApplication a(argc, argv);     QWidget qw;     MainWindow mw(&amp;qw);     mw.show();     mw.CreateImage(\"\");     mw.CreateImage2(\"\");     mw.OpenImage(\"\");     mw.OpenImage2(\"\");     return a.exec(); } <\/code><\/pre>\n<p>Neuron.h:<\/p>\n<pre><code class=\"cpp\">#pragma once #include &lt;ctime&gt; #include &lt;iostream&gt; #include &lt;vector&gt; class Neuron { public: \tstd::vector&lt;double&gt; x,  y, x0; \tdouble error; \tNeuron(std::vector&lt;double&gt; x, int length, int level); \tint level, length, min_, max_; \tstd::vector&lt;double&gt;  Send(); \tvoid Lerning(int steps); \tdouble Thinking(std::vector&lt;double&gt; xx);  \tstd::vector&lt;double&gt; SendW();  };<\/code><\/pre>\n<p>Neuron.cpp:<\/p>\n<pre><code class=\"cpp\">#include \"Neuron.h\"  Neuron::Neuron(std::vector&lt;double&gt; x,int length,int level) { \tthis-&gt;x = x; \tthis-&gt;length = length; \tif (level == 2) \t{ \t\tsrand(time(NULL)); \t\tmin_ = 0; \t\tmax_ = 300; \t\tfor (size_t i = 0; i &lt; length; i++) \t\t{ \t\t\tx0.push_back(min_ + rand() % (max_ - min_ + 1));  \t\t\ty.push_back(x0[i]); \t\t\t\/\/std::cout &lt;&lt; x0[i] &lt;&lt; std::endl; \t\t} \t} \tthis-&gt;level = level; \tthis-&gt;error = 0.0; }  std::vector&lt;double&gt; Neuron::Send() { \tif (level == 1) \t\treturn this-&gt;x; \telse \t\treturn this-&gt;y; } std::vector&lt;double&gt; Neuron::SendW() { \t\treturn this-&gt;x0; } void Neuron::Lerning(int steps) { \tfloat k = 0.75; \tfor (size_t j = 0; j &lt; steps; j++) \t{ \t\tfor (size_t i = 0; i &lt; length; i++) \t\t{ \t\t\tx0[i] = x0[i] + k* (x[i]-x0[i]); \t\t} \t} } double Neuron::Thinking(std::vector&lt;double&gt; xx) { \terror = 0.0; \tfor (size_t i = 0; i &lt; length; i++) \t{ \t\ty[i] = abs(xx[i] - x0[i]); \t\terror += y[i]; \t} \treturn error; } <\/code><\/pre>\n<p>NeuralNet.h<\/p>\n<pre><code class=\"cpp\">#pragma once #include \"Neuron.h\" \/\/#include &lt;vector&gt; class NeuralNet { public: \tstd::vector&lt;Neuron*&gt; l1,l2; \tvoid InitNeurons(std::vector&lt;double&gt; x, int length); \tvoid LearnNeurons(int steps, int i); \tdouble TestNeurons(int i, std::vector&lt;double&gt; xx); }; <\/code><\/pre>\n<p>NeuralNet.cpp<\/p>\n<pre><code class=\"cpp\">#include \"NeuralNet.h\"  void NeuralNet::InitNeurons(std::vector&lt;double&gt; x,int length) { \tl1.push_back(new Neuron(x,length,1)); } void NeuralNet::LearnNeurons(int steps,int i) { \t\tl2.push_back(new Neuron(l1[i]-&gt;Send(), l1[i]-&gt;length, 2)); \t\tl2[i]-&gt;Lerning(steps); } double NeuralNet::TestNeurons(int i, std::vector&lt;double&gt; xx) { \tdouble res = 0.0 ; \tres = l2[i]-&gt;Thinking(xx); \treturn res; } <\/code><\/pre>\n<p>MainWindow.h<\/p>\n<pre><code class=\"cpp\">#pragma once #include &lt;QtWidgets\/qmainwindow.h&gt; #include &lt;QtGui\/qpicture.h&gt; #include &lt;QtGui\/qimage.h&gt; #include &lt;QtGui\/qpainter.h&gt; #include &lt;QtCore\/qdebug.h&gt;  #include &lt;vector&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; \/\/ \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 #include &lt;iomanip&gt;  #include \"NeuralNet.h\" #pragma comment(lib,\"Qt5Core.lib\") #pragma comment(lib,\"Qt5Widgets.lib\") #pragma comment(lib,\"Qt5Gui.lib\")  namespace Ui {     class MainWindow; } \/\/Q_OBJECT class MainWindow : public QMainWindow {     \/\/Q_OBJECT public:     explicit MainWindow(QWidget* parent = 0);     void CreateImage(QString path);     void CreateImage2(QString path);     void OpenImage(QString path);     void OpenImage2(QString path);     std::vector&lt;double&gt; x1, x2, zeros1, zeros2;     QImage* image_t1, * image_t2 ;     NeuralNet net;     \/\/ ~MainWindow(); protected:     void paintEvent(QPaintEvent*); \/\/ \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438      private:     Ui::MainWindow* ui;      };<\/code><\/pre>\n<p>MainWindow.cpp<\/p>\n<pre><code class=\"cpp\">#include \"MainWindow.h\" MainWindow::MainWindow(QWidget* parent)     : QMainWindow(parent) {     setWindowTitle(tr(\"Neural\"));     setGeometry(0, 0, 1000, 700); } void MainWindow::paintEvent(QPaintEvent*) {     QImage img(\"testImage.png\"); \/\/ \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443     QPainter painter(this); \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 painter, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435     painter.drawImage(0, 0, img.scaled(this-&gt;size())); \/\/ \u0440\u0438\u0441\u0443\u0435\u043c \u043d\u0430\u0448\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 0,0 \u0438 \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u0432\u0438\u0434\u0436\u0435\u0442\u0443 }  void MainWindow::CreateImage(QString path) {     QImage image(QSize(400, 300), QImage::Format_RGB32);     QPainter painter(&amp;image);     painter.fillRect(QRectF(0, 0, 400, 300), Qt::white);     painter.setPen(QPen(Qt::black));     painter.drawLine(0, 0, image.width() \/ 2, image.height());     painter.drawLine(image.width() \/ 2, image.height(), image.width(), 0);      image.save(\"testImage.png\"); } void MainWindow::CreateImage2(QString path) {     QImage image(QSize(400, 300), QImage::Format_RGB32);     QPainter painter(&amp;image);     painter.fillRect(QRectF(0, 0, 400, 300), Qt::white);     painter.setPen(QPen(Qt::black));     painter.drawLine(0, 0, image.width() \/ 4, image.height());     painter.drawLine(image.width() \/ 4, image.height() , image.width() \/ 2, 0);     painter.drawLine(image.width() \/ 2, 0, 3 * image.width() \/ 4, image.height());     painter.drawLine(3*image.width() \/ 4, image.height(), image.width() , 0);      image.save(\"testImage2.png\"); }  void MainWindow::OpenImage(QString path) {     image_t1 = new QImage(\"testImage.png\");     QPoint qp;     std::ofstream fout(\"data.txt\", std::ios_base::out | std::ios_base::trunc);      for (int i = 0; i &lt; image_t1-&gt;width(); i++)     {         for (int j = 0; j &lt; image_t1-&gt;height(); j++)         {             qp.setX(i);             qp.setY(j);             if (image_t1-&gt;pixel(qp) != 4294967295\/* 4278190080*\/)             {                 x1.push_back(j);                 zeros1.push_back(abs(150-j));                 \/\/qDebug() &lt;&lt; j &lt;&lt; \" \";                 fout &lt;&lt; j&lt;&lt; std::endl;                 break;             }         }      }     qDebug() &lt;&lt;\"size:\"&lt;&lt; x1.size() &lt;&lt; \" \";     int sum = 0;     for (int j = 0; j &lt; zeros1.size(); j++)     {         sum += zeros1[j];     }     qDebug() &lt;&lt; \"sum1=\" &lt;&lt; sum &lt;&lt; \" \";     fout.close();          net.InitNeurons(x1, x1.size());     net.LearnNeurons(10,0);     \/\/net.TestNeurons(0);     for (size_t i = 0; i &lt; net.l2[0]-&gt;SendW().size(); i++)     {         qp.setX(i);         qp.setY(int(net.l2[0]-&gt;SendW()[i]));         image_t1-&gt;setPixel(qp, Qt::red);     }     image_t1-&gt;save(\"testImage1-1-1-1-000000.png\");      } void MainWindow::OpenImage2(QString path) {     image_t2 = new QImage(\"testImage2.png\");     QPoint qp;     std::ofstream fout(\"data.txt\", std::ios_base::out | std::ios_base::trunc);      for (int i = 0; i &lt; image_t2-&gt;width(); i++)     {         for (int j = 0; j &lt; image_t2-&gt;height(); j++)         {             qp.setX(i);             qp.setY(j);             if (image_t2-&gt;pixel(qp) != 4294967295\/* 4278190080*\/)             {                 x2.push_back(j);                 fout &lt;&lt; j &lt;&lt; std::endl;                 zeros2.push_back(abs(150 - j));                 \/\/qDebug() &lt;&lt; j &lt;&lt; \" \";                 break;             }         }      }     qDebug() &lt;&lt; \"size:\" &lt;&lt; x2.size() &lt;&lt; \" \";     int sum = 0;     for (int j = 0; j &lt; zeros2.size(); j++)     {         sum += zeros2[j];     }     qDebug()&lt;&lt;\"sum2=\" &lt;&lt; sum &lt;&lt; \" \";     fout.close();          net.InitNeurons(x2,<\/code><\/pre>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-322725","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/322725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=322725"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/322725\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=322725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=322725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=322725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}