Heuristic (computer science)
admin
2024-03-01 19:02:29
0

In mathematical optimization and computer science, heuristic (from Greek εὑρίσκω “I find, discover”) is a technique designed for solving a problem more quickly when classic methods are too slow or for finding an approximate solution when classic methods fail to find any exact solution. This is achieved by trading optimality, completeness, accuracy, or precision for speed. In a way, it can be considered a shortcut.

A heuristic function, also simply called a heuristic, is a function that ranks different in search algorithms at each branching step based on available information to decide which branch to follow. For example, it may approximate the exact solution.

Contents

  • 1 Definition and motivation
  • 2 Trade-off
  • 3 Examples
    • 3.1 Simpler problem
    • 3.2 Travelling salesman problem
    • 3.3 Search
    • 3.4 Newell and Simon: heuristic search hypothesis
    • 3.5 Antivirus software
  • 4 Pitfalls
  • 5 Etymology
  • 6 See also

1 Definition and motivation

The objective of a heuristic is to produce a solution in a reasonable time frame that is good enough for solving the problem at hand. This solution may not be the best of all the solutions to this problem, or it may simply approximate the exact solution. But it is still valuable because finding it does not require a prohibitively long time.

Heuristics may produce results by themselves, or they may be used in conjunction with optimization algorithms to improve their efficiency (e.g., they may be used to generate good seed values).

Results about NP-hardness in theoretical computer science make heuristics the only viable option for a variety of complex optimization problems that need to be routinely solved in real-world applications.

Heuristics underlie the whole field of Artificial Intelligence and the computer simulation of thinking, as they may be used in situations where there are no known algorithms.

2 Trade-off

The trade-off criteria for deciding whether to use a heuristic for solving a given problem include the following:

  • Optimality: When several solutions exist for a given problem, does the heuristic guarantee that the best solution will be found? Is it actually necessary to find the best solution?
  • Completeness: When several solutions exist for a given problem, can the heuristic find them all? Do we actually need all solutions? Many heuristics are only meant to find one solution.
  • Accuracy and precision: Can the heuristic provide a confidence interval for the purported solution? Is the error bar on the solution unreasonably large?
  • Execution time: Is this the best known heuristic for solving this type of problem? Some heuristics converge faster than others. Some heuristics are only marginally quicker than classic methods, in which case the ‘overhead’ on calculating the heuristic might have negative impact.

In some cases, it may be difficult to decide whether the solution found by the heuristic is good enough, because the theory underlying heuristics is not very elaborate.

3 Examples

3.1 Simpler problem

One way of achieving the computational performance gain expected of a heuristic consists of solving a simpler problem whose solution is also a solution to the initial problem.

3.2 Travelling salesman problem

An example of approximation is described by Jon Bentley for solving the travelling salesman problem (TSP):

  • “Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?”

so as to select the order to draw using a pen plotter. TSP is known to be NP-hard so an optimal solution for even a moderate size problem is difficult to solve. Instead, the greedy algorithm can be used to give a good but not optimal solution (it is an approximation to the optimal answer) in a reasonably short amount of time. The greedy algorithm heuristic says to pick whatever is currently the best next step regardless of whether that prevents (or even makes impossible) good steps later. It is a heuristic in the sense that practice indicates it is a good enough solution, while theory indicates that there are better solutions (and even indicates how much better, in some cases).

3.3 Search

Another example of heuristic making an algorithm faster occurs in certain search problems. Initially, the heuristic tries every possibility at each step, like the full-space search algorithm. But it can stop the search at any time if the current possibility is already worse than the best solution already found. In such search problems, a heuristic can be used to try good choices first so that bad paths can be eliminated early (see alpha-beta pruning). In the case of best-first search algorithms, such as A* search, the heuristic improves the algorithm’s convergence while maintaining its correctness as long as the heuristic is admissible.

3.4 Newell and Simon: heuristic search hypothesis

