Hjem Personlig finansiering Algoritmer: Computer omkostninger og følgende heuristics - dummies

Algoritmer: Computer omkostninger og følgende heuristics - dummies

Indholdsfortegnelse:

Video: Week 7, continued 2024

Video: Week 7, continued 2024
Anonim

Ofte finder du, at en heuristisk tilgang, på selvopdagelse og producerer tilstrækkeligt nyttige resultater (ikke nødvendigvis optimalt, men godt nok) er den metode, du rent faktisk har brug for at løse et problem. At få algoritmen til at udføre nogle af de nødvendige arbejder for dig sparer tid og kræfter, fordi du kan oprette algoritmer, der ser mønstre bedre end mennesker gør.

Selvopdagelse er derfor processen med at lade algoritmen vise dig en potentielt nyttig vej til en løsning (men du skal stadig regne med menneskets intuition og forståelse for at vide, om løsningen er den rigtige). De følgende afsnit beskriver teknikker, du kan bruge til at beregne prisen på en algoritme ved hjælp af heuristics som en metode til at opdage den faktiske anvendelighed af en given løsning.

Representerer problemet som et mellemrum

A Problemrum er et miljø, hvor en søgning efter en løsning finder sted. Et sæt stater og operatørerne, der bruges til at ændre disse stater, repræsenterer problemrummet. For eksempel overveje et fliser spil, der har otte fliser i en 3-x-3 ramme. Hver flise viser en del af et billede, og fliserne starter i en tilfældig rækkefølge, så billedet er forvrengt. Målet er at flytte en flise ad gangen for at placere alle fliserne i den rigtige rækkefølge og afsløre billedet.

Kombinationen af ​​starttilstanden, de randomiserede fliser og måltilstanden - fliserne i en bestemt rækkefølge - er problemet. Du kunne repræsentere puslespillet grafisk ved hjælp af en problemrumgraf. Hver knude på problemrummet viser en tilstand (de otte fliser i en bestemt position). Kanterne repræsenterer operationer, såsom at flytte flise nummer otte op. Når du flytter flise otte op, ændres billedet - det flytter til en anden tilstand.

At vinde spillet ved at flytte fra starttilstand til måltilstand er ikke den eneste overvejelse. For at løse spillet effektivt skal du udføre opgaven i det mindste antal mulige træk, hvilket betyder at bruge det mindste antal operatører. Det mindste antal træk, der bruges til at løse puslespillet, er problemdybde.

Du skal overveje flere faktorer, når du repræsenterer et problem som et rum. For eksempel skal du overveje det maksimale antal noder, der passer til hukommelsen, hvilket repræsenterer rumkompleksiteten. Når du ikke kan passe alle noderne i hukommelsen ad gangen, skal computeren gemme nogle noder på andre steder, f.eks. Harddisken, som kan bremse algoritmen betydeligt.For at afgøre, om noderne passer til hukommelsen, skal du overveje tidskompleksiteten,, hvilket er det maksimale antal noder, der oprettes for at løse problemet. Derudover er det vigtigt at overveje forgreningsfaktoren,, som er det gennemsnitlige antal noder, der er oprettet i problemrumgrafen for at løse et problem.

Går tilfældigt og bliver velsignet af held

Det er muligt at løse et søgeproblem ved brug af brute-force-teknikker. Fordelen med denne tilgang er, at du ikke har brug for nogen domæne-specifik viden til at bruge en af ​​disse algoritmer. En brute-force algoritme har tendens til at bruge den enkleste mulige tilgang til at løse problemet. Ulempen er, at en brute-force-tilgang fungerer kun godt for et lille antal noder. Her er nogle af de almindelige brute-force search-algoritmer:

  • Bredde-første søgning: Denne teknik begynder ved rodnoden, undersøger hver af børnelederne først og går først derefter ned til næste niveau. Den skrider frem efter niveau, indtil den finder en løsning. Ulempen ved denne algoritme er, at den skal lagre hver node i hukommelsen, hvilket betyder at den bruger en betydelig mængde hukommelse til et stort antal noder. Denne teknik kan tjekke for dubletter, hvilket sparer tid, og det kommer altid op med en løsning.
  • Dybde-første søgning: Denne teknik begynder ved rodknuden og udforsker et sæt tilsluttede børne noder, indtil det når en bladnode. Det skrider frem til filialen, indtil den finder en løsning. Ulempen ved denne algoritme er, at den ikke kan tjekke for dubletter, hvilket betyder at det kan krydse de samme nodeveje mere end én gang. Faktisk kan denne algoritme slet ikke finde en løsning, hvilket betyder at du skal definere et cutoff-punkt for at holde algoritmen fra at søge uendeligt. En fordel ved denne tilgang er, at den er hukommelseseffektiv.
  • Tovejsøgning: Denne teknik søger samtidigt fra rodknuden og målnoden, indtil de to søgestier møder i midten. En fordel ved denne tilgang er, at den er tidseffektiv, fordi den finder løsningen hurtigere end mange andre brute-force løsninger. Derudover bruger hukommelsen mere effektivt end andre tilgange og finder altid en løsning. Den største ulempe er implementeringens kompleksitet, der overskrider en længere udviklingscyklus.

Brug af en heuristisk og en omkostningsfunktion

