Kenmerken algoritme, waarvoor is het, onderdelen, voorbeelden

Kenmerken algoritme, waarvoor is het, onderdelen, voorbeelden

A algoritme Het is een set instructies die zijn ontworpen om een ​​specifieke taak uit te voeren. Dat wil zeggen, het is een systematische procedure die in een eindig aantal stappen het antwoord op een vraag of de oplossing van een probleem produceert. Een algoritme -voorbeeld is dat van de Google -zoekmachine, waarin het door een woord in te voegen, het verschillende resultaten geeft in de vorm van webpagina's.

Het kan een complex proces zijn, zoals het reproduceren van een muziekbestand of een eenvoudige bewerking, zoals het toevoegen van twee nummers. In computerprogrammering worden algoritmen gemaakt als functies. Deze functies zijn kleine programma's waarnaar kan worden verwezen door een groot programma.

Een toepassing om afbeeldingen te visualiseren kan een bibliotheek met functies bevatten, die elk een bepaald algoritme gebruiken om de verschillende beeldbestandsformaten weer te geven.

Een programma om afbeeldingen te bewerken kan algoritmen bevatten die zijn ontworpen om afbeeldingengegevens te verwerken. Sommige voorbeelden zijn snijden, veranderen van grootte, scherpte, vervaging, het verminderen van rode ogen en het verbeteren van de kleur.

[TOC]

Kenmerken van een algoritme

Duidelijkheid en precisie

Het algoritme moet duidelijk en ondubbelzinnig zijn. Elk van zijn stappen of acties moet nauwkeurig worden gedefinieerd, duidelijk duidelijk zijn in alle aspecten en moet ondubbelzinnig een enkele betekenis hebben.

Nou ja, gedefinieerde tickets

Een algoritme is nul of meer vermeldingen, afkomstig van een specifieke set objecten. Als het algoritme aangeeft dat invoergegevens moeten worden genomen, moeten deze invoergegevens goed worden gedefinieerd.

Nou ja, gedefinieerde uitgangen

Het algoritme heeft altijd een of meer uitgangen, die een relatie hebben met de ingangen. Het algoritme moet duidelijk bepalen welke uitvoerinformatie zal optreden en moet ook goed worden gedefinieerd.

Eindigheid

Het algoritme moet eindig zijn, dat wil zeggen, het moet altijd op een bepaald moment eindigen, na een eindig aantal stappen, en niet verslaafd raken aan oneindige banden of soortgelijke dingen.

Redelijk

Het algoritme moet bekwaam en eenvoudig zijn, zodat het kan worden uitgevoerd zonder probleem met de beschikbare bronnen. Daarom moet u geen toekomstige technologie bevatten.

Taalonafhankelijkheid

Het ontworpen algoritme moet onafhankelijk zijn van taal, dat wil zeggen dat het alleen moet worden gevormd door eenvoudige instructies die kunnen worden geïmplementeerd in elke programmeertaal en het resultaat is desondanks altijd hetzelfde, zoals verwacht zoals verwacht.

Efficiënte programma's

Er zijn altijd verschillende manieren om een ​​specifieke bewerking uit te voeren binnen een programma. Daarom proberen programmeurs de meest efficiënte mogelijke algoritmen te maken.

Met het gebruik van zeer efficiënte algoritmen kan worden gegarandeerd dat de programma's met hogere snelheid worden uitgevoerd, met een minimum aan systeembronnen.

Algoritmen produceren echter niet altijd de eerste keer. Om deze reden proberen programmeurs ze te verbeteren om ze op te nemen in toekomstige software -updates.

Het kan je van dienst zijn: de 30 beroemdste en belangrijke natuurkundigen in de geschiedenis

Daarom, wanneer u een nieuwe versie van een applicatie met een betere prestatie kent, betekent dit dat deze versie efficiëntere algoritmen bevat.

Waar is een algoritme voor?

Het algoritme is een uiterst nuttig instrument, dat wordt gebruikt om banen uit te voeren. In de informatica is het gegarandeerd bij het kiezen van het beste algoritme dat de computer de taak op de best mogelijke manier heeft gegeven.

Daarom dient het om een ​​computerprogramma te optimaliseren met de beschikbare bronnen. Dat wil zeggen, wanneer een probleem wordt besloten om via de beste algoritmen op te lossen, is de beste snelheidscombinatie van het programma en lager geheugenverbruik gewenst.

