Algorithm ni nini?

Kugundua jinsi algorithms zinavyoendesha dunia

Agorisho ni seti ya maelekezo. Ufafanuzi ni kweli kuwa rahisi. Agorisho inaweza kuwa rahisi kama kutoa maelekezo kama haya:

  1. Nenda chini ya barabara
  2. Chukua haki ya kwanza
  3. Pata nyumba ya pili upande wa kushoto
  4. Kumbusha mlango na
  5. Fungua mfuko.

Lakini wakati ufafanuzi wa algorithm ni rahisi, maana halisi na jinsi inavyoathiri maisha yetu inaweza kuwa ngumu sana.

Mfano wa Algorithm

Mfano wa kawaida wa algorithm tunayotumia katika maisha yetu ya kila siku ni kichocheo. Seti hii ya maagizo inatupa viungo vyote tutakavyohitaji na maagizo juu ya nini cha kufanya na viungo hivi. Inaonekana rahisi, sawa?

Lakini vipi ikiwa hujui ambapo kikombe cha kupima kinahifadhiwa? Ungependa unahitaji algorithm ili upate. Unaweza hata kuhitaji algorithm juu ya jinsi ya kutumia kikombe cha kupima.

Kwa hiyo wakati algorithm ni seti ya maagizo, inahitaji pia kuzingatia nani au nini kitakachotafsiri maagizo hayo. Kwa mfano, Ikiwa unatoa mwelekeo kwa rafiki unaonyesha jinsi ya kupata kutoka nyumba yako hadi kwenye duka la karibu la vyakula, rafiki yako atakujua tu jinsi ya kupata duka hilo ikiwa anajua wapi nyumba yako iko. Hawana uwezo (bado) wa kupata hiyo kuhifadhi mboga kutoka kwa kusema, nyumba ya rafiki mwingine.

Hii ni jinsi algorithm inaweza kuwa rahisi na ngumu. Na wakati tunaposema katika suala la taratibu za kompyuta, kuelewa kile kompyuta ina uwezo wa kufanya ni sehemu ya msingi ya kuunda algorithms.

Jinsi Algorithms ya Utaratibu Ilivyobadilishwa

Mojawapo ya algorithms ya awali yaliyoundwa ilikuwa aina ya kawaida ya Bubble. Bubble aina ni njia ya kuchagua namba, barua au maneno kwa kupitia kwa kuweka data, kulinganisha kila seti ya maadili kwa upande, na kukibadilisha wakati inahitajika.

Kitanzi hiki kinarudiwa mpaka algorithm inaweza kuhamia kwenye orodha nzima bila kuhitaji kubadili kitu chochote, ambayo inamaanisha maadili yanapangwa kwa usahihi. Aina hii ya algorithm mara nyingi hujulikana kama algorithm ya kisasa kwa sababu inajikuta juu yake mara kwa mara mpaka itaisha kazi.

Ya algorithm inaweza kuangalia kama rahisi kama:

  1. Nenda thamani ya kwanza.
  2. Angalia thamani hiyo dhidi ya thamani ya pili na nafasi za kubadilisha ikiwa inahitajika
  3. Nenda thamani ya pili na urejeze kulinganisha.
  4. Ikiwa tuko mwisho wa orodha, kurudi juu ikiwa thamani yoyote ilitengenezwa wakati wa kitanzi.

Lakini aina ya Bubble haikugeuka kuwa njia bora zaidi ya kuchagua maadili. Wakati uliendelea na kompyuta zikawa na uwezo zaidi wa kufanya kazi ngumu haraka, taratibu za kuchagua mpya zimeongezeka.

Algorithm moja hiyo inatathmini kupitia orodha ya kwanza na inajenga orodha ya pili ya maadili yaliyopangwa. Njia hii inafanya tu kupitisha moja kwa moja orodha ya awali, na kwa kila thamani, itafungua kupitia orodha ya pili mpaka itakapopata nafasi sahihi ya kuweka thamani. Kawaida, ni ufanisi zaidi kuliko kutumia njia ya aina ya Bubble.

Hii ndio ambapo algorithms inaweza kupata mambo ya kweli. Au kuvutia kweli, kulingana na jinsi unavyoiangalia.

Wakati mbinu ya aina ya Bubble inachukuliwa kama njia moja isiyofaa ya kuchagua maadili kwa njia nyingi, ikiwa orodha ya awali imehifadhiwa vizuri, aina ya Bubble inaweza kuwa moja ya ufanisi zaidi . Hiyo ni kwa sababu, katika hali hiyo, algorithm ya aina ya Bubble itapitia orodha moja kwa wakati mmoja na kuamua kuwa imefungwa kwa usahihi.

Kwa bahati mbaya, hatujui daima kama orodha yetu imehifadhiwa, kwa hiyo tunapaswa kuchagua algorithm ambayo itakuwa ya ufanisi zaidi kutumia kwa wastani katika orodha kubwa ya orodha.

Tunachojifunza Kutoka kwa Aina ya Bubble

Maandishi ya Facebook na Zaidi Katika Maisha ya Kila Siku

Maadili ni kazi kusaidia wanadamu kila siku. Unapotafuta wavuti, algorithm inafanya kazi kujaribu kutafuta matokeo bora zaidi. Uliza smartphone yako kwa maelekezo, na algorithm huamua njia bora zaidi ya kuchukua. Na unapotafuta Facebook, nambari ya algorithm inachagua nini cha barua pepe za rafiki zetu muhimu sana kwetu. (Hebu tumaini marafiki zetu hawajui ni moja ya Facebook anafikiri sisi kama wengi!)

Lakini kufikiri algorithmically inaweza kutusaidia zaidi ya maisha yetu ya kompyuta. Inaweza hata kutusaidia kujenga sandwich bora.

Hebu sema nianze na vipande viwili vya mkate, kuenea haradali kwenye kipande kimoja na mayonnaise kwenye kipande kingine. Ninaweka kipande cha jibini kwenye mkate na mayonnaise, baadhi ya ham juu ya hilo, ladha ya pili, vipande viwili vya nyanya na kisha piga kwa kipande hicho na haradali juu yake. Sandwich nzuri, sawa?

Bila shaka ikiwa ninakula mara moja. Lakini ikiwa nikiacha kwenye meza kwa muda, kipande hicho cha juu cha mkate kinaweza kupata soggy kutoka kuimarisha baadhi ya nyanya hiyo. Ni tatizo ambalo sikulitarajia kabisa, na nipate kufanya sandwiches kwa miaka kabla ya kutambua, lakini mara moja nikifanya, naweza kuanza kufikiria njia za kubadilisha algorithm yangu ili kujenga sandwich bora.

Kwa mfano, ningeweza kuondokana na nyanya. Lakini sitaki kupoteza ladha ya nyanya hiyo. Kwa hiyo, naweza kuweka nyanya kwenye sandwich baada ya mkate na lettu. Hii inaruhusu lettuzi kuunda kizuizi cha kinga kati ya nyanya na mkate.

Hii ni jinsi algorithm inavyoendelea. Na algorithm haipaswi kuendeshwa na kompyuta kuwa algorithm. Agorati ni mchakato, na taratibu zinatuzunguka.