For nogle mennesker lyder ordet heuristic bare kompliceret. Det ville være lige så nemt at sige, at algoritmen gør et uddannet gæt og derefter forsøger igen, når det fejler. I modsætning til brute-force metoder lærer heuristiske algoritmer. De bruger også omkostningsfunktioner til at træffe bedre valg. Derfor er heuristiske algoritmer mere komplekse, men de har en klar fordel ved løsning af komplekse problemer. Som med brute-force algoritmer er der mange heuristiske algoritmer, og hver kommer med sit eget sæt fordele, ulemper og særlige krav. Følgende liste beskriver nogle få af de mest almindelige heuristiske algoritmer:

  • Ren heuristisk søgning: Algoritmen udvider knuder i rækkefølge af deres omkostninger.Den opretholder to lister. Den lukkede liste indeholder de noder, den allerede har udforsket; Den åbne liste indeholder de noder, den endnu må undersøge. I hver iteration udvider algoritmen knuden med den lavest mulige pris. Alle dens børne noder er placeret i den lukkede liste, og de individuelle barneknutekostnader beregnes. Algoritmen sender barnetoderne med en lav pris tilbage til den åbne liste og sletter børnelodene med en høj pris. Algoritmen udfører derfor en intelligent, omkostningsbaseret søgning efter løsningen.
  • A * søgning: Algoritmen sporer omkostningerne ved noder, da den udforsker dem ved hjælp af ligningen: f (n) = g n) + h (n), hvor
    • n er nodens identifikator.
    • g (n) er omkostningerne ved at nå noden hidtil.
    • h (n) er den anslåede pris for at nå målet fra noden.
    • f (n) er den anslåede pris for stien fra n til målet.

Ideen er at søge de mest lovende stier først og undgå dyre stier.

  • Greedy bedste første søgning: Algoritmen vælger altid den sti, der er tættest på målet ved hjælp af ligningen: f (n) = h
Algoritmer: Computer omkostninger og følgende heuristics - dummies

Valg af editor

Opret en Photomerge Scene Cleaner Composite i Photoshop Elements 11 - dummies

Opret en Photomerge Scene Cleaner Composite i Photoshop Elements 11 - dummies

Photoshop Elements 11's Photomerge Scene Cleaner Det lyder som et skjult job hos CIA, hvor du bruger dine dage til at bevise på forbrydelsesscener, men det er ikke helt så spændende. Dette Photomerge-kommandoværktøj sætter dig i stand til at skabe det optimale billede ved at tillade dig at fjerne irriterende distraktioner, såsom biler, forbipasserende og så ...

Opret et online fotoalbum i Photoshop Elements 10 - dummies

Opret et online fotoalbum i Photoshop Elements 10 - dummies

, Når du klikker på Del i enten Organizer eller Fuld fotoredigeringstilstand for Photoshop Elements 10, og åbn panelet Del, finder du Online Album øverst på listen. Betegnelsen Online er en smule vildledende her, fordi du kan bruge denne delingsfunktion til både online og lokale filskabelser. Eksporter ...

Opret et smart album i Photoshop Elements 10 - dummies

Opret et smart album i Photoshop Elements 10 - dummies

Du kan udføre en søgning baseret på et antal forskellige kriterier. Funktionen Smart Album gør det muligt at gemme søgeresultaterne i et album. Når du har alle de filer, der vises i organisatoren, baseret på de søgninger, du udfører, kan du oprette et smart album som følger:

Valg af editor

Enterprise Mobile Devices and Exchange ActiveSync - dummies

Enterprise Mobile Devices and Exchange ActiveSync - dummies

Microsoft udviklede Exchange ActiveSync (EAS) som en synkroniseringsprotokol til Microsoft Exchange , men det er blevet tilpasset til at omfatte mere mobil enhedens sikkerhed og ledelsesfunktionalitet. EAS er en proprietær protokol, der er udviklet af Microsoft, og som er blevet licenseret og godkendt af leverandørerne af enhedsoperativsystemer, og er blevet en de facto-standard over ...

Enterprise Mobile Device Protection med applikationspolitikker - dummies

Enterprise Mobile Device Protection med applikationspolitikker - dummies

Applikationspolitikker beskriver, hvilke applikationer brugere har lov til at bruge, mens de får adgang virksomhedens netværk med en mobil enhed. Ansøgningspolitikker er særligt afgørende, fordi de mange applikationer, som brugere kan downloade, vokser eksponentielt. Dette øger risikoen for, at dine brugere sandsynligvis uskyldigt downloader en ondsindet program, der forårsager kaos ...

Enterprise Mobile Device Security: Carrier-Provided Voice Encryption - dummies

Enterprise Mobile Device Security: Carrier-Provided Voice Encryption - dummies

Med den udbredte adoption af mobil enheder kommer en tendens til at bruge dem til at drive missionskritisk forretning og åbne talekommunikation som en sikkerhedsvektor. Det gør de mobile enheder til et meget saftigt mål for alle vandaler derude. Og selvom der ikke har været udbredt udnyttelse af talekommunikation hidtil, kan dagen ikke ...

Valg af editor

Hvordan man skyder natportrætter på din Canon EOS 6D - dummies

Hvordan man skyder natportrætter på din Canon EOS 6D - dummies

, Når du vil oprette portrætter af emner om natten på din EOS 6D med denne tilstand, forbliver lukkeren åben lang nok til at fange detaljer i baggrunden også. Det betyder, at du skal montere dit kamera på et stativ for at kompensere for langsom lukkertid. Du skal også bruge en Canon ...

Sådan optager du billeder med HDR Backlight Control SCN-tilstand på din Canon EOS 6D - dummies

Sådan optager du billeder med HDR Backlight Control SCN-tilstand på din Canon EOS 6D - dummies

Nogle gange vil du fotografere en scene med en bred varians i toneområdet. Din EOS 6D tilbyder en løsning med HDR Backlight Control SCN-tilstand. Ellers er din Canon nødt til at gå på kompromis, og du ender med et billede, der har detaljer i mellemklassen, men mangler detaljer i skyggeområdet. Når du ...