Heuristic
A heuristic is a practical rule or approximate method for guiding judgment, search, or problem solving without guaranteeing an exact or optimal result.
Collaborative Software Design: How to facilitate domain modeling decisions
A mental shortcut is a rapid cognitive strategy that reduces the effort required to interpret situations and make decisions.
- How it is used
- Guides facilitators and groups toward timely design and process decisions during collaborative modeling.
- How deep it goes
- Defines experience-based quick rules, demonstrates competing tradeoffs, and gives journaling practices without formal decision-analysis internals.
- Examples
- Uses grocery shopping, emergency-room triage, EventStorming groups, and BigScreen boundary design.
- What you can do after
- Apply heuristics to facilitate sessions, make design choices, resolve competing priorities, and grow a reflective toolkit.
Advanced Algorithms and Data Structures
A heuristic is a problem-solving method that seeks a good or approximate solution without guaranteeing the optimum.
- How it is used
- Uses heuristics to make practical choices in tree insertion, search, routing, and optimization when exhaustive decisions may be costly.
- How deep it goes
- Develops concrete selection and random-sampling procedures, including failure cases and costs, but leaves the shop-comparison heuristic unspecified.
- Examples
- Illustrates choices with overlapping SS-tree leaves, eligible shops, route estimates, and randomly sampled graph embeddings.
- What you can do after
- Apply it via branch-selection and sampling rules, while checking whether faster decisions justify possible loss of solution quality.
Read how Advanced Algorithms and Data Structures explains heuristic →
Grokking AI Algorithms, Second Edition
A heuristic is a problem-specific rule or set of rules that evaluates states or solutions to guide search when no clear method for finding an optimal solution is available.
- How it is used
- Guides informed search by scoring states or estimating costs when a direct route to an optimal solution is unclear.
- How deep it goes
- Defines the rule of thumb and works through its use in A* costs, game-state scoring, and route selection.
- Examples
- Uses pizza preferences, GPS routing, a grid maze, simulated game moves, and attraction tours as concrete scoring situations.
- What you can do after
- Build it from scratch by defining a Manhattan-distance estimate and combining it with path costs in a Python A* maze search.
Read how Grokking AI Algorithms, Second Edition explains heuristic →
Optimization Algorithms: AI techniques for design, planning, and control problems
A problem-solving rule or approximation that guides search toward promising solutions without guaranteeing feasibility or optimality.
- How it is used
- Guides practical optimization and informed search when exhaustive exploration is costly.
- How deep it goes
- Defines the rule and its limits, then works through packing choices and A* scoring rather than proving general guarantees.
- Examples
- Compares bin-packing orderings, estimates misplaced tiles in an 8-puzzle, and uses straight-line distance for routing.
- What you can do after
- Apply it via a packing rule or A* estimate, then inspect feasibility and the quality of the result.
Software Testing with Generative AI
A practical rule or strategy for examining a system from a particular perspective without requiring a complete formal analysis.
- How it is used
- Generates exploratory test ideas and risk questions when direct investigation or formal modeling does not reveal enough possibilities.
- How deep it goes
- Moves from experienced intuition to explicit mnemonic-driven prompts, but retains dependence on personal experience and bias.
- Examples
- Uses PAOLO, SFDIPOT, booking-calendar navigation, overflowing pop-ups, and time-based risk prompts.
- What you can do after
- Apply it via PAOLO or SFDIPOT to generate focused test ideas, risks, and alternative questions about a product or flow.
Read how Software Testing with Generative AI explains heuristic →
Deep Learning with R, Third Edition
A heuristic is a method based on manually specified rules rather than rules learned from data or derived from a formal theory.
- How it is used
- Guides object-region selection and program search through explicit or learned rules.
- How deep it goes
- Defines hard-coded rules, contrasts learned and theory-derived models, and shows replacement by a learned proposal network.
- Examples
- Uses selective search for R-CNN region proposals and learned heuristics for navigating program-generation search.
- What you can do after
- Evaluate whether a pipeline relies on hand-coded rules, learned rules, or theory-derived rules.
Read how Deep Learning with R, Third Edition explains heuristic →
Inside AI
A heuristic is a practical rule or approximation for making decisions when exhaustive computation is impractical.
- How it is used
- Guides game programs in evaluating positions, pruning search, allocating computation time, and selecting moves.
- How deep it goes
- Explains heuristic scoring and time allocation within chess search, while stopping short of formal derivation or implementation detail.
- Examples
- Uses chess programs, Deep Blue, weighted position scores, opening databases, and endgame databases as concrete examples.
- What you can do after
- Evaluate how approximate rules can make large game searches manageable under strict time limits.
Machine Learning Platform Engineering
A heuristic is a rule-based method that produces a practical solution without learning a model from data.
- How it is used
- Guides the initial decision about whether an ML project needs a learned model at all.
- How deep it goes
- Defines the trade-off with ML and stops short of specifying heuristic implementation or evaluation procedures.
- What you can do after
- Evaluate whether a practical rule is sufficient before adopting an ML model.
Read how Machine Learning Platform Engineering explains heuristic →
Architecture Modernization: Socio-technical alignment of software, strategy, and structure
A heuristic is a practical rule or method for guiding problem solving and decision making when an exact solution is unavailable or unnecessary.
- How it is used
- Guides domain-boundary discovery by generating alternative models and making their trade-offs explicit.
- How deep it goes
- Explains competing heuristics, dependency costs, and evolutionary refinement, but stops short of guaranteeing an optimal boundary.
- Examples
- Uses a train-versus-bicycle analogy, EventStorming, pivotal events, semantic boundaries, and dependency-cost analysis.
- What you can do after
- Apply it via EventStorming and Domain Message Flow Modeling to compare boundary options and refine them over time.
Related concepts
- A-star algorithmused by · A* is an informed graph-search algorithm that prioritizes paths or states by combining the cost incurred so far with a heuristic estimate of the remaining cost to a goal.
- samplingincludes · Sampling is a procedure for selecting or generating observations, values, or outcomes from a larger population, signal, or probability distribution according to a specified method.
- minimax algorithmused by · A game-search algorithm that alternates maximizing an agent's score and minimizing the opponent's score while exploring possible future moves.
- informed searchused by · Informed search is a search strategy that uses problem-specific knowledge or heuristic estimates to prioritize promising states or paths.
- Manhattan distanceincludes · Manhattan distance is the sum of the absolute differences between corresponding coordinates of two points or vectors.
- metaheuristicused by · A metaheuristic is a high-level strategy that guides or coordinates heuristic search for good solutions to optimization problems without guaranteeing an optimal result.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.








