Hjem Personlig finansiering Simulerer Bruke abstrakte maskiner med algoritmer - dummier

Simulerer Bruke abstrakte maskiner med algoritmer - dummier

Video: Moleman 2 - Demoscene - The Art of the Algorithms (2012) 2024

Video: Moleman 2 - Demoscene - The Art of the Algorithms (2012) 2024
Anonim

Jo flere operasjoner en algoritme krever, jo mer kompleks er det. Kompleksitet er et mål for algoritmenes effektivitet når det gjelder tidsbruk fordi hver operasjon tar litt tid. Gitt det samme problemet, er komplekse algoritmer generelt mindre gunstige enn enkle algoritmer fordi komplekse algoritmer krever mer tid.

Tenk på de tidspunktene hvor utførelseshastigheten gjør forskjellen, som for eksempel i medisinsk eller finansiell sektor, eller når du flyr på automatisk pilot på et fly eller romraket. Målealgoritmkompleksitet er en utfordrende oppgave, om nødvendig, hvis du vil benytte den riktige løsningen. Den første målingsteknikken bruker abstrakte maskiner som Random Access Machine (RAM).

RAM står også for Random Access Memory, som er internminnet som datamaskinen bruker når du kjører programmer. Selv om den bruker samme akronym, er en tilfeldig tilgangsmaskin noe helt annerledes.

Abstrakte maskiner er ikke ekte datamaskiner, men teoretiske, datamaskiner som er forestilt i deres funksjon. Du bruker abstrakte maskiner til å vurdere hvor bra en algoritme ville fungere på en datamaskin uten å teste den på den virkelige tingen, men avhengig av hvilken type maskinvare du vil bruke. En RAM-datamaskin utfører grunnleggende aritmetiske operasjoner og samhandler med informasjon i minnet, det er alt. Hver gang en RAM-datamaskin gjør noe, tar det et tidsteg (en tidsenhet). Når du vurderer en algoritme i en RAM-simulering, teller du tidspunkter ved å bruke følgende fremgangsmåte:

  1. Telle hver enkel operasjon (aritmetiske) som et tidstrinn.
  2. Koble komplekse operasjoner til enkle aritmetiske operasjoner og telle tidstrinn som definert i trinn 1.
  3. Telle all dataadgang fra minnet som en gangsteg.

For å utføre denne regnskapet, skriver du en pseudokodeversjon av algoritmen din og utfører disse trinnene ved hjelp av papir og blyant. Til slutt er det en enkel tilnærming basert på en grunnleggende ide om hvordan datamaskiner fungerer, en nyttig tilnærming som du kan bruke til å sammenligne løsninger uavhengig av maskinens kraft og hastighet eller programmeringsspråket du bruker.

Bruke en simulering er forskjellig fra å kjøre algoritmen på en datamaskin fordi du bruker en standard og forhåndsdefinert inngang. Ekte datamålinger krever at du kjører koden og kontrollerer tiden som kreves for å kjøre den. Kjørekode på en datamaskin er faktisk en referanse, en annen form for effektivitetsmåling, hvor du også tar hensyn til applikasjonsmiljøet (for eksempel typen maskinvare som brukes og programvareimplementeringen).Et referansepunkt er nyttig, men mangler generalisering. Tenk for eksempel hvordan nyere maskinvare raskt kan utføre en algoritme som tok aldre på din tidligere datamaskin.

Simulerer Bruke abstrakte maskiner med algoritmer - dummier

Redaktørens valg

Speil Lockup (MUP) på Nikon D7100-dummies

Speil Lockup (MUP) på Nikon D7100-dummies

En komponent i det optiske systemet til din Nikon D7100 kamera er et speil som beveger seg hver gang du trykker på lukkerknappen. Den lille vibrasjonen som følge av speilets handling kan føre til svak utryddelse av bildet når du bruker en veldig langsom lukkerhastighet, skyter med en lang teleobjektiv, ...

Opptaksmuligheter på Nikon D5300 - dummies

Opptaksmuligheter på Nikon D5300 - dummies

Du kan styre noen få aspekter av din filmoppgave på din Nikon D5300. Du kan manipulere videoen din for å skape en rekke effekter. Følgende liste går gjennom disse alternativene: Eksponeringsmodus: Du kan ta opp filmer i hvilken som helst eksponeringsmodus (Auto, Scenemodus, Effektmodus, P, M, og så videre). Som med fortsatt ...

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Følgende retusjonsverktøy på din Nikon D5600 kamerajustering eksponering og farge: D-Lighting, Quick Retouch, Filter Effects og Monochrome. Selv om disse verktøyene ikke får deg til å velge ett kamera over en annen, hvis du allerede har en Nikon D5600, er de tilgjengelige, så du kan også lære å bruke dem! D-Lighting: Active D-Lighting ...

Redaktørens valg

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

Hvis du vurderer bli med i en fantasy basketball liga, må du ta hensyn til følgende DOs og DON'Ts før du vurderer spillerne du vil utarbeide på laget ditt. Kreditt: © iStockphoto. com / IS_ImageSource Fantasy basketball draft pick DOS I de fleste fantasy basketball ligaer bestemmer kommisjonen (personen som setter opp ligaen) bestillingen i ...

Linjene og dimensjonene til en basketballbane - dummies

Linjene og dimensjonene til en basketballbane - dummies

En basketballbane har symmetri; Den ene halvdelen av retten er et speilbilde av den andre. Hele basketballbanen (se figur 1) er 94 fot med 50 fot. På hver halvplass viser malte linjer fritt korsbanen og sirkelen, samt trepunktsbuen, hvis avstand fra kurven varierer basert ...

Kjøp av gratis agenter i fantasy fotball - dummies

Kjøp av gratis agenter i fantasy fotball - dummies

I løpet av fantasy fotball sesongen, spillere som ikke blir utarbeidet bli gratis agenter - spillere tilgjengelig for enhver ligamatch villig til å slippe en eid spiller. Bruk gratis agentbassenget til å erstatte en skadet spiller eller noen som bare ikke lever opp til dine forventninger. Bruk disse tipsene for å finne en gratis agent for å ...

Redaktørens valg

Grunnleggende for din iOS-app - dummies

Grunnleggende for din iOS-app - dummies

Heldigvis mesteparten av det du trenger å gjøre så langt som iOS animasjon er opptatt er allerede bygd inn i rammen. Noen visningsegenskaper kan animeres, noe som betyr at du bare må fortelle visningen hvor du skal begynne og hvor du skal avslutte flyttingen, og noen få andre valgfrie parametere, og du er ferdig. ...

Montering av verktøylinjen for Android App Development - dummies

Montering av verktøylinjen for Android App Development - dummies

Når du vet at du er klar til være en Android-utvikler, ta tak i datamaskinen din og få sprekker på å installere verktøyene og rammene som er nødvendige for å bygge ditt første blockbuster-program. Linux-kjernen Android ble opprettet på toppen av åpen kildekode Linux-kjernen. Android-teamet valgte å bruke denne kjernen fordi den ga bevist ...

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Cocoa Touch-laget inneholder det meste av objektet -orientert utvikler-vendt rammer for å bygge iOS applikasjoner. Det er ditt eneste utgangspunkt for app-utvikling. Apple-guiderne oppfordrer deg til å undersøke teknologiene i dette laget for å se om de oppfyller dine behov, før du ser på de andre lagene. Med andre ord, Apple har til hensikt å ...