Skip to content

አልጎሪዝም ምንድን ነው?

አልጎሪዝም(ስልተ ቀመሮች) አንድ ኮምፒዩተር ስሌቶችን ወይም ሌሎች ችግር ፈቺ አሰራሮችን እንዲያከናውን ሊከተል የሚገባው የትእዛዛት ስብስብ ነው ። አልጎሪዝም በመደበኛ ፍቺው መሠረት አንድን ተግባር ለማከናወን በተወሰነ ቅደም ተከተል የሚከናወን የመጨረሻ ስብስብ(finite set) ነው ። ይህ ፕሮግራም ወይም ኮድ ብቻ አይደለም ፤ በflowchart ወይም በpsuedocode መደበኛ ያልሆነ መግለጫ ተደርጎ የሚወከል ይሆናል።

Screenshot

  • ችግር 1/Problem፡ አንድ ችግር እንደ የገሃዱ ዓለም ችግር ወይም የገሃዱ ዓለም ምሳሌ ችግር ተብሎ ሊገለጽ ይችላል ለዚህም ፕሮግራም ወይም መመሪያዎችን ማዘጋጀት ያስፈልግዎታል። አልጎሪዝም የመመሪያዎች ስብስብ ነው።

  • አልጎሪዝም፡- አልጎሪዝም ለችግር የሚዘጋጅ ደረጃ በደረጃ ሂደት ይገለጻል።

  • ገቢ/Input፡ አልጎሪዝምን ካዘጋጀ በኋላ፣ ስልተ ቀመሩ አስፈላጊ እና ተፈላጊ ግብዓቶች ተሰጥቷል።

  • የማቀነባበሪያ አሃድ/Processing unit፡ ግብአቱ ወደ ማቀነባበሪያው ክፍል ይተላለፋል፣ ይህም የሚፈለገውን ውጤት ያመጣል።

  • ውጤት/Output፡ የፕሮግራሙ ውጤት ወይም ውጤት እንደ ውፅዓት ተጠቅሷል።

አልጎሪዝም እንዴት ነው የሚሰራው?

አልጎሪዝም የተወሰኑ ችግሮችን ለመፍታት እና በኮምፒዩተር ሳይንስ እና በሂሳብ መስክ ውስጥ ተግባራትን በብቃት ለማከናወን የተነደፉ ደረጃ በደረጃ ሂደቶች ናቸው። እነዚህ ኃይለኛ የመመሪያዎች ስብስቦች የዘመናዊ ቴክኖሎጂ የጀርባ አጥንት ናቸው እና ሁሉንም ነገር ከድር ፍለጋ እስከ አርቲፊሻል ኢንተለጀንስ ያስተዳድራሉ። አልጎሪዝም እንዴት እንደሚሰራ እነሆ፡-

ግብአት/Input፡ አልጎሪዝም ግብአትን ይወስዳል፣ይህም በተለያዩ ቅርጸቶች ለምሳሌ ቁጥሮች፣ጽሁፍ ወይም ምስሎች።

ማቀነባበር/Processing፡ አልጎሪዝም የግብአት ውሂቡን በተከታታይ ሎጂካዊ እና ሒሳባዊ ኦፕሬሽኖች በማስኬድ እንደ አስፈላጊነቱ በመቀየር ማቀነባበር።

ውጤት/Output፡ ሂደቱ ከተጠናቀቀ በኋላ አልጎሪዝም ውጤቱን፣ ውሳኔን ወይም ሌላ ትርጉም ያለው መረጃን ያመጣል።

ቅልጥፍና/Efficiency፡ የአልጎሪዝም ቁልፍ ገጽታ ስራን በፍጥነት እና በትንሽ ግብአት ለማከናወን በማቀድ ብቃታቸው ነው።

ማመቻቸት/Optimization፡ የአልጎሪዝም ዲዛይነሮች ስልተ ቀመሮቻቸውን የሚያሻሽሉባቸውን መንገዶች በየጊዜው ይፈልጋሉ፣ ይህም ፈጣን እና አስተማማኝ ያደርጋቸዋል።

