Hjem Personlig finansiering 10 Algoritmiske problemer endnu for at løse

10 Algoritmiske problemer endnu for at løse

Indholdsfortegnelse:

Video: How Machines Learn 2024

Video: How Machines Learn 2024
Anonim

Algoritmer har faktisk eksisteret i århundreder, så man tror, ​​at forskere ville have opdaget og løst hver algoritme nu. Desværre er det modsatte sandt. Løsning af en bestemt algoritme præsenterer ofte et par flere spørgsmål, som algoritmen ikke løser, og det syntes ikke tilsyneladende, før nogen kom op med løsningen.

Algoritmer er en række trin, der bruges til at løse et problem, og du bør ikke forveksle dem med andre enheder, som ligninger. En algoritme er aldrig en løsning på jagt efter et problem. Ingen ville skabe en række trin for at løse et problem, der endnu ikke eksisterer (eller måske aldrig eksisterer).

Denne liste handler om algoritmiske problemer, der ville tjene et formål, hvis nogen skulle finde en løsning for dem.

Håndtering af tekstsøgninger

Mange tekstsøgninger indebærer brugen af ​​regulære udtryk - en slags stenografi, der fortæller computeren, hvad man skal finde. Den grammatik, der bruges til det regulære udtryk, afhænger af sproget eller applikationen, men du finder regulære udtryk, der bruges på en række steder, herunder tekstbehandlingsprogrammer, e-mail-applikationer, søgedialoger og i mange andre steder, hvor du skal give præcis søgning Vilkår for en række tekstgenstande.

Et af de nuværende problemer med regulære udtryk er, at det ser ud som om hvert applikationsmiljø har et lignende sæt regler, men med lige nok forskelle til at gøre oprettelsen af ​​et søgeord hårdt. Det generelle problem med stjernens højde søger at opdage, om der findes en generaliseret regelmæssig ekspressionssyntax. Hvis det er tilfældet, vil den resulterende algoritme gøre det muligt for nogen at lære kun en metode til at skabe regulære udtryk for at udføre søgninger.

Differentierende ord

Når der arbejdes med tegn, ser en computer tal, ikke bogstaver. Tallene er faktisk kun en serie af 0s og 1s til computeren og har faktisk ingen mening. Kombination af tegn i strenge gør bare serierne 0s og 1s længere. Derfor kan sammenligning af to strenge, noget som et menneske kan gøre med et øjeblik, tage tid inden for en computer, og der er sandsynligvis forvirring mellem konjugater. Hvis du for eksempel ikke er forsigtig med at konstruere algoritmen, kan en computer forvirre enlist og lytte. Vigtigere, computeren ville kræve tid til at skelne forskellen mellem de to. Separationsordsproblemet søger at finde den mindste (og hurtigste) mulige algoritme (en deterministisk endelig automat, DFN, i dette tilfælde) til at udføre ordseparation.Målet er at acceptere et ord og afvise et andet, givet to ord af en bestemt længde.

Bestemmelse af, om en ansøgning slutter

Et af de problemer, Alan Turing foreslog i 1936, er spørgsmålet om, hvorvidt en algoritme, givet en beskrivelse af et program og et input, kunne afgøre, om programmet til sidst ville stoppe stoppe problem). Når du arbejder med en simpel applikation, er det nemt i mange tilfælde at bestemme, om programmet vil stoppe eller fortsætte med at køre i en endeløs sløjfe. Men som programkompleksiteten stiger, bliver det vanskeligere at bestemme resultatet af at køre programmet med en given indgang. En Turing-maskine kan ikke gøre denne bestemmelse; Resultatet er buggy kode med uendelige sløjfer. Intet antal test, der bruger den nuværende teknologi, kan løse dette problem.

En hypercomputer er en computermodel, der går ud over Turing-maskine for at løse problemer som stopproblemet. Sådanne maskiner er imidlertid ikke mulige ved hjælp af den nuværende teknologi. Hvis de var mulige, ville du være i stand til at spørge dem alle slags imponderables, at computere ikke kan svare på nuværende tidspunkt. Denne artikel giver dig en god ide om, hvad der ville ske, hvis nogen kunne løse dette problem.

Oprettelse og brug af envejsfunktioner

En envejsfunktion er en funktion, som er nem at bruge for at få et svar i en retning, men næsten umuligt at bruge med det omvendte svar. Med andre ord bruger du en envejsfunktion til at skabe noget som en hash, der synes at være en del af en løsning til kryptering, personlig identifikation, godkendelse eller andre datasikkerhedsbehov.

Eksistensen af ​​en envejsfunktion er mindre mysterium og mere et spørgsmål om bevis. Mange telekommunikations-, e-handels- og e-banking-systemer er i øjeblikket afhængige af funktioner, der angiveligt er en måde, men ingen ved virkelig, om de virkelig er en måde. Eksistensen af ​​en envejsfunktion er i øjeblikket en hypotese, ikke en teori. Hvis nogen kunne bevise, at der findes en envejsfunktion, ville datasikkerhedsproblemer være lettere at løse fra et programmeringsperspektiv.

Multiplicere rigtigt store tal

Der findes reelt store tal på mange steder. For eksempel overveje at udføre beregningerne, der involverer afstande til Mars, eller måske Pluto. Metoder eksisterer i øjeblikket for at udføre multiplikation på virkelig store tal, men de har tendens til at være langsomme, fordi de kræver flere operationer at fuldføre. Problemet opstår, når tallene er for store til at passe ind i processorens registre. På det tidspunkt skal multiplikationen forekomme i mere end et trin, hvilket forsinker tingene betydeligt. De nuværende løsninger omfatter:

  • Gauss komplekse multiplikationsalgoritme
  • Karatsuba multiplikation
  • Toom-Cook
  • Fourier transformationsmetoder

