ТИМУР РЫСПЕКОВ МАТЕМАТИК-ПРОГРАММИСТ
NASA ЖӘНЕ MICROSOFT ХАЛЫҚАРАЛЫҚ ЖАРЫСТАРЫНЫҢ ЖЕҢІМПАЗЫ
ОҢТАЙЛАНДЫРЫЛҒАН АЛГОРИТМДЕР
Бұл шеберлік класында мен роботтарға арналған бағдарламалық шешімдерді оңтайландыру, сондай-ақ Big data-өңдеуіне байланысты бағдарламалар туралы айтпақпын.
Алдымен Makeblock компаниясымен бірлесе жасалған робот жайлы айтқым келеді.
Makeblock компаниясы 2011 жылы құрылды.Бірден робототехника мен STEM-білім беру нарығында маңызды ойыншы атанды.
Штаб-пәтері: Шэньчжэнь қ., Қытай Халық Республикасы. Негізін салушы: Jasen Wang
Робот ылғалды, қызуды талдауға және геобарлауға арналған.
Робот балалар мен бастаушы мамандарға робот техникасымен айналысуға қолайлы болу үшін арнаулы білім беру жиынтығы ретінде жасалған.
Робот бірнеше арнайы бөліктерден тұрады. Роботтың бірінші бөлігі арнайы шассиден тұрады. Шасси бір-біріне тәуелсіз шынжырлардан жасалған.
Бұл не үшін қажет? Танк жүйесіндегі негізгі басқару роботтың салмағы басқа бөліктеріне таралу үшін қызмет етеді.
Сондықтан көптеген арнайы техниканың бөліктері танктің басқару жүйесін қайталайды.
Танктің басқару жүйесі роботтың орнында тұрып барлық жағынан 360°-қа бұрылуына және роботтың жоғарғы бөлігінің көмегінсіз алға жылжуына мүмкіндік береді.
Төрт дөңгелекті машиналардың негізгі мәселесі - шиналары тегіс емес жерден
қозғала алмайды, ал шынжыр табан арқылы робот кез келген жерге жүре береді, яғни жол талғамайды.
Ультрадыбысты және инфрақызыл бергіштерді пайдалану түрлі кедергілерді табу арқылы роботтың жергілікті жерге бейімделуіне мүмкіндік береді.
Ультрадыбысты сенсорлар сүңгуір қайық сияқты әрекет етеді, робот алдындағы кедергілерді байқап, оны айналып өтеді.
Сенсорлар екі көздің пішіні сияқты жасалған: біріншісі дыбыстық ақпараттарды жіберуге, екіншісі ақпараттарды қабылдауға арналған.
Егер сол нысаннан дыбыс шықса, онда алдында бір нысан тұр деген сөз. Ол нысаннан алынған дыбыстан жылдамдық пен ара қашықтық есептелінеді.
Білім беру мақсатына байланысты роботтағы әрбір бергіш дәнекерленбеген, vlan-порт желілік сымдары сияқты арнайы жасалған.
Қосылуы өте оңай: өз модеміңізді қосқандай, бергішті де дәл сол қағида бойынша қоссаңыз, ол жүйе арқылы автоматты түрде танылады.
Жасанды интеллект роботқа қандай бергіш қосылғанын оңай табуға мүмкіндік береді.
Сондай-ақ, бұл тұғырнамада сіз оның қарапайым Arduino Uno-ға қарағанда өлшемі үлкен екенін көре аласыз.
ARDUINO UNO контроллері ATmega328-ге құрылған.Платформа 14 сандық кіру/шығудан тұрады.(Оның 6-ы ШАМ шығуда қолданылуы мүмкін).
6 ұқсас кіру, 16 МГц кварцтік генератор,USB жалғағыш, күш беретін жалғағыш, ICSP жалғағыш және қайта жүктеу батырмасынан тұрады.
Жұмыс істеу үшін тұғырнаманы компьютерге USB кабелі арқылы қосу керек немесе AC/DC адаптері не болмаса батарея көмегімен қуат беру арқылы қосу керек.
Бұл білім беру жиынтығында бергішпен жұмыс істейтін түрлі мәселелерді жою үшін керек.
Балалар мен жаңадан бастаушыларға түрлі бергіштерді қосу, оларды дәнекерлеу, кернеуді қадағалау өте қиын.
Кейбір бергіштер 3 вольттан, ал кейбіреулері 12 вольттан бастап жұмыс істейді.
Егер сіз 12 вольтты бергішті 3 вольтты қуат көзіне қоссаңыз, онда ол жұмыс істемейді. Егер керісінше жасасаңыз, онда бергіш күйіп кетеді.
Сондықтан қызуды, ылғалды өлшейтін бергіштерде барометр алдын ала тақтаға (платаға) жапсырылып қояды.
Осы мәселені шешу үшін арнайы қуаттау тұрақтандырғышты (стабилизатор) қолданылады, ол қажетті бергішке өзі икемделеді.
Арнаулы Bluetooth және Wi-Fi модулі роботты нақты уақытта қайта бағдарламалау үшін қажет. Сізге роботты компьютерге бөлек қосудың,
осы роботпен белгілі бір әрекет жасаудың, бағдарламалағыш ашудың, бағдарламалық кодты жазудың және оған жаңа тапсырмалар жазудың қажеті жоқ.
Осы бергіштің көмегімен сіз роботқа белгілі бір уақытта қашықтықтан жаңа тапсырма берсеңіз, ол оны орындайды.
Сонымен қатар роботтың экранға қосылуға және әр түрлі lсd-модулдерге қажетті арнайы led-қосылғышы бар.
LED-қосылғыштар – бұл жарықдиодтың негізінде жинақталған жарық көзіне қосылу үшін арнайы сандық pin кіру/шығулар,
сонымен бірге LCD экран модульге жалғануы мүмкін.
LCD-модульдер – бұл модульдер сұйық кристал негізінде кіріктірілген дисплейі бар бір тақталы компьютерлер үшін арналған модульдер.
Бұл робот барлық қажетті ақпараттарды сізге арнайы мониторға енгізу үшін қажет. Сіз бұл қызметке жүгінбей, Bluetooth арқылы белгі беруіңізге болады.
Аталған робот Қазақстанның және одан тыс түрлі мектептеріне енгізіле бастады. Бұл жиынтықтың негізгі ерекшелігі –
робот жаңа жасақтамаменен қосыла отырып, түрлі операцияларды шартсыз жасайды. Роботтардың негізгі мәселелерінің бірі – конвейрлік әдісте.
Конвейрлік әдістің ерекшелігі неде? Процессорлар бір ядролық және көп ядролық болып бөлінеді. Тіпті арнаулы көп ағындылық да бар.
Бір ядролық процессорлар – бұл мәліметтер бір ағынмен өңделетін бар-жоғы бір ғана есептеуіш ядросы бар процессор.
КӨП ЯДРОЛЫҚ ПРОЦЕССОРЛАР – бұл мәліметтер бірнеше ағынмен өңделетін екі не одан да көп есептеуіші ядросы бар процессор.
КӨП АҒЫНДЫЛЫҚ – бұл орталық процессордың (CPU) немесе көп ядролы процессордағы бір
ядроның бірмезетте бірнеше үрдістер немесе ағындарды орындау қабілеті, сөйтіп операциялық жүйені қолдау.
Көп ағындылықтың басты мәселесі - салынған If жағдайы.
if - бұл кейбір логикалық ойлаудың шынайылығы жағдайында белгілі бір пәрменді (команда жиынтығын) немесе бірнеше пәрменнің
біреуін ғана, кейбір бейненің мақсатына қарай орындауды қамтамасыз ететін бағдарлама тілін құрастыру операторы.
Ол өңдеу барысында келесідей кейбір қиындықтар тудырады: роботқа келесіде не болатынын бірден білу керек. Сонда ғана ол алдыңғы операцияны түсінеді.
Роботтар 90%-ын ықтималдылықпен ғана болжай алатындықтан, бұл бағытта белгілі бір қиындықтар туындауы мүмкін.
Арнайы математикалық формулаларды қолдану арқылы If-ті жою, бұл операцияны орындауды жеңілдетеді. Сіз логикалық шарттарды конверсиялауыңызға болады.
Мысалы, Y=5 болса, «сол жаққа қарай жүру», егер Y=3 болса, онда «оң жаққа жүруге» болады.
Математикалық формулаларды пайдалана отырып, біз теңдеуді жазамыз, нәтиже ретінде әрекетті көреміз.
Сіз теңдеуді бірнеше процессорлерге бөліп, бұл шарттарды тезірек өңдеп алуыңызға болады,
себебі стандартты процессорларда берілген операциялар белгілі бір операндтардың қозғалту «темірдің» деңгейінде,
яғни процессордың өзі мен транзисторларпдың көлемінде орындалады. Бұл жағдайда математикалық есептер мәселені анагұрлым оңтайландырады.
МАТЕМАТИКАЛЫҚ ШЕШІМДЕР МӘСЕЛЕЛЕРДІ ОҢТАЙЛЫ ӘДІСПЕН ШЕШУГЕ МҮМКІНДІК БЕРЕДІ.
2017 жылы Meltdown және Spectre атты 2 осалдық туындады. Соның себебінен қаскөйлер процессордың түрлі операцияларына қол жеткізді.
Meltdown — көптеген микропроцессорларда, соның ішінде Intel өндірісі мен ARM құрылымында табылған аппараттық осалдық.
Meltdown Intel және ARM процессорларындағы команданы орындауда жадыдан оқу нұсқаулығын орындаған кезде процессор парақшаға кіруге
рұқсат етпейтін бас пайданы жүзеге асыру қателіктерінде қолданылады.
Spectre – спекулятивті орындау командасы және дамыған болжам тармақтары бар, мәліметтерді басқа арналар арқылы, кэш-жады түрінде оқуға мүмкіндік
беретін көптеген заманауи процессорлардағы қателік, аппараттағы осалдық.
Көптеген заманауи микропроцессорларды, соның ішінде х86/x86_64 сәулетті (Intel және AMD) және кейбір процессорлық ARM ядросына тиесілі.
Сондықтан роботты құрғанда ең алдымен түрлі бағдарламалық қызметтердің орнына математикалық есептерді пайдаланған жөн.
Біріншіден, математикалық есептер бағдарламалық есептерге қарағанда тиімді, екіншіден, математикалық есептер бағдарламалық есептерге қарағанда қауіпсіз.
Бағдарламалық есептер негізінен құрылғының «темірінде» құрылады, яғни сізге күрделі құрылымды процессорларды сатып алып,
оны орнатқаннан кейін түрлі жоспарлау жұмыстарын жасау үшін қаражат жұмсау керек болады
немесе сіз қиынырақ бағдарламалық бөлігін жасай отырып темірге қаражатты азырақ жұмсай аласыз және жалпы шығындарды қысқартуға мүмкіндік аласыз.
Робот қондырғысында стандартты бағдарламалық функциялар емес, оңтайландырылған және қауіпсіз математикалық шешімдер пайдалану ұсынылады.
Сондай-ақ, осы робот шарттарға байланысты мәселелерден басқа нақты уақыттағы Big data-ны өңдеуге байланысты мәселелерді де шеше алады.
Математикалық функциялардың арқасында келіп түсетін сигналдар,
өсуі бар математикалық прогрессиялар элементтерінің арасындағы айырмашылық негізінде құрылған, мысал ретінде Фибоначчи сандарын алуға болады.
Фибоначчи сандары – бұл алғашқы екі саны 1 және 1 немесе 0 және 1 тең болатын,
ал әрбір келесі сан алдыңғы екі санның қосындысына тең сандық тізбектің элементтері.
Біз сандардың массивын бір сан негізінде генерациялай аламыз, оны Фибоначчидың кез келген 2 санын қоса отырып тексеруге болады,
нәтижесінде Фибоначчидың екі санының қосындысы негізінде ғана пайда
болатын бірегей сан аласыз. Осының арқасында екі элементтен бір бірегей элемент және есептеу үшін массивтегі элементтердің санын қысқартуға мүмкіндік аласыз.
Сонымен, мәліметтер массивінің кинетикалық талдауын жасау керек болса, яғни, зақымдалған гендерді анықтау, онда сізге мәліметтер массивінен
әрбір генді қарастырып отырудың қажеті жоқ – сіз белгілі бір санды генерациядан өткізіп және сол санмен ғана салыстыра аласыз.
Фибоначчи саны деректердің генетикалық массивін талдау кезінде көмектеседі.
Сізге әрбір генді деректер массивінде жеке қарау қажет емес. Сіз бір өкілді санды құрастырып және тек онымен салыстыра аласыз.
Бұл көрсетуді біз 17 мамырда Минскіде Microsoft компаниясымен бірлесіп өткіздік, онда жоба Шығыс Еуропа мен Орта Азияның үздік инновациясы сыйлығына ие болды.
Бір робот түріндегі атқарымдарды пайдалана отырып, одан әрі осы жүйелерді 4.0 индустриясындағы логистиканың әртүрлі жұмыс процестерін оңтайландыру үшін пайдалану жоспарлануда.
Сондай-ақ, әртүрлі математикалық жүйелерді пайдалану өкілдік деректерді талдау үшін жоспарлануда, мысалы,тау-кен өнеркәсібінің өкілді нысандарында.
Қазақстан аумағындағы тау-кен өнеркәсібінің негізгі мәселелерінің бірі - бірнеше тонна кенді өңдеу үшін бізге өкілетті сынама таңдау қажет.
6 тоннадан 150 килограмм түседі,сонда орташа пайыз осы 6 тоннаға тең болады. 6 тонна кеннің ішінен 150 кг көрсеткіштік сынама. Бірнеше минут 465 күнге қарсы.
Стандартты алгоритмдер 465 күнге жуық уақыт алады, ал осы роботта қолданылатын оңтайландырылған алгоритмдер бұл операцияларды бірнеше минут ішінде орындауға қабілетті.
ОҢТАЙЛАНДЫРЫЛҒАН АЛГОРИТМДЕР ҮЛКЕН КӨЛЕМДЕГІ МӘЛІМЕТТЕРДІҢ ӨҢДЕЛУ УАҚЫТЫН ҚЫСҚАРТУҒА МҮМКІНДІК БЕРЕДІ.