Algoritme
Fra Wikipedia, den frie encyklopedi
I matematikk og informatikk er en algoritme en presis beskrivelse av en endelig serie operasjoner som skal utfĂžres for Ă„ lĂžse et problem. Ordet kommer fra navnet til matematikeren og astronomen al-Khowarizmi (ca. 780 - 850). Han skrev flere bĂžker, blant annet boken Al-jabr wa'l muqabalah. Den inneholder en oppskrift - eller en algoritme - for hvordan bestemte annengradsligninger kan lĂžses.
[rediger] Formell definisjon
Mange matematikere og logikere i det 19. og 20. Ärhundret hadde problemer med at begrepet algoritme ikke hadde noen nÞyaktig matematisk definisjon. I den fÞrste halvdelen av 1900-tallet, ble det gjort mange forsÞk pÄ Ä finne en presis definisjon. Turingmaskinen til Alan Turing, Lambda-kalkulusen til Alonzo Church, rekursive funksjoner, Chomsky-grammatikker, og Markov-algoritmer, er alle formaliseringer av beregnbarhetsbegrepet.
Det ble bevist at alle disse metodene er like kraftige. Alle kan bli emulert av en Turingmaskin, og omvendt kan hver av dem selv emulere en Turingmaskin.
Ved hjelp av begrepet Turingmaskin, kan man formulere den fĂžlgende formelle definisjonen av begrepet algoritme:
En oppskrift for beregning av lĂžsningen til et problem er en algoritme hvis det finnes en turingmaskin som er ekvivalent til oppskriften, og som stopper for enhver inndata som har en lĂžsning.
Fra denne definisjonen kan fĂžlgende egenskaper avledes.
- Oppskriften mÄ kunne beskrives med en endelig tekst.
- Hvert skritt i oppskriften mÄ kunne utfÞres.
- PĂ„ ethvert tidspunkt kan kun et endelig stort minne benyttes.
- Oppskriften kan bare bruke et endelig antall skritt.
Euklids algoritme for Ä finne stÞrste felles faktor til to tall, er et eksempel pÄ en algoritme.