In computer science, a heuristic algorithm, or simply a heuristic, is an algorithm that is able to produce an acceptable solution to a problem in many practical scenarios, in the fashion of a general heuristic, but for which there is no formal proof of its correctness. Alternatively, it may be correct, but may not be proven to produce an optimal solution, or to use reasonable resources.
| Property | Value |
| dbpprop:abstract
|
- In computer science, a heuristic algorithm, or simply a heuristic, is an algorithm that is able to produce an acceptable solution to a problem in many practical scenarios, in the fashion of a general heuristic, but for which there is no formal proof of its correctness. Alternatively, it may be correct, but may not be proven to produce an optimal solution, or to use reasonable resources. Heuristics are typically used when there is no known method to find an optimal solution, under the given constraints or at all. Two fundamental goals in computer science are finding algorithms with provably good run times and with provably good oroptimal solution quality. A heuristic is an algorithm that abandons one or both of these goals; for example, it usually finds pretty good solutions, but there is no proof the solutions could not get arbitrarily bad; or it usually runs reasonably quickly, but there is no argument that this will always be the case. For instance, say you are packing odd-shaped items into a box. Finding a perfect solution is a hard problem: there is no known way to do it that is significantly faster than trying every possible way of packing them. What most people do, then, is "put the largest items in first, then fit the smaller items into the spaces left around them. " This will not necessarily be perfect packing, but it will usually give a packing that is pretty good. It is an example of a heuristic solution. Several heuristic methods are used by antivirus software to detect viruses and other malware. Judea Pearl states that heuristic methods are based upon intelligent search strategies for computer problem solving, using several alternative approaches. Often, one can find specially crafted problem instances where the heuristic will in fact produce very bad results or run very slowly; however, such pathological instances might never occur in practice because of their special structure. Therefore, the use of heuristics is very common in real world implementations. For many practical problems, a heuristic algorithm may be the only way to get good solutions in a reasonable amount of time. There is a class of general heuristic strategies called metaheuristics, which often use randomized search for example. They can be applied to a wide range of problems, but good performance is never guaranteed.
- Jiný, avšak podobný pohled na heuristiku Heuristikou nazýváme postup, který, i když neprobere všechny možnosti, je schopný v některých případech podat výsledek. Výsledek je podáván zpravidla jedním ze dvou možných stavů. Buď jako kladný výsledek (odpověď) nebo jako výrok neurčitosti.
- Algoritmo euristico: in matematica e informatica è un particolare tipo di algoritmo (cioè procedimento) la cui soluzione non è la soluzione ottima per quel dato problema. Nonostante questo, possiamo affermare che costituisce spesso una strada obbligata per risolvere problemi molto difficili (ad esempio quelli NP-Hard) come l'algoritmo del commesso viaggiatore, in quanto per determinate dimensioni delle istanze l'algoritmo euristico riesce a ricavare una soluzione approssimativamente molto vicina a quella ottima. Nonostante tale proprietà non si possa verificare sistematicamente né a priori, si tratta spesso di una soluzione disponibile in tempi ragionevoli. L'euristica è un approccio di risoluzione dei problemi molto diffuso nella simulazione per vari possibili motivi: La risoluzione del problema ottimo può essere impossibile; La risoluzione del problema ottimo può essere troppo costoso in termini di tempo o di capacità di elaborazione.
|
| dbpprop:hasPhotoCollection
| |
| rdf:type
| |
| rdfs:comment
|
- In computer science, a heuristic algorithm, or simply a heuristic, is an algorithm that is able to produce an acceptable solution to a problem in many practical scenarios, in the fashion of a general heuristic, but for which there is no formal proof of its correctness. Alternatively, it may be correct, but may not be proven to produce an optimal solution, or to use reasonable resources.
- Jiný, avšak podobný pohled na heuristiku Heuristikou nazýváme postup, který, i když neprobere všechny možnosti, je schopný v některých případech podat výsledek. Výsledek je podáván zpravidla jedním ze dvou možných stavů. Buď jako kladný výsledek (odpověď) nebo jako výrok neurčitosti.
- Algoritmo euristico: in matematica e informatica è un particolare tipo di algoritmo (cioè procedimento) la cui soluzione non è la soluzione ottima per quel dato problema.
|
| rdfs:label
|
- Heuristic algorithm
- Heuristické algoritmy
- Algoritmo euristico
|
| owl:sameAs
| |
| skos:subject
| |
| foaf:page
| |
| is dbpprop:disambiguates
of | |
| is dbpprop:redirect
of | |
| is owl:sameAs
of | |