አተገባበር/Implementation፡ አልጎሪዝም በተለያዩ የፕሮግራሚንግ ቋንቋዎች በመተግበር ኮምፒውተሮች እንዲፈጽሟቸው እና የተፈለገውን ውጤት እንዲያመጡ ያስችላቸዋል።

አልጎሪዝም እንዴት እንደሚፃፍ?

አልጎሪዝም/ስልተ ቀመሮችን ለመፃፍ በደንብ የተገለጹ መስፈርቶች የሉም። ነገር ግን በሃብት/resource ላይ የተመሰረተ ችግር ነው። አልጎሪዝም ከተወሰነ የፕሮግራም አወጣጥ ቋንቋ ጋር በፍጹም አይጻፉም/never writter for a specific programming lanauge። ሁላችሁም እንደምታውቁት የመሠረታዊ ኮድ ግንባታዎች እንደ **do, for, while** ሁሉም የፕሮግራም አወጣጥ ቋንቋዎች እንደ **flow control such as if-else** እና የመሳሰሉትን የፍሰት ቁጥጥርን ይጋራሉ። እነዚህን የተለመዱ ግንባታዎች በመጠቀም አልጎሪዝም ሊፃፍ ይችላል። አልጎሪዝም በተለምዶ ደረጃ በደረጃ/step-by-step ነው የሚፃፈው፣ ግን ይሄ ሁልጊዜ አይደለም። አልጎሪዝም መጻፍ የችግሩን ጎራ በደንብ ከተገለጸ በኋላ የሚከሰት ሂደት ነው። ማለትም፣ የመፍትሄ ሃሳቦችን እያዘጋጁለት ያለውን የችግር ጎራ ማወቅ አለቦት።

❓ ጥያቄ፡- ሁለት ቁጥሮችን የሚያባዛ እና ውጤቱን የሚያሳይ ስልተ ቀመር ይፍጠሩ።

  • ደረጃ 1 - ጀምር/start

  • ደረጃ 2 - ሶስት ኢንቲጀር x፣ y & z ያውጃል።

  • ደረጃ 3 - የ x & y ዋጋዎችን ይግለጹ።

  • ደረጃ 4 - የ x እና y እሴቶችን ማባዛት።

  • ደረጃ 5 - ከደረጃ 4 እስከ z ያለውን ውጤት ያከማቹ።

  • ደረጃ 6 - በ z ውስጥ የተቀመጠውን ውጤት ውጣ ።

  • ደረጃ 7 - አቁም/Stop

