Kitchen Design: Automatic Design

Project Proposal by Martin Stacey


Kitchen Design: Automatic Design

Software

Java or C++ or Smalltalk or another object oriented language with good GUI facilities, alternatively a functional language like LISP, or Prolog

Covers

Geometric reasoning, search algorithms, heuristic reasoning

Skills Required

Programming, some interest in artificial intelligence

Challenge

Conceptual ??? Technical ?? Programming ????

Brief Description

Designing kitchens is a popular domain for research in artificial intelligence for design. The layout of a kitchen is limited by the size and shape of its floor, and where its doors and windows are. Kitchens are usually assembled from a fixed collection of units of known sizes and shapes, which limit what you can do in the available space. They have to conform to a number of requirements, some coming from the user and some imposed by building codes. The set of requirements that the kitchen should meet can vary, and the requirements differ in importance.

Your challenge: Build a system that can take as input a catalogue of kitchen units and a floor plan (specifying the locations of doors and windows), and design a kitchen. The design should consist of a list of units with their locations. The kitchen should be a sensible one; that is, it should conform as closely as possible to a set of requirements for a good kitchen design. Your task includes defining a syntax for the descriptions of floor plans, and the shapes and sizes of the units, as well as a way to specify their locations in the floor plan.

Extensions

Devise a way to allow the user of the system to tailor the set of requirements the kitchen should meet. Changing the set of requirements should change the behaviour of the system.

Devise a way to generate critiques of the design of a kitchen. Get your system to present several designs, saying what is right and wrong with each of them.

Include a graphic display of the kitchen design.

Include a subsystem for customising or designing kitchen units (etc) to include in kitchen designs.

Variants

Develop an automatic design system for a simple layout task other than a kitchen A good one would be office layout design.


Back to