---
title: "An Introduction to the Heuristic Programming System"
authors:
  - "David K. Jefferson"
doi: ""
url: "https://ijcai.org/proceedings/1969/24"
pdf: "https://ijcai.org/proceedings/1969/0024.pdf"
venue: "Proceedings of the First International Joint Conference on Artificial Intelligence"
year: 1969
pages: "253-258"
track: "Programming Systems and Models for Artificial Intelligence"
keywords:
---

# An Introduction to the Heuristic Programming System

David K. Jefferson

*Proceedings of the First International Joint Conference on Artificial Intelligence*, pages 253-258.

## Abstract

The Heuristic Programming System is a language. designed but not yet implemented, for research in artificial intelligence. It will provide facilities for creating, modifying, and destroying complex hierarchically structured objects and descriptions of objects. A search operation will be provided to retrieve objects which are specified by arbitrarily complex descriptions. Another soorch operation will construct the desired objects according to the specifications of previously created descriptive objects; this will be rather like a syntax-directed compiler for a continuously changing ambiguous language. A program for playing Go-Moku has been written using the System; the program features a highly efficient data structure, evaluation of feasible moves by alpha-beta minimax, and improvement of the move generation mechanism whenever the opponent makes a valuable but unexpected move. Key words and phrases: problem-solving, heuristic, data structure, information retrieval. search, programming language, pattern recognition, description, learning, game playing, artificial intelligence, representation.
