Unit 1:3 Definitions

Defining Heuristic

In the context of English 301 and with the overarching objective of better technical communications in mind, three definitions of a singular term are outlined below. This is done to highlight the importance of good multi-level definitions in technical writing. It is also an exercise to select the right level of detail according to readers’ needs. The term in this specific exercise is the noun “heuristic.”

Parenthetical Definition

A heuristic is a method relating to exploratory problem-solving techniques in computer science. Example: Dr. Salam’s software used heuristics to solve her puzzle.

Sentence Definition

A heuristic is a method that uses self-educating techniques to improve performance. It is commonly used in artificial intelligence and is characterized as a mathematical estimate from a current location to a goal location in a search graph.

Expanded Definition

The word heuristic came into definition in the 19th century. It was drawn from the Greek word heuriskin, meaning “to find”. It would only be adopted by the field of computer science from the 1950’s onward.

Heuristics are used to produce a reasonably good solution to a problem using approximations, below is an example.

A graph represents different neighbourhoods of Vancouver. The goal here is to get from our starting node (UBC) to our goal node (Stanley Park – SP) using the fastest route. The heuristic creates an approximation of how far it is from each neighbourhood to Stanley park.  Based on these heuristic values assigned to neighbourhoods, an algorithm can decide which way is best. If it estimates that Jericho Beach (JB) is closer to Stanley Park than Kerrisdale (KD) is, it will choose to Jericho beach as the next location on the route.

 

There are four measurements to determine whether an algorithm using heuristics should be used for a specific problem:

  • Completeness: will it always find a solution if there is one?
  • Optimality: Will it always find the best solution?
  • Time Complexity: How fast will it run?
  • Space Complexity: How much memory will it take to run?

In artificial intelligence, the main application of heuristics is searching, as the example above. Intelligent agents (robots or software) will get better at using heuristics as they learn from experience. This is only one type of searching. Heuristics can be used in many kinds of searches including malware detection.

Citations

“Heuristic.” Merriam-Webster, Merriam-Webster, www.merriam-webster.com/dictionary/heuristic.

“Heuristic (computer science)” Wikipedia, Wikimedia Foundation. Last modified on 9 Dec. 2019, https://en.wikipedia.org/wiki/Heuristic_(computer_science).

Oveisi, Merhdad. Computer Science 322: Heuristic Search. 11 May. 2020, University of British Columbia, Class slides.

Romanycia, Marc H.J. and Pelletier, Francis Jeffrey. “What is a heuristic?” Computer Intelligence, vol. 1, 1985, pp. 47-58, http://www.sfu.ca/~jeffpell/papers/RomanyciaPelletierHeuristics85.pdf. Accessed 5 June. 2020.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*