De verschillende algoritmen die kunnen worden bestudeerd, zijn net zo gevarieerd als de problemen die oplossen. Het is echter zeer waarschijnlijk dat het probleem in sommige aspecten vergelijkbaar is met een ander probleem.

Door een breed scala aan algoritmen te begrijpen, kunt u het meest geschikt voor een probleem kiezen en correct toepassen.

Bestandscompressie

Deze algoritmen worden speciaal aangepast en geoptimaliseerd voor de soorten bestanden waarnaar ze zijn gericht. Elk audioformaat gebruikt bijvoorbeeld een andere manier om gegevens op te slaan. Wanneer het wordt gedecodeerd door de audiocodec, genereert het een geluidsbestand vergelijkbaar met de originele golfvorm.

Gegevens gecodeerd

Algoritmen worden ook gebruikt om gegevens of communicatielijnen te beschermen. In plaats van gecomprimeerde gegevens op te slaan om minder schijfruimte te gebruiken, worden ze opgeslagen zodat andere programma's ze niet kunnen detecteren.  Wanneer de gegevens worden gecodeerd, lijkt wat er wordt opgeslagen niet op wat het is.

Hoe werkt een algoritme?

Om een ​​computer te krijgen om iets te doen, moet u een computerprogramma schrijven. Om dit programma te schrijven, moet u de computer stap voor stap vertellen wat u wilt doen.

Vervolgens voert de computer het programma uit, waarbij elke instructie automatisch wordt uitgevoerd om het eindresultaat te bereiken. Zoals aangegeven wat u met de computer moet doen, kunt u ook kiezen hoe het via het algoritme de basistechniek zal zijn die wordt gebruikt om het werk te doen.

Voorbeeldcase

Laten we zeggen dat u een vriend hebt die op de luchthaven aankomt en van de luchthaven naar ons huis moet gaan. Dit zijn vier verschillende algoritmen die kunnen worden gegeven om deze situatie op te lossen:

Algoritme bel me

- Wanneer het vliegtuig arriveert, bel dan mijn mobiele telefoon.

- Verzamel me met mij buiten het levergebied van de bagage.

Taxi -algoritme

- Ga naar de taxi -stop.

Kan u van dienst zijn: methodologisch frame: hoe het te schrijven, structuur, voorbeelden

- Ga naar een taxi.

- Geef de bestuurder mijn adres.

Busalgoritme

- Verlaat de luchthaven, neem busnummer 70.

- Neem bij het bereiken van de hoofdstraat bus 14.

- Ga uit op Elmo Street.

- Loop twee blokken naar het noorden, naar mijn huis.

Algoritme huur een voertuig

- Neem een ​​transportdienst naar de plaats waar auto's huur.

- Huur een voertuig.

- Volg de GPS -instructies om bij mijn huis te komen.

De vier algoritmen bereiken exact hetzelfde doel, maar elk doet het anders. Elk algoritme heeft ook een andere kosten- en reistijd. Daarom wordt het algoritme gekozen volgens de omstandigheden.

Delen van een algoritme

Verwerving van invoergegevens

Het algoritme moet bepaalde bronnen hebben om de waarden van een externe bron te lezen. De meeste algoritmen vereisen enkele gegevenswaarden om een ​​specifiek probleem te definiëren. Bijvoorbeeld de coëfficiënten van een polynoom.

Berekening

Het algoritme moet bepaalde bronnen hebben om rekenkundige berekeningen, vergelijkingen, te controleren, logische voorwaarden, etc. te controleren, enz.

Selectie

Het algoritme moet bepaalde middelen hebben om te kunnen kiezen tussen twee of meer mogelijke acties, op basis van de initiële gegevens, op gebruikersinvoer en/of in berekende resultaten.

Herhaling

Het algoritme moet bepaalde middelen hebben om een ​​reeks instructies te kunnen herhalen, hetzij met een vast aantal keren of totdat voldoet aan een logische toestand is voldaan.

Resultaten of uitvoerrapport

Het algoritme moet bepaalde bronnen hebben om de gebruiker de berekende resultaten te informeren of om aanvullende gebruikersgegevens te kunnen vragen.

Soorten algoritmen

Recursief algoritme

Dit algoritme is erg interessant, omdat het zichzelf wordt genoemd met een andere waarde als een invoerparameter, die het heeft verkregen nadat het de vorige invoerparameter had opgelost. Dat wil zeggen, het noemt zichzelf herhaaldelijk totdat het probleem is opgelost.

