ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Backtracking තාක්ෂණයෙන් Sudoku විසඳුම: ප්‍රොග්‍රැමර්වරුන්ගේ නව ක්‍රමවේදය

Backtracking තාක්ෂණයෙන් Sudoku විසඳුම: ප්‍රොග්‍රැමර්වරුන්ගේ නව ක්‍රමවේදය

ඔබ කවදාවත් මොකක්ද කියලා හිතාගෙන තිබුනොත්, අතුරුදන් වූ Sudoku පුවරුවක් මුහුණට එන්නෙත්, ඒක සරලව පුරවන්න කියලා ඉල්ලීමක් ලැබුනානම්, ඔබේ මොළය තවත් එක් අභියෝගයක් ගෙන එයි. බොහෝ අය පළමුවම සියලු අංක 1-9 පරීක්ෂා කර, නැවත නැවතත් පේලිය, තීරුව, 3×3 කොටස පරීක්ෂා කර, ඉක්මනින් කේතයක් ලියනවා. ඒත් එම “brute‑force” ක්‍රමය ඉතාමත් මන්දගාමී, අධික පරිගණක බලයක් නැතිව සංකීර්ණ පuzzles ලේසි නොවේ.

Backtracking – මැට්‍රික්ස් මෙන්ම Sudoku තේරුම් ගැනීම

Backtracking කියන්නේ “ඇත්තටම යෝජනා කරලා, එය වැරදි නම් පසුපසට හැරීම” යන සරල අදහසයි. ඔබ ගමන් මාර්ගයක් තෝරලා, එතැනට ගියාම ගමන් පසුබැසීමේ ලකුණක් තබාගන්නවා. මාර්ගය අවසන් වුනානම්, පසුබැසී වෙනත් මාර්ගයක් පරීක්ෂා කරනවා. Sudoku සඳහා, එක් සෙල්ලම් කොටසකට අංකයක් තබා, එය පේලිය, තීරුව, කොටස තුනේ නීති උල්ලංඝනය කරනවාද කියලා වහාම පරීක්ෂා කරනවා. උල්ලංඝනයක් හමුවේ, ඒ අංකය ඉවත් කර, වෙනත් අංකයක් උත්සාහ කරනවා. මෙය පරීක්ෂණ ග එක ඉතා වේගයෙන් කපා දැමීමට (prune) ඉඩ දෙනවා.

ඉලක්කය – කේතයේ වෙනස

සාමාන්‍ය brute‑force ආකාරයට වඩා Backtracking ක්‍රමය කේතයෙහි වෙනසක් ඇති කරයි:

  • පෙර පරීක්ෂාව: අංකයක් තබා ගැනීමට පෙර, එය නීතිවලට ගැලපේද කියලා පරීක්ෂා කරනවා.
  • ස්ථානීය වෙනස්කම්: පුවරුවේ එකම කොටස වෙනස් කර, පසුබැසීමේදී ඒකම අංකය 0 (ඉවත්) කරයි.
  • ගැඹුරු පරීක්ෂාව නොකිරීම: සම්පූර්ණ පුවරුව පරීක්ෂා නොකළාම, වැරදි මාර්ගය ඉක්මනින් නවතා දමයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

Backtracking තාක්ෂණය සිංහල පාසල්, විශ්වවිද්‍යාල සිසුන්ට ඇලගැන්වීමේ ගැටළු විසඳීමට නව පදනමක් සපයයි. එය ප්‍රායෝගික ප්‍රොග්‍රැමරීන්ට අංක ගණනක පරීක්ෂණයක් කරන විට කාලය ඉතිරි කරයි, එමෙන්ම තාක්ෂණික සමාගම්ට දත්ත විශ්ලේෂණ, ගැටළු විසඳුම් ආදියට කාර්යක්ෂම අල්ගොරිතම් ලෙස භාවිතා කළ හැකිය. තවද, සොෆ්ට්වේයාර් සංවර්ධනයේදී පරීක්ෂණ පද්ධති, AI මොඩල ගුණාත්මක පරීක්ෂාව, ගේම් AI වැනි ක්ෂේත්‍රවල ද Backtracking ප්‍රයෝජනවත් වේ.

ඉදිරියේදී, ශ්‍රී ලංකාවේ තරුණ නිර්මාතෘවරුන්ට මේ ක්‍රමය භාවිතා කර, තරග කාඩ්පත්, පසුබැසීමේ ගේම්, පසුබැසීමේ සොෆ්ට්වේයාර් වැනි නව නිෂ්පාදන හදන්න පුළුවන්. එමෙන්ම, තාක්ෂණික පාඨමාලාවලට මෙය ඇතුළත් කිරීම, ගණිත හා තත්ත්ව විශ්ලේෂණ කුසලතා වර්ධනයට දායක වේ.

අවසානයේ, Backtracking යනු “අපේක්ෂා නොකළ මාර්ගයන්” පරීක්ෂා කර, අවශ්‍ය විට පසුපසට හැරීමේ කුසලතාවයයි. එය ඔබේ කේතයට වේගය, කාර්යක්ෂමතාව, සහ පරිශීලක‑මිතුරත්වය එකතු කරයි. ඔබත් අලුත් පuzzle එකක් හෝ සංකීර්ණ ගැටළුවක් හමුවේ, Backtracking අරගෙන බලන්න – නව මට්ටමකට පත් වෙන්න.

💡 Backtracking තාක්ෂණය ඔබේ කේතයට එක්කර, Sudoku අභියෝග ජයගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Backtracking #Sudoku #Coding #SriLankaTech #Algorithm