Selvom mange af de tilgængelige metoder frembringer acceptable resultater, tager de alle tid og når du har mange beregninger at udføre, kan tidsproblemet blive kritisk. Derfor er stort antal multiplikationer et af de problemer, der kræver en bedre løsning end dem, der er tilgængelige i dag.

Dele en ressource lige

Det er måske ikke svært at dele ressourcer, men mennesker, som er misundelig, kan se ressourcen som ulige fordelt, medmindre du kan finde en måde at forsikre alle om, at divisionen er rigtig fair. Dette er den misundelsesfrie kage-skære problem. Selvfølgelig, når du skærer en kage, uanset hvor ret du forsøger at gøre det, er der altid en opfattelse af, at divisionen er uretfærdig. At skabe en retfærdig fordeling af ressourcer er vigtig i dagligdagen for at minimere strid mellem interessenter i enhver organisation og gøre alle mere effektive.

Der findes allerede to løsninger til det misundelsesfrie kagebesparende problem med et bestemt antal mennesker, men der findes ingen generel løsning. Når der er to involverede personer, skærer den første kagen og den anden vælger det første stykke. På den måde sikres begge parter om en ligelig division. Problemet bliver sværere med tre personer, men du kan prøve Selfridge-Conway-løsningen for problemet. Men når du kommer til fire personer, findes der ingen løsning.

Reducer redigering af afstandsberegningstiden

redigeringsafstanden mellem to strenge er antallet af operationer, der kræves for at omdanne en streng til den anden streng. Afstandsberegningen drejer sig om Levenshtein-afstandsoperationerne, som er fjernelse, indsættelse eller substitution af et tegn i strengen. Denne særlige teknik ser anvendelse i naturlige sproggrænseflader, DNA-sekvenskvantificering og alle mulige andre steder, hvor du kan have to lignende strenge, der kræver en form for sammenligning eller modifikation.

Der findes i øjeblikket en række løsninger til dette problem, alle er ret langsomme. Faktisk tager de fleste eksponentiel tid, så den tid, der kræves for at udføre en transformation, tilføjer hurtigt op til det punkt, hvor mennesker kan se pauser i behandlingen af ​​input. Pause er ikke helt så dårlig, når du bruger et tekstbehandlingsprogram, der udfører automatisk ordkontrol og ændrer et stavet ord i den rigtige. Når du bruger stemmegrænseflader, kan pause imidlertid være ret mærkbar og få den menneskelige operatør til at lave fejl.

Løsning af problemer hurtigt

Når maskinlæring starter, og vi tæller mere og mere på computere for at løse problemer, bliver spørgsmålet om, hvor hurtigt en computer kan løse et problem, kritisk. P versus NP problem spørger simpelthen om en computer hurtigt kan løse et problem, når det hurtigt kan bekræfte løsningen på problemet. Med andre ord, hvis computeren med rimelighed kan konstatere, at et menneskeligt svar på et problem er korrekt i polynomisk tid eller mindre, kan det også løse problemet selv i polynomisk tid eller mindre?

Dette spørgsmål blev oprindeligt diskuteret på 1950'erne af John Nash i breve til National Security Agency (NSA) og igen i breve mellem Kurt Gödel og John von Neumann. Udover maskinindlæring (og AI generelt) er dette problem et problem for mange andre felter, herunder matematik, kryptografi, algoritmeforskning, spilteori, multimediebehandling, filosofi og økonomi.

Afspilning af paritetsspillet

I første omgang synes det ikke at være noget nyttigt at løse et spil i det virkelige liv. Ja, spil er sjovt og interessant, men de giver ikke rigtig baggrund for at gøre noget nyttigt - i hvert fald det er den generelle teori. Spilteorien kommer imidlertid til spil i et stort antal virkelige scenarier, hvoraf mange involverer komplekse processer, som en person kan forstå lettere som spil end som egentlige processer. I dette tilfælde hjælper spillet folk med at forstå automatiseret verifikation og controllersyntese, blandt andet. Du kan læse mere om paritetsspillet. Faktisk kan du spille det.

Forståelse af rumlige problemer

For at sætte dette særlige problem i kontekst, skal du tænke på flytende kasser rundt i et lager eller andre situationer, hvor du skal overveje det rum, hvor ting flytter sig. Selvfølgelig, hvis du har mange kasser i et stort lager og de alle har brug for en gaffeltruck til afhentning, vil du ikke forsøge at finde ud af, hvordan du opbevarer dem optimalt ved fysisk at omarrangere dem. Det er her, du skal arbejde gennem problemet ved at visualisere en løsning.

Men spørgsmålet er, om alle rumlige problemer har en løsning. I så fald tænk på en af ​​disse børns puslespil, som du har sat et billede sammen ved at skubbe de små fliser rundt. Det ser ud til, at der findes en løsning i alle tilfælde, men i nogle situationer kan et dårligt udgangspunkt resultere i en situation, der ikke har nogen løsning.

Matematikere som Sam Loyd bruger ofte puslespil til at demonstrere komplekse matematiske problemer, hvoraf nogle ikke har nogen løsning i dag. Besøg disse steder er sjovt, fordi du ikke kun får noget gratis underholdning, men også mad til tanker. De problemer, som disse puslespil rejser, har praktiske anvendelser, men de præsenteres på en sjov måde.

10 Algoritmiske problemer endnu for at løse

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 ...