КомпьютерлерБағдарламалау

Дәнекерлеумен алгоритм дегеніміз не? Валингтік алгоритмдердің мысалдары және анықтамасы

Жануарлар әлеміндегі кез-келген интеллект жеке «тілек» білдіретін белгілі бір артықшылықтар алгоритмдерін пайдаланады. Потенциалды жасанды интеллектілер де ұқсас нәрсені қолданатын болады деп айтуға болады. Дегенмен, әлемді адамның қабылдауын жүзеге асыру, тармақталған алгоритмдер арқасында ең жақын болып келеді. Олар осы мақалада олардың логикасы мен ерекшеліктерін түсіндіру арқылы талқыланады.

Бағдарламалауда тармақталған алгоритм дегеніміз не ?

Негізгі тақырыпқа көшкенге дейін теорияға қысқаша ауытқу керек. Алгоритм - белгілі бір мақсатқа қол жеткізуге немесе тапсырманы шешуге бағытталған іс-әрекеттің анық тізбегі. Олар үш түрге бөлінеді:

  1. Сызықтық.
  2. Дәнекерлеу кезінде.
  3. Циклдық.

Бізге филиалмен алгоритм қызықтырады, сондықтан ол тек сипатталады. Бұл пәрмен рәсімді немесе функцияны таңдауды ұсынады, және егер сіз белгілі бір шарттарға сай болсаңыз, таңдау жасалады. Осындай алгоритмнің құрылымы қатал деп аталады. Ол бірнеше баламалы таңдауды қамтамасыз етеді. Жолдардың әрқайсысы (көп жағдайда) бағдарлама кодының ортақ нүктесіне әкеледі. Белгілі бір іс-шараны өткізу қажет болған кезде маңызды бөлім де бар. Ол сондай-ақ пайдаланушыға таңдаған кезде пайдаланылады, бұл таңдау одан әрі жұмыс үшін еске алынуы керек. Жалпы, бұл алгоритмдер пайдалы және оңай. 6 сынып теориялық тұрғыда тәжірибеде жинақталған білімді түсініп, іске асыра алады. Егер сұрақтар туындаса, мақаланы оқып шығыңыз, мүмкін, бұл процесс аяқталғаннан кейін олар қалмайды.

Дәнекерлік алгоритмдерді қолдану

Мәселен, бәрі таңдаусыз жасалуы мүмкін жағдайлардың пайда болуы өте аз, сондықтан қандай опциялардың ықтимал пайда болуы мүмкін екенін қарастырған жөн. Өмірге параллель өмір сүре отырып, ауа-райының классикалық мысалын бере аласыз: егер көше ыстық болса, онда қардың қар жауабы мен шорты болуы керек - куртка. Сонымен қатар, адамның болашақ өмірі (немесе бағдарлама жұмысы) байланысты болуы мүмкін күрделі сайлау бар. Алгоритмдер күрделілікте және қадамдардың сипаттамасымен ерекшеленеді. Мәселен, сіз өзіңізге арналған нұсқаулықты құру үшін қарапайым шектеулі сипаттаманы (ол не істеу керек) пайдалана аласыз. Бірақ компьютермен бұл трюк жұмыс істемейді. Мұнда әр тапсырмаға қадамдық шешім қажет. Алгоритмге тармақталу кіреді, ол өз кезегінде шексіз жалғасады. Іс жүзінде мұндай жазбаша кодты редакциялау қиын. Сізге идеяңыз болуы үшін біз сізді келесі формалармен таныстыруды ұсынамыз:

  1. Қарапайым. Дені сау болғыңыз келсе, спортпен шұғылдану керек.
  2. Күрделі. Дені сау болғыңыз келе ме? Егер иә болса, онда спортпен айналысу керек. Егер болмаса, диванға барып, теледидарды көріңіз.
  3. Толық емес толтырылған кешенді нысан. Көшеге бару керек. Жаңбыр ма? Олай болмаса, бірден шығуға болады. Егер болса, қолшатырға қол жеткізіңіз. Тек содан кейін көшеге шығыңыз.

Жалпы алгоритм жасау

