Universiteit Stellenbosch
Welkom by Universiteit Stellenbosch
Voorlopers in die verbetering van algoritmes vir sagteware
Outeur: Lynne Rippenaar-Moses
Gepubliseer: 22/06/2017

​'n Groep rekenaar- en inligtingwetenskaplikes van die Universiteit Stellenbosch (US) is aan die voorpunt van die verbetering van algoritmes vir sagteware in die soeke na die regte konstruksietegnieke om te gebruik wanneer nuwe algoritmes voortaan ontwerp word. Volgens dié navorsers van die Departement Inligtingwetenskap in die Fakulteit Lettere en Sosiale Wetenskappe is een van hulle oogmerke met die projek 'n vermindering in die hoeveelheid sagtewarefoute in alledaagse items wat soveel verbruikers maar oor die jare moes aanvaar. 

'n Algoritme is 'n stel stappe wat ontwerp is om 'n rekenaarprogram 'n taak soos 'n berekening, dataverwerking of selfs redenering te laat uitvoer.

"Mense is blykbaar geneig om sagtewarefoute in goed soos rekenaars en selfs navigasiestelsels soos dié op vliegtuie te verdra. Tog wil ons met hierdie navorsing na maniere soek om sagteware te bou wat uit die staanspoor reg werk, veral waar dit die verskil tussen lewe en dood kan beteken, soos die sagteware wat deesdae in motors en vliegtuie gebruik word," sê prof Bruce Watson, die hoof van die Departement Inligtingwetenskap en 'n professor in Informatika wat op die gebied van kuber- en inligtingsekerheid, algoritmes, kunsmatige intelligensie, rekenaarkunde en datawetenskap spesialiseer.

Die projek genaamd "Korrektheidsgebaseerde taksonomieë en gereedskapkiste vir algoritmes" beoog om "korrektheid-deur-konstruksie-tegnieke te gebruik om nuwe algoritmes te ontwerp, en terselfdertyd klassifikasies van bestaande algoritmes te skep". Watson se medewerkers aan die projek is prof David Pearce, 'n rekenaarwetenskaplike van die Victoria-universiteit van Wellington in Nieu-Seeland; prof Ina Schaefer, 'n motorsagtewareontwikkelaar van die Technische Universität Braunschweig in Duitsland, en twee navorsingsgenote, prof Loek Cleophas, wat by die Technische Universiteit Eindhoven in Nederland in rekenaarwetenskap en -ingenieurswese spesialiseer, en prof Derrick Kourie van die US, wat hom op kunsmatige intelligensie, inligtingstelsels (bedryfsinformatika) en programmeringstale toespits.

As deel van hulle navorsing stel die akademici ook voorgraadse studente aan hulle werk bloot deur die studente te leer hoe om "stelsels te bou wat van die begin af reg werk".

"Hiervoor gaan leen ons beproefde en bewese idees van ander ingenieursgebiede. Neem nou maar meganiese en siviele ingenieurs. Hulle het eeue lank ontleed en uitgepluis hoe fisiese strukture gebou word. Dít het hulle gedoen deur bestaande strukture te neem, dit te skaleer en dan te kyk hoe verskillende stutte in die strukture aan mekaar gekoppel is om doeltreffend te werk, en hoe verskillende onderdele saamwerk om die hele struktuur te laat funksioneer. Eintlik het hulle maar die wiskunde van die strukture ondersoek," verduidelik Watson.

"En dít is presies wat ons bedoel as ons van die korrektheid van programmering praat. Hoewel ons weet wat 'n program in die geheel veronderstel is om te doen, breek ons dit nou op in klein stukkies en toets elke stukkie om te bepaal of dit werk. As jy immers uit die staanspoor reg bou, hoef jy nie later sagtewarebywerkings te skep om foute reg te stel nie, en het die eindgebruiker die waarborg van 'n veel beter gebruikerservaring."

Hoewel baie van wat hulle tans in hierdie projek doen op wiskundige beginsels berus, sê Watson hulle het "die angel daaruit gehaal" deur uit te werk hoe om die wiskundige gedeelte prettig te maak, dog steeds ryk genoeg vir doeltreffende leer.

"Ons het hard daaraan gewerk om die wiskunde intuïtief en prettig te maak sodat studente met 'n basiese begrip van wiskunde dit maklik kan snap, selfs al is hulle nie wiskundiges nie," voeg Watson by.

Eerstejaarstudente in die program BA in Sosio-informatika leer reeds van algoritmes deur die Whiley-programmeringstaal en -gereedskap wat Pearce ontwikkel het.

"Al is daar moontlik skeptici wat dink ons probeer iets in die inligtingwetenskappe doen wat dalk eerder op ingenieurs- of rekenaarwetenskaplike gebied tuishoort, het ons besef dat inligting, rekenaarkunde en wiskundige geletterdheid belangrik is ongeag watter loopbaan studente eendag besluit om te volg. Ons leef in 'n digitale era waar dit noodsaaklik is dat ons in die werksomgewing kennis kan absorbeer en akkuraat verwerk. Terselfdertyd het inligtingstelsels onteenseglik deel geword van ons wêreld: Dink maar aan die rekenaarstelsels van kleinhandelreuse soos Edgars, Woolworths of Takealot wat data oor kliënte se winkel- en aanlyn aankope stoor, of die stelsels van banke soos Capitec en mediese fondse soos Discovery Health. Hierdie stelsels speel 'n kernrol om ons goed soos kliëntevoorkeure in moderne organisasies te help verstaan," verduidelik Watson. 

"Die samelewing erken die waarde van geletterdheid en die belang van lees- en skryfvaardighede. Allerweë aanvaar ons ook dat hierdie vaardighede bemeester móét word, ongeag of jy dit in 'n beroep as digter of as skrywer wil aanwend. Mense het oor die jare ook die waarde van wiskundige geletterdheid in die alledaagse lewe begin besef, selfs al is jy nie van plan om eendag 'n wiskundige te word nie. Suid-Afrika self het nog 'n ver pad om te stap in hierdie verband. Tog is daar 'n wêreldwye behoefte dat die nuwe generasie sal besef hoe belangrik inligtings- en rekenaargeletterdheid is om in 'n digitale samelewing oor die weg te kom. In die toekoms sal jy waarskynlik nie sonder hierdie vaardighede kan funksioneer nie, wat een van die redes is waarom ons navorsing ook direk gekoppel word aan die vaardighede en kennis wat ons aan ons studente oordra."

Foto: Druk in gesprek oor rekenaarvergelykings: Prof Derrick Kourie (links) en prof Bruce Watson, albei van die Departement Inligtingwetenskap aan die Universiteit Stellenbosch, bespreek rekenaarvergelykings vir 'n navorsingsprojek oor algoritmeverbeterings in sagteware. (Richard Barnett)