In their Turing Award acceptance speech, Allen Newell and Herbert A. Simon discuss the heuristic search hypothesis: a physical symbol system will repeatedly generate and modify known symbol structures until the created structure matches the solution structure. Each following step depends upon the step before it, thus the heuristic search learns what avenues to pursue and which ones to disregard by measuring how close the current step is to the solution. Therefore, some possibilities will never be generated as they are measured to be less likely to complete the solution.

A heuristic method can accomplish its task by using search trees. However, instead of generating all possible solution branches, a heuristic selects branches more likely to produce outcomes than other branches. It is selective at each decision point, picking branches that are more likely to produce solutions.

3.5 Antivirus software

Antivirus software often uses heuristic rules for detecting viruses and other forms of malware. Heuristic scanning looks for code and/or behavioral patterns common to a class or family of viruses, with different sets of rules for different viruses. If a file or executing process is found to contain matching code patterns and/or to be performing that set of activities, then the scanner infers that the file is infected. The most advanced part of behavior-based heuristic scanning is that it can work against highly randomized self-modifying/mutating (polymorphic) viruses that cannot be easily detected by simpler string scanning methods. Heuristic scanning has the potential to detect future viruses without requiring the virus to be first detected somewhere else, submitted to the virus scanner developer, analyzed, and a detection update for the scanner provided to the scanner’s users.

4 Pitfalls

Some heuristics have a strong underlying theory; they are either derived in a top-down manner from the theory or are arrived at based on either experimental or real world data. Others are just rules of thumb based on real-world observation or experience without even a glimpse of theory. The latter are exposed to a larger number of pitfalls.

When a heuristic is reused in various contexts because it has been seen to “work” in one context, without having been mathematically proven to meet a given set of requirements, it is possible that the current data set does not necessarily represent future data sets (see: overfitting) and that purported “solutions” turn out to be akin to noise.

Statistical analysis can be conducted when employing heuristics to estimate the probability of incorrect outcomes. To use a heuristic for solving a search problem or a knapsack problem, it is necessary to check that the heuristic is admissible. Given a heuristic function h(vi,vg){\displaystyle h(v_{i},v_{g})}h(vi​,vg​) meant to approximate the true optimal distance d⋆(vi,vg){\displaystyle d^{\star }(v_{i},v_{g})}d⋆(vi​,vg​) to the goal node vg{\displaystyle v_{g}}vg​ in a directed graph G{\displaystyle G}G containing n{\displaystyle n}n total nodes or vertices labeled v0,v1,⋯,vn{\displaystyle v_{0},v_{1},\cdots ,v_{n}}v0​,v1​,⋯,vn​, “admissible” means roughly that the heuristic underestimates the cost to the goal or formally that h(vi,vg)≤d⋆(vi,vg)h(vi,vg){\displaystyle h(v_{i},v_{g})\leq d^{\star }(v_{i},v_{g})}h(v_{i},v_{g})h(vi​,vg​)≤d⋆(vi​,vg​)h(vi​,vg​) for all (vi,vg){\displaystyle (v_{i},v_{g})}(vi​,vg​) where i,g∈[0,1,...,n]{\displaystyle {i,g}\in [0,1,...,n]}i,g∈[0,1,...,n].

If a heuristic is not admissible, it may never find the goal, either by ending up in a dead end of graph G{\displaystyle G}G or by skipping back and forth between two nodes vi{\displaystyle v_{i}}vi​ and vj{\displaystyle v_{j}}vj​ where i,j≠g{\displaystyle {i,j}\neq g}i,j​=g.

5 Etymology

Look up heuristic in Wiktionary, the free dictionary.
The word “heuristic” came into usage in the early 19th century. It is formed irregularly from the Greek word heuriskein, meaning “to find”.