Problemen zoals de Hanoi -toren of de diepe zoektocht naar een grafiek kunnen eenvoudig worden opgelost met dit type algoritmen.

Algoritme verdeelt en verovert

In deze algoritmen is het verdeeld in twee delen. In het eerste deel is het probleem in kwestie onderverdeeld in kleinere subproblemen van hetzelfde type. Evenzo worden in het tweede deel hun subproblemen opgelost, waardoor beide partijen worden gecombineerd om de uiteindelijke oplossing van het probleem te produceren.

Met deze algoritmen kunt u bijvoorbeeld ordeningen uitvoeren voor combinatie en snelle ordeningen.

Dynamisch programmeeralgoritme

Deze algoritmen werken aan het onthouden van de resultaten van de vorige uitvoering en het gebruik ervan om nieuwe resultaten te vinden. Dat wil zeggen, ze lossen complexe problemen op die ze in meerdere eenvoudige sub-problemen delen en vervolgens elk van hen oplossen, en ze vervolgens opslaan om ze later te gebruiken.

Kan u van dienst zijn: kwantitatieve methode

Bruto krachtalgoritme

Dit algoritme zoekt blindelings op alle mogelijke oplossingen om een ​​of meer oplossingen te vinden die een functie kunnen oplossen. U kunt brute kracht bedenken alsof alle mogelijke combinaties van getallen zijn gebruikt om een ​​kluis te openen.

Achterwaarts algoritme

Dit algoritme lost problemen op recursief op en probeert een probleem op te lossen dat elk deel ervan oplossen. Als de oplossing mislukt, wordt deze geëlimineerd en gaat terug om een ​​andere oplossing te vinden.

Dat wil zeggen, dit algoritme lost een sub-probleem op, maar als dit het totale probleem niet oplossen, maakt het de laatste stap ongedaan en begint het opnieuw om de oplossing voor het probleem te vinden.

Algoritmen voorbeelden

Recursief algoritme

Deze pseudocode vindt de faculteit van een niet -negatief "N" -nummer, met behulp van een recursief algoritme:

Dynamisch programmeeralgoritme

Fibonacci -sequentie is een goed voorbeeld van dynamisch programmeeralgoritme. Het is te zien in deze pseudocode:

- Ja (n = 0 of n = 1), fibonacci (n) = 0

- Zo niet, fibonacci (n) = fibonacci (n-1) + fibonacci (n-2)

Achterwaarts algoritme

Het schaakprobleem van de 8 Queens is een goed voorbeeld. Dit probleem stelt vast dat er op een schaakbord 8 koninginnen zijn en op een zodanige manier moeten worden geplaatst dat geen van de koninginnen in staat is om een ​​andere na georganiseerd aan te vallen.

Verschillende voorbeelden

- HIV -diagnose -algoritme.

HIV -diagnose -algoritme. Bron: Immunopedie/CC BY-S (https: // creativeCommons.Org/licenties/by-sa/4.0)

- Internetzoekmachines gebruiken gepatenteerde algoritmen om de meest relevante resultaten van hun zoekindex voor specifiek overleg te tonen.

- Recepten, zoals wiskundige vergelijkingen, zijn algoritmen.

- E -mail weet waar te sturen dankzij algoritmen.

- De inhoud die op sociale netwerken wordt gezien, komt via algoritmen. In feite is alles wat op internet wordt gedaan algoritmen product.

- Videogames zijn algoritmische verhalen.

- Slimme telefoontoepassingen zijn gewoon algoritmen.

- De meeste financiële transacties worden uitgevoerd via algoritmen.

- Elke keer dat een kolom op een spreadsheet wordt besteld, komen algoritmen tussenbeide.

Referenties

  1. Lee Rainie (2017). Code-afhankelijk: voor- en nadelen van het algoritme-leeftijd. Pew Research Center. Genomen uit: pewresarch.borg.
  2. Tech Term (2020). Algoritme. Uitgebracht van: Techterms.com.
  3. Britannica (2020). Algoritme. Uitgebracht van: Britannica.com.
  4. Educba (2020). Soorten algoritmen. Genomen van: Educba.com.
  5. How To Geek (2016). Wat zijn computeralgoritmen, en hoe werken ze? Uitgebracht van: Howtogek.com.
  6. Hoe dingen werken (2020). Wat is een computeralgoritme? Genomen van: Computer.Howstuffwork.com.