3-мисол. “Светофор” дан фойдаланиш алгоритми.
1) светофор чироғига қаралсин;
2) қизил чироқ ёнган бўлса, тўхталсин;
3) сариқ чироқ ёнган бўлса, юришга ёки тўхташга тайёрлансин;
4) яшил чироқ ёнган бўлса, юрилсин.
Алгоритмни ишлаб чиқиш учун аввало масаланинг ечиш йўлини яхши
тасаввур қилиб олиш, кейин эса уни формаллаштириш, яьни аниқ қоидалар
кетма-кетлиги кўринишида ёзиш керак.
8
Бу мисоллардан битта умумий томонини кузатиш мумкин. Бу
алгоритмдан қандай мақсад кўзланганлигини билмасдан туриб хам уни
муваффақият билан бажариш мумкин. Демак, хаётда учрайдиган мураккаб
жараёнларни бошқаришни ёки амалга оширишни роботлар, компьютерлар ва
бошқа машиналар зиммасига юклашимиз мумкин экан. Бу эса алгоритмнинг
жуда мухим афзаллигидир. Шунга кўра, хар бир инсон ўз олдига қўйилган
масаланинг ечиш алгоритмини тўғри тузиб бера олса, у ўз ақлий ва жисмоний
мехнатини енгиллаштирибгина қолмай, бу ишларни автоматик тарзда
бажаришни машиналарга топшириши хам мумкин.
Алгоритмни ишлаб чиқишда масалани ечиш жараёнини шундай
формаллаштириш керакки, бу жараён етарли даражадаги оддий қоидаларнинг
чекли кетма-кетлигини кўринишига келтирилсин. Масалан, биз кўпинча кўп
хонали сонлар устида асосий арифметик амалларни бажаришда ватандошимиз
Ал-Хоразмийнинг IX асрда яратган қоидаларини ишлатамиз. "Алгоритм"
атамаси хам ана шу буюк математик номидан келиб чиқади.
Шунинг учун алгоритм деб, масала ечимини тасвирлашнинг ихтиёрий
тасвири олинмасдан, балки фақатгина маълум хоссаларни бажара оладиганлари
қабул қилинади. Кўрсатмаларнинг мазмуни, келиш тартиби, қўлланиш доираси
ва олинадиган натижадан келиб чиқиб, алгоритмнинг энг асосий хоссалари
билан танишамиз.
Алгоритмнинг хоссалари.
Алгоритмнинг асосий хоссалари қуйидагилардан иборат:
1. Дискретлилик. Бу хоссанинг мазмуни-алгоритмларни доимо чекли
қадамлардан иборат қилиб бўлаклаш имконияти мавжудлигидадир. Бошқача
айтганда, уни чекли сондаги оддий кўрсатмалар кетма-кетлиги шаклида
ифодалаш мумкин. Алгоритмнинг бу хоссаси юқорида келтирилган хамма
мисолларда яққол кўриниб турибди. Агар кузатилаётган жараённи чекли
қадамлардан иборат қилиб бўлаклай олмасак, у холда уни алгоритм деб
бўлмайди.
2. Тушунарлилик. Алгоритмнинг ижрочиси хамма вақт инсон бўлавермайди.
Чой дамлашни ёки бошқа ишларни бажаришни фақат одамга эмас, балки
роботга хам буюриш мумкин. Ижрочига тавсия этилаётган кўрсатмалар
унинг учун тушунарли бўлиши керак, акс холда ижрочи оддийгина амални
хам бажара олмайди. Бундан ташқари, ижрочи хар қандай амални бажара
олмаслиги хам мумкин.
Хар бир ижрочининг бажара олиши мумкин бўлган кўрсатмалар ёки
буйруқлар бирикмаси мавжуд бўлиб, у ижрочининг кўрсатмалар тизими
дейилади. Шунинг учун ижрочи учун берилаётган хар бир кўрсатма
ижрочининг кўрсатмалар тизимига тегишли бўлиши керак.
3. Аниқлик. Ижрочига берилаётган кўрсатмалар аниқ мазмунда бўлиши керак.
Чунки, кўрсатмадаги ноаниқликлар мўлжалдаги мақсадга эришишга олиб
келмайди.
Одам учун тушунарли бўлган “3-4 марта силкитилсин”, “5-10 дақиқа
қиздирилсин”, “1-2 қошиқ солинсин”, “тенгламалардан бири ечилсин” каби
ноаниқ кўрсатмалар робот ёки компьютерни қийин ахволга солиб қўяди.
9
Бундан ташқари, кўрсатмаларнинг қайси кетма-кетликда бажарилиши хам
мухим ахамиятга эга. Демак, кўрсатмалар аниқ берилиши ва фақат
алгоритмда кўрсатилган тартибда бажарилиши шарт экан.
Do'stlaringiz bilan baham: |