6 See also

  • Algorithm
  • Constructive heuristic
  • Genetic algorithm
  • Heuristic
  • Heuristic routing
  • Heuristic evaluation: Method for identifying usability problems in user interfaces.
  • Metaheuristic: Methods for controlling and tuning basic heuristic algorithms, usually with usage of memory and learning.
  • Matheuristics: Optimization algorithms made by the interoperation of metaheuristics and mathematical programming (MP) techniques.
  • Reactive search optimization: Methods using online machine learning principles for self-tuning of heuristics.
  • Recursion (computer science)
  • Macro (computer science)

相关内容

热门资讯

扬帆出海获佳绩!盐田区携手黄金... 2026年5月8日至10日 在马来西亚槟城举办的 “2026马来西亚黄金珠宝展销会”上 深圳市盐田区...
政策底与情绪顶:5月18日-2... 文/金透社 万捷 2026年5月第三周(5月11日-15日),A股市场走出了鲜明的分化格局。上证指数...
证监会重罚欺诈发行,广发证券被... 4.63亿元。 这是2026年5月,证监会对清越科技、元道通信两家公司欺诈发行、财务造假的罚款总额。...
国内存储厂长鑫科技更新招股书:... 去年12月底披露招股书后,5月17日,国内主要的DRAM(动态随机存取存储器)厂商长鑫科技更新了招股...
保伦股份IPO募资需求存疑:三... 作者|陈安 编辑|王以沫 5月13日晚间,上交所官网正式披露广东保伦电子股份有限公司(简称:保伦股份...
原创 特... 本文仅在今日头条发布,谢绝转载。近日,外交部发言人郭嘉昆在例行记者会上所作的表态,可谓教科书级的外交...
市场开始预期美联储将于年末年初... 来源:环球市场播报 本周通胀数据接连超出预期,投资者周五大幅押注:美联储可能在年底前转向加息模式。这...
潮玩经济升温 情绪消费带火非标... 图为消费者在王府中环泡泡玛特展览处“打卡”拍照。 □ 本报记者 王琦琛 5月15日,首届中国新文创市...
7年7任CEO,华林证券秦湘因... 日前,华林证券发布了一则重要的人事变动公告。据悉,华林证券董事会近日收到秦湘的书面辞职报告。秦湘因个...
原创 周... 近日,周鸿祎的一段演讲视频在网络上引发了广泛的关注和转发。他在台上谈起自己所在的互联网行业,语气中既...
风暴将至!华尔街大佬集体预警 这周末,全球市场都在热切讨论一件事——股债双杀。 周五,全球股市陷入集体暴跌,韩国股市一度触发熔断,...
内容发到手软,询盘不见起色?A... 01 前几天,我在郑州讲单仁牛商第245届《视播时代·企业全域营销快速增长系统》课程,我们也叫系统班...
广发银行全力打造服务粤港澳大湾... 建设粤港澳大湾区是国家重大区域发展战略。随着大湾区加快迈向国际一流湾区与世界级城市群,金融作为资源配...
北京抖音代运营代运营公司 1数字内容生产链中的专业化环节 在数字营销的生态中,存在一类专门负责内容平台账号系统性管理与内容...
2026年618有哪些值得关注... 先说一个容易被忽视的事实:618期间选返利平台,和日常选平台的标准完全不同。 日常购物,你关注的是返...
原创 今... 5月16日,国内黄金价格继续往下走,多家品牌金店的足金报价已经跌到1400元附近,比前一天低了十几元...
2026年华林电力专业配电柜批... 电力设备制造领域的品质标杆:深度解读一家专业企业的成长密码 配电柜如同电力系统的"神经中枢",其...
大调仓!伯克希尔开启后巴菲特时... 根据伯克希尔-哈撒韦公司15日向美国证券交易委员会提交的持仓文件,今年第一季度,公司对投资组合进行大...
原创 特... 图 | 美国总统特朗普 美国人突然发现了一个尴尬的现实,即中国不好啃,而欧洲却更像是一块摆在桌上的肥...
索罗斯基金一季度大举调仓!建仓... 日前,索罗斯基金(Soros Fund Management)向美国证券交易委员会(SEC)提交13...