tag:blogger.com,1999:blog-15715310746977900442024-03-06T02:06:08.637+03:00.Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.comBlogger210125tag:blogger.com,1999:blog-1571531074697790044.post-71839106970302778122021-08-26T02:36:00.006+03:002021-08-26T02:36:47.596+03:00Сравнение результатов подбора конструктивных схем здания человеком и ИИ<p> Вот и завершился мой личный эксперимент длинной в 4 года. В 2017 году я начал реализовывать самый амбициозный проект в моей жизни, а именно начал оцифровывать мой опыт конструирования каркасов зданий. За это время я совершил большое количество ошибочных предположений, но одно из них было неизменно. За основную аксиому я принял то, что человек это просто набор математических функций и поведение любого человека как и принимаемые им решения можно описать опираясь на законы математики. При этом если что то не получается , то это не уходит в статус "невозможного", оно по умолчанию "возможно" , просто еще не найдет оптимальный вариант решения, по сути это доказал еще Гёдель в 1930 году. <span></span></p><a name='more'></a><p></p><p> Теорема Гёделя для моей задачи по сути звучит так , если возможно выделить n-ное число правил/аксиом умственных операций совершающих инженером при конструировании подчиняющихся правилам арифметики, то добавление новых аксиом не создаст противоречивых результатов. Иными словами если вы что-то описываете математически, то будет существовать n-ное количество решений тождественных заданной системе аксиом. А если не получается, то это значит , что существующая система аксиом еще не завершена и где то есть вариант системы аксиом которые формализуют систему в целом. </p><p> Саму модель мною определенных аксиом/правил я не буду раскрывать, ровно как и патентовать, я думаю что это лишнее и разработать то, что удалось мне скорее всего 1 к 1 не получится никак, вариантов бесконечное множество. </p><p> Первые результаты я получил еще больше года назад, но самые значимые успехи начали получатся только в январе этого года. И на каком-то из этапов я решил проверить насколько вариант подбираемый искусственным интеллектом еще в <a href="https://disk.yandex.ru/d/2bx7IqVY2qGm9A">старой версии программы Prometey</a> будет сопоставим с результатом подбора коллективом специалистов инженеров-конструкторов. Для сравнения я выбрал примерно два одинаковых корпуса, задачи которые решали люди и ИИ:</p><p><b>- выровнять напряжение в пилонах, что бы максимальные и минимальные напряжения были с минимальными перепадами</b></p><p><b>- положение пилонов должно вызывать минимальные прогибы в плите перекрытия </b></p><p><b>- положение пилонов должны вызывать минимальные напряжения в верхнем и нижнем слое плиты перекрытия, для минимизации сечения арматуры </b></p><p><b>- выход бетона на конструкциях одного этажа по отношению к продаваемой площади этажа должен быть минимальный из возможных </b></p><p> Конечно ИИ не может учесть всех частных случаев, например он не может поставить дополнительную стену на первом этаже вместо двух пилонов из-за объёмно планировочных решений которые немного изменили конструктивную схему 1-го этажа. В таких задачах без человека пока не обойтись. Но у меня задача найти 99% неизвестных в задаче подбора оптимальной конструктивной схемы здания. </p><p> И вот тут самое время высказать вторую фундаментальную аксиому, человек не может разработать условное множество решений для одного архитектурного плана. Человек может только подозревать, что он обладает большим количеством знаний и многие даже могут их немного систематизировать, но как дело дойдет до конкретного количества вариантов решений, человек просто не может осознать весь объем информации и хоть как то ее систематизировать, а ИИ может. </p><p> В качестве эксперимента я взял два очень похожих здания, оба еще на стадии концепции. Первый дом прорабатывал ИИ и назовем этот <b>дом №1</b>, а второй дом прорабатывали два специалиста в общей сложности 20 рабочих дней и назовем этот <b>дом №2</b>. </p><p>План пилонов дома №1:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNdp_stKNit-c5BhDJ5KiwE5CwI9LtVJ8CjkpQr6mMfdn2-5ufAx3X_6advxcZ9BAjpe6YADLe98nSkDVKHqXxHoHAsd-3U0tv-ZjGxKGkSqb8CuDir748U704c8yRouFjT6UoFHtfs6W5/s1241/13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="751" data-original-width="1241" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNdp_stKNit-c5BhDJ5KiwE5CwI9LtVJ8CjkpQr6mMfdn2-5ufAx3X_6advxcZ9BAjpe6YADLe98nSkDVKHqXxHoHAsd-3U0tv-ZjGxKGkSqb8CuDir748U704c8yRouFjT6UoFHtfs6W5/w640-h388/13.png" width="640" /></a></div><br /><p>План пилонов дома №2:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwGqEheGYPD9F8b1CoEHKBF1kyhQQoxSk3hyN3yLQTFwmN6ZCcc4Xrt2oGEA7ia_5Kdv5KbxgjP4cIFwDNciC5j-oQMT29otSm7IsLYg5Kil_y6Nv-jiWOa2m8ppFxBeZ_qLqeanowf5t4/s1181/14.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="579" data-original-width="1181" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwGqEheGYPD9F8b1CoEHKBF1kyhQQoxSk3hyN3yLQTFwmN6ZCcc4Xrt2oGEA7ia_5Kdv5KbxgjP4cIFwDNciC5j-oQMT29otSm7IsLYg5Kil_y6Nv-jiWOa2m8ppFxBeZ_qLqeanowf5t4/w640-h314/14.png" width="640" /></a></div><br /><p><a href="https://www.youtube.com/watch?v=yV_PzHJLzkU&t=2s">Процесс подбора вариантов ИИ </a>я записал на видео еще много месяцев назад и за ночь ИИ смог перебрать 1000 вариантов схем. Живые люди за 20 рабочих дней в сумме проработали только несколько вариантов. Почему так ? конструктор в компании застройщика обременен работой не только по своей основной деятельности: кто то звонит и спрашивает вопросы по старому объекту, возможно всплыл старый косяк и необходимо срочно внести изменение, человек всегда будет пытаться не делать работу которая ему не понятна до конца, иногда руководитель отдела отвлекает со своими вопросами и т. д., Всегда есть 1000 вариантов почему специалиста могут отвлечь от работы и он будет долго вспоминать то что делал 5 минут назад. А ИИ этим всем не обременен, он просто перерабатывает миллиарды сложных операций в своей сложной системе нейросетей и генетических алгоритмов.</p><p> Теперь давайте посмотрим на напряжения в пилонах по обоим вариантам схем, для начала <b>дом №1 (ИИ):</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBGFbtzXR6IeO0IccsZnGG62pnDCM0VYSzXBJnhRkKE6WPVUZkYwvUUURETO55OsFx-R9hYh_0PV382Q2vj2qwsozRRNywMmxRm17B07y1ZpGWwYPwu8UW7XMElGgYGJaAehdos4OrYj9r/s1497/22.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1161" data-original-width="1497" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBGFbtzXR6IeO0IccsZnGG62pnDCM0VYSzXBJnhRkKE6WPVUZkYwvUUURETO55OsFx-R9hYh_0PV382Q2vj2qwsozRRNywMmxRm17B07y1ZpGWwYPwu8UW7XMElGgYGJaAehdos4OrYj9r/w640-h496/22.png" width="640" /></a></div><br /><p><b>Дом №2 (человечество):</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-EkI7WtVTtia-xz7oyoBKvQeXdq4LGlWQjVy_nypdl5oQpIfMnWdLiE1HVfelEaIw0KZVrrXTJJlRaabXaGAtuHPp1c6SQXwS1r9Eu9VLQkfIkmY0krcioGDSIOnufoWkdzZeS2v60Twz/s1669/21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="985" data-original-width="1669" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-EkI7WtVTtia-xz7oyoBKvQeXdq4LGlWQjVy_nypdl5oQpIfMnWdLiE1HVfelEaIw0KZVrrXTJJlRaabXaGAtuHPp1c6SQXwS1r9Eu9VLQkfIkmY0krcioGDSIOnufoWkdzZeS2v60Twz/w640-h378/21.png" width="640" /></a></div><br /><p> Если проанализировать вертикальные конструкции, то из-за не совсем равномерного положения пилонов в схеме №2, происходит большая концентрация напряжений в углах пилонов и с большим значениями. Но этажность зданий отличается , №1 -13 этажей , №2 - 18 этажей. </p><p> Но при этом пилоны в здании №1 не более 1000 мм по длине, а в здании №2 от 1000 до 1400, поэтому скачки напряжений до 6500 Т/м2 вызвали переармирование, особенно 32 арматуры. Для сравнения спецификация арматуры по конструкциям 1-го этажа <b>дома №1:</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0YQYNROaLSEdP2i05lUSMaRjRtmOOR0YzhT0AzXO-mUjHhSV-slZ9wShlYnTORn_ZKDSrjOekURsBIeUbfhw5eXhRxGy3hw-1OCROBtF3f3cXJQZ7cABUPNLwthcX_RauynJxqJuaKCT2/s1051/21.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="1051" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0YQYNROaLSEdP2i05lUSMaRjRtmOOR0YzhT0AzXO-mUjHhSV-slZ9wShlYnTORn_ZKDSrjOekURsBIeUbfhw5eXhRxGy3hw-1OCROBtF3f3cXJQZ7cABUPNLwthcX_RauynJxqJuaKCT2/w640-h242/21.png" width="640" /></a></div><br /><p><b>Дом №2 :</b></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5NTRlpoKe_e8yQUa8wX5GLNg1VJUpoMeVcS5PEivF8PtxJlPO4A3NNjNTtH147iTTBkCYMKacZit_htZvGE3LntSo0TQOrO4VtVDkRPGsLaLEiYlABO_4s3tmFnOnyNe3bfAj-yJPsLuo/s899/22.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="339" data-original-width="899" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5NTRlpoKe_e8yQUa8wX5GLNg1VJUpoMeVcS5PEivF8PtxJlPO4A3NNjNTtH147iTTBkCYMKacZit_htZvGE3LntSo0TQOrO4VtVDkRPGsLaLEiYlABO_4s3tmFnOnyNe3bfAj-yJPsLuo/w640-h242/22.png" width="640" /></a></div><br /><p> Как видно например арматуры 32 диаметра в доме №1 - 3 тонны , а в доме №2 уже 16 тонн. Это все вызвано не равномерным положением пилонов в здании.</p><p> Ну и как итог , даже не дожидаясь разработки всех разделов рабочей документации я решил подвести итоги в одной таблице:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ArXN8aaOeYX0iyYCao9pQVox9l_PPm3w6KXuJ5Xf8kOaj4p2q_H34kGHH3vTTR0wPrepBLWiqgz-HfxkRZWmsuBBtRY5dzSz1D3CDNF18mwJq2EtBXQVC5mk5g0d1aE4NqVhdYjMIqF8/s656/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="539" data-original-width="656" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7ArXN8aaOeYX0iyYCao9pQVox9l_PPm3w6KXuJ5Xf8kOaj4p2q_H34kGHH3vTTR0wPrepBLWiqgz-HfxkRZWmsuBBtRY5dzSz1D3CDNF18mwJq2EtBXQVC5mk5g0d1aE4NqVhdYjMIqF8/w400-h329/3.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"> Разница в расходе железобетона на м2 продаваемой площади составляет 1 сотую, 0.37 против 0.36. Разницу в расходе арматуры на вертикальных элементах спишем на разную этажность зданий. Но разница в расходах по плитам зависит именно уже от расположения пилонов. Если честно я думал результат будет не в сторону ИИ, так как эта была одна из самых первых версий ИИ, да и сам Prometey был обделен многими параметрами при анализе решений. И поэтому я решили прогнать план здания №1 еще раз, но уже через последнюю не опубликованную версию Prometey:</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikJwvOoUzdhgwCEpjplzxiE_jyt0QW6BTXGh1kzS7arPaS0RY3yshUd1Jw_-et0P4OpvirYc-hPbNFWdtyYgLw0aF0mSMV9ruYEZmx0XdPVA3Uz7HUi4_kutkKlkFGnWPVM-4KRLkR6bno/s1581/23.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="866" data-original-width="1581" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikJwvOoUzdhgwCEpjplzxiE_jyt0QW6BTXGh1kzS7arPaS0RY3yshUd1Jw_-et0P4OpvirYc-hPbNFWdtyYgLw0aF0mSMV9ruYEZmx0XdPVA3Uz7HUi4_kutkKlkFGnWPVM-4KRLkR6bno/w640-h350/23.png" width="640" /></a></div><div><br /></div><div> У оригинальной версии расположения пилонов в доме №1 результат эффективности равен 4.51, при этом за 2 часа работы ИИ он смог найти еще более эффективные варианты расположения и еще скинуть 2 кг арматуры с 1 м3 бетона, номер файла на скрине выше - <b>K314 v1 - 0.346 - 4 - 20210825170929085 - 3,694017.</b> При этом , все при том же количестве пилонов на этаже (39), расположение пилонов уже немного отличается:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZlWPkohruzsd8dQWySa6BxN5SyJKaxZnlsas8thIf1nrlKTqib6PMX4v6Lhxvbid_Acq32adbR0ve_PQJcuRQwLVpAX4L6-7-nfHzceD9alF7zn8PJt_PxpObkP68ihKcdBBTBCjVNiWe/s1517/24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="755" data-original-width="1517" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZlWPkohruzsd8dQWySa6BxN5SyJKaxZnlsas8thIf1nrlKTqib6PMX4v6Lhxvbid_Acq32adbR0ve_PQJcuRQwLVpAX4L6-7-nfHzceD9alF7zn8PJt_PxpObkP68ihKcdBBTBCjVNiWe/w640-h318/24.png" width="640" /></a></div><br /><div>При этом видно, что еще разброс по сжимающим усилиям по пилонам от 8 до 30 тонн, при среднем значении 20 тонн. Значит еще нет предела совершенству. </div><div>Теперь немного арифметики, мой ПК потребляет при 100% загрузке 1 кВт * ч или 5.66 рубля, теоретических 2 кг с 1м3 ИИ нашел за 3 часа работы, то есть мне это обошлось в 5.66*3=16,98 рубля. </div><div>Теперь переведем 2 кг с каждого М^3 на каркасе дома №2, 80 000 р * 0.002 * 5569 = 891 040 р. </div><div><br /></div><div><b>Вывод:</b> ИИ смог расположить пилоны так , что фактическое армирование смогло уменьшится приблизительно на 3 кг с одного М^3, а это примерно равно 80 000 р * 0.003 * 5569 = 1 336 560 р. Иными словами общая экономия на данный момент с учетом еще даже более оптимального расположения пилонов смогла принести 1 336 560 + 891 040 = <b>2 227 600 р.</b> С одной стороны это довольно ощутимая сумма, но если учесть что этот объект находится в Подмосковье и цена одного М^2 составляет 130 000р. и если взять общий объем продаваемой площади то мы получим 15666 * 130 000р = <b>2 036 580 000р</b> выручки, оставим за скобками объем чистой прибили из этой суммы. И теперь давайте попробуем найти сколько % от выручки составляет сэкономленная сумма: 2 227 600 / 2 036 580 000 *100 = <b>0,1 %</b>. </div><div>Даже если предположить, что если умственные характеристики инженеров людей после коронавируса падают (<a href="https://tjournal.ru/science/414704-uchenye-podtverdili-chto-koronavirus-vyzyvaet-uhudshenie-intellekta-i-on-ne-vosstanavlivaetsya-posle-vyzdorovleniya">утверждают британские ученые</a>) и больше никогда не восстановятся и это приведет к тому, что нами разрабатываемые конструктивные схемы зданий станут менее оптимальные, например раза в 2, то мы всего лишь начнём экономить 10 кг с одного М^3. Колебания цен на рынке материалов намного более значительны чем экономия этого материала. </div><div><br /></div><div>На мой взгляд, все же основная выгода от ИИ, это оптимизация работы инженеров-конструкторов. Для понимания, здание №1 стадию П разрабатывали 28 , здание №2 - 41 человека дня. Стоимость одного рабочего дня в разных проектных компаниях разная , она зависит от наличия/отсутствия удаленной работы, местоположения офиса, количества эффективных/не эффективных менеджеров, ДМС и т.д., возьмем для примера 20 000 р. , если взять разницу во времени между домом №1 и №2 , она составляет 13 дней или 13 * 20 000р = 260 000р.</div><div><br /></div><div>Но есть еще и второй вывод , он намного более глубокий , емкий и сложный, но о нем я все же напишу одновременно с выпуском Prometey на новом ядре. </div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-36807941215910758092021-04-19T23:41:00.001+03:002021-04-19T23:41:28.540+03:00Prometey 2.0 , Robot Structural Analysis и SCAD 21 - сравнение результатов расчета <p> Сейчас веду активную работу над теоретическим армированием. Оказывается все разработчики ПО для расчетов строительных конструкций подходят по разному в вопросе нахождения теоретического армирования. </p><p> Перед нахождением теоретического армирования у всех разработчиков на руках результаты найденных напряжений по каждому КЭ в виде девяти <a href="https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BD%D0%B7%D0%BE%D1%80_%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9">тензоров напряжений</a>:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Vw11ASaiEIW4bc_4FKgYmG2Zf3TECniatweGYlQonFULwvX4e_sD6T9LVn455jt2AZTHEuLhONWvgt7GvXYGupwi1uI-BrvDH7UeYEGhtpKitEAHn1ItKjouF2gq5hiU1_AUkbVwICi5/s531/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="278" data-original-width="531" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Vw11ASaiEIW4bc_4FKgYmG2Zf3TECniatweGYlQonFULwvX4e_sD6T9LVn455jt2AZTHEuLhONWvgt7GvXYGupwi1uI-BrvDH7UeYEGhtpKitEAHn1ItKjouF2gq5hiU1_AUkbVwICi5/s320/1.png" width="320" /></a></div><div><br /></div><span></span><span><a name='more'></a></span><div><br /></div><p> Но для того что бы в коде не запутаться с направлениями X, Y, Z, они заменены на цифры:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHEV14_Jvn3xr6wSqHTzgfziNGRQzwe831ndPNKeWUBe-D_dRsw-EU4Zf5D84FQ41jY5Jy3yXyHwqre1E-Ui9KC6LSFUJ7iYm1gts9dWp59H6Y02W8zhmeixonWHsRi0L_ntc4pGz8-o4F/s585/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="445" data-original-width="585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHEV14_Jvn3xr6wSqHTzgfziNGRQzwe831ndPNKeWUBe-D_dRsw-EU4Zf5D84FQ41jY5Jy3yXyHwqre1E-Ui9KC6LSFUJ7iYm1gts9dWp59H6Y02W8zhmeixonWHsRi0L_ntc4pGz8-o4F/s320/2.png" width="320" /></a></div> Имея на руках 9 тензоров можно легко определить изгибающие моменты Mx и My. Например мне в Prometey они не нужны в том виде в котором все привыкли их видеть. Дело в том, что для строителей в ВУЗах навязывается для понимания физического смысла сопромата и строительной механики такое понятие как "растянутое волокно". Мы рассматриваем положительное значение изгибающего момента в пролете с низу (плиты/балки) и отрицательное сверху. В случае граничных условий в виде защемления на опорах, опорный изгибающий момент будет положительным уже с верху. Но для получения теоретического армирования этого не достаточно, мы должны иметь на руках напряжения S11 и S22 для двух точек, сверху и снизу. Но на самом деле тензор напряжений может быть найдет в любой точке рассматриваемого конечного элемента, не обязательно строго сверху, снизу или по середине:<div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi514cNiBwRtUJsOmBU5f0NKHMaK_fHJsXz9HiCPId16bBe_ZzexZdRjlua1GNpMgjvTUjmuLWjWjb89r6Q0Mfak8tJYpI_mQSZ1P73x1hC7kMo_Qtt-JwTvFIufOo76asbiR3yzaRW__vy/s422/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="305" data-original-width="422" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi514cNiBwRtUJsOmBU5f0NKHMaK_fHJsXz9HiCPId16bBe_ZzexZdRjlua1GNpMgjvTUjmuLWjWjb89r6Q0Mfak8tJYpI_mQSZ1P73x1hC7kMo_Qtt-JwTvFIufOo76asbiR3yzaRW__vy/s320/3.png" width="320" /></a></div><br /><div> В RSA например пользователю можно задать в относительных единицах от -1 до +1 значение поиска тензора напряжений, -1 это низ, +1 это верх, 0 - середина. Когда я писал код для Prometey я задавался вопросом о задании математической модели слоистых КЭ, но решил ограничиться классической оболочкой в 1 слой. </div><div> После того как у нас есть на руках 4 тензора напряжений для нахождения теоретического армирования по каждому из направлений мы можем собственно найти теоретическое армирование. И вот тут мне подножку первой поставила трещиностойкость. В любой расчетной программе расчет на трещиностойкость сводится к вводу в предварительных настройках диаметра арматуры, класса бетона, класса арматуры и расстояния до центра тяжести. Эти данные нам необходимы для понимания максимального раскрытия трещин не превышающих 0.3 мм при постоянных нагрузках. Но на практике реализация трещиностойкости оказалась всего лишь верхушкой айсберга стоящего на костылях и похоже каждый разработчик ПО систему костылей формирует по своему. <br /></div><div> Для сравнения результатов подбора теоретического армирования я выбрал произвольную расчетную схему. </div><div><br /></div><div><b>Начнем с сравнения прогибов:</b></div><div><b><br /></b></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeYPN2KGzL1guBl0w2zS0oHr_ViV7I_ANBYVpZHSnWKCtMaQb4jzvztbMQbUdXMWAb3J3aPM3Aj2Y08Rg7wwPyrsico9PoOPLHpUjKmHCDXbWidf5_9otjCwnFpUUJWKnxQ9yMasy_6J9w/s1168/prm+%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25B1%25D1%258B.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="732" data-original-width="1168" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeYPN2KGzL1guBl0w2zS0oHr_ViV7I_ANBYVpZHSnWKCtMaQb4jzvztbMQbUdXMWAb3J3aPM3Aj2Y08Rg7wwPyrsico9PoOPLHpUjKmHCDXbWidf5_9otjCwnFpUUJWKnxQ9yMasy_6J9w/w640-h402/prm+%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25B1%25D1%258B.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRYHs-FLHlGYBz7tI-jn9zi-7Ep4n5cwpzAi4ZM1RAwZ6rQiBa2ly58eox18nvpcAFZ6Esx05Zly_sKEiNkyXrwDnk_f9LWmKVu1ogc5JULDOjn7VOUbq7u-szxTT7HPY7TX2ZlW-8qKU5/s1641/rsa+%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25B1%25D1%258B.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1002" data-original-width="1641" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRYHs-FLHlGYBz7tI-jn9zi-7Ep4n5cwpzAi4ZM1RAwZ6rQiBa2ly58eox18nvpcAFZ6Esx05Zly_sKEiNkyXrwDnk_f9LWmKVu1ogc5JULDOjn7VOUbq7u-szxTT7HPY7TX2ZlW-8qKU5/w640-h390/rsa+%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25B1%25D1%258B.png" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPQNa5Lr1etdbF3sCgkYCNEubrhqmTi6oPi26Tgzw1a020b3PglUvKKQRiGrymFrl_GDPKbftYKd4ofgu6tcNLfipvM2lgQfbkbk_NUtFaRS1wCCwHXLnEOQm-JPPAshIKjn7MkbYJ0xrx/s2048/%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25B1%25D1%258B.png" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="1075" data-original-width="2048" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPQNa5Lr1etdbF3sCgkYCNEubrhqmTi6oPi26Tgzw1a020b3PglUvKKQRiGrymFrl_GDPKbftYKd4ofgu6tcNLfipvM2lgQfbkbk_NUtFaRS1wCCwHXLnEOQm-JPPAshIKjn7MkbYJ0xrx/w640-h336/%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D0%25B8%25D0%25B1%25D1%258B.png" width="640" /></a><div class="separator" style="clear: both; text-align: left;"><span style="text-align: left;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="text-align: left;">Prometey - 133 мм</span></div><div class="separator" style="clear: both; text-align: left;">RSA - 81 мм</div><div class="separator" style="clear: both; text-align: left;">SCAD - 121 мм</div><div class="separator" style="clear: both; text-align: left;">Отличие RSA от Prometey и SCAD в том что RSA находит прогибы по физически нелинейной модели , где для каждого КЭ находится коэффициент снижения жесткости. А в Prometey и SCAD я принял общий коэффициент снижения начального модуля упругости бетона. В скором времени я реализую физическую нелинейность и для Prometey.</div></div></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Рассмотрим теперь нижнее армирование по Х:</b></div><div class="separator" style="clear: both; text-align: right;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nyGrVpJMld27O39j3an4SI0Lh04aye6qtffIuGcQD86HPHm79pLycsgsfzBM9OUB1vjSdDqlW4ubWIQ5wPgJCJYtiiqlMiiDeIekSR7ZiiHZY0RcbHsqvCWUJiJzm1PzK0ojrx_RvVYj/s1345/prm+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="826" data-original-width="1345" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nyGrVpJMld27O39j3an4SI0Lh04aye6qtffIuGcQD86HPHm79pLycsgsfzBM9OUB1vjSdDqlW4ubWIQ5wPgJCJYtiiqlMiiDeIekSR7ZiiHZY0RcbHsqvCWUJiJzm1PzK0ojrx_RvVYj/w640-h394/prm+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMOfNXfqDQzy8VqqhipPEBG32gzGmabs7GkeIKEpRozeWEbQOd0szYLFMiB6kUxJ0A5GsZE2eVmGNR7Z9nTA3ssvjn-rMKvUTbh3RjXHMEEeIhJ2IiL69z7-lIuGYQOOFWS9qTr3Nmo2P5/s1658/rsa+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1012" data-original-width="1658" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMOfNXfqDQzy8VqqhipPEBG32gzGmabs7GkeIKEpRozeWEbQOd0szYLFMiB6kUxJ0A5GsZE2eVmGNR7Z9nTA3ssvjn-rMKvUTbh3RjXHMEEeIhJ2IiL69z7-lIuGYQOOFWS9qTr3Nmo2P5/w640-h390/rsa+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhONd2VruLr6gqfxK6RQgiTfW0yRLEXjYauWRQVq7LOQZIXrsqYpZWbvh7LeL3JGoYKcV5vyatU9-oMo0KWVL2o8kJOZWA8Qj8KnmadZ4tFKhi9VqnRWp4vRVCyngO8UMSQDo_Gj5Uxi0a9/s2048/%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="2048" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhONd2VruLr6gqfxK6RQgiTfW0yRLEXjYauWRQVq7LOQZIXrsqYpZWbvh7LeL3JGoYKcV5vyatU9-oMo0KWVL2o8kJOZWA8Qj8KnmadZ4tFKhi9VqnRWp4vRVCyngO8UMSQDo_Gj5Uxi0a9/w640-h352/%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.PNG" width="640" /></a></div><br /></div><div class="separator" style="clear: both; text-align: left;">Результаты Prometey и SCAD отличаются примерно на 1 см^2, RSA же показывает значения в среднем на 3-5 см^2 больше. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Нижнее армирование по Y:</b></div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicBJ3jw5Z_iN8pd3SUqFIwPLspqoVBZ4yadIV2-ew9oq6aFR4Tr_rIo658gAP9WsvxW23WjNL_tU9gwCYoTUkaSjnISJdTimqjEqbB58gfvDW8WRnRHWsJT3HdEEmI0u7ZDENJZNYMuiYn/s1334/prm+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="825" data-original-width="1334" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicBJ3jw5Z_iN8pd3SUqFIwPLspqoVBZ4yadIV2-ew9oq6aFR4Tr_rIo658gAP9WsvxW23WjNL_tU9gwCYoTUkaSjnISJdTimqjEqbB58gfvDW8WRnRHWsJT3HdEEmI0u7ZDENJZNYMuiYn/w640-h396/prm+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjqTsjttEvuWS9rUP0MlSOu_Q24VdDa7DzS_NNuzSNwZxH_W5s996T8tanrbvmYgMfVsdoIRYtafKy0_mQmNJEePZJjMsdzdHq3nVvt_h3-E7qgwQbdz0K6tQSAzAgzT7U2zuiwil1p_ho/s1680/rsa+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1002" data-original-width="1680" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjqTsjttEvuWS9rUP0MlSOu_Q24VdDa7DzS_NNuzSNwZxH_W5s996T8tanrbvmYgMfVsdoIRYtafKy0_mQmNJEePZJjMsdzdHq3nVvt_h3-E7qgwQbdz0K6tQSAzAgzT7U2zuiwil1p_ho/w641-h382/rsa+%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" width="641" /></a><div class="separator" style="clear: both; display: inline;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPi0GLs5Z8OFxMpi21VPGRNWWGh56kRR4spXQh9RUtX_E2z8v8U-KPeWVvp2yrSqaGGYY7fL9J9ZuMYFp692Jwljecoed_VwYsEBSJRdVv1JYGlJecU3g3_Xz-0_3r5y2ok0fa1ksvIvt-/s2048/%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+Y.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1118" data-original-width="2048" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPi0GLs5Z8OFxMpi21VPGRNWWGh56kRR4spXQh9RUtX_E2z8v8U-KPeWVvp2yrSqaGGYY7fL9J9ZuMYFp692Jwljecoed_VwYsEBSJRdVv1JYGlJecU3g3_Xz-0_3r5y2ok0fa1ksvIvt-/w640-h350/%25D0%25BD%25D0%25B8%25D0%25B6%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+Y.PNG" width="640" /></a></div></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">И снова результаты Prometey и SCAD отличаются примерно на 1-2 см^2, RSA же показывает значения в среднем на 5-13 см^2 больше. При этом очень много элементов с нижней растянутой арматурой в нижней зоне опорных зон, что само по себе невозможно и при этом со значениями в десятки тысяч см^2.</div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: left;"><b>Верхнее армирование по Х:</b></div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyURxVFxXoH9uJelL9HiZuvnyF9YjbHv-txHQBwCis75ovEsc0X7cYCIjFe9KcIR5G32zQlXQaYTi1G7FFBgo20eo40ZA8OOglD61bbMgjUntWtL07hzYzy7Fp9e4gL_xjFofCMuNTyrFt/s1355/prm+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="815" data-original-width="1355" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyURxVFxXoH9uJelL9HiZuvnyF9YjbHv-txHQBwCis75ovEsc0X7cYCIjFe9KcIR5G32zQlXQaYTi1G7FFBgo20eo40ZA8OOglD61bbMgjUntWtL07hzYzy7Fp9e4gL_xjFofCMuNTyrFt/w640-h384/prm+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL4H_D-nosXIFCI_83ilOSvfVjSPQjogac6TGnDvl_lEQRD2ZfJ3rL-xVtCf5AcSAxv3cRXvIp0J2_jqnJjwC9BhhNrvfZa_CUK1onEtwb-LuTF0RUA2vb0-cLbUNF1VkEAU3QoKDSjnrE/s1649/rsa+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1006" data-original-width="1649" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL4H_D-nosXIFCI_83ilOSvfVjSPQjogac6TGnDvl_lEQRD2ZfJ3rL-xVtCf5AcSAxv3cRXvIp0J2_jqnJjwC9BhhNrvfZa_CUK1onEtwb-LuTF0RUA2vb0-cLbUNF1VkEAU3QoKDSjnrE/w640-h390/rsa+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiYBUwWDeTsr2Jn7pkKOU-mIndpaF4mAScVPIvpr7eeCyZF-bo8xmSsHTYEQNH18rGSgh2CBrPEzh8aUHjDGGZELvFQMul7ip7GX3xZw2PkUfrH3LphfC8mdH3zcDNpNzyVOBJCnmMW7zL/s2048/%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1124" data-original-width="2048" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiYBUwWDeTsr2Jn7pkKOU-mIndpaF4mAScVPIvpr7eeCyZF-bo8xmSsHTYEQNH18rGSgh2CBrPEzh8aUHjDGGZELvFQMul7ip7GX3xZw2PkUfrH3LphfC8mdH3zcDNpNzyVOBJCnmMW7zL/w640-h352/%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A5.PNG" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Если не обращать внимание на пики значений, то все три программы показывают не большие различия в значениях теоретического армирования, разбежка в пределах 5-10%.</div><div class="separator" style="clear: both; text-align: left;"><b><br /></b></div><div class="separator" style="clear: both; text-align: left;"><b>Верхнее армирование по У:</b></div><div class="separator" style="clear: both; text-align: center;"><br /></div><img border="0" data-original-height="846" data-original-width="1371" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6VVeff7BNjO6DSv0Gux9-PwlUSmI0_7j9nxv2tVBTH11q16NKXcDVrzKbcLXJVo7DXtIVY316YuwmFdlcJkqFpn5AEzjij3U025Ph5-1abvLmNnmigUfQnR8QsdYk5AyNiucGx8Anjmt5/w640-h394/prm+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" width="640" /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPJzhK5vqEJW5v6lCyTLE3-0beBkDLhszbTsGhxI4WjuuZMwbfe6C9q0_pcwUjnb1OeE46FB77EImCh2LTeiCoXZzGBPiI0I9x4KZ_Ezf_zYTm38-qqwohqE2R31ebjbweIM5krfN4U6eq/s1655/rsa+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="998" data-original-width="1655" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPJzhK5vqEJW5v6lCyTLE3-0beBkDLhszbTsGhxI4WjuuZMwbfe6C9q0_pcwUjnb1OeE46FB77EImCh2LTeiCoXZzGBPiI0I9x4KZ_Ezf_zYTm38-qqwohqE2R31ebjbweIM5krfN4U6eq/w640-h386/rsa+%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCUptCVPZdgF-TMHoAYx5fn1eHXsU3Fk5wHryjtPp4oS_m7qrqyMneDk5cZc4CR8LbpxsvNPzcEnI8KNboU2ZlIZtV6ePcEasjp43GBq94caubj3ViYIcHjcD9vnPfO3fHuFiHlXtTQqD/s2048/%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1123" data-original-width="2048" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTCUptCVPZdgF-TMHoAYx5fn1eHXsU3Fk5wHryjtPp4oS_m7qrqyMneDk5cZc4CR8LbpxsvNPzcEnI8KNboU2ZlIZtV6ePcEasjp43GBq94caubj3ViYIcHjcD9vnPfO3fHuFiHlXtTQqD/w640-h350/%25D0%25B2%25D0%25B5%25D1%2580%25D1%2585%25D0%25BD%25D1%258F%25D1%258F+%25D0%25BF%25D0%25BE+%25D0%25A3.PNG" width="640" /></a></div><br />По направлению "У" снова Prometey и SCAD показывают близкие результаты, в то время как RSA показывает значения на 10-25% выше первых двух. <br /><br /><b>Вывод:</b> разработчики RSA похоже так и не смогли разобраться в наших нормах подбора арматуры. В ближайшем обновлении будут исправлены все недочеты реализации расчета на трещиностойкость в текущей версии Prometey, в сравнении я использовал версию 2.0.0.3, она скоро будет доступна для скачивания. А пока можно <a href="https://disk.yandex.ru/d/2bx7IqVY2qGm9A">скачать версию 2.0.0.2</a>.<br /><div></div></div><div>Обсуждение программы в<a href="https://t.me/AIprometey"> телеграмм канале</a>.</div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com4tag:blogger.com,1999:blog-1571531074697790044.post-41118610831339258392021-03-20T20:48:00.007+03:002021-04-04T12:55:43.238+03:00Prometey 2.0 Руководство пользователя <p><b><span style="font-size: large;"><a href="https://disk.yandex.ru/d/2bx7IqVY2qGm9A">ссылка на программу</a> </span></b></p><p>Краткий обзор возможностей программы на примере:</p><p><b></b></p><div class="separator" style="clear: both; text-align: center;"><b><iframe allowfullscreen="" class="BLOG_video_class" height="368" src="https://www.youtube.com/embed/tSI_utLPRZw" width="473" youtube-src-id="tSI_utLPRZw"></iframe></b></div><p></p><p><b><span style="font-size: large;">1. Вступление.</span></b></p><p>Программа Prometey 2.0 - это продолжение мобильной версии программы которая перевернет твое сознание и раздвинет тебе привычные рамки понимания окружающих тебя вещей. Она создана для помощи, а не для замены инженеров искусственным интеллектом. </p><p>Prometey 2.0 - это оцифрованная копия инженера конструктора, а точнее цифровой двойник его опыта, только уже намного более точный и производительный. Это полноценный искусственный интеллект под управлением различных нейросетей , генетических алгоритмов и просто сложных алгоритмов работающих в связке с друг другом. </p><p>Возможности Prometey 2.0:</p><p> - расставляет колонны/пилоны на архитектурном плане здания строго в архитектурных стенах</p><p>- создает сотни, тысячи, десятки и даже сотни тысяч вариантов различного расположения </p><p>- находит напряжения в вертикальных несущих элементах (N, Mx, My, Mz, Qx, Qy)</p><p>- находит деформации в плите перекрытия </p><p>- находит основные напряжения <span face="Arial, Helvetica, sans-serif" style="background-color: white; color: #666666; font-size: 18px;">σ</span>х и <span face="Arial, Helvetica, sans-serif" style="background-color: white; color: #666666; font-size: 18px;">σ</span>у по верхней и нижней плоскости плиты перекрытия </p><p>- определяет эффективность каждого варианта конструктивной схемы здания в рамках теории основанной на статистическом анализе 100 000 вариантов расчетных схем зданий подготовленных ИИ</p><p>- составляет отчет со всеми эпюрами и сохраняет его на жестком диске за уникальным ID номером</p><p>Помимо новых функций в программе остались и портированы все старые функции мобильной версии:</p><p>- Экспресс оценка изгибающих моментов возникающих в плите перекрытия </p><p>- Экспресс оценка распределения грузовых площадей вертикальных конструкций </p><p>- И многие другие <span></span></p><a name='more'></a><p></p><p><b><span style="font-size: large;">2. Начало работы.</span></b></p><p>Большинство элементов управления будет дорабатываться со временем, на данный момент программа находится в активной фазе разработки. Поэтому первое время будет не привычно , но мы стараемся сделать программу лучше.</p><p>Для начала необходимо сбросить чертеж архитектурного плана здания в папку по пути:</p><p>C:\Users\[имя пользователя]\AppData\LocalLow\EnionProject\Prometey 2.0\screenshots</p><p>Расширение файла должно быть "<b>.png</b>", после этого нажать кнопку <b>Заменить подложку</b>, далее нажать <b>загрузить подложку</b> и выбрать интересующий план здания:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuqw70cs7aw4HjjqOOp3m5ycCiYzCxeyNSc6IK1x1zLqD9rbgZnbTTaJTlzex62DxlLF20y9GxYrzy-yfbbhJshYoxUB3gx3yDcuGl6FD4Sul8zLpPeJISfVq3opxtGn0eEjqhMzXilOea/s1933/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1049" data-original-width="1933" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuqw70cs7aw4HjjqOOp3m5ycCiYzCxeyNSc6IK1x1zLqD9rbgZnbTTaJTlzex62DxlLF20y9GxYrzy-yfbbhJshYoxUB3gx3yDcuGl6FD4Sul8zLpPeJISfVq3opxtGn0eEjqhMzXilOea/w651-h354/1.png" width="651" /></a></div><p>После того как вставили подоснову, нажмите кнопку<b> подбор масштаба </b>и сверху выставляйте множитель до того момента, пока мы не получим совпадение размера с реальным:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBNQLClncyLHvaGtc2ynanx1xFGKBCg0YYAON6b3WRHWV4tkwlGeVzPmQQ6a-khDuKjrYS0WrvDTfdDXt_iX_KcDwdrP32PP-X67WHTmK_k3ANlDxUoJeN389j2YYQXD_5u7toXAmuJZZA/s1933/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1041" data-original-width="1933" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBNQLClncyLHvaGtc2ynanx1xFGKBCg0YYAON6b3WRHWV4tkwlGeVzPmQQ6a-khDuKjrYS0WrvDTfdDXt_iX_KcDwdrP32PP-X67WHTmK_k3ANlDxUoJeN389j2YYQXD_5u7toXAmuJZZA/w648-h348/2.png" width="648" /></a></div><div><br /></div><div>Далее необходимо обвести контур плиты перекрытия с помощью инструмента <b>узлы перекрытия</b>, либо отрисовать архитектурные стены либо нанести несущие стены. При нанесении несущих стен рекомендуется оставлять небольшой зазор между узлами стен:</div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkYchy44vosmJX_wLUIDk3wX6S4N06uL8OaKwvh5XHSzGgjVcjX1UyRnm7CTImW0wlbpm4v64AYqYUMc45OW5M4uC_Z3heA7Nxsjzqvv4IT7meg4GD-OOti-hKOR5KQyHea7T9KOj3QoC/s1933/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1097" data-original-width="1933" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdkYchy44vosmJX_wLUIDk3wX6S4N06uL8OaKwvh5XHSzGgjVcjX1UyRnm7CTImW0wlbpm4v64AYqYUMc45OW5M4uC_Z3heA7Nxsjzqvv4IT7meg4GD-OOti-hKOR5KQyHea7T9KOj3QoC/w647-h368/3.png" width="647" /></a></div></div><br /><p>Искусственному интеллекту можно помочь и предварительно расставить пилоны/колонны , а остальные он уже разместит сам. </p><p><b><span style="font-size: large;">3. Автоматическое расположение колонн/пилонов</span></b></p><p>Перед запуском данной функции обязательно сохраните модель, сохранение и загрузка модели осуществляется через верхнюю панель , просто нажмите сверху на кнопку <b>открыть.</b></p><p>Слева сверху на панели интерфейса вы можете увидеть краткую характеристику конструктивной схемы здания:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd6kqd6nakFoRlO3OisX1mLu8zCVJHLxyT9RYwvGI9y1D-ByisZAmRHYReX3Qw1H7zVVN9GliKJKKGxNbzfNrHTSbNUS-gh7s7ww09V_MoEMApEmAIiqIYBw2j8tpo3FxQQ2kvzz_jnxGG/s159/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="159" data-original-width="109" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd6kqd6nakFoRlO3OisX1mLu8zCVJHLxyT9RYwvGI9y1D-ByisZAmRHYReX3Qw1H7zVVN9GliKJKKGxNbzfNrHTSbNUS-gh7s7ww09V_MoEMApEmAIiqIYBw2j8tpo3FxQQ2kvzz_jnxGG/s0/4.png" /></a></div>RZsum = сумма всех реакций опор в узлах колонн/пилонов, вертикальная нагрузка от 1-го этажа<div>RZmin = минимальное значение опорной реакции</div><div>RZmax = максимальное значение опорной реакции</div><div>DZsum = сумма вертикальных перемещений всех конечных элементов</div><div>DZmin = минимальное вертикальное перемещение (в абсолютном значении оно максимальное)</div><div>DZmax = максимальное вертикальное перемещение</div><div>Ssum = сумма всех нормальных напряжений по верхней грани (абсолютные значения)</div><div>Pilons = число вертикальных элементов (колонны/пилоны)</div><div>n = число конечных элементов</div><div><br /></div><div>Теперь подробная инструкция по кнопкам справа:</div><div><b>kill all process -</b> аварийное завершения процесса работы ИИ, но в силу сложности алгоритмов распределения процессов задействования многопточности CPU и GPU, нельзя возобновить работу ИИ после аварийной остановки. Для возобновления работы придется вернуться в главное меню и запустить Prometey повторно. Поэтому очень важно сохранить модель плана здания до начала работы ИИ.</div><div><b><br /></b></div><div><b>RUN AI</b> - самая главная функция всей программы, запускает сложный процесс работы множества нейросетей, генетических алгоритмов и просто алгоритмов задействования многопточности CPU и GPU. Одновременный запуск числа <b>n</b> клиентов программы не ограничен условно. Условная граница - возможности вашего персонального ПК. Не рекомендуется доведение GPU или CPU выше 90% использования. </div><div>Данная функция вызывает бесконечную рекурсия самой себя, то есть это вечный цикл (600 лет работы) в котором ИИ за количество<b> #iter</b> (общее число попыток) пытается разместить 1 колонну/пилон за <b>#subiter </b>(число под шагов) на одну попытку размещения. В этом сложно разобраться не поэкспериментировав.</div><div>По умолчанию число итераций размещения колонн/пилонов - 20 000, в зависимости от задач это число можно менять в ту или иную сторону. Так же в зависимости от задач можно изменять количество подшагов который совершает ИИ в виде агента (красный куб на плане). </div><div><br /></div><div><b>step</b> - это размер подшага в метрах. То есть при размере подшага 0,2 , общий максимальный путь который будет пытаться совершить ИИ составит 0,2 * 300 = 60 метров. Не рекомендуется увеличивать размер под шага, наоборот рекомендуется его уменьшать от значения по умолчания. Данная величина прямопорционально влияет на скорость работы ИИ (как и другие параметры), При меньших значениях чем 0,2 увеличивается точность расположения колонн/пилонов. </div><div><br /></div><div><b>%</b> - это точность нейросетей, как показала практика даже при 5% точности ИИ показывает феноменальные результаты. Но в любом случае увеличение точности влечет за собой увеличение точности общей задачи. Что подойдет вам, покажет только практика использования ИИ в своих задачах. </div><div><br /></div><div><b>time</b> - это время паузы (в секундах) между итерациями, по умолчанию значение 0, но из-за многопоточности и одновременной работы нескольких агентов (копий программы), они иногда влияют на результаты друг друга и рекомендуется выставлять небольшое значение искусственной задержки, например значение 0,1. Что будет удобнее вам покажет только практика, частота ядра, количество ядер/потоков, пропускная способность шины CPU и многое другое.</div><div><br /></div><div><b>radius</b> - это примерный шаг между колоннами/пилонами который будет пытаться сохранить ИИ с небольшим отклонением от заданного значения. Можно конечно отключить "примерность" , но я решил научить ИИ импровизировать в рамках разумного.</div><div><br /></div><div><b>MLFE</b> - размер конечного элемента для МКЭ ядра на основе Csparse в котором реализована <a href="https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%A5%D0%BE%D0%BB%D0%B5%D1%86%D0%BA%D0%BE%D0%B3%D0%BE">факторизация Холецкого</a>. В будущем будет так же доступно альтернативное расчетное ядро в виде машинного обучения конечных элементов. </div><div><br /></div><div><b><span style="font-size: large;">4. Конечные элементы </span></b></div><div><b><br /></b></div><div>Перед запуском ИИ необходимо подобрать размер конечных элементов, рекомендуемый размер конечных элементов 0,2 метра, по умолчанию стоит значение 0,4. Размер конечного элемента влияет на общую производительность:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHcFyO1YUcVsNwK845Rbr4WxhAJW7qfmpxOYsJe0wItJP_UMja4KOJXTYTY4h4hrT7FqnK4ax2qD1pesMrjIDcIpWZgwMonnZBlSMUZoGWR7gTentbKCDQn7qgHUcfaFS7KDw5Pp5ECqn0/s196/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="184" data-original-width="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHcFyO1YUcVsNwK845Rbr4WxhAJW7qfmpxOYsJe0wItJP_UMja4KOJXTYTY4h4hrT7FqnK4ax2qD1pesMrjIDcIpWZgwMonnZBlSMUZoGWR7gTentbKCDQn7qgHUcfaFS7KDw5Pp5ECqn0/s0/5.png" /></a></div>В представленной таблице время обработки расчетной схемы подготовленной ИИ в секундах. Рекомендуемое число конечных элементов 30 000 - 50 000. И опять же только пользователь задает ему подходящее число КЭ и их размер. <br /><div><br /></div><div><b>Greate FEM</b> - это функция для предварительной оценки числа конечных элементов (старого mesh ядра):</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_x7iCIwK3ZhbyGvqmy4-8LxYPQjl5gM5uQMB_GqB-27oGuzl_CtyHys1ZyKlnfn_kS6XdAWANhorsjlV3MAM66IaN8fxhBpninLVO_UfxhqJYcDpJ4mcFuj3jlUWXLOJCdm24zHcCCO-H/s1942/6.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="962" data-original-width="1942" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_x7iCIwK3ZhbyGvqmy4-8LxYPQjl5gM5uQMB_GqB-27oGuzl_CtyHys1ZyKlnfn_kS6XdAWANhorsjlV3MAM66IaN8fxhBpninLVO_UfxhqJYcDpJ4mcFuj3jlUWXLOJCdm24zHcCCO-H/w624-h310/6.png" width="624" /></a></div><br /><div>Сверху слева видно число элементов, оно попадает в рекомендуемый диапазон. Для ускорения расчетов схем подготовленных ИИ была убрана краевая оптимизация конечных элементов, поэтому на наклонных участках граней плит видна угловатость.</div><div>Так же для ускорение выполнения расчетов не вершины конечных элементов подстраиваются под узлы вертикальных конструкций, а наоборот. За счет этого удалось добиться значительного роста производительности построения сеточных моделей и их точности расчета без искажения результатов самих расчетов.</div><div><br /></div><div><b>Clrear FEM</b> - функция удаления сеточной модели.</div><div><br /></div><div><b><span style="font-size: large;">5. Режим автоматической проверки варианта конструктивной схемы подготовленной человеком</span></b></div><div><br /></div><div>Для получения результатов в этом режиме вам достаточно создать самому расставить колонны/пилоны, указать контур плиты перекрытия и задать при необходимости несущие стены:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdoEVWQYhdVA77J4z1pU8xjNSfjXhWCLNPQlg8bxf73oH-6hGEh0fh2F1A5_vpWYOlJDB8YME3Z2zEZIyDmxhxR6yjZSs-xSP7ON0i1eLs7PxJCb6AWgnCv9FLIx4eu1wO78yCFs78MlKG/s1936/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="959" data-original-width="1936" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdoEVWQYhdVA77J4z1pU8xjNSfjXhWCLNPQlg8bxf73oH-6hGEh0fh2F1A5_vpWYOlJDB8YME3Z2zEZIyDmxhxR6yjZSs-xSP7ON0i1eLs7PxJCb6AWgnCv9FLIx4eu1wO78yCFs78MlKG/w631-h313/7.png" width="631" /></a></div><br /><div>После этого достаточно создать сеточную модель путем нажатия кнопки <b>Greate FEM </b>и последующей активации кнопки<b> Solve. </b>Теперь Prometey сам найдет решение и составит отчет.</div><div><br /></div><div><b><span style="font-size: large;">6. Отчет ИИ о каждом варианте расчетной схемы</span></b> </div><div><br /></div><div>Все отчеты вне зависимости от автора (ИИ или человек) хранятся по указанному пути:</div><div>C:\Users\[имя пользователя]\AppData\LocalLow\EnionProject\Prometey 2.0\rtf </div><div>Отчет хранит в себе основную информация уже в названии, для примера:</div><div><br /></div><div><i>20210320092949274 - 8,422334.rtf</i></div><div><br /></div><div>Цифры <i>20210320092949274 - </i>это уникальный ID номер для каждого расчета, одновременно это и токен для режима <b>Blockchain Solver</b>. </div><div>Цифры <i>8,422334 - </i>это эффективность конструктивной/расчетной схемы. Формула по которой определяется данная эффективность:</div><div><br /></div><div><i> Efficiency = 1,240741+4,328648+0,6837286+2,169216 = 8,422334</i></div><div><br /></div><div>Формула представляет собой сумму 4 параметров А + B + C + D, где :</div><div>А = число пилонов / 54</div><div>В = DZmin / примерный пролет / 200</div><div>С = RZsum / Pilons / 54</div><div>D= AsSum/ Nfem / 8 ;</div><div> </div><div>Чем ниже каждое составляющее и их сумма, тем более эффективная схема по отношению к другим вариантам: </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8poNiAwHI4nzVFF32eRMalUWeknukM3s7hothg9kHHoxu0-jrr9bvvKm7nrHbJjq2kAP7p7t_SpanEl4EvRba8peujQoNl1DVWcZX1H7geGoOKE90IAk79wwVQRwAwrIY5JdvqWzT3CYg/s832/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="568" data-original-width="832" height="439" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8poNiAwHI4nzVFF32eRMalUWeknukM3s7hothg9kHHoxu0-jrr9bvvKm7nrHbJjq2kAP7p7t_SpanEl4EvRba8peujQoNl1DVWcZX1H7geGoOKE90IAk79wwVQRwAwrIY5JdvqWzT3CYg/w645-h439/8.png" width="645" /></a></div><div><br /></div><div>В скором будущем отчет дополниться данными по армированию и бетону, а так же стоимостью конструкции в целом с учетом стоимости работ. </div><div><br /></div><div><b><span style="font-size: large;">7. Ручной анализ схем </span></b></div><div><br /></div><div>Данный модуль сейчас дорабатывается и доступен в урезанном виде. Если интересно сейчас по сути доступно только нажать кнопку <b>FEM (old)</b> и далее <b>Solver (new)</b>. После расчета будет отображена эпюра деформаций. С помощью функции <b>изменить положения узла</b> или <b>разместить пилон,</b> можно быстро вносить правки в расчетную схему и смотреть на что они влияют. </div><div>В связи с тем, что в Prometey 2.0 реализована технология отображения результатов расчета на шейдерных частицах посредством обработки на ядрах CUDA , то будет возможно отображать сразу все эпюры, по всем возможным напряжениям, одновременно и без каких либо зависаний и задержек отображения графики. </div><div>Результат расчета можно выгружать в формате <b>.fbx</b>, модель будет находится по пути:</div><div>C:\Users\[имя пользователя]\AppData\LocalLow\EnionProject\Prometey 2.0\fbx</div><div><p><b><span style="font-size: large;">8. Старые функции , порт из мобильной версии </span></b></p><p>Старые функции представлены тремя основными:</p><p>1. Разбиение на площади - данный инструмент ( согласно диаграммы Вороного , релаксации Ллойда и метода Делоне) разбивает плиту согласно грузовым зонам колонн и находит какая сжимающая нагрузка воспринимается каждой колонной в отдельности исходя из ее грузовой площади по плите перекрытия. Скорость нахождения решения занимает секунду, но по сути потеряет свою актуальность с доработкой инструмента <b>ручной анализ схем</b>. </p><p>2. Эффективность пилонов - данный инструмент определяет равномерность загрузки пилонов крайних и центральных по отношению к максимально загруженным. Данный расчет так же потерял свою актуальность с появлением инструмента автоматизированного отчета. В будущих обновлениях программы данный инструмент будет исключен. </p><p>3. Анализ плиты перекрытия - нейросеть определяет значение изгибающего момента в характерных точках плиты, данный инструмент находит значение за доли секунды , но в целом потеряет свою актуальность с доработкой инструмента <b>ручной анализ схем</b>. В будущих версиях он переформатируется в модуль машинного обучения конечных элементов. </p><p>В целом данные три модуля показывают не стабильную работу и в данной версии программы не являются основными функциями. </p><p><b><span style="font-size: large;">9. Общие рекомендации</span></b></p><p>1. Первое время ИИ будет пытаться сориентироваться в незнакомой ему ситуации, представьте что вас поместили в лабиринт и попросили найти выход , точно так же и с ИИ. Просто дайте ему спокойно работать за вас. </p><p>2. Для уменьшения нагрузки на GPU рекомендуется сворачивать программу в трей. От того что вы за ним наблюдаете или не наблюдаете ИИ не станет работать лучше или хуже , он не человек. </p><p>3. Теперь можно наблюдать не только за горящим костром, идущим дождем , но и просто смотреть как работает ИИ.</p><p>4. Шанс того, что вам ИИ создаст два одинаковых варианта стремится к единице деленной на <a href="https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%93%D1%80%D1%8D%D0%BC%D0%B0">число Грема</a>. </p><p>5. Обязательно сравните результаты расчета ИИ и расчет такой же схемы выполненной в вашей любимой программе. Вы не найдете никаких отличий. </p><p>6. Нагружайте ИИ самыми сложными схемами и отправляйте в <a href="https://t.me/AIprometey">телеграмм канал</a> те случаи, где ИИ сработал явно не верно, это поможет развивать ИИ до более высоких интеллектуальных способностей. </p><p>7. Освобождайте побольше свободного пространства на диске C, хоть сама программа занимает 70 Мб, это в основном код , который генерирует до десяти гигабайт информации только за одни сутки. </p></div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-75623442371298227302020-11-14T21:29:00.001+03:002020-11-14T21:29:13.087+03:00Широкоформатные мониторы 32:9 в проектировании <p> Для группы по проектированию алюминиевых мостов решил подобрать удобные мониторы и решил начать с себя. Долго сравнивал варианты, два монитора 27" или один 49". И в конечном счете решил остановится на мониторе с соотношением сторон 32:9. Длинной такой монитор 1200 мм, коробка 1550. </p><p> С одной стороны данные мониторы конечно же для PC-гейминга , частота 120 Гц, разрешение 5120х1440, HDR и т.д., но мое мнение он отлично подходит для работы. Как минимум за счет высокой частоты создает меньшее давление на глаза. <span></span></p><a name='more'></a><p></p><p> Все приложения показали полную совместимость с такими мониторами в полноэкранном режиме:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIsWxfPPaKZsTGYXW2GDvIR_xEUCTGoEhQn0o5BY4oAo9RVQjYKORJ0KWDoaMpyY7CG4eJ3aiOqc5QmXU6FJnwBXApLbQ7PXDEJX6SSJ-TjnyYVfAYLlW2JdP_4l05_C7ygXm5vGMOrdl2/s3344/10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIsWxfPPaKZsTGYXW2GDvIR_xEUCTGoEhQn0o5BY4oAo9RVQjYKORJ0KWDoaMpyY7CG4eJ3aiOqc5QmXU6FJnwBXApLbQ7PXDEJX6SSJ-TjnyYVfAYLlW2JdP_4l05_C7ygXm5vGMOrdl2/w640-h180/10.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlWBtl54Oyae5Yo5OF6LHzzsWsjxun-4hxpAdRwqOZKmTRg6WS9pllAlHP1Y5P0-Bcy8uuGLDohntDVaGzyQaV_UgRFnZUS4goLNeZ4gFt8hRJHJYYdubudc0V_fiWjiyvXQF0wvQycAxd/s3344/1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlWBtl54Oyae5Yo5OF6LHzzsWsjxun-4hxpAdRwqOZKmTRg6WS9pllAlHP1Y5P0-Bcy8uuGLDohntDVaGzyQaV_UgRFnZUS4goLNeZ4gFt8hRJHJYYdubudc0V_fiWjiyvXQF0wvQycAxd/w640-h180/1.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpmYMiStfZuWieDRHbtKDS9XznMxq_Gj_ZzmjsuGmrv83uoRdZZMk_7_vBu2cnU3M91PZ8135m15PbfK1MaxopD0QnWEymyvNwc6LjfNMmetgCop-nBA6limU60QMMbjVa82MJWDH-I3nR/s3344/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpmYMiStfZuWieDRHbtKDS9XznMxq_Gj_ZzmjsuGmrv83uoRdZZMk_7_vBu2cnU3M91PZ8135m15PbfK1MaxopD0QnWEymyvNwc6LjfNMmetgCop-nBA6limU60QMMbjVa82MJWDH-I3nR/w640-h180/2.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz0lS2C1QsO6tFwHGUjEQdbVnqnvpbZtALbGOv0pzppJkMGWKWPqOXfiH6GxmwjwPxQbFee_DlS4nBxLDe8auGX5wJZzxu_a4WPkg0AFEgyiFRwDc3lqlb1SWkoGD30l1gAZLquTG28D1U/s3344/3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz0lS2C1QsO6tFwHGUjEQdbVnqnvpbZtALbGOv0pzppJkMGWKWPqOXfiH6GxmwjwPxQbFee_DlS4nBxLDe8auGX5wJZzxu_a4WPkg0AFEgyiFRwDc3lqlb1SWkoGD30l1gAZLquTG28D1U/w640-h180/3.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0B2K3isvmi3V6ksIeSTh5oVSXpQcLbZcX9IgY6MjDhkRy-Z_F1rhdloNP14_HYrzCX5SBMUvoNXAIaoDZQnXcgY0my86DUkM6x_uRVQaRcxHAzeE22P15j_IYRIVADoASpx0hkNEKGvJD/s3344/4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0B2K3isvmi3V6ksIeSTh5oVSXpQcLbZcX9IgY6MjDhkRy-Z_F1rhdloNP14_HYrzCX5SBMUvoNXAIaoDZQnXcgY0my86DUkM6x_uRVQaRcxHAzeE22P15j_IYRIVADoASpx0hkNEKGvJD/w640-h180/4.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRLZob3gyaz45ILCYq0XFoDWj-YLi9AUG9rBFcx_ti5_Nwm2_vmPDkoBjVXjpmU6eZt4vRuriqLDI69zaSG_Yd4wbPQGqc08EtKlocBTCqt97BtMfbbPoL6KMIDWY1xzy5LwFOfORmpWfK/s3344/5.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRLZob3gyaz45ILCYq0XFoDWj-YLi9AUG9rBFcx_ti5_Nwm2_vmPDkoBjVXjpmU6eZt4vRuriqLDI69zaSG_Yd4wbPQGqc08EtKlocBTCqt97BtMfbbPoL6KMIDWY1xzy5LwFOfORmpWfK/w640-h180/5.png" width="640" /></a></div><div><br /></div><div>И небольшой ролик рабочего процесса:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="338" src="https://www.youtube.com/embed/i2yIzg5yD8A" width="481" youtube-src-id="i2yIzg5yD8A"></iframe></div><div><br /></div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-14293139499971446442020-11-07T20:44:00.005+03:002020-11-07T21:54:40.932+03:00Производительность ядер CUDA в моделировании <p> В <a href="https://revitconsalting.blogspot.com/2020/11/rtx-3090.html">прошлой статье</a> я рассматривал производительность самой современной архитектуры Ампера на базе видеокарты RTX 3090 в задачах статических расчетов строительных конструкций. В экспериментах удалось добиться почти 40% увеличения производительности. В этой статье я решил протестировать уже шейдерные ядра CUDA в вычислениях с одинарной точностью, иными словами в задачах моделирования. </p><p> Все современные программы для моделирования по своей сути представляют собой уже <a href="https://en.wikipedia.org/wiki/Boundary_representation">прошлое</a>. С появлением высокопроизводительной архитектуры параллельных вычислений Ампера, теперь как никогда становится уже очень актуально появление новых геометрических ядер, на основании хотя бы <a href="https://www.youtube.com/watch?v=RXSt31GzXyo">шейдерной тесcеляции</a>. Время тесселяции на основании OpenGL или Direcr3D подходит к концу. <span></span></p><a name='more'></a><p></p><p> Unity не так давно начали переходить на параллельные вычисления шейдеров при помощи шейдерных ядер CUDA. Я решил протестировать шейдеры для моделирования примитивов (кубы), которые собой будут образовывать более сложную структуру. Для примера решил взять карту высот одного из островов:</p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMGMJ0G5OjhyYcfNhpxrkAGyEQbvq-fdyEYVq3OLjkwvv_f2Zc2Db_6QYL6meW5bupGB8V86gAwwt4CSAdcRpkxLbIcmx4JeqSrI1NiADz2N8LE3ixzduQuiymhAkjDZdxRdcWHv-9If0u/s930/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="867" data-original-width="930" height="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMGMJ0G5OjhyYcfNhpxrkAGyEQbvq-fdyEYVq3OLjkwvv_f2Zc2Db_6QYL6meW5bupGB8V86gAwwt4CSAdcRpkxLbIcmx4JeqSrI1NiADz2N8LE3ixzduQuiymhAkjDZdxRdcWHv-9If0u/w400-h373/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" width="400" /></a></div><br /><p> Изображение разбил на пиксели, цвет пикселя обозначает высоту на которую сместится примитив куба. Задал 2 000 000 примитивов хаотично расположенных в заданной области. Для сложности теста производительности графики на ядрах CUDA решил придать движению изображение и вот что получилось:</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="328" src="https://www.youtube.com/embed/tFchvhj6pOA" width="479" youtube-src-id="tFchvhj6pOA"></iframe></div><div class="separator" style="clear: both; text-align: center;"><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHlEBJpRLqymvqGhSr4ABB9ScyJeBTYoheJ9lj7atON_SNC_zugO1aoCD9FVsosh-j8z7KYz2eGwXy4m5jQB0a_tLXBgsY7kSt3lY5wRX2dqCqvcebyUhM8X7kTsMCtyzIcdVL1DPlAama/s1773/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1000" data-original-width="1773" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHlEBJpRLqymvqGhSr4ABB9ScyJeBTYoheJ9lj7atON_SNC_zugO1aoCD9FVsosh-j8z7KYz2eGwXy4m5jQB0a_tLXBgsY7kSt3lY5wRX2dqCqvcebyUhM8X7kTsMCtyzIcdVL1DPlAama/w640-h360/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" width="640" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><br /></td></tr></tbody></table> Кому интересно собрал <a href="https://drive.google.com/file/d/1wtUadd-_9aHC8XCPqeFt72XJU1DMiKIJ/view?usp=sharing">билд программы</a> для тестирования, для примера результаты RTX3090 в разном разрешении:<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvZuQpCAji3u5Mw8tar5BrpVOLJwd-pVSfbgJOraiednUpxcbro79Hs3izZeRO4N-skl9phA4301QxGsDDxYiLB2oNWJpI7gJFDw_AZcaO_8Y0yozkePH4g9QcLZXo7WvVy-RoBZXC01U0/s3344/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="940" data-original-width="3344" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvZuQpCAji3u5Mw8tar5BrpVOLJwd-pVSfbgJOraiednUpxcbro79Hs3izZeRO4N-skl9phA4301QxGsDDxYiLB2oNWJpI7gJFDw_AZcaO_8Y0yozkePH4g9QcLZXo7WvVy-RoBZXC01U0/w640-h180/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2LxNiNbQ-0zfir0BQkDAXA4Bb_FGXHLXIkoEAJy4RTVHmcciNyeqf0vHEy7ZdcIs-lAKtzs4uQXjZT4xkp-dLENE8qlpRGeNu_vvlkqJ6RmfsWgONNA-_SS0sZZRtx19AzmxrY0czHM9/s1926/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1104" data-original-width="1926" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2LxNiNbQ-0zfir0BQkDAXA4Bb_FGXHLXIkoEAJy4RTVHmcciNyeqf0vHEy7ZdcIs-lAKtzs4uQXjZT4xkp-dLENE8qlpRGeNu_vvlkqJ6RmfsWgONNA-_SS0sZZRtx19AzmxrY0czHM9/w400-h229/%25D0%25BD%25D0%25BE%25D0%25B2%25D1%258B%25D0%25B9.png" width="400" /></a></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div></div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-62585977470828261892020-11-02T00:36:00.005+03:002020-11-02T22:08:34.832+03:00Использование видеокарты RTX 3090 в проектировании <p> Начну немного издалека. В прошлом году <a href="https://www.techspot.com/review/1701-geforce-rtx-2080/">появление видео карт RTX 2080</a> от компании Nvidia для обычных пользователей ознаменовала ничего, но для инженеров это новая эра. Со стороны обычного пользователя видео карта это некий девайс обладающий магической силой создавать картинку на экране монитора , и чем больше видео память и скорость обработки этого объема тем лучше. Но вот для инженера этого не просто мало и можно сказать, что даже вся эта информация не дает ничего.</p><p> Многие инженеры и архитекторы знают, что есть деление видео карт на профессиональные и игровые. Многие ставят для работы профессиональные и наоборот , не видя разницы, ставят игровые вместо профессиональных. <span></span></p><a name='more'></a><p></p><p> Постараюсь сжато объяснить разницу и надеюсь после прочтения статьи останется чуть больше понимания чем было до этого в данном вопросе. Любая видеокарта это микропроцессор решающий математические задачи с заданной точностью. Точность бывает разная, <a href="https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8">одинарная</a> или <a href="https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%B4%D0%B2%D0%BE%D0%B9%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8">двойная</a>. Одинарная точность - говоря общими словами это точность 7-8 знаков после запятой, двойная точность - это примерно 16 знаков после запятой. </p><p> Как вы понимаете задачи в игровой механике любой игры и задачи инженерные требуют разного уровня точности решения. Именно поэтому все игровые карты линейки GeForce не имели графических ядер способных решать уравнения с двойной точностью вплоть до видео карты GTX 1080 ti (включая ее)</p><p> Но с появлением технологии реальной трассировки лучей, для видео карт RTX 2070 и старше, появилась возможность прикоснутся и к архитектуре Тьюринга. Для данной архитектуры помимо шейдерных ядер появились <a href="тензорные ядра">тензорные ядра</a>. Если вкратце, то тензорные ядра решают уравнения с неопределенной точностью. А это именно, то что нам нужно. Раньше профессиональные карты имели архитектуру Кеплера, а игровые Паскаля, но с появлением Тьюринга все изменилось и перевернулось с ног на голову в мире игровых и профессиональных видеокарт. </p><p> В архитектуре Тьюринга от видеокарты например архитектору нужны шейдерные ядра CUDA, они отвечают соответственно за шейдеры (в архитектурной визуализации в основном освещение и не плоские текстуры) и чем их больше, тем лучше. Поэтому архитектору покупать профессиональную видеокарту на архитектуре Тьюринга с количеством ядер меньшем чем на соответствующей архитектуре игровой - бессмысленно, математику не обмануть маркетингом. </p><p> Что касается инженеров то, тут все сложнее, последняя видеокарта на архитектуре Тьюринга была профессиональная Titan RTX(1 поколение) с 576 тензорными ядрами под архитектуру Тьюринга. Именно она является флагманом при сравнении производительности расчетов с GPU и без. В данной видеокарте столько же ядер с одинарной точностью (шейдерные ядра CUDA) по сравнению с игровой RTX 2080 ti, поэтому не для инженерных расчетов она не даст ощутимого прироста производительности например при черчении или моделировании или рендеринге изображения\видео потока.</p><p> И вот этой осенью появились видео карты Geforce RTX 3080, 3090 уже еще на более совершенной архитектуре математика-физика Ампера. И именно 3090 мы протестируем в инженерных расчета, и именно статических расчетах строительных конструкций. 3090 RTX имеет намного более производительные тензорные ядра с неопределенной точностью в количестве 328 штук, которые в 2 раза быстрее по сравнению с архитектурой Тьюринга. И Именно поэтому Nvidia скоро на рынок выпустит Titan RTX 2-го поколения на архитектуре Ампера.</p><p> Предыдущие тесты в программе ANSYS я проводил на профессиональной карте K5000 (которая использовалась всего 20-30 раз и лежит в коробке), прирост производительности в задачах разложений матрицы жесткостей был ощутимый по сравнению с CPU , но в общем времени расчета ускорение процесса была не более 5-7 %, этого не достаточно было для того что бы работать с малым количеством шейдерных ядер по сравнению с той же GTX 780, и при этом всего на 5-7% решать разовые задачи быстрее.</p><p> RTX 3090 по прежнему не находится в списке протестированных видео карт компании ANSYS, но этот сговор капиталистических монополистов мы обойдем добавлением в среду Windows новой переменной:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpvuVMX7MPOK2VPI5IxxBmtW_7_PUZOuRXyfD_Vm7ZLAQR2teGftgsu46wRmwbNFLNl2pM5vi9XYSMFc3DptwFDe-6a7C7zygj0Qtz2ZS8B_nMrPx-diD8Q60dWWtkqCvkJz1LP9n2zRQV/s613/%25D1%2581%25D1%2580%25D0%25B5%25D0%25B4%25D0%25B0.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="580" data-original-width="613" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpvuVMX7MPOK2VPI5IxxBmtW_7_PUZOuRXyfD_Vm7ZLAQR2teGftgsu46wRmwbNFLNl2pM5vi9XYSMFc3DptwFDe-6a7C7zygj0Qtz2ZS8B_nMrPx-diD8Q60dWWtkqCvkJz1LP9n2zRQV/w400-h379/%25D1%2581%25D1%2580%25D0%25B5%25D0%25B4%25D0%25B0.png" width="400" /></a></div><br /><p> Перезагружаем ПК и теперь использование видеокарты не вызовет ошибку.</p><p> Тензорные ядра в статических расчетах могут помочь только в операциях с матрицами, например когда при расчете некого сложного узла на некотором шагу в нелинейном расчете по Ньютон-Рафсону у вас не будет схождение на многих итерациях. На каждом шаге , на каждой итерации шага у вас выполняются операции с матрицами и именно в этом промежутке времени вам и помогут тензорные ядра. В качестве теста я выбрал небольшую задачу с 10 итерациями:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHBZJlKRdMbF-ZzWEmueZMnZuHn12IYzbw_FrLBTTPbcFU_mfZDf8U6WCIJWn1UsGjyxXDUqWyp8JzIrgcCK4frufpB2-mwc3_QPPz76FfTvOneGMBqJOkSIWuMlSZReOhNMjlDTqpK_6C/s1254/GPU+vs+CPU+10+%25D0%25B8%25D1%2582%25D0%25B5%25D1%2580.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="915" data-original-width="1254" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHBZJlKRdMbF-ZzWEmueZMnZuHn12IYzbw_FrLBTTPbcFU_mfZDf8U6WCIJWn1UsGjyxXDUqWyp8JzIrgcCK4frufpB2-mwc3_QPPz76FfTvOneGMBqJOkSIWuMlSZReOhNMjlDTqpK_6C/w640-h466/GPU+vs+CPU+10+%25D0%25B8%25D1%2582%25D0%25B5%25D1%2580.png" width="640" /></a></div><br /><p>Слева только CPU и время 257 сек., справа уже и GPU и время 221 сек. Ускорение составило <b>14%</b>. При увеличении количества итераций до 20 получились следующие результаты:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy-GpcVVua49j48MohqfKJof6roURY6eLDfFbAvbs56pA9dIOucboIxE0FMHVM8kowlUgis3zBA9JrWo38e6tCAg4Pquc38sGAIX9AV8rxIX_RPU3sCaTAgzkKJpEyB43Pc95LDVBdQwhE/s1268/GPU+vs+CPU+20+%25D0%25B8%25D1%2582%25D0%25B5%25D1%2580.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="929" data-original-width="1268" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy-GpcVVua49j48MohqfKJof6roURY6eLDfFbAvbs56pA9dIOucboIxE0FMHVM8kowlUgis3zBA9JrWo38e6tCAg4Pquc38sGAIX9AV8rxIX_RPU3sCaTAgzkKJpEyB43Pc95LDVBdQwhE/w640-h468/GPU+vs+CPU+20+%25D0%25B8%25D1%2582%25D0%25B5%25D1%2580.png" width="640" /></a></div><br /><p>520 сек. против 431 сек, ускорение составило <b>17.5%</b>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifSpuR2h3zDERL-V7rDWCWDA5xBeJ1TMU39QcTKTtJCURW5Trcd8aSBVvRSxnSvVQFiGEKKlpTNHBC9kMry4E-R462sO3DyTJjjH5fDTRf_GMU30pRC_2fgAGHuVlhBGyj4cyIDfmJhqOq/s1189/GPU+vs+CPU+100+%25D0%25B8%25D1%2582%25D0%25B5%25D1%2580.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="907" data-original-width="1189" height="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifSpuR2h3zDERL-V7rDWCWDA5xBeJ1TMU39QcTKTtJCURW5Trcd8aSBVvRSxnSvVQFiGEKKlpTNHBC9kMry4E-R462sO3DyTJjjH5fDTRf_GMU30pRC_2fgAGHuVlhBGyj4cyIDfmJhqOq/w640-h488/GPU+vs+CPU+100+%25D0%25B8%25D1%2582%25D0%25B5%25D1%2580.png" width="640" /></a></div><br /><p> На 100 итерациях CPU показал время 3295 сек., при задействовании GPU уже иная картина - 2163 сек., ускорение производительности <b>34.3%</b>. Таким образом при увеличении количества итераций, растет прирост производительности. На моей практике, сложные задачи занимают до 1000 итераций на сложных моделях. На простых моделях (например 100 КЭ), разница отрицательная в разы и использование GPU не рекомендуется. </p><p> В задачах с движением частиц (например аэродинамика) прирост производительности в разы, но это меня не особо интересует на практике. </p><p> Для справки приведу сравнительную таблицу по хар-кам видеокарт разных архитектур:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCgUXWvtzYFmgzQzTlpM9r52ExUy23bKw3N9lzLFsYWls-i-2C7-bk2VeH25wBC80jQrw5ctvF1Pf0MEK78zyeeV3hWN6ut2bl5fUXANfGYufOfx7N1-8Fw0908gdHOo0kEZ91jvKw1AiI/s1185/%25D1%2585%25D0%25B0%25D1%2580%25D0%25B0%25D0%25BA.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1185" data-original-width="825" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCgUXWvtzYFmgzQzTlpM9r52ExUy23bKw3N9lzLFsYWls-i-2C7-bk2VeH25wBC80jQrw5ctvF1Pf0MEK78zyeeV3hWN6ut2bl5fUXANfGYufOfx7N1-8Fw0908gdHOo0kEZ91jvKw1AiI/w446-h640/%25D1%2585%25D0%25B0%25D1%2580%25D0%25B0%25D0%25BA.png" width="446" /></a></div><br /><p> Надеюсь стало немного более понятно, что такое видеокарты и чем они отличаются друг от друга для проектировщика. </p>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-28222934686306779982020-07-08T22:57:00.000+03:002020-07-08T22:57:01.665+03:00Prometey. Обучение ИИ расстановке колонн в здании. Часть 3 Спустя почти 8 месяцев я получил первый результат и он положительный. Сейчас нет радости от результата, потому как много сил и времени ушло на создание рабочей модели нейронной сети. Этот путь был настолько тернист , что и врагу не пожелать. У меня уже есть идеи как все улучшить в два раза, но меня это откинет на 3 месяца назад, поэтому я решил пока все оставить как есть и не трогать математическую модель. А вот как она выглядит :<span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuYJJAEJtq0UrRnQJpkUiuu1CZvzrsB7uGrBp5XuP_acsJQ7XHvY9TZyW5fueqnZ9rUYmTc_pg-IFf6mJWZN0j-BhZ6jN3JJjOZdSHpnV6dLjGgUwyGZziGx2Fbbe4PhR_yXeJ-FZpcT1l/s1858/%25D0%25BD%25D0%25B5%25D0%25B9%25D1%2580%25D0%25BE%25D1%2581%25D0%25B5%25D1%2582%25D1%258C.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="760" data-original-width="1858" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuYJJAEJtq0UrRnQJpkUiuu1CZvzrsB7uGrBp5XuP_acsJQ7XHvY9TZyW5fueqnZ9rUYmTc_pg-IFf6mJWZN0j-BhZ6jN3JJjOZdSHpnV6dLjGgUwyGZziGx2Fbbe4PhR_yXeJ-FZpcT1l/w640-h262/%25D0%25BD%25D0%25B5%25D0%25B9%25D1%2580%25D0%25BE%25D1%2581%25D0%25B5%25D1%2582%25D1%258C.png" width="640" /></a></div><div><br /></div><div> Не смотря на хаотичность по сути это матрица, и в результате перемножения ее элементов на входящие параметры мы получаем решение. Это пока все работает с точностью 97% на математической модели, но пока не известно как она себя поведет в реальных условиях , а не лабораторных. На прошлой нейросети я создал модель нейросети которой не особо много можно было скормить данных для обучения. В этой модели я исправил прошлые ошибки, нейросеть обучена на 30 000 данных. И это всего лишь обучение азам, расставить крайние пилоны, расставить внутренние пилоны и все без учета внутренних несущих стен, и на простых планах этажей. Я решил не обучать этому, а посмотреть что будет делать нейросеть в заранее не известной обстановке. </div><div> Нейросеть я перевел в код и для этого реализовал обновленное нейронное ядро , пока назвал ColomnGenerator и существует оно отдельно от <a href="https://play.google.com/store/apps/details?id=com.EnionProject.Prometey">Prometey</a>. Для того что бы дальше реализовывать ИИ мне необходимо было узнать скорость одного решения нейросети:</div><div> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjspwdxV2XppGncKZzQiAPqllXpddgMvyWJ5EzWlX8jRThAzrCES_hIdd9lo603vjYDSHbpXDO6G_YWd9lwCLVOqTsP_wT63c8TR_kOF8cEqrtBZ7eXr9MTGQ79K9dEx5yYnIi6kq2JMat3/s226/8.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="76" data-original-width="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjspwdxV2XppGncKZzQiAPqllXpddgMvyWJ5EzWlX8jRThAzrCES_hIdd9lo603vjYDSHbpXDO6G_YWd9lwCLVOqTsP_wT63c8TR_kOF8cEqrtBZ7eXr9MTGQ79K9dEx5yYnIi6kq2JMat3/" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"> Первая цифра (79) это % точность решения, а вторая (0.0045456), это скорость решения в секундах. Таким образом за 1 секунду я могу на одном ядре CPU совершить 220 решений. По моим расчетам, для того что бы расставить колонны на этаже 1 секции необходимо около 10 000 итераций (решений) , получается за 10 000/220 = 45 секунд можно получить готовое расположение пилонов. Но для дальнейших экспериментов мне необходимо около 1000 вариантов расположения пилонов из которых я отберу лучшие. Для 1000 вариантов расположения пилонов даже на одном плане уйдет 1000*45/3600=12.5 часа. Скорее всего это будет стрим на YouTube и он будет с вечера на утро. Во время стрима кубик будет быстро и плавно перемещаться по плану и расставлять колонны в ненесущих стенах. Жутко интересно что он насоздает ......все варианты будут публиковаться в свободном доступе</div><div class="separator" style="clear: both; text-align: left;"> По моим расчетам, в текущих условиях и мощности вычислительной техники которую я имею в наличии, на создание сверх разумного конструктора расставляющего колонны на плане этажа у меня уйдет 71 год на все эксперименты :), слегка больше чем я планировал изначально посвятить данной работе. Но тем не менее работа продолжается и следующая часть этого цикла статей будет после стрима и разбора проблем с которыми я столкнусь, без проблем тут никак не обойдется.</div><div class="separator" style="clear: both; text-align: left;"><br /></div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-48837779626152298962020-06-21T15:09:00.001+03:002020-06-21T15:09:41.499+03:00Prometey. Обучение ИИ расстановке колонн в здании. Часть 2 В течении двух недель я пробовал найти решение проблемы сходимости нейросети с тренировочными данными в пределах не более 10% погрешности и с большей производительностью.<span><a name='more'></a></span><div><div> Я очень много времени потратил на <a href="https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8">функцию активации</a> нейронов и совсем не считал нужным углубляться в тему <a href="https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C">функции потерь</a>, но после прочтения <a href="https://habr.com/ru/company/ods/blog/488852/">данной статьи</a> я решил изучить эту тему более внимательно. И спустя буквально 2 выходных, к вечеру воскресенья, мне удалось улучшить результативность нейросети до 98.5% точности. При этом число нейронов удалось так же значительно сократить, с 270 до 52. </div><div> При этом мне удалось наконец-то нейросеть научить приходить к результату не как машина , а как человек. Иными словами машина теперь находит ответ не просто "0" или "1", а с рациональной долей сомнения, которое присуще живому организму при принятии того или иного решения:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBAZX3v6aQE9z6IbThrDvOvANf9vxPUBBM3ApsxFa41OphWozcSMu4nNVP4I457EWL4RXFSlBdkQT7rgRui3K-62CjzJOBeULJQAHRMumqxEaI5zvTHn1amxXY7hFY8QUKOYtkV3DSL0Ge/s598/2+scren+%25282%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="361" data-original-width="598" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBAZX3v6aQE9z6IbThrDvOvANf9vxPUBBM3ApsxFa41OphWozcSMu4nNVP4I457EWL4RXFSlBdkQT7rgRui3K-62CjzJOBeULJQAHRMumqxEaI5zvTHn1amxXY7hFY8QUKOYtkV3DSL0Ge/s320/2+scren+%25282%2529.png" width="320" /></a></div> Это пример того как раньше выдавала результат нейросеть, при такой строгой интерпретации результатов , было очень много ошибок, нейросеть думала что это на 99% правильный результат , при этом это был 100% не верный в корне результат. <div><br /><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoanTDjSCFbL0WCL_8UT749223ShlSUYuQ-nVJFODM9RNd7cWgD0i7Q10zTxOfMwrc9cajm-exawSJIHZMWiVYsE1zsZx0nl5lDmVC-EN2SURmi3iK4C-7NKZxRR6DE7t_6Z3qbetpONCl/s600/2+scren+%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="405" data-original-width="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoanTDjSCFbL0WCL_8UT749223ShlSUYuQ-nVJFODM9RNd7cWgD0i7Q10zTxOfMwrc9cajm-exawSJIHZMWiVYsE1zsZx0nl5lDmVC-EN2SURmi3iK4C-7NKZxRR6DE7t_6Z3qbetpONCl/s320/2+scren+%25281%2529.png" width="320" /></a></div><div> Это пример когда я добавил "<a href="https://pandia.ru/text/80/413/19987.php">шум</a>" в обучающую выборку нейросети. Но перестарался и нейросеть стала совсем сомневаться в принятых решениях. </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCPZzFnRd6xBSyUi6iiLh6chd6qXoodzvPSeMerm7_LA8vhyQuQNfTGjmQ0n8UTY47KzoA0BCfdRL2Q6MIshDKpEztsZvBd9bt4yxC69eQkiarxHwXtm4lBk09v-Qi7yStr4HlTDr-12bc/s600/2+scren.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="543" data-original-width="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCPZzFnRd6xBSyUi6iiLh6chd6qXoodzvPSeMerm7_LA8vhyQuQNfTGjmQ0n8UTY47KzoA0BCfdRL2Q6MIshDKpEztsZvBd9bt4yxC69eQkiarxHwXtm4lBk09v-Qi7yStr4HlTDr-12bc/s320/2+scren.png" width="320" /></a></div><div> А это уже пример когда нейросеть идеально находит решение, когда видна стадия сомнения при не очевидных исходных данных. Именно так выглядит стадия перехода от одного решения к другому и у человека, именно этой цели я и добивался многие месяцы.</div><div> И это все благодаря только функции потерь. Объяснять что это такое подробно нету смысла , это сложная математика и ничего более.</div></div></div><div><br /></div><div><br /></div></div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-5815397040317885692020-06-08T23:31:00.001+03:002020-06-08T23:31:36.742+03:00Prometey. Обучение ИИ расстановке колонн в здании. Часть 1<div> В прошлой статье я упомянул , что мозг человека это не творения некого сверх разума, это всего навсего механизм выполняющий сложные математические операции. Но скорость обработки этих операций и их число настолько велико, что их невозможно визуализировать каким либо понятным графическим способом. Так как я решаю проблему расстановки пилонов в здании, то и примеры будут касаться конструирования. Когда конструктор получает задание от архитектора на расположение вертикальных конструкций, по сути он начинает на подсознательном уровне подгружать весь тот полученный с годами опыт и применять его на практике. И под опытом я подразумеваю практические навыки на аналогично проделанной работе.<span><a name='more'></a></span></div><div> Каждый конструктор на подсознательном уровне для себя выявляет ряд правил расположения пилонов при тех или иных исходных данных. Как только его нейронная сеть сознания получит необходимые данные, то происходит мгновенное решение этой задачи. В течении 2-3 месяцев я занимался поиском правил расположения пилонов или другими словами характерными закономерностями. Мне удалось выявить около 30 закономерностей, при этом это не окончательная цифра и на данный момент их уже более 40. И при всем этом, существует 2 так называемых аномалии, эти две аномальные закономерности входят в противоречие с иными закономерностями и приводят нейросеть к ошибке, т.е. нейросеть не может определить верное решение. Иными словами, стечение конкретных значений параметров нейросети (то что видит живой конструктор) приводит к неоднозначному решению. И если говорить еще более понятными словами, то в 2 случаях из 40 теоретически возможных , с долей в 20% конструктор может ошибиться не взирая на его профессионализм.</div><div> На данный момент эти 2 аномалии я не рассматриваю и не обучаю нейросеть с ними бороться, оставляю это на будущее.</div><div> Сложность обучения нейросети состоит в том , что для ее обучения я сначала разработал отдельную программу на PC, в которой с помощью джойстика я просто расставляю колонны на плане здания:</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMNqPDKz2PGn71X4l1dirwk1u4gxAbd6Q542hJT36naKE_3cSNpfIhceUp67yPNBcUbrw24QFEKgeEdLmHhyphenhyphenmCOuQ5oTP0Q1KUQ8tptNp04aJR7UIKDpCnbhsxYIavSdjnq5TnXQ2s7RFC/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="712" data-original-width="1432" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMNqPDKz2PGn71X4l1dirwk1u4gxAbd6Q542hJT36naKE_3cSNpfIhceUp67yPNBcUbrw24QFEKgeEdLmHhyphenhyphenmCOuQ5oTP0Q1KUQ8tptNp04aJR7UIKDpCnbhsxYIavSdjnq5TnXQ2s7RFC/w640-h318/5.png" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: left;"> По сути выполняю ровно то , что выполняет и конструктор, но уже в виде, предназначенного для нейросети. Специальные сложные алгоритмы переводят движения человека во входящие параметры нейросети, а уже на сервере происходит их обработка:</div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqVS-vtkPS34NK3D6tkAHlt6rcTi-2XrNRI3UP0DDyk-M_I6OmA1JOpELaDDwLKPneHXRQEM_ajLFu1ffbnAhssf-ONtxUQgyClszZhBoD2ruHBkQHy-nX5mvo0Ui2NMaTtCS6WP-fzUIR/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="336" data-original-width="804" height="269" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqVS-vtkPS34NK3D6tkAHlt6rcTi-2XrNRI3UP0DDyk-M_I6OmA1JOpELaDDwLKPneHXRQEM_ajLFu1ffbnAhssf-ONtxUQgyClszZhBoD2ruHBkQHy-nX5mvo0Ui2NMaTtCS6WP-fzUIR/w640-h269/4.png" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: left;"> После того как было сформировано 2000 данных для обучения нейросети, я нашел первую аномалию и мне пришлось сформировать заново модель обучения нейросети и все обучение начать заново. Со стороны модель обучения напоминает матрицу - бесконечное число непонятных цифр:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG4NjAgLoqI2sJfJwanprxH18Oyq1hthpwJYUe02EOmaRNn52jLlrs8SvdsAUch1v5VBekshruQ98XH0GA6O99ME28_J1ngaAL0XA4aRg1zLP-dLLIFGo-iNiMIllRbKDx9uGQMmCJQD-R/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="538" data-original-width="833" height="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG4NjAgLoqI2sJfJwanprxH18Oyq1hthpwJYUe02EOmaRNn52jLlrs8SvdsAUch1v5VBekshruQ98XH0GA6O99ME28_J1ngaAL0XA4aRg1zLP-dLLIFGo-iNiMIllRbKDx9uGQMmCJQD-R/w640-h414/7.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"> После того как на сервер поступило очередные 5000 данных, запускается вычислительный граф нейросети. Точнее сразу 6 разных, с разными моделями вычислительного графа. И одновременно с этим, сети скармливаются данные для проверки ее верной работоспособности:</div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgik1YKkKaka6hyYHl5Dd8vyYPiF1a4yMe5C5yGhrkI0qBkqq_nOppxSEDlnkSh5fQ6bC3vf_RqysvcAZd2DKPeUi29-iJwgtHVtuhyphenhyphenTW_d2xQywKtTyBZ2HARY6ZDAuIqcYzvKg_g5Y7IH/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="517" data-original-width="741" height="446" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgik1YKkKaka6hyYHl5Dd8vyYPiF1a4yMe5C5yGhrkI0qBkqq_nOppxSEDlnkSh5fQ6bC3vf_RqysvcAZd2DKPeUi29-iJwgtHVtuhyphenhyphenTW_d2xQywKtTyBZ2HARY6ZDAuIqcYzvKg_g5Y7IH/w640-h446/8+%25D0%25BC2.png" width="640" /></a></div> В данном случае сети скормили 5 данных изначально с верным ответом и ответы совпали, а 6-ые по порядку данные были с предполагаемым ответом и сеть ошиблась. Шестой ответ она могла бы дать верным, в случае, если бы ее тренировали на таких примерах. Поэтому следующие 5000 данных будут учитывать "слепые зоны" из проверки нейросети предыдущего поколения. Таким образом поколение за поколением создается ИИ.</div><div class="separator" style="clear: both; text-align: left;"> Общее количество данных будет представлять собой невероятно большое количество информации, первую рабочую выборку я опубликую в открытом доступе, но в своеобразном виде. Модель выборки данных будет превышать выборку данных на которой обучали <a href="https://cloud.google.com/text-to-speech/docs/ssml?hl=ru">google speech synthesis</a>. </div><div class="separator" style="clear: both; text-align: left;"> Сейчас нейросеть очень трудоемкая для мобильного телефона, около 270 нейронов сети слишком перегружают ЦП мобильного телефона и погрешность составляет до 70%. Но я уверен что смогу найти способ увеличить производительность в несколько раз как и уменьшение погрешности до адекватных 1-5%, для этого мне приходится много тратить времени на математику, но это того стоит.</div>Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-74437871447686487612020-05-25T00:24:00.000+03:002020-05-25T00:24:55.030+03:00Prometey. Двойной агент искусственного интеллекта расставляет пилоны в здании. Введение<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
Протестировав 3 разные модели расстановки пилонов в здании я остановился на модели <b><a href="https://en.wikipedia.org/wiki/Neuroevolution_of_augmenting_topologies">NEAT</a></b>, а точнее <b><a href="https://stars.library.ucf.edu/cgi/viewcontent.cgi?article=3177&context=facultybib2000">HyperNEAT</a></b>. В дословном переводе это означает <b>NeuroEvolution of Augmenting Topologies</b> , в переводе <b>НейроЭволюция возрастающих топологий, </b>только для очень масштабных не симметричных нейронных систем.<br />
Порой нам кажется, что проще выполнять всю работу самому и работа в команде нам только мешает, но как оказывается не всегда.<br />
<a name='more'></a><br />
В течении многих месяцев я прислушивался к своему разуму , к собственным нейронам, пытался оцифровать их поведение при решении задачи расположения пилонов в здании, но все было тщетно. И вот однажды я решил повторить процесс который происходит в реальности, сделать плохого и хорошего агента расставляющих пилоны. В роли первого агента выступает - агент "конструктор", в роли второго агента выступает - агент "архитектор". Эта модель очень похожа на GAN модель.<br />
Агент "конструктор" это условно хороший агент, он расставляет пилоны как ему удобно с точки зрения закономерностей строительной механики.<br />
Агент "архитектор" это условно плохой агент, он смещает пилоны которые противоречат закономерностям объемно планировочным, делая хуже первому.<br />
И взаимодействуя друг с другом они пытаются найти компромисс решения задачи расположения пилонов эпоха за эпохой , цикл за циклом, идеализируя модель расположения пилонов. Один мешает второму, второй борется с этим, все как в повседневной работе, вечное конкурирующее соглашение. Как оказывается даже математика подтверждает логичность закономерности выявленные в человеческом повседневном поведении.<br />
Изначально каждая из моделей содержала по 4 параметра влияющих на поведение каждого из агентов, потом их стало 8, потом 16, потом 20 и каждый тест работоспособности уточняет предыдущую модель нейросети. Каждый закон поведения описывается параметрами данного поведения.<br />
Для примера задумайтесь и попробуйте ответить на вопрос, какие параметры влияют на расположение пилона исходя из положение ближайшего окна ? Разбейте данную задачу на мельчайшие параметры, начните записывать на листке бумаги значения этих параметров , рано или поздно найдутся закономерности. Математики быстрее их найдут, так как среди сотен и тысяч значений различных функций проще увидеть закономерности. Возможно на это у вас уйдет 1 минута , а возможно и вся жизнь. И теперь представьте что таких задач десятки и на каждую могут уйти от 1 минуты до 1 человеческой сознательной жизни.<br />
И в такого рода задачах главное уже не обучающая выборка как думают многие , главное модель. Причем модель и конструктора и архитектора скопированная с реального человека. Вся работа сводится с копирования всех тех процессов, что совершает человеческий мозг и бесконечным попыткам их оцифровки. Это сложно объяснить, но по сути человеческий мозг это не творения некого сверхсущества, это просто огромный набор математических функций и закономерностей образованных в результате эволюции человека.<br />
Фон программы <a href="https://play.google.com/store/apps/details?id=com.EnionProject.Prometey">Prometey</a> как раз таки один из вариантов структуры нейронов одной из промежуточных первых моделей нейросети расставляющей пилоны.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc2ajpeXBcO9cDFtpgfYQsc_xlPNdfod11VQPD8Ix2e22H9rvVrjjoFsnH4jtZ12a33M_JuPBkiptHKSPcVVNo8vU5Sj5C0UcJPMZDNgw_YYVVh2_xBUremhE0SOQSSbFgo9vbkR9cngfj/s1600/SmartSelect_20191019-205524_Camera.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="640" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc2ajpeXBcO9cDFtpgfYQsc_xlPNdfod11VQPD8Ix2e22H9rvVrjjoFsnH4jtZ12a33M_JuPBkiptHKSPcVVNo8vU5Sj5C0UcJPMZDNgw_YYVVh2_xBUremhE0SOQSSbFgo9vbkR9cngfj/s320/SmartSelect_20191019-205524_Camera.gif" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
Данная статья написана 5 месяцев назад, но только сегодня ее публикую , так как я наконец то завершил программу <b>AIPI</b> и у меня было около 2-х недель, что-бы завершить все пробелы в первоначальной модели. Два для я просто просидел до утра над обдумыванием того, а не ошибся ли я где нибудь. Ведь впереди теперь пару месяцев генерации данных для нейросети, аренда сервера для обработки просто нереально большого объема данных, которые будут находится в свободном доступе. Но об этом расскажу в ближайшее время. </div>
</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-66750765743197298022020-04-22T22:37:00.001+03:002020-05-16T22:19:56.420+03:00Программа AIPI, версия 1.0.1.0 Свободная версия для скачивания.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Для скачивания через Microsoft Store , просто наберите в поиске AIPI, или используйте <a href="https://www.microsoft.com/ru-ru/p/aipi/9phf0chnzgcq?activetab=pivot:overviewtab">ссылку</a>. </b><div>
<b><br /></b>Программа AIPI предназначена в первую очередь для ГИПов и руководителей проектных организаций. AIPI автоматизирует:<br />
- график загрузки специалистов по основным разделам<br />
- график необходимости специалистов по разделам<br />
- график движения заработанных денег по отделам<br />
- график движения заработанных денег по организации<br />
- внесение изменений в график<br />
- пересчет основных графиков исходя из сдвижек на линейном графике<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/PhQvHSdM2rs/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/PhQvHSdM2rs?feature=player_embedded" width="320"></iframe></div>
<a name='more'></a><br />
Интерфейс программы очень прост, все основные процессы происходят внутри, без возможности влияния на их со стороны пользователя:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaiaOnB2YF6Ghw0rVVJ2CV0k1e_f9guJIJNOwu7rDVTK_ES1ZyJxvjJ08ZbzqSU5ocSmhoX2uTey5VPziCO-OnBnbJIpOa9QLyCxWzoWHBr3N15pPEm04goE2nz9pyqAXc3H9GYSBx92dP/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="948" data-original-width="1600" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaiaOnB2YF6Ghw0rVVJ2CV0k1e_f9guJIJNOwu7rDVTK_ES1ZyJxvjJ08ZbzqSU5ocSmhoX2uTey5VPziCO-OnBnbJIpOa9QLyCxWzoWHBr3N15pPEm04goE2nz9pyqAXc3H9GYSBx92dP/s640/1.png" width="640" /></a></div>
<br />
"добавить объект" - добавляет новый объект в линейный график.<br />
"обновить график" - обновляет данные по основным графикам расположенных ниже<br />
"Сохранить" - сохраняет текущий проект в корневую директорию, на данный момент не реализована возможность сохранять и загружать файлы с разными именами, пока только один проект с названием по умолчанию (save.sav) в корневой директории файловой системы вашего ПК.<br />
"Загрузить" - Загружает ранее сохраненный проект.<br />
"Очистить" - Очищает проект от всех объектов.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSJRCKXzXwSBYZ_1EsS7Ft1ZndhHeN3leBR6hO79QTknfi7ueIPL1jEKFvFS_dNCfYVzdZhU-AEdPlho3IMS8w0ltO6LT1bMjk4QX1eCIZQc_JJTz8vaF30P1z4eBTvWgNEdO7oYqn4kC3/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="946" data-original-width="1600" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSJRCKXzXwSBYZ_1EsS7Ft1ZndhHeN3leBR6hO79QTknfi7ueIPL1jEKFvFS_dNCfYVzdZhU-AEdPlho3IMS8w0ltO6LT1bMjk4QX1eCIZQc_JJTz8vaF30P1z4eBTvWgNEdO7oYqn4kC3/s640/2.png" width="640" /></a></div>
<br />
Добавив объект, необходимо ввести название объекта (не обязательно) и нажать кнопку "+", откроются настройки где необходимо указать все входящие данные:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioYq42alNSkx-8R_a8JDwYessv68sLmApnWUuU2Klj-xAOBO6OOUMFFWKut4yO1Dnqwx0ozn4IRdICs588HpPljFuatCpW9yBFxlgB82rKVfPlYlRXItO-nmEpt8X6RtgyeurMMyqYCZUu/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="827" data-original-width="1600" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioYq42alNSkx-8R_a8JDwYessv68sLmApnWUuU2Klj-xAOBO6OOUMFFWKut4yO1Dnqwx0ozn4IRdICs588HpPljFuatCpW9yBFxlgB82rKVfPlYlRXItO-nmEpt8X6RtgyeurMMyqYCZUu/s640/6.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Эта самая сложная часть в программе, так как необходимо точно перенести все данные из договора или придумать самому для некого перспективного проекта (договора).<br />
Затраты на операционную деятельность это прямые затраты помесячно - аренда, ФЗП, накладные расходы и т. д.<br />
Данные по численности должны содержать численность непосредственно исполнителей, принимающих непосредственное участие в процессе разработки документации.<br />
Нажимаем кнопку "закрыть" и нажимаем на этом объекте кнопку "развернуть", получаем пустой проект и начинаем его заполнять:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSOr0cX4zqxcAu9sIR-iwAMjn_IFZ_GZ-HjL0ILkc0wAIw6p7O_q8T3KFq7xVqjHPp6Pv3WKqCPx9X_Wx081Y_f4pqizedHVjX3oHjmUQN2JsvJR8EvMeYqdlSwTRpROLqEqQIARtM64LT/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="947" data-original-width="1600" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSOr0cX4zqxcAu9sIR-iwAMjn_IFZ_GZ-HjL0ILkc0wAIw6p7O_q8T3KFq7xVqjHPp6Pv3WKqCPx9X_Wx081Y_f4pqizedHVjX3oHjmUQN2JsvJR8EvMeYqdlSwTRpROLqEqQIARtM64LT/s640/4.png" width="640" /></a></div>
<br />
Перед построение графиков наш проект необходимо либо сохранить, либо свернуть, при сворачивании происходит автоматическое сохранение данного объекта. Теперь нажимаем кнопку "Обновить график". Если нужно лучше удалить не используемые объекты при помощи кнопки "Х". Графики должны получиться примерно следующие :<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPoXF5XobdraWqbJTunYelyFjAZcabpL1S2vHDqXKdY8H5VYZcfBOBEuFwFl4Y-v6Ut2PDiijPwNdCgIQnuxvz329btCgde8UyAtTLjmAQkjF6mAHwjCfbkuhCxVl8zA0y3e9p8Yl4jk9m/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="944" data-original-width="1600" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPoXF5XobdraWqbJTunYelyFjAZcabpL1S2vHDqXKdY8H5VYZcfBOBEuFwFl4Y-v6Ut2PDiijPwNdCgIQnuxvz329btCgde8UyAtTLjmAQkjF6mAHwjCfbkuhCxVl8zA0y3e9p8Yl4jk9m/s640/5.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBH1IwctNDDIWX4SAPGH1exPKAIfR8G6_jhc__Ho-u3bOZ-1Ooh-QdLqSAdmzKsisFu6qEM3TgBI74ftp0ZU4gjXNI1NCl7ipLzSr0raIbPjL1y9a7jOrWbv_EPwOuAhRn0zIr2R1VqP8U/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="936" data-original-width="1600" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBH1IwctNDDIWX4SAPGH1exPKAIfR8G6_jhc__Ho-u3bOZ-1Ooh-QdLqSAdmzKsisFu6qEM3TgBI74ftp0ZU4gjXNI1NCl7ipLzSr0raIbPjL1y9a7jOrWbv_EPwOuAhRn0zIr2R1VqP8U/s640/7.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Теперь можете вносить изменения в сроки на линейном графике , сохранять проект и обновлять графики. Лучше сразу вносить реальные графики , а не абстрактные, в программе много заложено автоматизмов, но они не рассчитаны на абстракцию.<br />
Для перестроения линейного графика подзадач рекомендуется иногда нажимать "Свернуть" и "Развернуть". Например если вы измените продолжительность основного объекта , продолжительность подзадач не изменится, пока вы не свернете подзадачи и не развернете их обратно.<br />
<br />
<b>Для скачивания через Microsoft Store , просто наберите в поиске AIPI. </b></div>
</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-48058354225215866692020-04-01T16:15:00.000+03:002020-04-01T16:16:09.640+03:00Может ли нейросеть управлять проектной компанией ?<div dir="ltr" style="text-align: left;" trbidi="on">
Пару месяцев назад я решил поставить на паузу работу с моей программой <a href="https://play.google.com/store/apps/details?id=com.EnionProject.Prometey">Prometey</a> и помочь ГИПам в компании где я работаю в создании программы которая автоматически считает загруженность отделов, считает бюджет компании и составляет графики балансов по людям и деньгам в режиме "онлайн".<br />
<br />
<a name='more'></a><br />
Для начала я накидал эскиз того что будет делать программа:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4uk60_qJPEAfJySsPnTcuSCDY5TodD6pncjRC-XITVcFMfO3LTXwx3umVoKlY7550OdzCtO0X8Zvt2LBVKL9NFfrnhYSgkkAcD5NsvbhIMPQ0sJcqG8wnFZZFUAL9q8ggF1o0yKjrGrW_/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="487" data-original-width="1600" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4uk60_qJPEAfJySsPnTcuSCDY5TodD6pncjRC-XITVcFMfO3LTXwx3umVoKlY7550OdzCtO0X8Zvt2LBVKL9NFfrnhYSgkkAcD5NsvbhIMPQ0sJcqG8wnFZZFUAL9q8ggF1o0yKjrGrW_/s400/1.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrN4xAq_tXZKJGFsTpne-cZwMv1v5sl48CSq-PZrO3KzSFcfoT06dLjAgRBQ4VnBH-jx_TWX1A05WPDbXkDAncXHWXuIysAjZxUnyzIqGOc9Hv0DvbLzFeEN9HLjqX72YIswGStDsWUZdC/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="772" data-original-width="1600" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrN4xAq_tXZKJGFsTpne-cZwMv1v5sl48CSq-PZrO3KzSFcfoT06dLjAgRBQ4VnBH-jx_TWX1A05WPDbXkDAncXHWXuIysAjZxUnyzIqGOc9Hv0DvbLzFeEN9HLjqX72YIswGStDsWUZdC/s400/2.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit3j6O5nuNgEARHXagwQdJKW9auyMMBDhTdN3L2buFFPL86Y8le8MiUulQOmqFd2X1WeRc8_fub9FHrWOX62sKA1avFlEZnNZRkike1m7QnHwGw9FpjpqGBIAGJNu_5XwgfuqaH4DjX9lN/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="770" data-original-width="1600" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit3j6O5nuNgEARHXagwQdJKW9auyMMBDhTdN3L2buFFPL86Y8le8MiUulQOmqFd2X1WeRc8_fub9FHrWOX62sKA1avFlEZnNZRkike1m7QnHwGw9FpjpqGBIAGJNu_5XwgfuqaH4DjX9lN/s400/3.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir6rwc3rT4I2w435NmwC2VGXBCe-utNAZ34wpjrYv-gQ53ZrI4kAjXa87vr4UpYpYw1uMxprsoV5XAaTCVZGUl_lwjwdhzW1LmIioYUHmQe2p8l-uypCaGB3VC-I57VEO3aDAfGVpGrJh9/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="770" data-original-width="1600" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir6rwc3rT4I2w435NmwC2VGXBCe-utNAZ34wpjrYv-gQ53ZrI4kAjXa87vr4UpYpYw1uMxprsoV5XAaTCVZGUl_lwjwdhzW1LmIioYUHmQe2p8l-uypCaGB3VC-I57VEO3aDAfGVpGrJh9/s400/4.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigyvOeGbNW-KOEZxsc2Y_HTBY4Xa9hvWh1cGHClGiGEnwl3J6KTwnjap6pD0th_9bpM2C6UO01sYETLiZCadANXx7rWXsjNJiYQKXRxYBPu91_fcZyMccrrDoFY4lYj7hsO_QLVYYdOq7v/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="773" data-original-width="1600" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigyvOeGbNW-KOEZxsc2Y_HTBY4Xa9hvWh1cGHClGiGEnwl3J6KTwnjap6pD0th_9bpM2C6UO01sYETLiZCadANXx7rWXsjNJiYQKXRxYBPu91_fcZyMccrrDoFY4lYj7hsO_QLVYYdOq7v/s400/5.png" width="400" /></a></div>
<br />
По сути разработка Microsoft Project только с блэкджеком и ..... плюшками. Но через 2 недели я понял что задача может кратно расширится более глобально и принял решение все наработки на WPF полностью удалить. Было решено добавить большое количество "свидетелей", которые будут отслеживать действия пользователей и запоминать их. Это очень сильно тормозит процесс разработки, но это вынужденная мера.<br />
Почему именно такая схема работы, а не велосипедостроение на Microsoft Project ? или Aveva или иных программах для проектного менеджмента ? Трудно отслеживать изменения, трудно накладывать ограничения на изменения или архивацию уже выполненной работы, трудно связывать с иными данными из разных источников. Поэтому взвесив все за и против было решено все написать с нуля отдельно без привязки к конкретному ПО.<br />
Все события по каждому проекту заносятся в базу метрики машинного обучения , на основе которой уже сервер обрабатывает полученные данные и учится стать "супер ГИПом" на основе ошибок и правильных решений которые делает вполне живой человек. Вот как выглядит интерфейс альфа версии PC программы :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixeZjTvXfbwqAb3qT7CJf0PPBFWm1pGTIj0y0JFT5DplM7fJsnY_UQuFvqQtQT6DyCc7Q2a7t2vxf65zsM63xp6QHbSe3I3mS3J9sKGKdQyVogxDItj3ln8Qa73uYYgXLXsV4cc49uf1gI/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="678" data-original-width="1600" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixeZjTvXfbwqAb3qT7CJf0PPBFWm1pGTIj0y0JFT5DplM7fJsnY_UQuFvqQtQT6DyCc7Q2a7t2vxf65zsM63xp6QHbSe3I3mS3J9sKGKdQyVogxDItj3ln8Qa73uYYgXLXsV4cc49uf1gI/s640/1.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
А вот как выглядят мета данные выборки для обучения нейросети:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlMp-Q-nD8fdhyphenhyphenR82zonC7y73geoJGClAGf1rDhcw3W457d_weznjhyphenhyphen1uwpBSisTcr4NNu_DS8tS4qBe8XI8rHFdcCkgkO8nvYjuVCDZzpt-uRv2dwT2W5Oj1RVfVs6i_BMMzoTaRKwH1u/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="706" data-original-width="1508" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlMp-Q-nD8fdhyphenhyphenR82zonC7y73geoJGClAGf1rDhcw3W457d_weznjhyphenhyphen1uwpBSisTcr4NNu_DS8tS4qBe8XI8rHFdcCkgkO8nvYjuVCDZzpt-uRv2dwT2W5Oj1RVfVs6i_BMMzoTaRKwH1u/s640/2.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
На этапе релиза, данные, которые собирает серверная часть программы для обучения нейросети, будет иметь порядка 90 параметров. Данные параметры показывают какие действия совершает пользователь в программе и к каким результатам, с ходом времени, они приводят. Таким образом живые ГИПы своей работой помогут обучить своего искусственного коллегу. Пока кодовое имя программы будет <b>AIPI.</b></div>
<div class="separator" style="clear: both; text-align: left;">
Возможно все это не даст вообще никаких результатов , так как для обучения необходима довольно большая метрика, она же статистика выполненных проектов в программе, а на это необходимо время. </div>
<div class="separator" style="clear: both; text-align: left;">
Скоро программа будет доступна в Microsoft Store абсолютно бесплатно. </div>
</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com3tag:blogger.com,1999:blog-1571531074697790044.post-48268799833531431322020-03-21T19:05:00.003+03:002020-03-21T19:05:40.142+03:00Нейросеть Nvidia реконструирует фотографии<div dir="ltr" style="text-align: left;" trbidi="on">
По данной ссылке находится <a href="https://www.nvidia.com/research/inpainting/">демо версия нейросети</a> которая реконструирует части изображения находящиеся под маской которую задает пользователь. Для примера возьмем фото Арни из культового фильма:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil6izh9Tess6RpA3y_UIFt_EVhW-OYvSLowLnhmAS66ubdNWK_2CWFIXPV3DkMUtykEHZ6VzeVWKuPdr1f66LqCt1sGTQfpiie0AbF28CrLW2vp543RsXux7yp2QSQmXidCIIFlHvGmX9H/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="522" data-original-width="522" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil6izh9Tess6RpA3y_UIFt_EVhW-OYvSLowLnhmAS66ubdNWK_2CWFIXPV3DkMUtykEHZ6VzeVWKuPdr1f66LqCt1sGTQfpiie0AbF28CrLW2vp543RsXux7yp2QSQmXidCIIFlHvGmX9H/s400/1.png" width="400" /></a></div>
Наложим маски в различных местах и посмотрим результат:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia5behz8aKBaYx7_jcX2OJcFjmRC-huYw7wmgWJaaFELFjq4Mk7V86y29ERxKmG61Z2LXEeabFUCtyZPLHVnDjegcgWiBtHnjJSWMRJlO_ioPibZS1OgTmHKvki2eZEhVy_S7p8gs3j2IV/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="522" data-original-width="522" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia5behz8aKBaYx7_jcX2OJcFjmRC-huYw7wmgWJaaFELFjq4Mk7V86y29ERxKmG61Z2LXEeabFUCtyZPLHVnDjegcgWiBtHnjJSWMRJlO_ioPibZS1OgTmHKvki2eZEhVy_S7p8gs3j2IV/s400/2.png" width="400" /></a></div>
<br />
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
А вот и сами маски:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlMJMDcflczXeINGlH2NlOhKuCJJTEQfEvZ6UUMWWEK8GnccqmEWHn6uPXvPtX35DTrmCL_xbmoUdWdEBanSVWjEXqRIFfUik5R_QxAfn5HOjF1-gQR5kKmlqo6EcPfVA26CFo1as0ZDc/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="520" data-original-width="520" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlMJMDcflczXeINGlH2NlOhKuCJJTEQfEvZ6UUMWWEK8GnccqmEWHn6uPXvPtX35DTrmCL_xbmoUdWdEBanSVWjEXqRIFfUik5R_QxAfn5HOjF1-gQR5kKmlqo6EcPfVA26CFo1as0ZDc/s200/3.png" width="200" /></a></div>
<div style="text-align: center;">
<br /></div>
</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-69810043619788526372019-12-07T23:43:00.001+03:002019-12-10T18:20:11.074+03:00Робот контролирует совместную работу инженеров / конструкторов / архитекторов в разном ПО<div dir="ltr" style="text-align: left;" trbidi="on">
Что такое совместная работа проектировщиков ? Этот процесс и он чем то напоминает неуправляемый хаос. Но все же для получения желаемого РЕАЛЬНОГО результата необходимо грамотное управление данного сложного процесса. Процесса с тысячами взаимосвязей между всеми участниками процесса.<br />
В машиностроении существует производственная система которая выстраивает технический процесс от А до Я, другими словами любая задача раскладывается на детали и данные детали мы можем улучшать до бесконечности. В проектировании, любая, даже казалось бы идентичная задача, складывается из немного разного набора деталей. И одной из самых сложных задач в проектировании с точки зрения TPS (Toyota Production System - Производственная система), является ускорение и улучшение процесса выдачи заданий между подразделениями проектного института. И мы решили попробовать решить данную задачу с точки зрения именно производственной системы.<br />
<br />
<a name='more'></a><br />
Казалось бы, выдача заданий на инженерные отверстия, одна из основных задач процесса проектирования, но основные разработчики ПО для САПР не разработали этот сложный инструмент и это не с проста. Для того что бы его разработать нужно понимать процесс проектирования детально, а не отдаленно.<br />
Для примера<a href="http://rengarnd.blogspot.com/2019/11/collaboration.html"> статья от отечественных разработчиков</a> ПО "Кирпич", пока они отдаленно размышляют над концепцией не совсем практически применимой модели работы, мы в ПИ-2 разработали конкретное рабочее решение за 6 месяцев.<br />
Когда продумывался этот инструмент как процесс, его пришлось разбить на мельчайшие этапы согласно концепции производственной системы. Еще 5 лет назад я начал работать над этим инструментом в <a href="https://revitconsalting.blogspot.com/2016/03/revit-4.html">далекой далекой статье</a>, но на реализацию всего механизма мне не хватало ни людей, ни времени. В чем суть идеи ? Суть простая, весь процесс контроля инженеров \ архитекторов \ конструкторов сводится к почти полной автономной работе алгоритмов, которые сами контролируют процесс выдачи/согласования и отслеживания изменений без участия человека.<br />
На данный момент с января 2020 года мы начинаем тестировать уже в рабочем режиме нашу разработку мониторинга выдачи заданий на отверстия между всеми участниками этого "приятного" процесса. В будущем добавим контроль основной геометрии и т. д.<br />
Мы назвали нашу разработку "система мониторинга моделей" , это по своей сути робот (око башни Саурона) , который все видит, за всеми следит и информирует о всем происходящем всем заинтересованным. Робот состоит из трех частей:<br />
- Дополнения (плагины) к Allplan \ Revit, это клиентская часть разработки<br />
- Программа получающая с серверной части необходимую информацию и выводящую ее в трей (всплывающее окно с боку над панелью задач Windows) операционной системы конкретного пользователя. В будущем еще и сообщение в Telegram.<br />
- Серверная часть , сердце и мозг всей системы в целом , именно сюда стекается вся информация по всем обьектам (моделям) всего проектного института<br />
BIM менеджер в самом начале в специальной админ панели указывает все настройки проекта и включает всех специалистов отвечающих за конкретный раздел модели:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRk67RtbrbJL7Dmbpfzk5Jj0_ocMREpjKINmtZHehEhfG3Yre9huDZij1xvlAXrFMssGZ0jgpnTDBjCbUkpBIMeWtWFZj6RZRW0ByY5apKUwXsNWPRZwmygjrZ_g3b54IUrHNkJ5a9Z1QN/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="837" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRk67RtbrbJL7Dmbpfzk5Jj0_ocMREpjKINmtZHehEhfG3Yre9huDZij1xvlAXrFMssGZ0jgpnTDBjCbUkpBIMeWtWFZj6RZRW0ByY5apKUwXsNWPRZwmygjrZ_g3b54IUrHNkJ5a9Z1QN/s640/1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBlyqwFlMen1FKTNhCMaqe5npsTpEIwWJL9u9EV-eWr4anawKffXuK8hwHR50u92d2uNzEhY0yrZm5qWOt432mqQwOLyfDeKoJrqOZ5k8bEEfELGU1iOcgiUU4nCSdc3Zk4R_Wlcu9N-2t/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="473" data-original-width="835" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBlyqwFlMen1FKTNhCMaqe5npsTpEIwWJL9u9EV-eWr4anawKffXuK8hwHR50u92d2uNzEhY0yrZm5qWOt432mqQwOLyfDeKoJrqOZ5k8bEEfELGU1iOcgiUU4nCSdc3Zk4R_Wlcu9N-2t/s640/2.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG4Ynthyphenhyphen1rKCvZ233CctmFjKY0VBTNVMx-ejuJpcbR9ah3VV0mop41IOdF-MMKUuHrj3D4ZJsIBb1r_hmadl7X3Z06M4gKGVw0YXrTgE7ioBQkNnYwmIezOow7A9Ob4Jw05vy9OzG3t7iP/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="227" data-original-width="337" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG4Ynthyphenhyphen1rKCvZ233CctmFjKY0VBTNVMx-ejuJpcbR9ah3VV0mop41IOdF-MMKUuHrj3D4ZJsIBb1r_hmadl7X3Z06M4gKGVw0YXrTgE7ioBQkNnYwmIezOow7A9Ob4Jw05vy9OzG3t7iP/s320/3.png" width="320" /></a></div>
<br />
Основная сложность в том, что мы изначально пытались оседлать сразу двух коней , Revit и Allplan и нам это удалось в полном объеме.<br />
Хозяином инженерного отверстия является конкретный инженер из плоти и крови, работающий в среде Revit. Далее назначаются конкретные архитекторы и конструкторы:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhvaaQXsG9Put6gVqi0_pOZyfWtTj1JRCod0oUTIyeGogH4K2uLBpEyg5FQSZ3mE1uLBRSu9FRi3Z2uT9Q6ue7z1Yms32WELlcTwWtgVD0pIRIJfCH038P8KXLpz079fK3Dnkfn44IRXro/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="258" data-original-width="465" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhvaaQXsG9Put6gVqi0_pOZyfWtTj1JRCod0oUTIyeGogH4K2uLBpEyg5FQSZ3mE1uLBRSu9FRi3Z2uT9Q6ue7z1Yms32WELlcTwWtgVD0pIRIJfCH038P8KXLpz079fK3Dnkfn44IRXro/s320/4.png" width="320" /></a></div>
<br />
Информация по сотрудникам берется из официальных учетных записей корпоративной сети.<br />
Если в модель заходит например случайный архитектор и нечаянно пытается изменить положение отверстий в базе данных или согласовать их, то система ему не дает это сделать:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7mm4t4ckoHR1hyphenhyphens19_GV7uJ8ipRlhCqAam_0ZYto_68DdzUaWsAKe-Q0wARJ04UmGwoa13MQtpUhh97qiQDuH5njngeKEwraemUV0mYS24zwwn1Xfm_KDT7fE_AMzpgctNL-ulRquahPW/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="221" data-original-width="369" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7mm4t4ckoHR1hyphenhyphens19_GV7uJ8ipRlhCqAam_0ZYto_68DdzUaWsAKe-Q0wARJ04UmGwoa13MQtpUhh97qiQDuH5njngeKEwraemUV0mYS24zwwn1Xfm_KDT7fE_AMzpgctNL-ulRquahPW/s320/5.png" width="320" /></a></div>
<br />
И даже более, серверная часть запоминает нарушителя и сохраняет данное нарушение в журнал событий, при желании может отправлять в телеграмм чат полную информацию по нарушению конкретного правонарушителя.<br />
<br />
После того как инженеры разместили все свои семейства отверстий в модели они записывают их в базу данных:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjykeYOLv3xfJ1dfTxUR9g1MGs93cQlZfU3rDsPtoZs_e8pBWaFEiDfwkZXTwUuq-GfqGRpaEP8n7iz54QPrpDmfBo68pHvw0S5G_7NnSLcE3wrZxTrmHYTKEnzgDh6Yks2l3ipFFZ574n2/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="407" data-original-width="1011" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjykeYOLv3xfJ1dfTxUR9g1MGs93cQlZfU3rDsPtoZs_e8pBWaFEiDfwkZXTwUuq-GfqGRpaEP8n7iz54QPrpDmfBo68pHvw0S5G_7NnSLcE3wrZxTrmHYTKEnzgDh6Yks2l3ipFFZ574n2/s640/6.png" width="640" /></a></div>
<br />
Но это еще не означает что они окончательно приняты всеми участниками процесса, архитекторы и инженеры должны их принять в работу. В Revit тем временем у инженеров все отправленные на согласования отверстия меняют цвет и за их цветом следит сервер , изменить их цвет невозможно. Инженер может следить за статусом отверстий через свою панель:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_o8qGFAMj240mzPP3QaIahFHUdWy5mltNT-GcnSg7riRLLeFkiE5nL6Fe9QtKUmZHzKuLlpShqSOWwA5nbmd2SIQy19U0NAlL-AqL4QJEEIvPQ_DXInnk9Ps9BEq499dnX5A7b7QGSVv1/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="652" data-original-width="1029" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_o8qGFAMj240mzPP3QaIahFHUdWy5mltNT-GcnSg7riRLLeFkiE5nL6Fe9QtKUmZHzKuLlpShqSOWwA5nbmd2SIQy19U0NAlL-AqL4QJEEIvPQ_DXInnk9Ps9BEq499dnX5A7b7QGSVv1/s640/7.png" width="640" /></a></div>
Инженер в режиме онлайн видит кто согласовал отверстия , а кто не согласовал и по какой именно причине , не согласовать без пояснений невозможно. Чуть позже мы прикрутим специального бота который будет следить за тем, не пишут ли чушь в замечаниях , лишь бы написать , например "ываываываыва".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic6yS2stJr-fvyF3s55DkdZQU_be-Of3PCLnPa0E3-ttJ7t2J9rwXrlKE9Jwr9082yDvoz0xSFcHdMHKaoaQSa8sE6Vh3dlRN77AjZ0uyVzNrJB813FrdxDj3RD9zV1uu1sWt2y6tkrdMX/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="185" data-original-width="646" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic6yS2stJr-fvyF3s55DkdZQU_be-Of3PCLnPa0E3-ttJ7t2J9rwXrlKE9Jwr9082yDvoz0xSFcHdMHKaoaQSa8sE6Vh3dlRN77AjZ0uyVzNrJB813FrdxDj3RD9zV1uu1sWt2y6tkrdMX/s400/8.png" width="400" /></a></div>
<br />
Отверстия можно конечно согласовывать пакетно и по одиночке а так же перед тем как согласовать увидеть их предварительное положение в пространстве модели. Если например инженер на данный момент не работает в Revit, то серверная часть ему любезно предоставит в сплывающем окне всю информацию по всем согласованым\не согласованым отверстия по каждому проекту. И сервер это будет делать до тех пор пока инженер не соизволит открыть форму уведомления с регистрацией времени просмотра в журнале.Так же планируется и оправка сообщений сервером в виде уведомления в Telegram конкретного сотрудника. Таким образом мы гарантируем доставку информации человеку даже если он находится дома или в отпуске на море, от всевидящего ока не спрятаться и не скрыться теперь нигде и никогда.<br />
Если после всех согласований инженер решит изменить положение или размер отверстия, то за этим следит сервер:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWQt3UyCxCx2h_J0atYOa5E2uPrsHQRoIuLwpCaW1LS3atsuY7QbeOfwwD8dJfgLeJi3sVZZ7hn9Zg-p3ZCCux3hESido4ZwQ6__OCsmb_mQMRAAoUAOa2jQbb1SJ1IXu_bj3hp3acmCou/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="573" data-original-width="1012" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWQt3UyCxCx2h_J0atYOa5E2uPrsHQRoIuLwpCaW1LS3atsuY7QbeOfwwD8dJfgLeJi3sVZZ7hn9Zg-p3ZCCux3hESido4ZwQ6__OCsmb_mQMRAAoUAOa2jQbb1SJ1IXu_bj3hp3acmCou/s640/9.png" width="640" /></a></div>
<br />
И тут так же как и с инженерами, конструкторам и архитекторам придет мгновенное уведомление при изменении отверстия по каждому месту , по каждому конкретному объекту , даже если вы уже несколько лет не работали с данной моделью. И тут так же сервер найдет вас хоть на краю земли и будет добиваться что бы вы увидели это изменение и согласовали его , и кроме того фактически подправили его и у себя в модели Allplan/Revit. Все согласованные отверстия отстраиваются у конструктора и архитектора автоматически.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAbjA0PjbJ2rtoIihoRF5oid6vmoCzrCYI8Sf9GCrWGRDg9Smj-UMKkyGtDdKQ9ro3JYLpvUP-z8bSylvc5RvtxTrgLFPLNkwSvfVseRxI-HtBHQ1U_slaAZfzjAqiGsvYtBcEb2KT4iCw/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="742" data-original-width="1008" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAbjA0PjbJ2rtoIihoRF5oid6vmoCzrCYI8Sf9GCrWGRDg9Smj-UMKkyGtDdKQ9ro3JYLpvUP-z8bSylvc5RvtxTrgLFPLNkwSvfVseRxI-HtBHQ1U_slaAZfzjAqiGsvYtBcEb2KT4iCw/s400/10.png" width="400" /></a></div>
<br />
Или можно поставить на всех отверстия галочки о согласовании и сразу их нарисовать в модели:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1lQeRzVC42mllA1bxfjYxZkFEj0BtbyhcXqmvUlgmva6dA3C-LpJZy0PKDYZIpa-nHrOxKmKCwFjTN2lZ6WvzbuFCTmJIvvZAe_sQ82N_uXuwZkc14dAXyxzy78Ba13MKV4efnOb_HQ7z/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="858" data-original-width="910" height="601" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1lQeRzVC42mllA1bxfjYxZkFEj0BtbyhcXqmvUlgmva6dA3C-LpJZy0PKDYZIpa-nHrOxKmKCwFjTN2lZ6WvzbuFCTmJIvvZAe_sQ82N_uXuwZkc14dAXyxzy78Ba13MKV4efnOb_HQ7z/s640/11.png" width="640" /></a></div>
<br />
<br />
Но это все не означает, что инженер может менять отверстия каждые 5 минут, все изменения по всем объектам записываются в журнал событий, то есть робот записывает все следы "преступлений" с фиксацией всех мест и времени. Данная информация так же уходит BIM менеджеру, а в скором времени на панель управления для ГИПа.<br />
И это так же не означает, что после согласования архитектор или конструктор может изменить только у себя положения отверстия как ему удобнее, отверстие сразу теряет статус согласованости и опять приходит уведомление.<br />
Когда вы получаете например 200 отверстий , то сложно понять где какое именно отверстие в модели , не по координатам же их отличать ? и даже для этого мы придумали инструменты:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiClBhe1DfidPrWjRCEfgY-fPoXCr4zs7qqIFYtevIWVHE2fG5cwFJCFEojywGY5tmIv624WnlXiyU4Dp3HLU6sMk-EVUevAhpEwy-GETWJzinroQqI4GA0LL0jbptH95Kyn-n1XEfY_wVM/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="875" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiClBhe1DfidPrWjRCEfgY-fPoXCr4zs7qqIFYtevIWVHE2fG5cwFJCFEojywGY5tmIv624WnlXiyU4Dp3HLU6sMk-EVUevAhpEwy-GETWJzinroQqI4GA0LL0jbptH95Kyn-n1XEfY_wVM/s640/12.png" width="640" /></a></div>
Перебирая по одному или сразу несколько или все , отверстия подсвечиваются в модели Allplan / Revit.<br />
Цель всей работы по мониторингу отверстий, это глобальный поиск и отслеживание всех изменений по всем проектам института. Как я говорил ранее, мы задрали довольно высокую планку и довольно скоро мы начнем отслеживать и плиты перекрытия и несущие стены и пилоны и самонесущие стены и модели в целом. Даже мои коллеги по данной разработке не знают полностью всю стратегию развития данной разработки, некоторые функции планируется создать и для ГИПов и для строительной площадки, многие функции будут основаны на принципах машинного обучения, но об этом уже не в этой статье.<br />
В ближайшем будущем мы покажем ролик с демонстрацией возможностей, в статье я описал лишь малую часть инструментов для отслеживания отверстий.<br />
Если вашему предприятию необходима данная разработка под вашу технологию процессов проектирования или строительства, мы можем вам помочь в этом. </div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-9282180214611438562019-09-18T00:48:00.002+03:002019-09-28T17:37:33.821+03:00Сравнение результатов нахождения изгибающих моментов между нейросетью, RSA, SCAD<div dir="ltr" style="text-align: left;" trbidi="on">
Пару недель назад я опубликовал тестовое видео демонстрации работы нейросети при нахождении изгибающих моментов:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/mxVsIggukYE/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/mxVsIggukYE?feature=player_embedded" width="320"></iframe></div>
<br />
<a name='more'></a> На тот момент это была еще тестовая функция, но за пару недель удалось добиться хороших результатов на тестовых примерах и еще немного глубже обучить нейросеть. На данный момент нейросеть опубликована в <a href="https://play.google.com/store/apps/details?id=com.EnionProject.Prometey">приложении Prometey</a>. С каждой обучающей выборкой нейросеть становится умнее, но даже сейчас её уровень интеллекта уже достаточен для того что-бы найти решение приемлемого уровня. Для того что бы показать уровень точности, я решил протестировать результаты нейросети на схеме где есть различные значения по величине: <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ6INA6mjsbl7ZvzEytP5O1LcPxRr-lU6FLFldUfy9I2nOxuJHlC2qp4zTxISibRYC53v_kzq2ghJ1EvcFM_e-QYSy492Q6JdWe3ozeQid2MkaPH8CWwq0P7SzQYWevFdYsETBmoCGyN89/s1600/var7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="790" data-original-width="1317" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ6INA6mjsbl7ZvzEytP5O1LcPxRr-lU6FLFldUfy9I2nOxuJHlC2qp4zTxISibRYC53v_kzq2ghJ1EvcFM_e-QYSy492Q6JdWe3ozeQid2MkaPH8CWwq0P7SzQYWevFdYsETBmoCGyN89/s640/var7.png" width="640" /></a></div>
<br />
Для сравнения результатов я выбрал 2 программы - SCAD и RSA. RSA умеет находить эквивалентный изгибающий момент, а со SCAD-ом пришлось повозиться: <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUaTpVSCG3i_JLoMej_WkjdU-nbyqgbWTFtI7HFEjzEozFOY3sjWF9dsWOmb-6yQoaV9Bg6GCCLURtnAyyR6nkB_yz1Dbw5jM3f5O8yVNZdBm2Qv8Jo_INsV_ZT5zNLHCKyo5XSo0k-l01/s1600/%25D0%25BC%25D0%25BE%25D0%25BC%25D0%25B5%25D0%25BD%25D1%2582%25D1%258B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="854" data-original-width="1600" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUaTpVSCG3i_JLoMej_WkjdU-nbyqgbWTFtI7HFEjzEozFOY3sjWF9dsWOmb-6yQoaV9Bg6GCCLURtnAyyR6nkB_yz1Dbw5jM3f5O8yVNZdBm2Qv8Jo_INsV_ZT5zNLHCKyo5XSo0k-l01/s640/%25D0%25BC%25D0%25BE%25D0%25BC%25D0%25B5%25D0%25BD%25D1%2582%25D1%258B.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyUUMXuCLAEkzb-K4JRF-J1tR3INgYSH6bU3BapD809vccb2bQdD45CuxDg54t_69ZtV8c1mVuH9rrnxDgjXhCv6xWx52dNUtfyS4vNx44F_CPI3OYqMFjvi7oFaEssafmxCjwP9GWQBhn/s1600/SnipImage+%25281%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="991" data-original-width="1600" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyUUMXuCLAEkzb-K4JRF-J1tR3INgYSH6bU3BapD809vccb2bQdD45CuxDg54t_69ZtV8c1mVuH9rrnxDgjXhCv6xWx52dNUtfyS4vNx44F_CPI3OYqMFjvi7oFaEssafmxCjwP9GWQBhn/s640/SnipImage+%25281%2529.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxwfu5Xt8Wy0GbBwNidz3hY4hrfPboTIF1eBFhVHMsJ_1Lx17RZmkfxuMDZQN-ZZ-d6fCvqfqewY3UPfGUY-otnTWO7Llq_D7ijH0O_og1dndXalcCuQoasWANAcV7uIiQQpHn50BJU3ZY/s1600/SnipImage.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="964" data-original-width="1600" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxwfu5Xt8Wy0GbBwNidz3hY4hrfPboTIF1eBFhVHMsJ_1Lx17RZmkfxuMDZQN-ZZ-d6fCvqfqewY3UPfGUY-otnTWO7Llq_D7ijH0O_og1dndXalcCuQoasWANAcV7uIiQQpHn50BJU3ZY/s640/SnipImage.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
В случае со SCAD момент равен :</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUyLhNfDAV_1ADW90SDEp5d5Ag0-iu5MnpkM2Ddi1AIjSTfX8g2zYjjTZuvmQgvRjDWHw2pfoq8OWeR_XKb7HUY90U5h6QKrxBN5zb0qEwGK-gzT_7yTy3gz39vvNYeQALzWUdE3laMM0X/s1600/img-0JRHUy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="1024" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUyLhNfDAV_1ADW90SDEp5d5Ag0-iu5MnpkM2Ddi1AIjSTfX8g2zYjjTZuvmQgvRjDWHw2pfoq8OWeR_XKb7HUY90U5h6QKrxBN5zb0qEwGK-gzT_7yTy3gz39vvNYeQALzWUdE3laMM0X/s200/img-0JRHUy.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
На момент написания этой статьи, нейросеть была обучена еще двумя выборками и поэтому в целом нейросеть стала немного умнее, я выложу данные уже по новой версии, результаты немного отличаются от приведенных в таблице(старые значения):</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnkh9NklPUsE6timt6og2WTO96QrVHn46reirKLyn3VtlH48OiZj0GsoMpcd5EW5MRJxpIR011vzFm1gboMOoMsKF-ZEzT64shfaZ6KKmdF0OHLr0inF6LxIHycypkJQ-elp-jHn4YogWq/s1600/Screenshot_20190917-233638_Prometey+%25281%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnkh9NklPUsE6timt6og2WTO96QrVHn46reirKLyn3VtlH48OiZj0GsoMpcd5EW5MRJxpIR011vzFm1gboMOoMsKF-ZEzT64shfaZ6KKmdF0OHLr0inF6LxIHycypkJQ-elp-jHn4YogWq/s640/Screenshot_20190917-233638_Prometey+%25281%2529.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Соберем все данные в одну таблицу:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuFkjabtrz7H2iqTwPfvMdEtXS5C45lvGrooAyJ8w1cF7REfAD6ffRRdn5hv8_k4HYHpsqpGxPf9kx9TerDjR4VEtx6fR2Zlcax5xMKnPdVeYC-vlnAAxkFtFsan7qL5P2rss7aPigRADq/s1600/SnipImage+%25282%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1229" data-original-width="933" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuFkjabtrz7H2iqTwPfvMdEtXS5C45lvGrooAyJ8w1cF7REfAD6ffRRdn5hv8_k4HYHpsqpGxPf9kx9TerDjR4VEtx6fR2Zlcax5xMKnPdVeYC-vlnAAxkFtFsan7qL5P2rss7aPigRADq/s640/SnipImage+%25282%2529.JPG" width="484" /></a></div>
В данной таблице сведены данные по изгибающим моментам среди трех программ по опорным участкам над колоннами, за эталонные значения выбраны данные RSA, поэтому в таблице сравниваются результаты ANN(нейросеть) c RSA и SCAD с RSA. Для наглядности я подсветил значения которые отличаются более чем на 20%. Крайние значения среднего отклонения равные сумме всех значения на их количество , характеристика спорная, но она хоть как то показывают общий уровень отклонения. Нейросеть не находит значения моментов с запредельными велечинами , например для плиты толщиной 250 мм и нагрузке на плиту 600 кг/м2 момент составит не более 20 Т*м, более высокие значения свидетельствуют либо о запредельных пролетах между колоннами/пилонами, либо огромные очень большие вылеты консольных участков. Весь список указать сложно, я просто обучил нейросеть плохим вариантам возникновения плохих изгибающих моментов в плитах. Размер конечных элементов во всех схемах составляет 200х200 мм. RSA автоматически усредняет значения моментов на опорах, со SCAD опять пришлось посидеть с калькулятором над всеми значениями.<br />
Вывод у меня на данный момент один, Prometey пока единственная программа где можно самому пощупать нейросеть и получить приемлемый результат. Теперь у меня есть все инструменты для завершения разработки инструмента автоматической расстановки пилонов. </div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-30158981102295422422019-09-02T01:00:00.001+03:002019-09-02T01:00:02.068+03:00Нейросеть находит изгибающие моменты в плите. <div dir="ltr" style="text-align: left;" trbidi="on">
После того как у меня получились положительные результаты тестов нахождения изгибающих моментов в плите, я смог кратно ускорить процесс разработки нейросетевых библиотек приложения Prometey.<br />
На сегодняшний день у меня уже две основные нейронные модели. Обученные нейронные модели по своей сути представляют собой набор нейронных связей в виде сотен и тысяч строк кода почти одних чисел:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN8lVntJDLsswII-RLVMd2_BFTLA3rwIKdkMHTNCgpClIVWB71BEoRuKSGc1AvPztYjYxHm9KA-RVbN-ryToV7P5S288i-v15rPu-GvXYRWVh_S5xGL3qdVZK8HYTIXJ1_gYxxIqGSPB9f/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="559" data-original-width="689" height="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN8lVntJDLsswII-RLVMd2_BFTLA3rwIKdkMHTNCgpClIVWB71BEoRuKSGc1AvPztYjYxHm9KA-RVbN-ryToV7P5S288i-v15rPu-GvXYRWVh_S5xGL3qdVZK8HYTIXJ1_gYxxIqGSPB9f/s400/1.png" width="400" /></a></div>
<br />
<a name='more'></a><br />
Это и есть ядро вычислений на подобие связи нейронов в человеческом мозге. Как происходит вычисления среди тысяч, десятков тысяч нейронных связей может помочь визуализировать данное видео:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/3JQ3hYko51Y/0.jpg" src="https://www.youtube.com/embed/3JQ3hYko51Y?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
Сегодня я могу сказать смело что приложение Prometey это на все 100% единственное приложение обладающее искусственным разумом. Prometey находит изгибающие моменты в плитах с любым расположением пилонов и колонн, нагрузками и сечениями плиты. Вот демонстрация, что он уже умеет:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZxCaorg513r3BC4PpLZUqHBQMOCbWqb9FmoLQvBSwW1JNGaVa-z5TdueyJ4EcZHXxJsQhJGe9gyvkNjcW3DW46DEoCkbGeoVp6EvgogQrThD94ULjewdC_1kO6GtwUo2pz3STLFwlRxY/s1600/Screenshot_20190901-223927_Prometey.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmZxCaorg513r3BC4PpLZUqHBQMOCbWqb9FmoLQvBSwW1JNGaVa-z5TdueyJ4EcZHXxJsQhJGe9gyvkNjcW3DW46DEoCkbGeoVp6EvgogQrThD94ULjewdC_1kO6GtwUo2pz3STLFwlRxY/s640/Screenshot_20190901-223927_Prometey.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2jVPC1Ivw23UX-joQXJ1XGFiGwgnPIqBThSUxItxQILVkDZfU1bD2Z8MwmdHW9tn-ACgprvA0rWgHrFYrI7DwKuCrKEaTn7cvY7tmvZKkik0iiP67s5gw2JHRZFb7nDc4kD6xDmsWnmyt/s1600/Screenshot_20190901-223957_Prometey.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2jVPC1Ivw23UX-joQXJ1XGFiGwgnPIqBThSUxItxQILVkDZfU1bD2Z8MwmdHW9tn-ACgprvA0rWgHrFYrI7DwKuCrKEaTn7cvY7tmvZKkik0iiP67s5gw2JHRZFb7nDc4kD6xDmsWnmyt/s640/Screenshot_20190901-223957_Prometey.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6t_fKGmoNnBLij41AdiIFvcuiPg8TwGCdbqx0EdIaESN0LdBM4NJ3usCdI3Gghz1ZjRV6i006uyvpDANHsU4o8Ol7Dk9lFRxyGYNBTDORZKb4XTmwnEsa9Hfr9ebUqJOUjhRz3xsb9KHv/s1600/Screenshot_20190901-224248_Prometey.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6t_fKGmoNnBLij41AdiIFvcuiPg8TwGCdbqx0EdIaESN0LdBM4NJ3usCdI3Gghz1ZjRV6i006uyvpDANHsU4o8Ol7Dk9lFRxyGYNBTDORZKb4XTmwnEsa9Hfr9ebUqJOUjhRz3xsb9KHv/s640/Screenshot_20190901-224248_Prometey.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfrzreINxvezRuzFSwPx4vTwW8whaG6W6RzWnhtpbXgZ-30O4kkWnbvlTACgsVd1zO_dqpt22NMZDefv52uthgzJh4GzFn1cpMbOF2k4WDbLvkWrY5fSbOcmGPlMQm5CeXZY_u1ONx1Xmj/s1600/Screenshot_20190901-224700_Prometey.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfrzreINxvezRuzFSwPx4vTwW8whaG6W6RzWnhtpbXgZ-30O4kkWnbvlTACgsVd1zO_dqpt22NMZDefv52uthgzJh4GzFn1cpMbOF2k4WDbLvkWrY5fSbOcmGPlMQm5CeXZY_u1ONx1Xmj/s640/Screenshot_20190901-224700_Prometey.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/argzYuolq7M/0.jpg" src="https://www.youtube.com/embed/argzYuolq7M?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Визуализация изгибающего момента происходит в характерных точках плиты, на подобие визуализации моментов в программе RSA.<br />
Но на видео еще не окончательная визуализация результатов, планирую сделать визуализацию результатов при помощи шейдерных текстур для вставки красивых результатов расчетов в презентации.<br />
Планирую в конце недели опубликовать версию с данным инструментом. Этот инструмент как воздух необходим другой надстройке , которая сама расставляет пилоны на плане, но эту задачу решает уже другая нейронная сеть которая забирает результаты работы нейросети которая находит изгибающие моменты. Со стороны этот процесс напоминает процесс жизнедеятельности небольшого живого организма, как разработчик я уже иногда не понимаю как происходят некоторые взаимосвязи и закономерности, и от этого становится все более интересно и одновременно страшно, и главный вопрос - куда это все приведет ?<br />
<br /></div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-41733821195250105682019-08-25T00:17:00.001+03:002019-08-25T00:17:42.809+03:00Prometey. Релиз версии 1.0 и дорожная карта до конца года<div dir="ltr" style="text-align: left;" trbidi="on">
Релиз приложения я планировал изначально на 1 сентября, но я смог устранить все проблемы быстрее чем планировал и <a href="https://play.google.com/store/apps/details?id=com.EnionProject.Prometey">опубликовал приложение раньше</a>.<br />
Приложение рассчитывает и реализует:<br />
1. Эффективность конструктивных решений<br />
2. Вертикальную нагрузку на пилоны и колоны<br />
3. Положение центра тяжести грузовых площадок<br />
4. Цветовое разбиение интенсивности распределения грузовых площадей в плите перекрытия<br />
5. Экспорт результатов в файл формата DXF<br />
6. Общий обмен файлами расчета между пользователями<br />
7. Сканирование чертежей и любой информации через камеру телефона<br />
8. Загрузка фотографий в формате PNG любого размера и разрешения<br />
9. И многое другое<br />
<br />
<a name='more'></a><br />
<a href="https://t.me/AIprometey">В телеграмм канале</a> я опубликовал опросник о том , что бы хотелось видеть пользователям Prometey в будущем. Сейчас я пока занимаюсь переводом приложения на английский язык. Но на прошлой неделе я наконец-то решил задачу которая была самым высоким барьером на пути машинного обучения в строительной механике и сопромате. На примерно 20-ой математической функции я решил тестовую задачу. Все 19 до этого не давали нужный результат совсем, либо процент погрешности был намного больше чем 10%:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwZBXyVXzaWk8YbaG5fn3xwyzJk7Qhk5NLDy0fP6hRvYG6xH-1AriOknQoEhScKbS9qBQjxsFVyO-ZZr2AGyZUb0PGDyqqNzt2VPacDDPke0veMThOsf8hiknh8_fh7WwRnghhoAqLCmr1/s1600/%25D0%259F%25D0%25B5%25D1%2580%25D1%2586%25D0%25B5%25D0%25BF%25D1%2582%25D1%2580%25D0%25BE%25D0%25BD+78%2525.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="228" data-original-width="531" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwZBXyVXzaWk8YbaG5fn3xwyzJk7Qhk5NLDy0fP6hRvYG6xH-1AriOknQoEhScKbS9qBQjxsFVyO-ZZr2AGyZUb0PGDyqqNzt2VPacDDPke0veMThOsf8hiknh8_fh7WwRnghhoAqLCmr1/s400/%25D0%259F%25D0%25B5%25D1%2580%25D1%2586%25D0%25B5%25D0%25BF%25D1%2582%25D1%2580%25D0%25BE%25D0%25BD+78%2525.png" width="400" /></a></div>
<br />
Каждый столбец это распределение процентов при решении ключевой задачи ИИ строительной механики. Я искал ответы на многих ресурсах, в книгах, в чатах гиков машинного обучения, математиков и т. д. И в какой-то момент я уже хотел изменить <a href="https://vk.com/wall-160334352_70">свой ответ в голосовании</a>. Изначально я пытался обучить нейросеть через сверточные нейросети и хэш функции (<a href="http://stanislaschaillou.com/thesis/GAN/unit_program/">для примера</a>), но потом я решил попробовать крайнюю попытку и попробовать решить задачи совсем иным путем, через абстракции. Через некоторое время у меня получилось уже иная картина:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU92uWX3ySsV-3H7276ngRYoBG2PAZ7w9u9iA4-YYYEmQ7nCGFAKOcMhjyKvTnbmnohE20nMmUH8jZFVaX3aFuoRfOy1byAZA9zaKhOPyDFLVbF_ubWXcgxDDq6GmauqR3TGDIf_maC95_/s1600/%25D0%259F%25D0%25B5%25D1%2580%25D1%2586%25D0%25B5%25D0%25BF%25D1%2582%25D1%2580%25D0%25BE%25D0%25BD+100%2525.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="229" data-original-width="631" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU92uWX3ySsV-3H7276ngRYoBG2PAZ7w9u9iA4-YYYEmQ7nCGFAKOcMhjyKvTnbmnohE20nMmUH8jZFVaX3aFuoRfOy1byAZA9zaKhOPyDFLVbF_ubWXcgxDDq6GmauqR3TGDIf_maC95_/s400/%25D0%259F%25D0%25B5%25D1%2580%25D1%2586%25D0%25B5%25D0%25BF%25D1%2582%25D1%2580%25D0%25BE%25D0%25BD+100%2525.png" width="400" /></a></div>
<br />
Тут уже видна непоколебимость при нахождении решения, причем верного. Суть решения объяснять долго, поэтому буду краток, смысл решения сводится в нахождении единиц по диагонали матрицы. Но пришлось усложнить нейросеть, что негативно скажется на производительности расчетов, уже не получится так быстро получать решение как с расчетом нормальной силы в пилонах. Благодаря данному ключевому решению я смог заложить часть кода для обучения нейросети в релизную часть приложения Prometey и опубликовать его раньше назначенного времени.<br />
В данный момент я отбираю самые лучшие решения для обучения нейросети и тренирую Prometey через специальный инструмент для разработчиков внутри приложения не доступном для всех остальных пользователей.<br />
Теперь подробнее о том, что увидят пользователи Prometey до конца этого года:<br />
<br />
1. Нейросеть будет определять изгибающие моменты в перекрытии любой формы, размеров, толщины, и нагрузок приходящих на нее.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv8B1dXSGAhJyjAuMq9kC8teWIbpi3zTkbY_zeIxR9Qash3yN56CkATS0JNoqFlpG-3DyGkdHh64xIIsxRpKjEMhPVyN9C3xErxJI_aliz5gvLt-dJoK6BT9DPyal3lu0bKbTWCXCHvdm2/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1297" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv8B1dXSGAhJyjAuMq9kC8teWIbpi3zTkbY_zeIxR9Qash3yN56CkATS0JNoqFlpG-3DyGkdHh64xIIsxRpKjEMhPVyN9C3xErxJI_aliz5gvLt-dJoK6BT9DPyal3lu0bKbTWCXCHvdm2/s640/9.png" width="640" /></a></div>
<br />
Справа инструмент <b>анализ плиты перекрытия</b>, пока не доступен для пользователей. Изначально я планировал тестирование на ноябрь месяц, но в результате положительных опытов у меня получилось ускорить этот процесс и уже в начале сентября 2019 года инструмент станет доступным. Хотя на dwg.ru мне отвели на это годы :) и совсем забыл, нейросеть находит именно эквивалентные изгибающие моменты :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAshdNz5buewvO9Jq0lLk3SRUxFGIw2YfOH87jhdTymU3qf_ZJBnrDNgUyWwrlGg-UzvAgs0BVlbLmGlyGh1h-9CkEeh6RyRZvO3rTJ_r_yL5KCfYy9CF1whCNxXuleKWb00RZmNPaQhF/s1600/img-0JRHUy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="1024" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAshdNz5buewvO9Jq0lLk3SRUxFGIw2YfOH87jhdTymU3qf_ZJBnrDNgUyWwrlGg-UzvAgs0BVlbLmGlyGh1h-9CkEeh6RyRZvO3rTJ_r_yL5KCfYy9CF1whCNxXuleKWb00RZmNPaQhF/s200/img-0JRHUy.png" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Изначально я планировал, что нейросеть будет находить примерные значения , но после тестов я получил очень точны значения даже на самых сложных конфигурациях плит и расположения пилонов и колонн на их. Пока обучение проходит на менее чем 1000 данных для обучения, но со временем я расширю обучение до 10 000 данных. Скорость отображения результатов расчета изгибающих моментов нейросетью занимает от десятой доли секунду до 10 секунд. Нейросеть показывает значение эквивалентного момента и значение вероятности в процентах.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
2. На конец года планирую создать автоматического планировщика по пилонам в тестовом варианте, который будет генерировать неограниченное количество вариантов рационального расположения пилонов по архитектурным стенам и не только. Планирую, что демонстрация возможностей будет в виде стрима на котором Prometey в онлайн режиме будет генерировать варианты с расчетами.<br />
<br />
В связи с большим спросом на данную тематику и большим количеством поломанных копий у различных команд разработчиков я решил больше даже отдаленно не намекать как и что работает, тем более описывать математику нахождения решений тех или иных задач. Только сухая демонстрация того, что умеет Prometey и ничего более.<br />
<br /></div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com1tag:blogger.com,1999:blog-1571531074697790044.post-55501397052135487882019-08-11T12:47:00.001+03:002019-08-11T12:49:04.340+03:00Prometey. Как приложение будет бороться с пиратством и почему оно платное ?! <div dir="ltr" style="text-align: left;" trbidi="on">
Многие слышали и знают <a href="https://play.google.com/store/apps/details?id=com.enion.CUBE&hl=ru">приложение CUBE</a>, если вбить в поиск точное название (или хотя бы примерное), то первым в запросе будет ссылка на Google Play. Но вторая ссылка будет вести на пиратский сайт:<br />
<br />
<a name='more'></a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYIigzSlN2abSUOSd-35BQgiQFk9WFxEDT5eQYhR-t3XFxa_PAXeQlpTFNyeqvbI6jkZ1ZkveqKy_yHajG_D1pcU8lpeTgmFfT8k78ikSMEkje3NpmnNfXKRATnY8JrDd7jfW8G7-T6XpZ/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="865" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYIigzSlN2abSUOSd-35BQgiQFk9WFxEDT5eQYhR-t3XFxa_PAXeQlpTFNyeqvbI6jkZ1ZkveqKy_yHajG_D1pcU8lpeTgmFfT8k78ikSMEkje3NpmnNfXKRATnY8JrDd7jfW8G7-T6XpZ/s400/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png" width="400" /></a></div>
Большая часть установок в не рамок промо акций на стороне "пиратов". Но с другой стороны за год страницу магазина посетили около миллиона раз и в этом не последняя заслуга десятков пиратских сайтов. Но всему есть предел, если раньше на 10 покупок было 2-3 пиратские установки, то сейчас на 10 установок только 1-2 через официальный магазин. Поэтому пришло время что-то менять. Google Play / AppStore и Unity / EpicGames предлагают модель временной подписки, это единственный способ максимально обезопасить разработчиков и сделать их работу более стабильной. Таким образом Prometey стал полноценной Full Stack разработкой, вот его принципиальная схема работы:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLnEbx8lO-pMWuKzMrWfcVPoleAKPs5qjBCkreJnxmkMD0HmtKsMcF-DL_9174nq73v5JNcO18M_CsYin8dlikJtIFWSzlGshteu2AZbbHr9Zot2MDQi_qIBIF_yZ4U3GnNImGQD1qwpHA/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B92.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="492" data-original-width="1000" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLnEbx8lO-pMWuKzMrWfcVPoleAKPs5qjBCkreJnxmkMD0HmtKsMcF-DL_9174nq73v5JNcO18M_CsYin8dlikJtIFWSzlGshteu2AZbbHr9Zot2MDQi_qIBIF_yZ4U3GnNImGQD1qwpHA/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B92.png" width="640" /></a></div>
<br />
<br />
Для более наглядного объяснения предоставлю другое изображение:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqukqEeOkzBEWu_04fQ9QyN3Lceu6onxnPnw2cVHEYrb8iD9wuZf5DzPdYqzhA4Bj3SU4mQAOVPdhUhEXhGJ4ATMxJW-kHI8-SaS1-KeFVx38wPxLLN_fvc5FyOewfJaF1a1XlfWJGVdQR/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B93.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="672" data-original-width="1381" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqukqEeOkzBEWu_04fQ9QyN3Lceu6onxnPnw2cVHEYrb8iD9wuZf5DzPdYqzhA4Bj3SU4mQAOVPdhUhEXhGJ4ATMxJW-kHI8-SaS1-KeFVx38wPxLLN_fvc5FyOewfJaF1a1XlfWJGVdQR/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B93.png" width="640" /></a></div>
<br />
При загрузке приложения высветится именно это изображение, оно обозначает что приложение пытается сверить информацию которую предоставил пользователь с информацией о покупке на сервере лицензий. Если пират попробует подделать информацию на стороне клиента , то это вряд ли у него получится , так как код вшитый в Prometey динамически изменяется и меняет коды транзакций покупок каждого клиента. Над этим работает не только разработчик Prometey но и сами специалисты Google. Но для этой операции необходимо подключение к интернету и Prometey будет ждать любого подключения. В будущем я добавлю возможность подключаться и оффлайн , но после тестирования и отладки всех основных функций.<br />
И если приложение поймет, что это лицензионный пользователь. То предоставит доступ:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMgIHaIrIO9xeu2E4RowQvLyE5GU1zb77tOobK0Wupv9aRGMBlI5J2FpYEfnLE0aSIQ3ljt_KcSoIRBQsGaHfH1ENCNkn7EvIawcj87RmEJNH0fey_-m3m3yS6sB4-vYYtXtKQjEe4GyEd/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B93.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="674" data-original-width="1381" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMgIHaIrIO9xeu2E4RowQvLyE5GU1zb77tOobK0Wupv9aRGMBlI5J2FpYEfnLE0aSIQ3ljt_KcSoIRBQsGaHfH1ENCNkn7EvIawcj87RmEJNH0fey_-m3m3yS6sB4-vYYtXtKQjEe4GyEd/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B93.png" width="640" /></a></div>
<br />
Но для пиратов я добавил небольшой сюрприз , если специальный внутренний бот определит алгоритм попытки взлома, он сразу меняет весь интерфейс и принцип запуска приложения:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3aQZHtBHIcVhT3q0g8lEJDl_yaxZATTs_4S7dizxygSsYh1SK8gFpkbIf-Wg_oBpo0mOCRAFywoeSY6Ll4YMrxyzlx7gfPgW9jI9dwMkKBoGyLBEnLPIB0V7Go7-IrL9ZYLvAJIfkpWGS/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B93.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="674" data-original-width="1383" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3aQZHtBHIcVhT3q0g8lEJDl_yaxZATTs_4S7dizxygSsYh1SK8gFpkbIf-Wg_oBpo0mOCRAFywoeSY6Ll4YMrxyzlx7gfPgW9jI9dwMkKBoGyLBEnLPIB0V7Go7-IrL9ZYLvAJIfkpWGS/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B93.png" width="640" /></a></div>
<br />
Пирату предлагается 5 секунд на решение простой математической задачи, если ответ не верный или пират не успеет ввести его в течении 5 секунд, цифры меняются на новые рандомные и так каждые 5 секунд , цикл, за циклом. Если ответ верный, то запускается основное приложение Prometey, лично я не успеваю ввести ответ даже с калькулятором под рукой.<br />
Теперь отвечу на вопрос почему приложение условно платное. Мне сложно заниматься инженерным сопровождением функциональности приложений, их тестированием, программированием, продвижением на рынке, SEO оптимизацией, сбором пожеланий/замечаний / критики / и отзывов в целом, заниматься вопросами кластеризации/оптимизации/нормализации/классификации данных для машинного обучения, собирать данные для обучения, обучать нейросети. Для всего это требуются очень большие финансовые затраты и в первую очередь мне необходимые специалисты.<br />
Я особо не рассчитываю на рынок СНГ, тут будет только старт продаж на 1.09.2019, приложение уже готово и завершается плановое закрытое альфа тестирование среди разработчиков:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgamqrB9IonzjwrZZ7u5gBQpJRYXNl3Ng_7YrnhCvmK8XqsPZ_6k-ZqeOgEGzngwTLp5Y8kWcAK7unql4HVfrVHHvIK6w2HPCw_28w0YsZ0nPhvRwqQlDZg7NkIm9kXRELTjkjmM4Cw2kGL/s1600/LWU-Apu8Hi8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="779" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgamqrB9IonzjwrZZ7u5gBQpJRYXNl3Ng_7YrnhCvmK8XqsPZ_6k-ZqeOgEGzngwTLp5Y8kWcAK7unql4HVfrVHHvIK6w2HPCw_28w0YsZ0nPhvRwqQlDZg7NkIm9kXRELTjkjmM4Cw2kGL/s400/LWU-Apu8Hi8.jpg" width="193" /></a></div>
<br />
На следующей неделе начнется последний этап перед релизом, бета тестирование и сразу новый этап - перевод на Английский, Немецкий, Испанский.<br />
В любом случае приложение будет иметь трехдневный бесплатный пробный режим. Стоимость подписки на месяц будет меньше стоимости чашки кофе. Цель проекта не заработать, а создать полноценного конструктора помощника в мобильном телефоне и покрытие затрат на издержки движения к заданной цели.</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-25481680975754779632019-08-05T21:42:00.001+03:002019-08-05T21:42:50.532+03:00Prometey. САПР решает вопрос эффективности расположения городов в США и России. Экспорт результатов в dxf<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimrdzEou3vIYocRPzXikFGMRmkuKJMdYMSoTvhtXi7Rb2VuTaTJAackxV3mofVNOTy_FfnjZJlk22NDYhMSAuj7yQPwhfEZPZIEBX6Psg-ZbufQt1iAXsgPz0Q9D2pTjOtbziXEAsRklLR/s1600/%25D0%25BB%25D0%25BE%25D0%25B3%25D0%25BE+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="684" data-original-width="684" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimrdzEou3vIYocRPzXikFGMRmkuKJMdYMSoTvhtXi7Rb2VuTaTJAackxV3mofVNOTy_FfnjZJlk22NDYhMSAuj7yQPwhfEZPZIEBX6Psg-ZbufQt1iAXsgPz0Q9D2pTjOtbziXEAsRklLR/s200/%25D0%25BB%25D0%25BE%25D0%25B3%25D0%25BE+1.png" width="200" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Реализуя основные функции <a href="https://www.youtube.com/watch?v=JRThEI8DX08&t=11s">мобильного приложения Prometey</a> я снова столкнулся с проблемой масштаба , поэтому решил обойти этот вопрос без помощи <a href="https://www.youtube.com/watch?v=WijVrwsea60&t=58s">нейросетей с распознаванием двумерной информации</a>. Задачу решил более практично, пользователь сам подбирает масштаб с помощью простого в использовании инструмента. Проблема масштаба встала когда я попытался перекинуть dxf в Allplan. Не было ясно в каком масштабе сама модель, так как модель в Prometey отстраивается в произвольном масштабе согласно масштаба изображения на котором происходят все построения. И проблема масштаба так же остро стояла при обмене пользователями моделями, не ясно в каком масштабе модель полученная от другого человека, поэтому коэффициент масштаба записывается в саму модель файла Prometey.<br />
<br />
<a name='more'></a><br />
Но в этой статье немного о другом, для тестирования экспорта сложных моделей решил взять карты США и России:<br />
<div class="separator" style="clear: both; text-align: center;">
<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSkJRyOlaDW8pGxXxPHiqxLVxd8vr1U2Q_W1S2GQTptt-6lnlGfAxE2Z1tZ-eZiPMK97T0nhem8pFXIlx5H0f3cYy_phDUBaKubvQ3bx_hvI85xAHIqHYX5r9jyq8e7Xbw-jyH0sF0U3aK/s1600/%25D0%25A0%25D0%25BE%25D1%2581%25D1%2581%25D0%25B8%25D1%258F.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="846" data-original-width="1600" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSkJRyOlaDW8pGxXxPHiqxLVxd8vr1U2Q_W1S2GQTptt-6lnlGfAxE2Z1tZ-eZiPMK97T0nhem8pFXIlx5H0f3cYy_phDUBaKubvQ3bx_hvI85xAHIqHYX5r9jyq8e7Xbw-jyH0sF0U3aK/s640/%25D0%25A0%25D0%25BE%25D1%2581%25D1%2581%25D0%25B8%25D1%258F.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDgf5vixZRgVZ8-LFgff02Gphgi9qyyZ6-DWk8y0VqWgSuTNOdj-BkPM4emvHXTbSKd9QgyvbTouon7qMkc9X6Gx_wlapMT8E3m5bCTRQHxr1ECGY9qAO-hN8oieJr2SWdCj7ypOJOK-8C/s1600/usa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1008" data-original-width="1600" height="401" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDgf5vixZRgVZ8-LFgff02Gphgi9qyyZ6-DWk8y0VqWgSuTNOdj-BkPM4emvHXTbSKd9QgyvbTouon7qMkc9X6Gx_wlapMT8E3m5bCTRQHxr1ECGY9qAO-hN8oieJr2SWdCj7ypOJOK-8C/s640/usa.png" width="640" /></a></div>
<br />
В чем суть эксперимента, представим карты стран как архитектурные планы на которых нужно расставить эффективно вертикальные несущие элементы (города). Чем более равномерное распределение относительного расстояния между городами , тем более рациональное распределение населения по территории страны и тем более эффективное распределение городов страны (пилонов на архитектурном плане). Тут в принципе даже можно учесть население городов (сечение пилона), но я не буду учитывать этот фактор, так как тут и не вооруженным взглядом очевиден победитель в силу географических особенностей.<br />
<br />
Сначала результат США:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVNz0epHL0pjsLrinB1Wt0KtcxS9tio1fiBn6D32YnaLGxzaDUMq0vh6VNLzZen2lOHFPvlfGT0jfgpibx0QiJIxGkEtJf81N4r9iBLqa_0GNsgXtXr6glThFbJAjROjp5E9-Mz2j2fUcJ/s1600/Screenshot_20190805-210322_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVNz0epHL0pjsLrinB1Wt0KtcxS9tio1fiBn6D32YnaLGxzaDUMq0vh6VNLzZen2lOHFPvlfGT0jfgpibx0QiJIxGkEtJf81N4r9iBLqa_0GNsgXtXr6glThFbJAjROjp5E9-Mz2j2fUcJ/s640/Screenshot_20190805-210322_Voronoi.jpg" width="640" /></a></div>
<br />
На поиск карты в сети на телефоне, загрузки картинки в корень программы и построение модели ушло 6 минут. Если отметить только крупные города , получил результат в 29% - эффективность расположения городов.<br />
<br />
Ну а теперь Россия:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiESUCNQJ9wMyJKY7XU8Svn9ZPElGJv-H90g0Kk49yiFJyNiVFX0IUmi0wMQy5louKFx-jVyjRbLzCLK_Yznntx8EjhmyXDgOXFP_6m9JFD28q6_fCsW-CQBBkDByYfxaObFp_92V65Xir5/s1600/Screenshot_20190805-210458_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiESUCNQJ9wMyJKY7XU8Svn9ZPElGJv-H90g0Kk49yiFJyNiVFX0IUmi0wMQy5louKFx-jVyjRbLzCLK_Yznntx8EjhmyXDgOXFP_6m9JFD28q6_fCsW-CQBBkDByYfxaObFp_92V65Xir5/s640/Screenshot_20190805-210458_Voronoi.jpg" width="640" /></a></div>
<br />
Даже игнорируя многими островами получилось 8%. Если взглянуть на европейскую часть РФ, то разница между например Якутией составляет более 100 раз:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja5XB9MQHJOmmrkOoWmE_5Py39VRyLI2-VNq0qIv5ZURPHacTNMBzSlyUFXoqQJGrfvd8NrHcWFfZrifPeO5SyEwa3zqNTzaG0fbUVp8H1k9gEPOrHTWcoPVX-CvzgJpqzZrvnK0t2VW8d/s1600/Screenshot_20190805-210540_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEja5XB9MQHJOmmrkOoWmE_5Py39VRyLI2-VNq0qIv5ZURPHacTNMBzSlyUFXoqQJGrfvd8NrHcWFfZrifPeO5SyEwa3zqNTzaG0fbUVp8H1k9gEPOrHTWcoPVX-CvzgJpqzZrvnK0t2VW8d/s640/Screenshot_20190805-210540_Voronoi.jpg" width="640" /></a></div>
<br />
Ну а теперь собственно экспортируем модель из программы Prometey в наиболее популярный формат для всех САПР - dxf и забросим полечившиеся модели например в Allplan.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6_00TYbkUqd7GpSzz3bvVoYvAMQLO9CL2l6P4nww34eDHLmbTV8FIYmEJnKK1nDvshlaZ6_JokcHLTO8YOPoqlVznKN_IoDP_Qx_gcjysyBJ8kmtjKqD1aj_REGIV-KtUl4tJED_YNs8H/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1600" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6_00TYbkUqd7GpSzz3bvVoYvAMQLO9CL2l6P4nww34eDHLmbTV8FIYmEJnKK1nDvshlaZ6_JokcHLTO8YOPoqlVznKN_IoDP_Qx_gcjysyBJ8kmtjKqD1aj_REGIV-KtUl4tJED_YNs8H/s640/2.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkMW1GWxruMo1T3cmOitSxNg24uazEM5bGaF7PRfU8w_r9i4nv72mRdZNzm0IZcsnX2B9LM9gg6Dqct2cmxLTfRsyC9WNtKOaxKTFbEqbt66QCHEgqjYXwfnUb11M2JtitjfqLUU2FdQ_3/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="973" data-original-width="1600" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkMW1GWxruMo1T3cmOitSxNg24uazEM5bGaF7PRfU8w_r9i4nv72mRdZNzm0IZcsnX2B9LM9gg6Dqct2cmxLTfRsyC9WNtKOaxKTFbEqbt66QCHEgqjYXwfnUb11M2JtitjfqLUU2FdQ_3/s640/1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVFEwSFgWB7qv9ViN2OIKFMMXr0b644pPaU43_Otz75h2OGlsMHFm21Cv9LDEuItK5Op0yCvpTgBFyOwbJ_W_QCh7_ywCadum1QBHI99gWW70dv_WOaujsgaKUBamv2b5XZSwEXedc1M9e/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="970" data-original-width="1600" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVFEwSFgWB7qv9ViN2OIKFMMXr0b644pPaU43_Otz75h2OGlsMHFm21Cv9LDEuItK5Op0yCvpTgBFyOwbJ_W_QCh7_ywCadum1QBHI99gWW70dv_WOaujsgaKUBamv2b5XZSwEXedc1M9e/s640/3.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4umaDVN3XeFfGQW8eutRceJZYM3AdWkw-7-RohnA13Xr5tOeZrR9JS70-1sqh8RKYfTACVVuNrB0YE1t_xlRtUZDvNuWJUAm-vtyWMXmAWl2zXKI-asyd9yrdG6eIxH1RHD1AGLVJRz30/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="962" data-original-width="1600" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4umaDVN3XeFfGQW8eutRceJZYM3AdWkw-7-RohnA13Xr5tOeZrR9JS70-1sqh8RKYfTACVVuNrB0YE1t_xlRtUZDvNuWJUAm-vtyWMXmAWl2zXKI-asyd9yrdG6eIxH1RHD1AGLVJRz30/s640/4.png" width="640" /></a></div>
<br />
Если приблизить изображение то можно увидеть все необходимые значения:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8drLhasyVtINNsLB8N_uLE6e2hw5JPYUaUWuT08H_oTam07KbsWlScpfg1u56XWTkcv_3YOht9iTIpM6XN77kYa5mtrunks5z6KquKvcbRmoCKhHBr_jA7fFVagJsIKZxWQ2SHduzu023/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="966" data-original-width="1600" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8drLhasyVtINNsLB8N_uLE6e2hw5JPYUaUWuT08H_oTam07KbsWlScpfg1u56XWTkcv_3YOht9iTIpM6XN77kYa5mtrunks5z6KquKvcbRmoCKhHBr_jA7fFVagJsIKZxWQ2SHduzu023/s640/5.png" width="640" /></a></div>
<br />
В финальное версии при экспорте пользователю будет дан выбор что именно выгружать в dxf, контуры зон, триангуляцию, значения показателей и свойств или всё вместе как на изображении.<br />
<br />
<br /></div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-1557067773626418162019-07-26T19:05:00.000+03:002019-07-26T19:05:48.975+03:00Prometey. Нейронные сети в конструировании<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Многие компании пытались создать сложные генетические алгоритмы, но все потерпели крах. В основном по одной причине, попытке создать сложный алгоритм с большим количеством нелинейных зависимостей. Но для того что бы создать искусственную генетику, необходимо понять как функционирует вполне себе природная.<br />
Возьмем для примера человека, как мы распознаем лица, буквы, цифры , геометрию ? Это очень сложный вопрос, но на его смог ответить Ян Лекун - французский ученый в области информатики и нейробиологии. Он можно сказать является основателем такого вида нейронных сетей как CNN - convolution neural network, данная нейросеть работает по принципу зрительной коры человеческого мозга, где простые клетки распознают прямые линии под различными углами и передают информацию в более сложные клетки в которых собираются уже более сложные изображения и т. д. пока не складывается полная картинка увиденная человеческим глазом.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLBXW3AgdtHkAd-xq67Xzm_CfhTbJQGG8SSMs37OPZy2LKfwedi6i3bas221aEfFtFtVknINoqnsrdXOpzRo7o4yeRMDSxHuAf-shLWSGDSPzk0MEvzoaLMoyvosbbKb6fzL5uomF0dr_0/s1600/0_aWIO7eB6E4-cIkK9.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="282" data-original-width="500" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLBXW3AgdtHkAd-xq67Xzm_CfhTbJQGG8SSMs37OPZy2LKfwedi6i3bas221aEfFtFtVknINoqnsrdXOpzRo7o4yeRMDSxHuAf-shLWSGDSPzk0MEvzoaLMoyvosbbKb6fzL5uomF0dr_0/s400/0_aWIO7eB6E4-cIkK9.gif" width="400" /></a></div>
<br />
<a name='more'></a><br />
Если посмотреть на эту же визуализацию с точки зрения математики, то увидим следующее:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKGL2gvzKZ7nvjhOOYPxmvfduc-WsMLsbg-PVdOUvb6zNIydHlQ9LlNidjcc2I2FRqLRa_KK39E79FTm3w2c8hfok_W_P9CUgc9Iv-LQ0yLjYJfzTYxzeO9wv1yT6FjFhOaqLx87kVDYds/s1600/o0zhrzr_ml2tgsfmvl-mcrxjmbq.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="345" data-original-width="390" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKGL2gvzKZ7nvjhOOYPxmvfduc-WsMLsbg-PVdOUvb6zNIydHlQ9LlNidjcc2I2FRqLRa_KK39E79FTm3w2c8hfok_W_P9CUgc9Iv-LQ0yLjYJfzTYxzeO9wv1yT6FjFhOaqLx87kVDYds/s320/o0zhrzr_ml2tgsfmvl-mcrxjmbq.gif" width="320" /></a></div>
Вы ведь часто слышите такое выражение как "он очень опытен" ? По сути это обозначает что этот человек натренировал большое количество простых клеток в зрительной коре. И обращаясь к данным клеткам происходит воссоздание необходимых деталей.<br />
Но с реальным конструированием все намного сложнее, каждый входящий параметр это череда сложных алгоритмов которые сложно запомнить. Например <a href="https://en.wikipedia.org/wiki/Lloyd%27s_algorithm">алгоритм Ллойда</a>. Суть алгоритма в нахождении геометрического центра площади и смещение узла вокруг которого построена диаграмма в сторону центра, при этом происходит анализ соседних диаграмм. С каждой итерацией происходит уравновешивание всех площадей и смещение узловых точек в сторону уравновешивания. В программе Prometey этот алгоритм реализован, но доступен через специальную панель управления скрытую от всех пользователей:<br />
<br />
Без итераций:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCkCS7ZMeRuLMTZ_p04RpqpvDxvnPgKuUcX9aq98vdFkH9uEoVW-wx-20FTg7U3CGVdeVwR7m6H4QsJlF2COmKKx1RFulp0nH6GCuIiZGlo6Ce3bwWwPP9GQ3dHMArd9XY8H99a79Dctve/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="727" data-original-width="1408" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCkCS7ZMeRuLMTZ_p04RpqpvDxvnPgKuUcX9aq98vdFkH9uEoVW-wx-20FTg7U3CGVdeVwR7m6H4QsJlF2COmKKx1RFulp0nH6GCuIiZGlo6Ce3bwWwPP9GQ3dHMArd9XY8H99a79Dctve/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png" width="640" /></a></div>
<br />
1 итерация:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhymWnhr5f3qqx1hMzCDH0GXkzN65bk2QoPwrK3t8VlFAFMAwCP8ctoclk7-MmcsIAy_FEHqh_Ck1n5zn2hi1vRzkLK7B45PB1nLMu5hynMVGWhRanTxJ2-f5KND1zIoTb0qz6PE5pomrmO/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B92.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="728" data-original-width="1410" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhymWnhr5f3qqx1hMzCDH0GXkzN65bk2QoPwrK3t8VlFAFMAwCP8ctoclk7-MmcsIAy_FEHqh_Ck1n5zn2hi1vRzkLK7B45PB1nLMu5hynMVGWhRanTxJ2-f5KND1zIoTb0qz6PE5pomrmO/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B92.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
5 итераций:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-mBucEKYgIQD6sHGsC9R1DPormxxt6cfXn2kexDVg_7PUBNw4Zr4ufkGPUKkpXBuycQKrKCTsVxLoHkgMFt4ylNk-YydmbUVU7M-40Cm-ksFpQMOvygwPgbR2dqMrDNc8le98Al12AC0n/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B95.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="728" data-original-width="1408" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-mBucEKYgIQD6sHGsC9R1DPormxxt6cfXn2kexDVg_7PUBNw4Zr4ufkGPUKkpXBuycQKrKCTsVxLoHkgMFt4ylNk-YydmbUVU7M-40Cm-ksFpQMOvygwPgbR2dqMrDNc8le98Al12AC0n/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B95.png" width="640" /></a></div>
<br />
10 итераций:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ4QJNo22zzyG_zXMCtrZWTjXVSBeE-dPzOvB8tbMC4N1JpVb3UhQKAhkUyKCMXkY1kXMHbH39YLLjFp3Jr-GyxHSxmc4-tltvKW0QFKKIrroWF-uw-Vscl9vEEDqn9fvGuIZqP_WOpXZ0/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B910.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="731" data-original-width="1413" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ4QJNo22zzyG_zXMCtrZWTjXVSBeE-dPzOvB8tbMC4N1JpVb3UhQKAhkUyKCMXkY1kXMHbH39YLLjFp3Jr-GyxHSxmc4-tltvKW0QFKKIrroWF-uw-Vscl9vEEDqn9fvGuIZqP_WOpXZ0/s640/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B910.png" width="640" /></a></div>
<br />
Видно как площади уравновешиваются, сглаживаются друг к другу локальные максимумы и минимумы. И это еще далеко не ИИ, это просто сложный итерационный скрипт. Алгоритм Ллойда всего лишь один из множества алгоритмов необходимых для работы нейросети.<br />
Если теперь поговорить конкретно про нейросети в конструировании, то из всего множества давайте выберем нужный вид:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj37VZBwhQMCQ64BVER7aitFRRUIP3EtgE2qnB88dAFTGpSONnu8zJn0UcVIAdxKuHkQ6SiWEGPAns0C4yTLIvZ28r3tezVUP2VzBfDW0TpA6NiAIb8qrmY01Vv_pRp_7hNaoxqneDffFzc/s1600/3c18dfad31738c1b68a9c612f338d468.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="804" data-original-width="1429" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj37VZBwhQMCQ64BVER7aitFRRUIP3EtgE2qnB88dAFTGpSONnu8zJn0UcVIAdxKuHkQ6SiWEGPAns0C4yTLIvZ28r3tezVUP2VzBfDW0TpA6NiAIb8qrmY01Vv_pRp_7hNaoxqneDffFzc/s640/3c18dfad31738c1b68a9c612f338d468.png" width="640" /></a></div>
<br />
И как видно ни одна из существующих нейросетей нам не подходит, у нас должна быть немного иная как по структуре так и по функциональности, вот примерная структура:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNfIWkTJHSyBNfTddAGx2CTRCgGhMuWf0tC9Xed_5wagHdq2DT4S2TigFeLVcRDb6YPnbuCaypjJSDR44NR2pngVxGlmbTDjXhTYKYelDdk3h14j2R6vHzx-NW6Cv4oa03FtkqIYJsZ5HR/s1600/SnipImage.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1085" data-original-width="1600" height="432" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNfIWkTJHSyBNfTddAGx2CTRCgGhMuWf0tC9Xed_5wagHdq2DT4S2TigFeLVcRDb6YPnbuCaypjJSDR44NR2pngVxGlmbTDjXhTYKYelDdk3h14j2R6vHzx-NW6Cv4oa03FtkqIYJsZ5HR/s640/SnipImage.JPG" width="640" /></a></div>
<br />
<br />
По своей сути она выполняет следующие функции:<br />
1. Расставляет пилоны согласно расположения архитектурных стен<br />
2. <a href="https://revitconsalting.blogspot.com/2019/07/prometey-2.html">Оценивает их эффективность</a><br />
3. Пилоны которые показывают плохую эффективность, смещает согласно расположения архитектурных стен<br />
4. Если смещение не возможно, то уменьшает/увеличивает сечение<br />
5. Выполняет п.2-4 столько эпох, сколько запросит пользователь<br />
<br />
Но я еще не сказал самое главное, существует так же параллельная нейросеть, которая отбирает (для обучения первой нейросети) на сервере лучшие сочетания расположения пилонов в самых эффективных схемах. Для этого я создал формат обмена данных "prm", отмотать на 12:00,<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/JRThEI8DX08/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/JRThEI8DX08?feature=player_embedded" width="320"></iframe></div>
<br />
Лучшие схемы отбираются автоматически, пока это схемы перешагнувшие 70% барьер эффективности и отправляются на центральный сервер. Юридическая сторона данного вопроса описана в политике приложения.<br />
Первые данные для обучения нейросети я предоставил исходя из своего личного опыта, но для того что бы создать действительно альтернативный разум, понадобиться сотни тысяч примеров успешных расчетных схем от десятка тысяч пользователей. В дальнейшем показатели эффективности дополнятся еще двумя показателями, и только при удовлетворении всех трех будет происходить отбор.<br />
Я много размышлял и пробовал найти изгибающие моменты исходя из советов пользователей на <a href="https://forum.dwg.ru/showthread.php?t=153330">DWG.ru</a>, но способы в указанных направлениях безуспешны, точнее результаты на столько условные, что малоприменимы в реальности. Поэтому в следующей статье я постараюсь показать уже первые результаты работы нейросети в данном направлении, в целом все очень сложно и достигается работой с полиномиальными хешами, суффиксными массивами, абстрактными данными, кластеризацией и многим другим интересным.<br />
<br />
<br /></div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com3tag:blogger.com,1999:blog-1571531074697790044.post-1359723593254744112019-07-21T19:26:00.000+03:002019-07-21T19:26:24.568+03:00Prometey. Эффективность конструктивных решений. Часть 2<div dir="ltr" style="text-align: left;" trbidi="on">
В этой части мне хотелось бы поговорить конкретно про эффективность. Я думаю ни для кого не является секретом , что от удачного расположения пилонов зависят напряжения возникающие в плите перекрытия. Да и в целом правильное расположение пилонов в целом характеризует не только несущую способность каркаса здания, но и его экономические показатели. Так как конструктор должен заложить необходимое и достаточное количество материалов, без перегибов в большую или меньшую сторону.<br />
<br />
<a name='more'></a><br />
Для этого в программе Prometey появился еще один инструмент под названием "эффективность пилонов". Суть его сводится к игнорированию армирования пилонов и вычисления эффективности исходя из работы только бетона. То есть определяется напряжение возникающее на единицу поперечного сечения пилона (Т/м^2). Для примера возьмем два случая:<br />
1. Пилон сечением 200х1000 и на который приходит 200 Тс, напряжение в пилоне составляет 200/0.2*1.0=1000 Т/м^2<br />
1. Пилон сечением 200х800 и на который приходит 160 Тс, напряжение в пилоне составляет 160/0.2*0.8=1000 Т/м^2<br />
<br />
В первом и втором случае грузовые площади отличаются , но из-за более рационально подобранного сечения пилона во втором случае под меньшую нагрузку происходит их уравновешивание по напряжению и армирование их будет отличатся минимально.<br />
Теперь давайте на более наглядном примере, возьмем небольшое здание с 16 колоннами, расставим их рандомно:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSMzQ5KvzbX2Y3b03v4b8r7VgkB3LLurBcHWDiWEcqP2d2ArDMmHbtQlpAfgWi3x5F1BWTwvfCO-MpuLWqX1kWQk46MOr1VuZR9olAmZxFWjp6ayldyIK_mYzhHKsomSOmlx9bfLm4xYEn/s1600/Screenshot_20190721-133641_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSMzQ5KvzbX2Y3b03v4b8r7VgkB3LLurBcHWDiWEcqP2d2ArDMmHbtQlpAfgWi3x5F1BWTwvfCO-MpuLWqX1kWQk46MOr1VuZR9olAmZxFWjp6ayldyIK_mYzhHKsomSOmlx9bfLm4xYEn/s640/Screenshot_20190721-133641_Voronoi.jpg" width="640" /></a></div>
<br />
Средняя эффективность вычисляется как среднее значение от суммы всех значений. За 100% принят самый нагруженный пилон/колонна. Как видно результат не самый плохой , всего 66%, я думал будет хуже.<br />
А теперь давайте попробуем выровнять грузовые площадки путем расположения всех пилонов симметрично друг другу:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjp_MSlVXcr4m4XunNX4MQ2uSkDuQI4M_ohU65leMjK0SfP138AeYhUUTUIWEj5i-azXV81W6yYqKlN50AsIgH5J7AfJRBfXllXaQTwheEfw5CJBu3k9D-QpTEyPGDIIXmvDi8IM4Pw30T/s1600/Screenshot_20190721-133335_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjp_MSlVXcr4m4XunNX4MQ2uSkDuQI4M_ohU65leMjK0SfP138AeYhUUTUIWEj5i-azXV81W6yYqKlN50AsIgH5J7AfJRBfXllXaQTwheEfw5CJBu3k9D-QpTEyPGDIIXmvDi8IM4Pw30T/s640/Screenshot_20190721-133335_Voronoi.jpg" width="640" /></a></div>
<br />
При желании можно добиться и 100% эффективности, достаточно пары лишних минут.<br />
<br />
Идеальным расположением колонн считается регулярная сетка колонн 6м*6м, это известно всем из старых советских учебников по железобетону. Этот шаг является идеальным сточки зрения отношения затрат на материалы/несущая способность. И отчасти именно поэтому в системе КУБ2.5 шаг колонн является 6м*6м самым рациональным :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWFKcbGe8RB2ykcLvbkIR64pMrF1qYg6GF5kAjV2ppyY6UU-_5bz1qYFzXJGYX8mRDgbWb7Pf2UxmEw6BxTN4CnoYuWZsrQfiXy9O7isXLz8WzwEir9V7pjhQrsqi9xzSG41G2apkentaG/s1600/20190531_130736.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="900" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWFKcbGe8RB2ykcLvbkIR64pMrF1qYg6GF5kAjV2ppyY6UU-_5bz1qYFzXJGYX8mRDgbWb7Pf2UxmEw6BxTN4CnoYuWZsrQfiXy9O7isXLz8WzwEir9V7pjhQrsqi9xzSG41G2apkentaG/s640/20190531_130736.jpg" width="360" /></a></div>
<br />
Но даже с таким шагом могут быть проблемы, для примера возьмем уже построенный корпус:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr6NYB9fPweKN8y0j-Ppp-O0oYAKnTet4GQs36Vcyc1FcZ-a41rpGnJ5e88AvX53fMZYSjnIFBdeZVdlkGrRWYIcQu7hUNhkpLurcPnngHrm0yhcIheG2SV5bpuCeHA8qdWm7O0Q2iGCtR/s1600/Screenshot_20190721-013834_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr6NYB9fPweKN8y0j-Ppp-O0oYAKnTet4GQs36Vcyc1FcZ-a41rpGnJ5e88AvX53fMZYSjnIFBdeZVdlkGrRWYIcQu7hUNhkpLurcPnngHrm0yhcIheG2SV5bpuCeHA8qdWm7O0Q2iGCtR/s640/Screenshot_20190721-013834_Voronoi.jpg" width="640" /></a></div>
<br />
Эффективность всего 61%, все из-за угловых колонн, если бы это был монолитный каркас, то колонны возможно было поставить более рационально, но когда мы имеем дело с индустриальной системой, в этом случае у нас шаг колонн строго нормируется. В данном случае либо 3м, либо 6м. Ну и как видно кое где с ними был явный перебор. Но и тут есть причина, дело в том что пространственную жесткость таких каркасов обеспечивают не только плиты и колонны, но в большей степени диафрагмы, которые можно повесить только на колонны, поэтому и появились "лишние" колонны.<br />
Исходя из выше описанного оценивать эффективность сборных и сборно-монолитных зданий сложно, только согласно данного показателя, необходимо введение дополнительных критериев.<br />
Теперь давайте посмотрим на монолитный каркас, но каркас не обычный , а в котором конструкторы провели "вручную" итерационный способ уравновешивания площадей пилонов:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvA7vuJAb0nDn7yfSRVwVeyUMQi0OYudmnGBrr_ss3vOj1Gs2oa6IgIJQk89tAH-EOdjCbCto1QYq_whoJCPw31fI4DdFhEx71czzMTVOJLniPnNmj3zaI4GC83lykdey5SLUFre2OoDAf/s1600/Screenshot_20190721-141305_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvA7vuJAb0nDn7yfSRVwVeyUMQi0OYudmnGBrr_ss3vOj1Gs2oa6IgIJQk89tAH-EOdjCbCto1QYq_whoJCPw31fI4DdFhEx71czzMTVOJLniPnNmj3zaI4GC83lykdey5SLUFre2OoDAf/s640/Screenshot_20190721-141305_Voronoi.jpg" width="640" /></a></div>
<br />
Несмотря на довольно хороший показатель в 70% , но и тут есть нерациональные крайние пилоны, на их рациональное расположение просто не хватило времени и поэтому они остались такие как есть. Позже конечно появилась еще "необычная" консоль и она в целом начала тянуть показатель эффективности в низ:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibb2KOBIsoslNr8ehehw2DwRFcmf6rZJeQQRs2GvGXrXAjNbVOLtZtAC2fhYQVtf9ivXgux1UZ3S7nnWawUvU7G6TayRmnqIv-tWgBsOKEWOUfhI8mUoS59wSCdt2CcEhEwXyt7BsdWxq1/s1600/Screenshot_20190721-141455_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibb2KOBIsoslNr8ehehw2DwRFcmf6rZJeQQRs2GvGXrXAjNbVOLtZtAC2fhYQVtf9ivXgux1UZ3S7nnWawUvU7G6TayRmnqIv-tWgBsOKEWOUfhI8mUoS59wSCdt2CcEhEwXyt7BsdWxq1/s640/Screenshot_20190721-141455_Voronoi.jpg" width="640" /></a></div>
<br />
Такие места все же следует оставлять за рамками анализа эффективности , для примера можно заменить пилон - несущей стеной и Prometey будет игнорировать данное место:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijegGZx4kFas5L7VTF5LxurOLjEyrAaOzfKGT0IXQ3JbyJxPQ1IfwNl4WWT9PLCvs_Wu43EE2cGD4DQYNi1k7NjwQ1paC3ctsjCElJRHg0c0cWwqRAM_iQsCw6_w6_YLDDRJ9gSK5V48YP/s1600/Screenshot_20190721-141554_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijegGZx4kFas5L7VTF5LxurOLjEyrAaOzfKGT0IXQ3JbyJxPQ1IfwNl4WWT9PLCvs_Wu43EE2cGD4DQYNi1k7NjwQ1paC3ctsjCElJRHg0c0cWwqRAM_iQsCw6_w6_YLDDRJ9gSK5V48YP/s640/Screenshot_20190721-141554_Voronoi.jpg" width="640" /></a></div>
<br />
В целом добиться даже 70% эффективности расположения пилонов довольно высокий результат. Для примера возьмем другой реальный объект. Но уже по сложнее, с точки зрения конструктивных решений, например пилоны на верхних этажах не совпадают с ниже лежащими, несколько типоразмеров пилон и т.д. Расположение пилонов так же происходило в несколько итераций. Вот результат последней итерации:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYIrsSTnLkn8CF8jdiRpkg5hNN8D09jtipLZGsvL9NIynyBcUBaqstg-sp7bpOGgCcdTlfbeOapWoPabXZyGZmqoekiuxnPqIZeg9NgjvhsrUkvPN1V95oibEcfnh1e0wug7TcASGbu8en/s1600/Screenshot_20190721-143405_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYIrsSTnLkn8CF8jdiRpkg5hNN8D09jtipLZGsvL9NIynyBcUBaqstg-sp7bpOGgCcdTlfbeOapWoPabXZyGZmqoekiuxnPqIZeg9NgjvhsrUkvPN1V95oibEcfnh1e0wug7TcASGbu8en/s640/Screenshot_20190721-143405_Voronoi.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
68% финальная версия. Но если бы у меня был Prometey , я бы смог добиться более лучших результатов. И через буквально 20 итерация, я получил еще более лучший результат:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpIMf_nB9bZBo5Uw5-U6Zyc07zVjNnI7WjUP_4JcgHM8GboteldG31PxO2wgSwCTNfXmoOYLD8rCHn4Hh85aZBInZcchHSvw27GSThpVoePqyTrin6ZQcqVNteOlWdgXf2ytyPGuK_jVdR/s1600/Screenshot_20190721-144821_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpIMf_nB9bZBo5Uw5-U6Zyc07zVjNnI7WjUP_4JcgHM8GboteldG31PxO2wgSwCTNfXmoOYLD8rCHn4Hh85aZBInZcchHSvw27GSThpVoePqyTrin6ZQcqVNteOlWdgXf2ytyPGuK_jVdR/s640/Screenshot_20190721-144821_Voronoi.jpg" width="640" /></a></div>
<br />
При этом распределение площадей весьма разнообразное и соответственно нагрузки:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJqc5xdhpGcQYEo2AGl2nglcIxj7Z2Pkbgx3DoJI-0a3SUDQcUAAkwQSPkKhjtK8DLcGVtOFBffI3YmIWrqRKDeWMam4lc3uKVgaAhlAZDVB8rPQhVhKA-J8y8HBI3_x4CaR0EdRna6O6Z/s1600/Screenshot_20190721-190429_Voronoi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="779" data-original-width="1600" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJqc5xdhpGcQYEo2AGl2nglcIxj7Z2Pkbgx3DoJI-0a3SUDQcUAAkwQSPkKhjtK8DLcGVtOFBffI3YmIWrqRKDeWMam4lc3uKVgaAhlAZDVB8rPQhVhKA-J8y8HBI3_x4CaR0EdRna6O6Z/s640/Screenshot_20190721-190429_Voronoi.jpg" width="640" /></a></div>
<br />
Таким образом можно сделать вывод о том, что для реальных объектов 70% эффективность является вполне хорошим результатом, но различные факторы, основной квартирография, не позволяют довести показатель эффективности до 100%. Но как говорится еще не вечер, возможно получится поднять этот показатель намного выше и об я расскажу и покажу уже в ближайшее время.</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-86153436007334796412019-07-08T01:36:00.002+03:002019-09-28T17:38:09.368+03:00Prometey. Приложение искусственного интеллекта для проектирования конструктивных решений<div dir="ltr" style="text-align: left;" trbidi="on">
В продолжение предыдущей статьи, показываю ролик о том, что сейчас протестировано и работает как часы:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/mQFRy6yfZoE/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/mQFRy6yfZoE?feature=player_embedded" width="320"></iframe></div>
<br />
А именно:<br />
1- создание за 5 минут любой сложности расчетной схемы по фотографии плана<br />
2- возможность изменить расчетную схему с мгновенным выводом результатов расчета в режиме реального времени<br />
3- оптимизация работы на самых слабых устройствах<br />
4- интуитивно понятное и привычное управление на мобильных устройствах<br />
<br />
Что в данный момент прорабатывается к моменту выхода ближе к осени 2019 года:<br />
1. Авторасположение пилонов вдоль архитектурных стен под контролем нейросети.<br />
2. Сохранять и загружать расчетные схемы.</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com2tag:blogger.com,1999:blog-1571531074697790044.post-59340542156634804682019-06-20T21:19:00.000+03:002019-09-28T17:37:51.072+03:00Определение эффективности конструктивных решений любого монолитного здания методом МВК. Часть 1.<div dir="ltr" style="text-align: left;" trbidi="on">
Работая над программой Phobos я столкнулся с интересной задачей, ее сложно описать словами, по сути это сплошная математика, а именно "<a href="https://en.wikipedia.org/wiki/Lloyd%27s_algorithm">релаксация Ллойда</a>". Для чего она мне в приложении искусственного планировщика квартир я не буду обсуждать. Но я решил сделать отдельное приложение, задача которого определить эффективность конструктивных решений монолитного здания в 100 000 раз быстрее любых существующих решений.<br />
<br />
<a name='more'></a><br />
Но перед тем как начать повествование нам понадобиться немного теории и практических знаний. Ко многим из нас в детстве в город приезжал цирк, обычно на городскую площадь, и одним из значимых атрибутов цирка является шатер, по сути это большая палатка:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0tkIpEQzIqbWvRkYhyphenhyphenUPrWJYx7GG6YCiWowVnF32vFx8vyDEitezervA6clDXnkmRGvut1JxN0UWnkRz6gKPSZ6EEsLECdOvaptgR5470MucBHIR1LYVyzof4ee0B-tPbdZDmjpXulMdv/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0tkIpEQzIqbWvRkYhyphenhyphenUPrWJYx7GG6YCiWowVnF32vFx8vyDEitezervA6clDXnkmRGvut1JxN0UWnkRz6gKPSZ6EEsLECdOvaptgR5470MucBHIR1LYVyzof4ee0B-tPbdZDmjpXulMdv/s640/1.jpg" width="640" /></a></div>
<br />
Заметно что основными удерживающими конструкциями служат стойки. Полотно как мембрана провисает от опоры до опоры. И там где большое сгущение опор, заметно отсутствие провисания укрывочного полотна, по сути она лишняя. Но как получить распределение грузовых площадок по хаотично расставленным опорам ? Возможно для ниже описываемого способа существует научное название, но за отсутствием информации я решил назвать этот метод "МВК"- Метод Вычитания Конусов. В чем его суть, представьте себе конус:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsMuFYZXdTZDrb6BOHTC47uceObX5fkC3XjyIeXC5qon6heQ-onCso-JxxVxsvfLMi-ghVXp4MFVcdGosO3lm7Q7EIO-E4QmbP2c9JLKtPZ6nCkgsbe8aNxY5NrGlIwfSjJ8e5quf18M4i/s1600/d19944863752l.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="600" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsMuFYZXdTZDrb6BOHTC47uceObX5fkC3XjyIeXC5qon6heQ-onCso-JxxVxsvfLMi-ghVXp4MFVcdGosO3lm7Q7EIO-E4QmbP2c9JLKtPZ6nCkgsbe8aNxY5NrGlIwfSjJ8e5quf18M4i/s400/d19944863752l.jpg" width="400" /></a></div>
А теперь представьте себе два пересекающихся конусов:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvEBweqceECtjDH5UPhQnaWlXbBJHKaJPcOvdSXYYi-mPVT2RVWe6TRcBIh9mptYn5Jt2hNd5xW9J4BI972yoU8vL42pTJmV2B-XqttqSnC6xJvfyBS0zS3tlj-Wpdk-Aaz3YseFRC5AAV/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="627" data-original-width="917" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvEBweqceECtjDH5UPhQnaWlXbBJHKaJPcOvdSXYYi-mPVT2RVWe6TRcBIh9mptYn5Jt2hNd5xW9J4BI972yoU8vL42pTJmV2B-XqttqSnC6xJvfyBS0zS3tlj-Wpdk-Aaz3YseFRC5AAV/s400/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png" width="400" /></a></div>
<br />
Для работоспособности данного метода необходимо выполнять два условия:<br />
1. высота конусов должна быть равной<br />
2. диаметр конусов должен быть равный<br />
Если обратить свое внимание на место пересечения конусов, то можно заметить, что это в плане (вид сверху) прямая линия и к этому заключению нам помог математик Стюарт П. Ллойд.<br />
Теперь давайте займемся практикой, возьмем для примера план расположения пилонов и расставим конусы в геометрический цент пилонов и с произвольным шагом вдоль стен :<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg70KnXm4ER5kZWrt_Yi7DEymkxdx3m9Y4zaEUn8yCgNM6klxXu85-n1x32sMgzU5KPA3VQzYCFPersp5umMWa0I9WSwt8YOM0SphMVK7cAS27G4JMwibrhRM0ecBc-YgR6TwFHQ4C2npfh/s1600/3%25D0%25B4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="795" data-original-width="1600" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg70KnXm4ER5kZWrt_Yi7DEymkxdx3m9Y4zaEUn8yCgNM6klxXu85-n1x32sMgzU5KPA3VQzYCFPersp5umMWa0I9WSwt8YOM0SphMVK7cAS27G4JMwibrhRM0ecBc-YgR6TwFHQ4C2npfh/s640/3%25D0%25B4.jpg" width="640" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMX4dluzOmzQnPeRQTa4jdlwgBLeWeOftD-Y7foHzLz4PE2Nf1RcFPR7I3XA3f_vThqnuOqGuFboCOPhHYVQ7Z29lp3Re2gOxhLWQBrbTWtJSHBUlXDqscoMm7ILCoGjbg8ndMa1fs0dar/s1600/3%25D0%25B42.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="1600" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMX4dluzOmzQnPeRQTa4jdlwgBLeWeOftD-Y7foHzLz4PE2Nf1RcFPR7I3XA3f_vThqnuOqGuFboCOPhHYVQ7Z29lp3Re2gOxhLWQBrbTWtJSHBUlXDqscoMm7ILCoGjbg8ndMa1fs0dar/s640/3%25D0%25B42.jpg" width="640" /></a></div>
<br />
<br />
Если посмотреть верх ногами то мы увидим вышеописанный шатер купола цирка. И каждая площадка до места пересечения с другой площадкой и есть грузовая область данной опоры.<br />
Давайте обрисуем данные зоны в более удобном виде и найдем площади данных зон:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBG5g8aaF6L7NI_O4Rgvb1yM1rskRVzbY97mVKSk9b8y0_66OSQ0e5_GqPoZSWxZe5HYm0oW3Jf28-I8wwvW0Awy_E7-YqRjrmVBjbyTkwBLol96T75NxlvC59dUJ56c9hLvCuMBnwcc19/s1600/%25D0%25BF%25D0%25BB%25D0%25B0%25D0%25BD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="545" data-original-width="1600" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBG5g8aaF6L7NI_O4Rgvb1yM1rskRVzbY97mVKSk9b8y0_66OSQ0e5_GqPoZSWxZe5HYm0oW3Jf28-I8wwvW0Awy_E7-YqRjrmVBjbyTkwBLol96T75NxlvC59dUJ56c9hLvCuMBnwcc19/s640/%25D0%25BF%25D0%25BB%25D0%25B0%25D0%25BD.jpg" width="640" /></a></div>
<br />
Если в ручную пытаться найти данные площадки при хаотично расположенных пилонах, то на это можно потратить дни, а с конусами данная задача упрощается до нескольких часов одну итерацию расположения.<br />
Обычно опытный конструктор располагает пилоны примерно с одинаковой грузовой площадью, для того что бы не было перегруженных или недогруженных пилонов. И так пару итераций пока не будет достигнут желаемый результат. А достигается он построением модели здания, ее конвертации в расчетную схему, расчета , сдвижки пилонов в модели и повторению процесса. И в конечном итоге он получит более менее идеальную картину:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKrx_ySxeXm7ULHNztsqzXlCRCnKPj3UC2qQKR9builaNx4yh5D3x70lMrZtKyECY1icFJzyG-Gu0AEgPzMr_vEU9bY1UeNVVyu-YNf6iXLkoViAq22KtqVgeLdXdg999GTMAHJkEAU2nB/s1600/%25D1%2580%25D0%25B0%25D1%2581%25D1%2587%25D0%25B5%25D1%2582.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1029" data-original-width="1600" height="409" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKrx_ySxeXm7ULHNztsqzXlCRCnKPj3UC2qQKR9builaNx4yh5D3x70lMrZtKyECY1icFJzyG-Gu0AEgPzMr_vEU9bY1UeNVVyu-YNf6iXLkoViAq22KtqVgeLdXdg999GTMAHJkEAU2nB/s640/%25D1%2580%25D0%25B0%25D1%2581%25D1%2587%25D0%25B5%25D1%2582.jpg" width="640" /></a></div>
<br />
<br />
Ну а теперь давайте посмотрим на самое главное насколько, данные по усилиям в колоннах из расчетной схемы совпадают с данными по МВК. На схеме с площадями:<br />
"N"- нагрузка согласно МВК (релаксации Ллойда , он же алгоритм Ллойда, она же диаграмма Вороного)<br />
"Nр"- нагрузка согласно расчета МКЭ<br />
"1000х200" - сечение пилона.<br />
Если кому интересно здание 21 этаж, толщина перекрытий 180 мм, в расчете учитывается только собственный вес.<br />
<br />
Если детально анализировать расчет и релаксацию, то можно заметить небольшое расхождение в двух местах в схеме МКЭ и МВК, это связанно с нехваткой времени учитывать все изменения в модели и расчете. Но в большей части мест где нет расхождений , разница между вертикальной силой составляет от 0 до 10%. По мне это потрясающий результат, если необходимо будет дополнительная часть статьи где я объясню почему происходит небольшая разница в значениях, в двух словах - из-за разницы в EJ сопрягающихся элементов.<br />
<br />
Во второй части я продемонстрирую мобильное приложение, как оно выполняет расчет здания за 1 секунду десятки вариантов расположения пилонов, продемонстрирую возможности нейросети в расчете показателей эффективности железобетона по отношению к площади здания и продемонстрирую наглядно все выше перечисленное на рандомных существующих домах, планы которых есть в сети. Приложение будет служить основным инструментом для заказчика, инвестора, конструктора.<br />
<br />
Задача приложения экономить десятки миллионов рублей за счет эффективного использования железобетона.<br />
<br />
P.S. У меня кстати получилось решить задачу нейросетевого программирования в нахождении M, Q, N, и отчасти это решение будет реализовано в приложении.<br />
<br /></div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com14tag:blogger.com,1999:blog-1571531074697790044.post-59846146494569944962019-04-26T00:39:00.001+03:002019-04-26T00:39:20.760+03:00Профессиональная или игровая видео карта Nvidia лучше в многопоточных расчетах ? GPU или CPU ?<div dir="ltr" style="text-align: left;" trbidi="on">
Часто краем уха слышу разговоры про производительность той или иной видеокарты в различных тестах и приложениях. Частенько тесты скатываются к измерению частоты кадров в секунду. Но сегодняшний тест мы проведем в более интересном ракурсе.<br />
Многие слышали (тем более от меня) что например в такой программе как ANSYS есть возможность включений функции параллельных вычислений за счет GPU.<br />
GPU - это графическое ядро вашего компьютера, корпорация Nvidia предоставила пользователям для своей линейки продукции технологию параллельных вычислений CUDA. Но при этом, когда-то давно, решили ограничить ее использование среди профессиональных видеокарт и пользовательских. Таким образом для обычных пользовательских игровых видео карт был заблокирован доступ технологии CUDA в не рамок определения цвета пикселя вашего монитора. И корпорация ANSYS не стала сопротивляться решению Nvidia и так же не стала вмешиваться в данную проблему, и по сей день технология CUDA в программе ANSYS поддерживается только профессиональными картами.<br />
<br />
<a name='more'></a><br />
Параллельные вычисления показывают высокую производительность в основном в функциях линейной алгебры - сложение, вычитание, разность, произведение. Но даже увеличение производительности в таких простых операциях предоставляет огромный потенциал для ученых, инженеров и исследователей в различных областях где в углу стола находится математика.<br />
Принцип многопоточности очень прост, программист резервирует объем занимаемой памяти некого объема в оперативной памяти, например 36 байт (что соответствует 9 целым числам) и отправляет данный объем на видео устройство где происходит деление пропорционально количеству ядер , например на три ядра, на 1 ядро придет 0,3,6; на 2 ядро придет 1,4,7 и на 3 ядро придет 2,5,8. То есть процесс распараллелиться на три потока. Это невозможно сделать на всех net языках , только на управляемом С/С++.<br />
Для примера в ANSYS (и иных ПО) технология CUDA используется при перемножении матриц, умножении матрицы на число, умножение строк и столбцов на число и т. д.<br />
В сегодняшнем тесте будут участвовать две видеокарты одного ценового диапазона:<br />
- Nvidia Quadro M4000<br />
- Nvidia GeForce 1080ti<br />
Давайте посмотрим на данных представителей мира Hi-tech:<br />
<br />
<span style="font-size: large;"><b>Nvidia GeForce 1080ti</b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkEYRIAUk0fQidaQUyj9lv53_cUkm2ni17MG8EuQfkdRzUjNaBHUsfI9EKN4y5Lf-6kTBI7SGTIEbpM5YhWLlCtaGU2BL7-Uss1Zu56Qw2_DEq3mCpOE7RG06lG05iN8HGHzU-C-gJzxRm/s1600/1080.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1200" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkEYRIAUk0fQidaQUyj9lv53_cUkm2ni17MG8EuQfkdRzUjNaBHUsfI9EKN4y5Lf-6kTBI7SGTIEbpM5YhWLlCtaGU2BL7-Uss1Zu56Qw2_DEq3mCpOE7RG06lG05iN8HGHzU-C-gJzxRm/s400/1080.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpAYr0qI3ftb4_x2tamFadfgJXaYIcdOxz0y52JEzAuQBRDNbdnU1vJbL4k2BJxtDDhAJHUHeb-KsatJZ7tVoQ1auZpV-LXVQrXGgQgChVKa4W5DAaWVos5J-fMukhX4FUah2_gjMHCkPU/s1600/1080%25D0%25B5%25D1%2588.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="523" data-original-width="872" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpAYr0qI3ftb4_x2tamFadfgJXaYIcdOxz0y52JEzAuQBRDNbdnU1vJbL4k2BJxtDDhAJHUHeb-KsatJZ7tVoQ1auZpV-LXVQrXGgQgChVKa4W5DAaWVos5J-fMukhX4FUah2_gjMHCkPU/s640/1080%25D0%25B5%25D1%2588.png" width="640" /></a></div>
<br />
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;"><b>Nvidia Quadro M4000</b></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5L2YNisL1zllKHN3XKLO9T9MgKH1Cb3BoNqJ2US5GMfgPcEGH3E2bIoa9ZaSL3ynXdMsyruMaG52cn5YJWHVLoWPyhAp-5t01Gy4hP1TdZreLpEEUthLKkBwOBBely4CMKmyOSwCJno9v/s1600/%25D0%25BC4000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="987" data-original-width="573" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5L2YNisL1zllKHN3XKLO9T9MgKH1Cb3BoNqJ2US5GMfgPcEGH3E2bIoa9ZaSL3ynXdMsyruMaG52cn5YJWHVLoWPyhAp-5t01Gy4hP1TdZreLpEEUthLKkBwOBBely4CMKmyOSwCJno9v/s640/%25D0%25BC4000.png" width="371" /></a></div>
<br />
Тестировать будем на задаче линейной алгебры на языке C++, так как разработчики предоставляют доступ к видео карте за счет CUDA Toolkit именно на С/С++, которую можно спокойно скачать по <a href="https://www.youtube.com/watch?v=cL05xtTocmY">ссылке</a>.<br />
Что бы отправить вашу карту в мир иной, достаточно иметь права администратора в вашей ОС. Любые действия могут привести к фатальному факапу. Это предупреждение на всякий случай будущим последователям.<br />
В качестве эксперимента возьмем 400 000 000 чисел в 3 массивах. Каждое целое число представляет собой 4 байта информации, таким образом планка памяти представляет собой 1,6 Гбайт на выходе из видеокарты, на входе мы резервируем 1.6*3=4.8 Гбайт в оперативной памяти.<br />
Но для интереса в тест добавим CPU двух версий:<br />
1. Intel Xeon(R) W-2133 3.6 Ghz<br />
2. Intel(R) Core i7-4930 3.4 Ghz<br />
В CPU параллельные вычисления вестись не будут , только одно ядро.<br />
Итак берем 400 000 000 аргументов функции "<b><a href="https://ru.cppreference.com/w/cpp/algorithm/transform">std::transform</a></b>"-данная функция изменяет аргументы одного массива данных размерностью 400 000 000 в другой массив. Все результаты измеряем в миллисекундах и как среднее значение из 5 подходов:<br />
<b><u><br /></u></b>
Intel Xeon(R) W-2133 (вся программа): 4670 мсек <br />
4191 мсек<br />
4221 мсек среднее значение = <b>4316 мсек</b><br />
4245 мсек<br />
4253 мсек<br />
<br />
Intel(R) Core i7-4930 (вся программа): 2430 мсек <br />
2467 мсек<br />
2455 мсек среднее значение = <b>2461 мсек</b><br />
2491 мсек<br />
2462 мсек<br />
<br />
Nvidia Quadro M4000 (вся программа): 2468 мсек<br />
2462 мсек<br />
2512 мсек среднее значение = <b>2466 мсек</b><br />
2461 мсек<br />
2430 мсек<br />
<br />
Nvidia GeForce 1080ti (вся программа): 2196 мсек <br />
2148 мсек<br />
2166 мсек среднее значение = <b>2164 мсек</b><br />
2145 мсек<br />
2165 мсек<br />
<br />
Intel Xeon(R) W-2133 (std::transform): 584 мсек<br />
581 мсек<br />
373 мсек среднее значение = <b>472 мсек</b><br />
433 мсек<br />
392 мсек<br />
<br />
Intel(R) Core i7-4930 (std::transform): 317 мсек<br />
309 мсек<br />
307 мсек среднее значение = <b>314 мсек</b><br />
309 мсек<br />
331 мсек<br />
<br />
Nvidia Quadro M4000 (std::transform): 23 мсек<br />
23 мсек<br />
23 мсек среднее значение = <b>23 мсек</b><br />
23 мсек<br />
23 мсек <br />
<br />
<br />
Nvidia GeForce 1080ti (std::transform): 12 мсек <br />
12 мсек<br />
12 мсек среднее значение = <b>12 мсек</b><br />
12 мсек<br />
12 мсек<br />
<br />
<br />
Если касаться различий Quadro M4000 и GeForce 1080ti по в функции "std::transform",то разница составила почти в два раза и все потому что ядер CUDA в последней так же в два раза больше.<br />
Если касаться многопточности на GPU, то разница с CPU составила на примере Xeon(R) W-2133 почти <b>40 раз</b> !!! Теперь представьте что вам нужно совершить 50 000 таких действий, сколько вы времени можете сэкономить или на сколько ускорить процесс !?. Именно поэтому все эксперименты такого характера в 90% случаев приводят к диссертации в той или иной сфере. <br />
И это не предел мечтаний, в скором будущем к моему проекту Phobos добавится возможность использования не только GPU многопоточной обработки, но и <a href="https://developer.nvidia.com/cudnn">cuDNN</a>. Но и свою основную деятельность я не оставил без внимания - многопоточной обработки больших инженерных данных в конструировании.<br />
P.S. В качестве интереса тестировал 12 000 000 000 аргументов функции, что порядка 48 Гбайт оперативной памяти, результаты не изменились в меньшую сторону , только увеличился отрыв между CPU и GPU в сторону конечно же GPU. В ближайшем будущем будет интересное видео по параллельным вычислениям<br />
<br /></div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0tag:blogger.com,1999:blog-1571531074697790044.post-41939498253450926182019-03-20T00:35:00.000+03:002019-03-20T00:35:43.138+03:00Phobos. Эксперимент по созданию ИИ в архитектуре. Часть 1. Введение<div dir="ltr" style="text-align: left;" trbidi="on">
"<i>Я думаю, что наш разум-это программа, в то время как мозг - аналог компьютера. Теоретически возможно скопировать содержимое мозга на компьютер и таким образом создать форму вечной жизни. Сегодня, однако, это не в наших силах</i>"<br />
Стивен Хокинг.<br />
<br />
Читая эту фразу можно задуматься, а ведь возможно все это действительно голая теория не применимая на практике !? На этот вопрос невозможно ответить приведя пример из повседневной практики. Когда я начал разрабатывать приложение <a href="https://play.google.com/store/apps/details?id=com.enion.CUBE">CUBE</a>, я по большей части просто решил испытать свои силы, но чем дальше я заходил за границы своего опыта, тем больше рос интерес к искусственному интеллекту. И сегодня (01.01.2019) я решил попробовать свои силы еще на более сложной задаче, к которой шел с мая прошлого года. Задача сама по себе довольно простая и одновременно невероятно сложная, так как она не сводится к управлению точек пространства, или решению системы уравнений, или разложению на простые множители, она творческая по своей структуре. Решение задачи сводится к созданию планировки помещения/квартиры/этажа с чистого листа и эту задачу будет решать моя новая программа под названием <b>Phobos</b>. Пока работа ведется по планировке помещений и работа огромная, подготовительный период составил более 2-х месяцев, во время которого я просто составлял план, малейшая ошибка отбросит меня на месяцы назад.<br />
<b> Phobos - </b>это божество обозначающее в греческой мифологии страх и он сопровождал в битвах своего отца Ареса - бога войны, наводя ужас на врагов. <b>Phobos </b>это эксперимент по созданию творческого разума, который возможно сможет заменить людей, а возможно и нет, это страх перед неизвестностью в противостоянии искусственного интеллекта и человека.<br />
Проблема в том, как можно навязать программе творческую составляющую классическим способом? Ведь творчество это не математическая функция, творчество не возможно описать цифрами ! Но давайте разберемся так ли это на самом деле, может вполне возможно творчество описать математически ?! как вам эта идея ?<br />
<br />
<a name='more'></a><br />
Для начала, давайте окунемся в историю. В рамках европейской архитекторы существует много архитекторов теоретиков,одними из самых выдающихся считаются <a href="https://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D0%B9%D1%84%D0%B5%D1%80%D1%82,_%D0%AD%D1%80%D0%BD%D1%81%D1%82">Эрнст Нойферт</a> и Петер Нойферт. Их труды относятся к 40-м годам прошлого столетия в которых они свели накопленный опыт человечества в различные закономерности. Например удобный шаг человека по ступеням, ширина проходов, размеры диванов, комодов, тумбочек и многое другое. Для примера давайте посмотрим как видел удобное размещение мебели в спальной комнате, Эрнст Нойферт:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZLeZtW5k8e2OtAXbSe73fURwMfbCWjxLefLCZl7nU7VLUY-McJT_gwCAIZBOEJfRoRjBxRIdj1TCKL2-b9tF-195i1U2ALpx41e-dshMTJplBnkClou8MvCc4-ZGORfcsJvi8qP4QWjl/s1600/%25D0%25AD%25D1%2580%25D0%25BD%25D1%2581%25D1%2582.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="338" data-original-width="422" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZLeZtW5k8e2OtAXbSe73fURwMfbCWjxLefLCZl7nU7VLUY-McJT_gwCAIZBOEJfRoRjBxRIdj1TCKL2-b9tF-195i1U2ALpx41e-dshMTJplBnkClou8MvCc4-ZGORfcsJvi8qP4QWjl/s320/%25D0%25AD%25D1%2580%25D0%25BD%25D1%2581%25D1%2582.png" width="320" /></a></div>
А теперь Петер Нойферт:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipkIvOlxJQAahwDVLV92Ae_1uOVtizjD2GXptcoSsHx4N2K4pUVbz5_Q0EXzp_1GGAG937zJawVET-Z3q3N8DHfWLUuS2sfgIMaKTcEb00kFjD2TP9pAuMYMzxRT0MixaDrc1ZzMgR8RPf/s1600/%25D0%259F%25D0%25B5%25D1%2582%25D0%25B5%25D1%2580.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="443" data-original-width="330" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipkIvOlxJQAahwDVLV92Ae_1uOVtizjD2GXptcoSsHx4N2K4pUVbz5_Q0EXzp_1GGAG937zJawVET-Z3q3N8DHfWLUuS2sfgIMaKTcEb00kFjD2TP9pAuMYMzxRT0MixaDrc1ZzMgR8RPf/s400/%25D0%259F%25D0%25B5%25D1%2582%25D0%25B5%25D1%2580.png" width="297" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
У одного размер спальни 4.5*3.62=16,29 м2, у другого 3.6*3.5=12,6 м2. По сути решения ничем не отличаются кроме размера одной из тумбочек со светильником. То есть мы видим четкие взаимосвязи при расположении мебели в спальной комнате. То же касается и санузлов и прихожей и общей комнаты и т.д. </div>
<div class="separator" style="clear: both; text-align: left;">
Если существуют зависимости, то существуют и математические законы их описывающие. Например в спальню площадью 8 м2 нельзя установить двух спальную кровать:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd1PcGyzp_rG5PpkxkFYXy4Qt2XNnX-8P3vKUm4TPfNzSp_Qq0bEuqk9XDTL-9BvJ6u1g5UH0ZeZ_RtK3IDgCzhBzLNy1fKQ9btCyds0_o0Iulh4657iqK1W_xQdOC3ffx8-_iYpsTE2iL/s1600/8+%25D0%25BC2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="236" data-original-width="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd1PcGyzp_rG5PpkxkFYXy4Qt2XNnX-8P3vKUm4TPfNzSp_Qq0bEuqk9XDTL-9BvJ6u1g5UH0ZeZ_RtK3IDgCzhBzLNy1fKQ9btCyds0_o0Iulh4657iqK1W_xQdOC3ffx8-_iYpsTE2iL/s1600/8+%25D0%25BC2.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Площадь данной комнаты диктуется мебелью которую можно в нее установить исходя из назначения помещения: письменный стол, кровать, стул, шкаф. Каждый элемент имеет близкие к стандартным габариты, так же еще необходимо учитывать удобный проход для среднестатистического человека. Помимо этого на планировку сильно влияет расположение окон и дверей, их взаимное расположение и многое другое.</div>
<div class="separator" style="clear: both; text-align: left;">
<b>Phobos</b> это не BIM программа, это уже следующий уровень программ, которые используют информацию которую хранит BIM модель и использует ее для обучения, после обучения BIM модели уже будут не нужны.....</div>
<div class="separator" style="clear: both; text-align: left;">
В следующей части поговорим об алгоритме на основе сверточной нейросети который парсит сайты (простым языком выкачивает всю необходимую графическую информацию самым жестоким способом) застройщиков и формирует базу планировок, а так же кризис планировочных решений застройщиков. Всего планируется около 30 частей статьи и это своеобразный дневник разработчика. Если эксперимент будет удачным, то в руках человека будет инструмент способный предложить тысячи вариантов планировки.</div>
</div>
Project Enionhttp://www.blogger.com/profile/10425683411061490967noreply@blogger.com0