Best Work 1: Revised Definition Assignment

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. In this case, a reader might be a computer science novice who is looking to gain a little more insight into artificial intelligence and the purpose would be to convey an introduction to the concept of heuristics.

Parenthetical Definition

The robot vacuum used heuristics (self-educating techniques) to provide a clearer map of the apartment.

Sentence Definition

A heuristic is a method that uses self-educating techniques to improve performance (“Heuristic”). 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. Example: Dr. Salam’s software used heuristics to solve her puzzle.

Expanded Definition

The word heuristic came about in the 19th century. It was drawn from the Greek word heuriskin, meaning “to find”. It was adopted by the field of computer science from the 1950s onward (Romanycia and Pelletier 48).

Heuristics are used to produce a reasonably good solution to a problem using approximations. As an example, a graph represents different neighbourhoods of Vancouver.

Figure 1. Graph Representing Different Vancouver Neighbourhoods

Given such a graph, the goal given might be 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, a search algorithm can decide which way is best. If it estimates that Jericho Beach (JB) is five kilometres away from Stanley Park while Kerrisdale (KD) is ten kilometres from Stanley Park, it will choose Jericho Beach as the next location on the route.

There are four measurements to determine whether a problem should be solved using heuristics (Oveisi, slide 4):

  • Completeness: Will it always find a solution if it exists?
  • 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 (“Heuristic (computer science)”).

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.