Diskussion:Algoritm

Min lärare i programmering visade den här artikeln på projektor i föreläsningssalen idag. Känn er hedrade ni som bidragit till den ;) bbx 8 januari 2004 kl.13.36 (CET)


Diskussionen under "algoritmer i datavetenskap" är ovetenskaplig och olämplig. Här är några punkter som måste åtgärdas i texten.

  • Man ska skilja på algoritm och dess implementation.
  • Effektivitetsbegreppet i algoritmteori är teoretiskt, så algoritmers asymptotiska uppträdande är det som först och främst analyseras.
  • Den asymptotiskt bästa algoritmen är å andra sidan inte alltid den som är mest lämplig i praktiken.
  • Det är svårt att jämföra olika algoritmer med avseende på deras implementation. Detta är ett underskattat område!
  • Man testkör för att jämföra implementationer, inte algoritmer.

/Arve 19 augusti 2005 kl.08.52 (CEST)


Jag skulle vilja lägga till ett exempel på en algoritm som alla kan: Multiplikation eller addition av två tal i en modell där man räknar antalet entals-additioner/multiplikationer.

Borde skapa en koppling till praktiken också, inte bara ha teori.

Nämn även parallella algoritmer, randomiserade algoritmer, approximationsalgoritmer, grafalgoritmer, osv. Arve

Lade till signaturen ovan. --Etxrge 23 augusti 2005 kl.09.07 (CEST)

Även om det är skillnad på Algoritm och Implementation är inte skillnaden trivial. Ett datorprogram kan mycket väl vara en algoritm. Jag undrar också om det är skillnad mellan en algoritm och en beskrivning av en algoritm. Om beskrivningen är algoritmen kan ett datorprogram definitivt vara en algoritm. Jämför med procedur. Är proceduren någonting mer än instruktionerna för att genomföra proceduren? I så fall, vad? Som ni märker famlar jag i dimman och har därför kommit av mig med arbetet på den här artikeln. --Etxrge 23 augusti 2005 kl.09.07 (CEST)

Algoritm är ett mer abstrakt objekt. En algoritm kan ha många olika beskrivningar.
En implementation kan definitivt vara en beskrivning, om än oftast inte en särskilt bra sådan (för detaljerad,
man ser inte skogen för alla träd). Det som skiljer är vad man analyserar. Två olika implementationer
kan ha drastiskt olika prestanda beroende på hur minnet används och vilken dator man använder tex.
Även en kompilator kan påverka genom i vilken ordning den lägger ut kod för subrutiner. Att bedöma en algoritm efter en implementation är därför vanskligt.
Det finns också exempel på algoritmer som är extremt effektiva i teorin, men på alla praktiska problemstorlekar är en i teorin undermålig algoritm mer effektiv. Den här diskussionen bör finnas hos komplexitetsteori eller nåt liknande ställe.
/Arve 23 augusti 2005 kl.13.25 (CEST)

Om två implementationer avser att lösa samma typ av problem men med olika typer av minneshantering, om än i övrigt på likartat sätt, är det omedelbart fråga om två olika algoritmer. Detsamma gäller om samma källkod kompileras och körs på två olika typer av datorer. Om däremot exakt samma programkod körs på två olika datorer av samma typ, är det fråga om en och samma algoritm, även om indatat och därför även respektive beteenden är olika. Det är också samma algoritm om samma programkod körs på två datorer med olika klockfrekvens, förutsatt att alla andra resurser, som påverkar programmens framfart, är lika. 217.210.249.115 17 januari 2006 kl.02.36 1 januari 2001 kl. 00.00 (CET)(Signatur tillagd i efterhand av none.)[svara]

Så exv en QuickSort-implementation i C kompilerad för x86 är en annan algoritm än samma C-kod kompilerad för PPC? Tyvärr, hela stycket ovan är gallimatias. Jag tycker f ö att artikeln missar poängen (för stort fokus på effektivitet, makaronalgoritmen, osv ...). Den engelskspråkiga artikeln en:Algorithm verkar högklassig – översätt den i stället. JöG 27 mars 2008 kl. 22.38 (CET)[svara]


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne