Egenskapsalgoritm, vad är det för, delar, exempel

Egenskapsalgoritm, vad är det för, delar, exempel

En algoritm Det är en uppsättning instruktioner som är utformade för att utföra en specifik uppgift. Det vill säga det är ett systematiskt förfarande som i ett ändligt antal steg ger svaret på en fråga eller lösning av ett problem. Ett algoritmexempel är Googles sökmotor, där det genom att sätta in ett ord ger det flera resultat i form av webbsidor.

Det kan vara en komplex process, till exempel att återge en musikfil, eller en enkel operation, till exempel att lägga till två nummer. I datorprogrammering skapas algoritmer som funktioner. Dessa funktioner är små program som kan hänvisas till av ett stort program.

En applikation för att visualisera bilder kan innehålla ett bibliotek med funktioner, var och en med en viss algoritm för att representera de olika bildfilformaten.

Ett program för att redigera bilder kan innehålla algoritmer utformade för att bearbeta bilder data. Några exempel är trimning, ändring av storlek, skärpa, suddiga, minskar röda ögon och förbättrar färgen.

[TOC]

Egenskaper hos en algoritm

Tydlighet och precision

Algoritmen måste vara tydlig och entydig. Var och en av dess steg eller handlingar måste definieras exakt, vara tydligt tydliga i alla aspekter och måste entydigt ha en enda betydelse.

Tja definierade biljetter

En algoritm är noll eller fler poster, hämtade från en specifik uppsättning objekt. Om algoritmen indikerar att inmatningsdata måste tas måste dessa inmatningsdata vara väl definierade.

Tja definierade utgångar

Algoritmen har alltid en eller flera utgångar, som har en relation med ingångarna. Algoritmen bör tydligt definiera vilken utgångsinformation som kommer att inträffa och måste också definieras väl.

Finhet

Algoritmen måste vara begränsad, det vill säga den måste alltid sluta vid någon tidpunkt, efter ett ändligt antal steg, och inte bli anslutna till oändliga band eller liknande saker.

Möjlig

Algoritmen måste vara skicklig och enkel, så att den kan köras utan problem med tillgängliga resurser. Därför bör du inte innehålla någon framtida teknik.

Språk oberoende

Den designade algoritmen måste vara oberoende av språk, det vill säga den måste endast bildas av enkla instruktioner som kan implementeras på alla programmeringsspråk och ändå är resultatet alltid detsamma, som förväntat som förväntat.

Effektiva program

Det finns alltid olika sätt att utföra specifik operation inom ett program. Därför försöker programmerare skapa de mest effektiva möjliga algoritmerna.

Med användning av mycket effektiva algoritmer kan det garanteras att programmen körs med högre hastighet med hjälp av ett minimum av systemresurser.

Men algoritmer producerar inte alltid första gången. Av denna anledning försöker programmerare förbättra dem för att inkludera dem i framtida programuppdateringar.

Det kan tjäna dig: de 30 mest kända och viktiga fysiker i historien

Därför, när du känner till en ny version av en applikation med en bättre prestanda betyder det att den här versionen innehåller effektivare algoritmer.

Vad är en algoritm för?

Algoritmen är ett extremt användbart instrument som används för att utföra jobb. Inom datavetenskapen är det garanterat att datorn gör uppgiften på bästa möjliga sätt när du väljer den bästa algoritmen.

Därför tjänar det till att optimera ett datorprogram med tillgängliga resurser. Det vill säga, när ett problem beslutas att lösa genom de bästa algoritmerna, önskas den bästa hastighetskombinationen av programmet och lägre minnesförbrukning.

De olika algoritmerna som kan studeras är lika varierande som problemen som löser. Det är emellertid mycket troligt att problemet som försöker liknar ett annat problem i vissa aspekter.

Genom att förstå ett brett utbud av algoritmer kan du välja det mest lämpliga för ett problem och tillämpa det korrekt.

Filkomprimering

Dessa algoritmer justeras och optimeras specifikt för de typer av filer som de är riktade. Till exempel använder varje ljudformat ett annat sätt för att lagra data. När den avkodas av Audio Codec kommer den att generera en ljudfil som liknar den ursprungliga vågformen.

Datakrypterad

Algoritmer används också för att skydda data eller kommunikationslinjer. Istället för att lagra komprimerade data för att använda mindre diskutrymme, lagras de så att andra program inte kan upptäcka dem.  När uppgifterna är krypterade, liknar inte det som lagras vad det är.

Hur fungerar en algoritm?

För att få en dator för att göra något måste du skriva ett datorprogram. För att skriva detta program måste du berätta för datorn, steg för steg, vad du vill göra.

Sedan kör datorn programmet och utför varje instruktion automatiskt för att uppnå det slutliga resultatet. Som anges vad du ska göra mot datorn kan du också välja hur den kommer genom algoritmen att vara den grundläggande tekniken som används för att göra jobbet.

Exemplar

Låt oss säga att du har en vän som anländer till flygplatsen och måste gå från flygplatsen till vårt hus. Dessa är fyra olika algoritmer som kan ges för att lösa denna situation:

Algoritm ring mig

- Ring min mobiltelefon när planet anländer.

- Samlas med mig utanför bagageleveransområdet.

Taxialgoritm

- Gå till taxistoppet.

Kan tjäna dig: Metodisk ram: Hur man skriver det, struktur, exempel

- Gå till en taxi.

- Ge föraren min adress.

Bussalgoritm

- Lämnar flygplatsen, ta buss nummer 70.

- När du når huvudgatan, ta buss 14.

- Gå ut på Elmo Street.

- Gå två kvarter norrut, till mitt hus.

Algoritm hyra ett fordon

- Ta en transporttjänst till den plats där bilar hyr.

- Hyra ett fordon.

- Följ GPS -instruktionerna för att komma till mitt hus.

De fyra algoritmerna uppnår exakt samma mål, men var och en gör det annorlunda. Varje algoritm har också en annan kostnads- och restid. Därför väljs algoritmen enligt omständigheterna.

Delar av en algoritm

Förvärv av inträdesdata

Algoritmen måste ha vissa resurser för att läsa värdena från en extern källa. De flesta algoritmer kräver vissa datavärden för att definiera ett specifikt problem. Till exempel koefficienterna för en polynom.

Beräkning

Algoritmen måste ha vissa resurser för att kunna utföra aritmetiska beräkningar, jämförelser, kontrollera logiska förhållanden etc.

Urval

Algoritmen måste ha vissa sätt att kunna välja mellan två eller flera möjliga åtgärder, baserat på de initiala uppgifterna, på användarposter och/eller i beräknade resultat.

Iteration

Algoritmen måste ha vissa sätt att kunna upprepa en uppsättning instruktioner, antingen med ett fast antal gånger eller tills något logiskt tillstånd uppfylls.

Resultat eller utgångsrapport

Algoritmen måste ha vissa resurser för att informera användaren de resultat som har beräknats eller för att kunna begära ytterligare användardata.

Algoritmer

Rekursiv algoritm

Denna algoritm är mycket intressant, eftersom den kallas sig med ett annat värde som en ingångsparameter, som den erhöll efter att ha löst den tidigare ingångsparametern. Det vill säga det kallar sig själv upprepade gånger tills problemet är löst.

Problem som Hanoi -tornet eller den djupa sökningen efter en graf kan enkelt lösas med denna typ av algoritmer.

Algoritm dela och erövra

I dessa algoritmer är det uppdelat i två delar. I den första delen är problemet i fråga uppdelat i mindre underproblem av samma typ. På samma sätt löses deras underproblem i den andra delen och kombinerar sedan båda parter för att producera den slutliga lösningen av problemet.

Med dessa algoritmer kan du till exempel utföra ordinationer för kombination och snabba ordinationer.

Dynamisk programmeringsalgoritm

Dessa algoritmer arbetar med att komma ihåg resultaten från föregående exekvering och använda dem för att hitta nya resultat. Det vill säga, de löser komplexa problem som delar dem i flera enkla underproblem och sedan löser var och en av dem och sedan lagrar dem för att använda dem senare.

Kan tjäna dig: kvantitativ metod

Brutto kraftalgoritm

Denna algoritm söker blint alla möjliga lösningar för att hitta en eller flera lösningar som kan lösa en funktion. Du kan tänka på brute force som om alla möjliga kombinationer av siffror användes för att öppna ett kassaskåp.

Bakåtalgoritm

Denna algoritm löser problem rekursivt och försöker lösa ett problem att lösa varje del av den. Om lösningen misslyckas elimineras den och går tillbaka för att hitta en annan lösning.

Det vill säga att denna algoritm löser ett underproblem, men om detta inte löser det totala problemet, ångrar det det sista steget och börjar igen att hitta lösningen på problemet.

Algoritmer Exempel

Rekursiv algoritm

Denna pseudokod hittar faktorn för ett icke -negativt "n" -nummer med hjälp av en rekursiv algoritm:

Dynamisk programmeringsalgoritm

Fibonacci -sekvens är ett bra exempel på dynamisk programmeringsalgoritm. Det kan ses i denna pseudokod:

- Ja (n = 0 eller n = 1), Fibonacci (n) = 0

- Om inte, Fibonacci (N) = Fibonacci (N-1) + Fibonacci (N-2)

Bakåtalgoritm

Schackproblemet med de 8 drottningarna är ett bra exempel. Detta problem visar att det på ett schackbräde finns 8 drottningar och måste placeras på ett sådant sätt att ingen av drottningarna är i stånd att attackera någon annan efter organiserad.

Olika exempel

- HIV -diagnosalgoritm.

HIV -diagnosalgoritm. Källa: Immunopedia/CC BY-S (https: // CreativeCommons.Org/licenser/BY-SA/4.0)

- Internet -sökmotorer använder patenterade algoritmer för att visa de mest relevanta resultaten av deras sökindex för specifika samråd.

- Recept, som matematiska ekvationer, är algoritmer.

- E -post vet var man ska skicka tack till algoritmer.

- Innehållet som ses på sociala nätverk kommer via algoritmer. Faktum är att allt som görs på webben är algoritmerprodukt.

- Videospel är algoritmiska berättelser.

- Smarta telefonapplikationer är helt enkelt algoritmer.

- De flesta finansiella transaktioner görs via algoritmer.

- Varje gång en kolumn beställs på ett kalkylblad ingriper algoritmer.

Referenser

  1. Lee Rainie (2017). Kodberoende: Fördelar och nackdelar med algoritmåldern. Pew Research Center. Taget från: PewResarch.org.
  2. Teknisk term (2020). Algoritm. Taget från: Techterms.com.
  3. Britannica (2020). Algoritm. Taget från: Britannica.com.
  4. Educba (2020). Algoritmer. Taget från: Educba.com.
  5. Hur man geek (2016). Vad är datoralgoritmer och hur fungerar de? Taget från: Howtogek.com.
  6. Hur saker fungerar (2020). Vad är en datoralgoritm? Taget från: dator.HowStuffwork.com.