Мұнда сіз бағдарламаны жүзеге асыратын тармақталған алгоритм жасайсыз. Таңдауды схемалық түрде көрсетуді қаласаңыз, онда ромба орналасады. Жоғарғы сигнал беру, ал қалған үш партия жауаптарды жібереді. Бұл жағдайда бәрін пайдаланудың қажеті жоқ: екеуі жеткілікті. Айтпақшы, ромбус - бұл акцияға сілтеме жасау үшін пайдаланылатын филиал операторы. Бірақ біз аздап алға шықтық. Қандай жұмыс басталады? Деректерді алудан! Алгоритмді құрастырған кезде, жұмыс жасалатын деректерді ұмытпаңыз. Әрқашан логикалық қорытынды болуы керек. Өйткені, ол қай жерде бұзылғанын білетін алгоритм процессордың «мәңгілік» қолданылуына алып келуі мүмкін және ойын жай ғана іліп қалады. Бұл, әрине, теріс реакция тудырады.

Алгоритмді схема мен практикалық іске асыру үшін не қажет?

Схеманың сызбасына кіріспес бұрын, болашақта ешқандай логикалық қателер жоқтығын қамтамасыз ету үшін жауап беретінді жақсы білу қажет. Сондай-ақ, бағдарламаны жазу жоспарланатын бағдарламалау тілдерінде тармақталған алгоритмдерді енгізудің барлық нюанстарын үйрену қажет. Болашақта ешқандай проблемалар болмағандықтан, «таза парақтарға» шеберлікті арттыру қажет. Өйткені, егер сіз түсінесіз, қалай және қалай жұмыс істейді, онда көп жағдайда іске асыру проблема болмайды. Егер ақаулар туындаса, мәселені анықтау үшін ең аз қадамдармен алгоритмді жасаңыз.

Жасау кезіндегі ерекшеліктер

Әлеуетті тармақталуы шексіз болуы мүмкін. Сондықтан, сіз оларды жасаған кезде, сіз өзіңізді қанша шартпен шектей алмайсыз (ұзақ мерзімді перспективада, соғұрлым олар қаншалықты болса, соғұрлым қиынға түседі). Сондай-ақ толық және толық емес тармақталған туралы аз. Біріншісі немен түсінікті? Ал қандай жағдайларда толық емес болып табылады және қалай қажет деп шешесіз? Бағдарлама құрылысының ерекшелігіне байланысты қосымша әрекеттер жасау қажеттілігі туындаса және сол уақытта қарапайым жалғастыру опциясы болса, немесе олар ұсынылмаған кодтар желісін жалату қажет болса, онда бұл жағдай. Құрылыс схемасы толық болмайды, бірақ оның функционалдығын толықтай орындайды.

Мысал:

Алынған білімді жетілдіру үшін, біз барлық аталған ақпаратты қарапайым бағдарлама бойынша қарастырамыз. Дегенмен, тармақталған алгоритм оңай болғанымен, мысалдар сізге не екенін және қалай жақсы түсінуге мүмкіндік береді. Мысалы, қарапайым ойыншықты жазыңыз, онда адам бақылайтын кейіпкерлер компьютерлік таңбалардан аулақ болуы керек. Егер олардың арасында байланыс болған болса, онда қысқа уақыт өткеннен кейін кейбір шаралар орындалады (кейіпкер баяу жүреді, тіпті жоғалтады). Бұл не және қалай жасауға болады - таңдау сенің. Бірақ бәрі ойластырылған бағдарламаны жүзеге асыру үшін бағдарламашы алдында ашылған барлық ықтимал әрекеттердің барлық аспектісін ескеру қажет. Сонымен, сіз кейіпкерден «өмірді» алып тастай аласыз немесе оны кейіпкер бақылайтын кейіпкерге баяулау сияқты әсер етуі мүмкін, және цикл жұмыс істеген кезде тиімді, ол өз кезегінде белгілі бір уақыт аралығында жұмыс істейді. Соңғы таңдау - сіздің.

Кейінгі сөз

Сонымен, соңында жоғарыда айтылғандардың бәрін жинақтау қажет. Бағдарламалаудың құрамдас бөліктерін, оның ішінде тармақталған алгоритмдерді біліп көріңіз, қиын емес. Сіз жұмыс істеуге қажетті барлық нәрсені білуіңіз керек. Сондай-ақ, жақсы нәтиже алу үшін алынған білімнің практикалық іске асырылуы пайдалы болады. Сіз қарапайым нәрседен бастай аласыз, қағазды немесе электронды файлдағы алгоритмді біртіндеп әзірлеу ортасына көшіруге болады.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 kk.birmiss.com. Theme powered by WordPress.