Enhver person i hans daglige liv er tvunget til at løse et stort antal forskellige opgaver. Han tænker ikke på at løse nogle problemer ("køb af dagligvarer"), mens andre forårsager vanskeligheder og lange refleksioner ("indsamling af Rubiks terning"). Ovenstående eksempler på enkle og komplekse opgaver har det til fælles, at de kan opdeles i individuelle forståelige trin. Sekvensen af sådanne trin kan bruges som en påmindelse om at hjælpe med at løse problemet. Denne sekvens kan kaldes en algoritme.
Selvfølgelig kan du samle en Rubiks terning uden et memo, simpelthen ved at flytte kanterne i tilfældig rækkefølge. Men at tælle mulige muligheder kan tage lang tid, det vil være en uproduktiv og suboptimal proces. Det er meget mere praktisk at have en liste over trin, hvis sekventielle udførelse altid vil føre til et positivt resultat. Det er disse principper, der dannede et sådant koncept som en "algoritme".
Algoritme er et sæt instruktioner (trin), der beskriver rækkefølgen af eksekutorens operationer for at opnå resultatet af at løse et problem i et begrænset antal handlinger.
Hvad er en performer?
For en bedre forståelse af algoritmen generelt er det også nødvendigt at overveje begrebet "algoritmeudførelse". En eksekutor i begrebet en algoritme betyder et abstrakt system, der er i stand til at udføre de handlinger, der er beskrevet af algoritmen, samt have en række karakteristika. Som kunstner menes oftest et eller andet teknisk middel (en 3D-printer, en CNC-maskine, en computer), men det skal forstås, at dette er et bredt koncept: udøveren kan for eksempel være en person.
Ikke desto mindre kan kun et system, der samtidig har et antal parametre, kaldes en performer:
- miljø;
- et system med kommandoer
- elementære handlinger
- afslag, hvis gennemførelsen af handlinger er umulig.
Algoritmeegenskaber
Begrænsningerne på begrebet "performer" fører til, at selve begrebet "algoritme" også har en række egenskaber og begrænsninger. Algoritmer er blevet udbredt netop på grund af disse begrænsninger, som bidrager til standardisering. Blandt algoritmernes egenskaber er:
- massivitet (algoritmens evne til at forblive korrekt for forskellige sæt inputdata);
- sikkerhed (på ethvert trin i algoritmen skal den udøvende have nok data til at udføre den);
- determinisme (med de samme sæt inputdata skal det samme resultat opnås);
Hvorfor er der behov for algoritmer?
Ovenstående egenskaber giver udbredt anvendelse af algoritmerne. Så algoritmer tjener til at standardisere beskrivelser af eventuelle processer. Uden algoritmer ville enhver form for beregning være umulig, og løsningen på ethvert problem ville starte fra bunden - selvom det blev løst mange gange. Brug af algoritmer giver dig mulighed for hurtigt at løse problemer af samme type, reducere tiden brugt på at finde en løsning, automatisere processen med at finde den og også distribuere den fundne løsning i en standardiseret form, hvilket betyder, at alle kan forstå det.