Løser - Solver
En løser er et stykke matematisk programvare , muligens i form av et frittstående dataprogram eller som et programvarebibliotek , som 'løser' et matematisk problem. En løser tar problembeskrivelser i en slags generisk form og beregner løsningen. I en løser er det lagt vekt på å lage et program eller bibliotek som enkelt kan brukes på andre problemer av lignende type.
Løsertyper
Typer av problemer med eksisterende dedikerte løsere inkluderer:
- Lineære og ikke-lineære ligninger . I tilfelle av en enkelt ligning kalles "løseren" mer hensiktsmessig for en rotfunningsalgoritme .
- Systemer med lineære ligninger .
- Ikke-lineære systemer .
- Systemer med polynomiske ligninger , som er et spesielt tilfelle av ikke-lineære systemer, bedre løst av spesifikke løsere.
- Lineære og ikke-lineære optimeringsproblemer
- Systemer med vanlige differensiallikninger
- Systemer med differensialgebraiske ligninger
- Boolske tilfredshetsproblemer , inkludert SAT-løsere
- Kvantifiserte boolske formelløsere
- Problemer med tilfredshet av begrensning
- Korteste sti problemer
- Minimum Spanning Tree problemer
- Søk algoritmer
- Spillløsere for problemer i spillteorien
- Tre-kroppsproblem
Den Generelt Problemløser ( GPS ) er et spesielt dataprogram opprettet i 1957 av Herbert Simon , JC Shaw , og Allen Newell ment å fungere som en universell problemløser, som teoretisk kan brukes til å løse alle mulige problemer som kan formaliseres i en symbolsk system, gitt riktig inngangskonfigurasjon. Det var det første dataprogrammet som skilte sin kunnskap om problemer (i form av domeneregler ) fra strategien om hvordan man skulle løse problemer (som en generell søkemotor ).
Generelle løsere bruker vanligvis en arkitektur som ligner GPS for å koble et problemets definisjon fra strategien som ble brukt for å løse det. Fordelen ved denne frakoblingen er at løseren ikke er avhengig av detaljene i en spesiell problemforekomst. Strategien som ble benyttet av generelle løsere, var basert på en generell algoritme (vanligvis basert på backtracking ) med det eneste målet om fullstendighet. Dette induserer en eksponentiell beregningstid som dramatisk begrenser bruken av dem. Moderne løsere bruker en mer spesialisert tilnærming som utnytter strukturen til problemene, slik at løseren bruker så lite tid som mulig på backtracking.
For problemer av en bestemt klasse (f.eks. Systemer med ikke-lineære ligninger ) er vanligvis flere algoritmer tilgjengelige. Noen løsere implementerer flere algoritmer.
Se også
- TK Solver : En regelbasert problemløser med muligheter for tilbakeløsning.
- Matematisk programvare for andre typer matematisk programvare.
- Problemløsningsmiljø : en spesialisert programvare som kombinerer automatiserte problemløsningsmetoder med menneskelig orienterte verktøy for å veilede problemløsningen.
- Tilfredsstillelsesmodulteorier for løsere av logiske formler med hensyn til kombinasjoner av bakgrunnsteorier uttrykt i klassisk førsteordenslogikk med likhet.
- Semantisk resonnement
Lister over løsere
- Liste over lineære programmeringsløsere
- Liste over SMT-løsere
- Liste over løsere for vanlige differensialligninger