የአልጎሪዝም ባህሪያት ምንድን ናቸው?

  • ግልጽ እና የማያሻማ/Clear and Unambiguous፡ አልጎሪዝም የማያሻማ መሆን አለበት። እያንዳንዱ እርምጃው በሁሉም ገፅታዎች ግልጽ መሆን አለበት እና ወደ አንድ ትርጉም ብቻ መምራት አለበት።

  • በሚገባ የተገለጹ ግብዓቶች/Well-Defined Inputs፡ አንድ አልጎሪዝም ግብዓቶችን ውሰድ የሚል ከሆነ፣ በሚገባ የተገለጹ ግብዓቶች መሆን አለባቸው። ግብአት ሊወስድም ላወስድም ይችላል።

  • በደንብ የተገለጹ ውጤቶች/Well-Defined Outputs፡ ስልተ ቀመሩ ምን አይነት ውፅዓት እንደሚገኝ በግልፅ መግለጽ አለበት እና በጥሩ ሁኔታም መገለጽ አለበት። ቢያንስ 1 ውጤት ማምጣት አለበት።

  • ውስንነት/Finite-ness፡ አልጎሪዝም ውስን መሆን አለበት ማለትም ከተወሰነ ጊዜ በኋላ መቋረጥ አለበት።

  • ሊተገበር የሚችል/Feasible፡ አልጎሪዝም ቀላል፣ አጠቃላይ እና ተግባራዊ መሆን አለበት፣ ይህም ባሉ ሀብቶች እንዲፈፀም። ወደፊት አንዳንድ ቴክኖሎጂዎችን ወይም ማንኛውንም ነገር መያዝ የለበትም።

  • ነጻ ቋንቋ/Language Independent፡ የተነደፈው አልጎሪዝም ከቋንቋ ነጻ መሆን አለበት፣ ማለትም በማንኛውም ቋንቋ ሊተገበር የሚችል ግልጽ መመሪያዎች ብቻ መሆን አለበት፣ ነገር ግን ውጤቱ እንደተጠበቀው አንድ አይነት ይሆናል።

  • ግብዓት/Input: አልጎሪዝም ዜሮ ወይም ከዚያ በላይ ግብዓቶች አሉት። መሰረታዊ ኦፕሬተር ያለው እያንዳንዱ ዜሮ ወይም ተጨማሪ ግብዓቶችን መቀበል አለበት።

  • ውጤት/Output፡ አልጎሪዝም ቢያንስ አንድ ውጤት ያስገኛል። መሰረታዊ ኦፕሬተርን የያዘ ማንኛውም መመሪያ ዜሮ ወይም ተጨማሪ ግብዓቶችን መቀበል አለበት።

  • እርግጠኝነት/Definiteness፡ በአልጎሪዝም ውስጥ ያሉት ሁሉም መመሪያዎች የማያሻማ፣ ትክክለኛ እና ለመተርጎም ቀላል መሆን አለባቸው። በአልጎሪዝም ውስጥ ያሉትን ማናቸውንም መመሪያዎች በመጥቀስ ምን መደረግ እንዳለበት በግልፅ መረዳት ይችላል. በመመሪያው ውስጥ ያለው እያንዳንዱ መሰረታዊ ኦፕሬተር ያለምንም ግልጽነት መገለጽ አለበት.

  • ፍጻሜ/Finiteness፡ በሁሉም የፈተና ጉዳዮች ላይ ስልተ ቀመር ከተወሰኑ የእርምጃዎች ብዛት በኋላ መቋረጥ አለበት። መሰረታዊ ኦፕሬተርን የያዘ እያንዳንዱ መመሪያ በተወሰነ ጊዜ ውስጥ መቋረጥ አለበት። ማለቂያ የሌላቸው ዑደቶች ወይም ተደጋጋሚ ተግባራት ያለ መሰረታዊ ሁኔታዎች ውስንነት የላቸውም።

  • ውጤታማነት/Effectiveness፡ አንድ ሰው ወረቀት እና እርሳስን ብቻ በመጠቀም ፈልጎ ማግኘት እንዲችል በጣም መሠረታዊ፣ ቀላል እና ሊቻል የሚችል ኦፕሬሽኖችን በመጠቀም አልጎሪዝም መዘጋጀት አለበት።

ዋናዎቹ የአልጎሪዝም ምድቦች ከዚህ በታች ተሰጥተዋል-

  • መደርደር/sorting: አልጎሪዝም የተዘጋጀው እቃዎችን በተወሰነ ቅደም ተከተል ለመደርደር ነው።

  • ፍለጋ/searching: ስልተ ቀመር በመረጃ መዋቅር ውስጥ ያሉትን ነገሮች ለመፈለግ ተዘጋጅቷል።

  • ሰርዝ/delete: ነባሩን አካል ከዳታ መዋቅር ለመሰረዝ ስልተ ቀመር ተዘጋጅቷል።

  • አስገባ/insert: ስልተ ቀመር አንድን ንጥል በዳታ መዋቅር ውስጥ ለማስገባት ተዘጋጅቷል።

  • አዘምን/update ስልተ ቀመር በመረጃ መዋቅር ውስጥ ያለውን ነባር አካል ለማዘመን ተዘጋጅቷል።