Papers : Deriving complex location data from simple movement sensors - 1990

download pdf file

John L.Gordon, D. Williams, C.A. Hobson 1990 Liverpool Polytechnic, Byrom Street, Liverpool L3 3AF (UK)

Publication : Robotica Vol8. Pages 151-158,1990


Building Management Systems and Home Automation are, at present, active areas of research and development. One of the unsolved problems within this field is that of Occupant Location within a premises. Computer vision systems are, as yet, too expensive and still not entirely adequate to monitor occupation from every room in a building. The use of existing movement sensors is a cost effective solution but has the disadvantages of not detecting people who are stationary for some time, or giving any indication of how many people are in a room. This paper addresses the problem of using the collaborative sum of these simple movement sensors in a temporal reasoning scheme to deduce room occupation.

KEYWORDS: Location data; Sensors; Home automation; Building management.

First Published in Robotica (1990) Volume 8, pp151-158

1. Introduction

There is considerable financial interest in providing a more 'intelligent' form of Building services Management Systems (BMS) for large office premises and Energy Management Systems in other industrial buildings. This interest is also becoming apparent for other types of buildings, e.g. public buildings and domestic premises. Whilst some of these systems are extremely complex and require considerable computing power to run them,' they should be described as Control Systems and not Intelligent Systems as is often the case. However, the building industry is already discussing and utilising AI application products for BMS, and also looking at areas in which A.L techniques may be applied in the future.

Two problems are central to the control of Building Services:

The first is that of deducing which rooms are occupied and at what times. This problem may be solved in high tech. buildings, by the use of card access systems etc. However, such intrusions would not be acceptable in domestic premises.

The second problem, concerned with Machine Learning, will be mentioned later in the paper and will form a major part of the remainder of the current research project.

The collective data from movement sensors installed in each room may be used as input to a control system. Although this data is not in the form required, i.e. occupancy data, it may be used by the system to deduce such data.

There are various algorithmic techniques (section 3) which may be applied to the problem of resolving room occupation, using data from simple movement sensors. In the following discussion, it will be shown that existing techniques do not provide an adequate solution to the problem and that a mathematical algorithm cannot resolve the input events to provide the data required.

A simple scheme involving two rooms (world) containing just one person will be considered. It will be shown that although this world is totally resolvable, as greater complexity is added, the world becomes unpredictable. The consideration of the simple worlds will also serve as a demonstration of the techniques.

It will later be shown that by allowing the system to make errors, and allocating some computer resource to error detection, a more usable system can be constructed, which, with the addition of an Autonomic Microprocessor Controller (AMC), can provide an improved lighting control scheme in a small building.

Finally, a system will be described, which will function in a real world and provide an adequate control option. Such a system will require Heuristic techniques in addition to the ability to learn, and to generalise about room occupation and the habits of building occupants.

2. System Description

This paper will describe several system simulations and go on to show an actual experimental system in a domestic premises.

The worlds under investigation will consist of a series of rooms (Rn), connected by doorways, Cn(Rx Ry Rz). A movement sensor will detect a movement in a room which will be called an event E, and each event will be associated with an instant in time T.

An idealised sensor will be assumed, which sends out one short, detectable pulse when movement occurs in a room; although this idealised situation is difficult to realise through current sensors.

2.1 Definitions of world elements.

The world consists of a finite set of rooms.

R{Rl R2... Rn}

Each room has a set of connections to other rooms. These connections form a complete connection set for the world.

C{C1(R2 R3 R5) C2(...)...Cn(...)}

An event is to be considered as a signal from one of the movement sensors in a room.

E{El...En} where El signifies a movement in Rl

There is a variable number of people in each room which may range from zero, to some maximum. The occupation of each room at any point in time may be referred to as a world STATE.

S(l... n)

Where each variable will have a value which will represent the number of people in a particular room. S = (0 1 2 0) in a 4 room world example.

2.2 Temporal world element.

Temporal elements of this world are held in a list type memory structure called 'Short Term Memory' (STM). STM will be a fixed length structure, containing information about the most recent events (typically 600).

STM {l ... m}

where m is the maximum length of STM and is the most aged event. 1 is the most recent event.

EVENT. For the sake of this discussion, the time at which an event occurs 'T' may be treated as either a point in time or a time interval, since a sensor may be considered active until its cancellation event occurs. (the activity of readily available sensors persists for some short time.

2.3 A simple two room, closed world.

In the world shown in Figure 1, there are only two rooms Rl and R2.

Figure 1 : Simple World consisting of 2 rooms, each one with connecting doorway.

Figure 1 : Simple World consisting of 2 rooms, each one with connecting doorway.

Room Rl connects to room R2. C{C1(R2) C2(R1)}.

Consider initially that only one person is in the world, therefore:

either PR1=1, PR2=0, S(1 0)

or PR1=0, PR2=1, S(0 1)

Where PR1 represents the number of people in Rl.

Assume initially S(1 0)

If El occurs it can be said with some certainty that the next state will be: S(l 0), i.e. no change.

The whole world may now be resolved in terms of movements.

Present State Event Next State
S(2 0) E1 S(2 0)
S(0 2) E2 S(0 2)
S(0 2) E2 S(1 1) or S(0 2)
S(0 2) E1 S(1 1) or S(2 0)
S(1 1) E1 S(1 1) or S(2 0)
S(1 1) E2 S(1 1) or S(0 2)

There is no ambiguity in this world and it may safely be left to an automatic light control system to provide successful lighting control within this environment. NOW if the same world is inhabited by TWO people.

Present State Event Next State
S(1 0) E1 S(1 0)
S(1 0) E2 S(0 1)
S(0 1) E1 S(1 0)
S(0 1) E2 S(0 1)

It is clear that whilst it is possible to resolve, with certainty, the first two conditions, it is not possible to resolve any other conditions with certainty. This must lead to uncertainty in the whole world since S(O 2) and S(2 0) may also have been arrived at by uncertain reasoning.

3. Analytical Methods

Two mathematical techniques have been investigated, (sections 3.1 and 3.2) and although they fail to provide robust solutions to the problem, they do help to define the problem in a more quantitative way.

3.1 Transition matrix method.

The application of a Transition Matrix technique (internal report NTC8701, P. Capstick, Blackburn College UK) to investigatory worlds will provide results of a probabilistic nature.

The technique may be used as follows

Symbolic representation of transition matrix method. R, C and E, retain the definitions given in section 2.1. (Rooms, connecting rooms, Events)

S(l ... x) will represent the current world state, as before.

Q{l... y} will represent all of the y states in which the world may exist, given the number of people in the world (TP) and the number of rooms in the world (TR).

For example, in the four room, two person world shown in Figure 2, where TR = 4 and TP = 2. The total number of states n will be 10, as shown in Table 1.

Q=(S1 S2 S3 S4 S5 S6 S7 S8 S9 S10)
Where S1= (2 0 0 0)
  S2= (1 1 0 0)
  S3= (1 0 1 0)
  S4= (1 0 0 1)
  S5= (0 2 0 0)
  S6= (0 1 1 0)
  S7= (0 1 0 1)
  S8= (0 0 2 0)
  S9= (0 0 1 1)
  S10= (0 0 0 2)
Table 1 : States for a four room, two person world

SV1 is defined as the state vector which will represent the initial state of the world. Therefore if SV1 is a state vector depicting that there is certainty that the initial state of the world is Sl, then SV1 will take the following form.

SV1 = (1 0 0 0 0 0 0 0 0 0)

or if the initial state of the world was S2 then

SV1 = (0 1 0 0 0 0 0 0 0 0)

If there is an equal probability of Sl or S2 then.

SV1 = (0.5 0.5 0 0 0 0 0 0 0 0

SV will be a set of state vectors which will be derived as events occur in the system.

Equation : State Vectors

En will be an event in the world, which will represent the activity of a simple movement detector in one room. A list of events in temporal order, (H), will be applied to the initial state vector SV1.

H{Ex ... Ez}

Resulting in the set of temporal state vectors.

SV{SV1 ... SVn}

Thus H may be say:

H{El E2 E4 E2 El}

Thus SV will contain a list of state vectors which show the probabilistic transitory states of the world as the events in the list H are applied successively to the current state vector.

El will be applied to SV1 giving SV2

E2 will be applied to SV2 giving SV3 etc.

Transition matrix. Each event in the four room, two person world, is represented by a separate Transition Matrix. For the world currently under discussion, with ten states (Table 1), the transition matrix will be a 10 X 10 matrix. A separate matrix will exist for each room in the world, that is, a separate matrix for each event.

TM{ML... Mv}

where v = number of rooms, TM = Set of all matrices, Ml = matrix for El/R1. The matrix for each room may be derived as follows. Considering the four room, two person world; this world (Figure 2) has a connection list:

C{C1(R2) C2(Rl R3 R4) C3(R2) C4(R2)}

There are ten world states (Table I), so S has ten entries 1 to 10.

Table 2 : Transition matrix for room 1 from Figure 2 with 2 people
Initial states before Event 1
Next State 1 2 3 4 5 6 7 8 9 10
1 1 0.5 0 0 0.5 0 0 0 0 0
2 0 0.5 0 0 0.5 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0

Figure 2 : Experimental 4 world layout

Figure 2 : Experimental 4 world layout

A separate matrix is constructed for each possible event. Therefore, in a four room world, four matrices will be required. Each matrix will be an (st X st) matrix where 'st' is the number of states in the world. The matrix in Table 11, has been derived for the four room world (Figure 2), where the world contains two people and has ten states (Table 1).

The matrix for a particular event is derived by considering each initial state (S1-S10), columns, and the probability of the world ending up in each next state, rows, as a result of an event in that room. In this example, equal probabilities are chosen if more than one NEXT STATE is possible.

A zero in the matrix shows that a particular next state is not possible.

Figure 2 shows the physical world layout, room numbers and connecting pathways.

From the matrix in Table II, if the world is currently in state Sl, and El occurs, then the matrix shows total confidence (of 1) that the world will end up in state Sl.

If the world is currently in state S2, and event El occurs, then the matrix shows an equal probability (0.5) that the world will end up in state Sl or S2.

A test sequence of events in H can therefore be carried out by multiplying the appropriate matrix (as indicated by the next event in H) by the current state vector in SV to derive the next state vector. (Internal report NTC8701, P Capstick, Blackburn College UK.)

At the end of the test sequence, the last state vector will represent the probabilities of the world ending up in any state. If the sum of probabilities in a state vector is less than 1, this represents a 'loss of confidence in the deduced world', i.e., an error could have occurred. Example sequences of events have been obtained which illustrate several problems with this method:

  1. The state vectors represent probabilities only. In the ON LINE situation, decisions must be made and on the basis of this, the processor would have to adjust the world representation in line with the most probable state of the world, even if the sum of probabilities of the other states are greater than that of the chosen state. That is to say, the process may be forced to make a decision which the method shows to be probably incorrect.
  2. The sum of probabilities of any state vector may not add up to unity. This may occur as H is evaluated and will show the measure of confidence the method has, that an ERROR has not occurred. A state vector may eventually be produced which is ZERO, this represents a certain error in the system.

Unfortunately, although errors are recognised, and indeed may be shown to build up in an evaluation of H, nothing can be done about the situation, since the same events will give rise to the same result.

It would, of course, be possible to weight the matrix during derivation so that the probabilities in any column reflect the likelihood of a next state, where, by the application of some heuristic reasoning, one state may be said to be more likely than another when an event En occurs. This process would have to be carried out dynamically if it is to cope with unusual events and may mean the recalculation of the transition matrices at every event.

Even with this modification, it would be difficult to prevent the method lossing confidence in its predictions and eventually failing altogether.

3.2 Non-deterministic finite automata.

Another approach to the problem world under discussion may be described in terms of a Non-Deterministic Finite Automata. This automata is described by Aleksander and Hanna' and would be defined as follows.

Equation : Non Deterministic Finite Automata

Considering the four room world shown in Figure 2,

Q = {Sl S2 S3 S4} - finite set of states.

I= {El E2 E3 E4} - set of input symbols.

Equation :

q l = initial state, F= final state

The definition of an automata becomes difficult since the initial state 'ql' and the final state 'F' are indeterminate. Also the mapping function '' will vary as the number of people in the world changes, because the number of states will also change.

The situation where Q = {Sl S2 S3 S4}, will only apply if there is one person in the world. If two people are in the world, then the number of states rises to ten and the actual states are shown in Table 1.

Therefore, for a four room world occupied by two people, the number of states would be ten and the mapping function would contain 4 X 10 entries where many entries will be to null states, shown in Table 111 as NULL.

Table 3 : Mapping for a 4 room, 2 person world
  Input Events
E1 E2 E3 E4
State Number State Description Next States
S1 s(2 0 0 0) S1 S5,S2 NULL NULL
S2 s(1 1 0 0) S1,S2 S5,S2 S3 S4
S3 s(1 0 1 0) S3 S5,S2,S6 S3 NULL
S4 s(1 0 0 1) S4 S5,S2,S7 NULL S4
S5 s(0 2 0 0) S1,S2 S5 NULL S10,S7
S6 s(0 1 1 0) S3 S5,S6 S8,S6 S9
S7 s(0 1 0 1) S4 S5,S7 S9 S10,S7
S8 s(0 0 2 0) NULL S5,S6 S8 NULL
S9 s(0 0 1 1) NULL S5,S6,S7 S9 S9
S10 s(0 0 0 2) NULL S5,S7 NULL S10

Using Table III, and following the reasoning in Aleksander and Hanna, it is possible to produce a Deterministic Finite Automata by letting the new definition of 'Q' contain states which are sub sets of 'Q'.

For example, if 'q 1' = S4 and 'E2' occurred then the next state would consist of the sub set of (S5 S2 S7), from Table 111.

Although the complete application of this would lead to what may be termed a Deterministic Finite Automata, one of the sub sets of 'Q' may be 'Q' itself. In any case, the process would become unworkable in a real situation where the Automata would require changing for every entry to and exit from the world. In addition, a new heuristic would be required to decide which automata to use; when it is realised that the system can never be absolutely certain, how many people are in the world.

If another person should be added to the initial, resolvable, two room world, the previous techniques would show that a lighting control system for instance, based on these techniques, would be unable to provide adequate lighting control.

In fact, the two room, two person world is an extremely difficult one to resolve, and may only be done to any satisfaction if patterns and habits can be LEARNED by the controlling system and used to help sort out the incomplete movement data.

The following techniques have been used to test heuristic methods of data resolution in both ON and OFF line situations.

4. Application of Logic and Heuristics

The analytical methods previously described, provide solutions to well defined problems which are deterministic in nature. Although the problem of maintaining a record of the location of people within a building, based on simple movement sensors, is well defined, it is not deterministic and precise solutions based on mathematical methods are not appropriate.

The proposed method, is based on Logic and heuristics; but will also require a considerable input from learning procedures at a later stage.

The world under investigation will consist of rooms and connections, as described in section 2. A movement detector, placed strategically in each room, will provide the input to the system.

The main point to note here is, that it is impossible for the system outlined in section 2, to consistently resolve each input event, in line with the real world. This is of course true of any sensory system, including a person. The real world for any system, is the world described by the interpretation of the data from its sensors, and may not appear as the same world viewed by a different system. However, what this system must do, is to provide a control option which is sensible as viewed from the human perspective, even if, the world viewed by this system is not precisely mapped to the world viewed by humans.

A brief outline for this method may be stated as follows:

loop - Accept a new input event.Considering this, and the more recent previous events, Build a CONFLICT set of all possible reasons for this event.Apply heuristics to sort the conflict set into order of most likely, first.Apply the best choice to the current world state, to produce the next world state.Store this new state at the top of Short Term Memory (STM), and destroy the oldest element of STM.Go loop

This system will not be perfect, its performance will be based on the success of the heuristic. The recognition of mistakes is an important part of this work. Mistakes will be made but they are only important if they affect the controlled world in an unacceptable manner.

In order to conduct realistic ON LINE experiments, an Autonomic Microprocessor Controller (AMC) has been developed (internal report LIV/ENG/AMC, Dr. D. Williams, Liverpool Polytechnic, Eng. dept.) and installed in a premises, which will FRONT END a Higher Level Processor (HLP), to be used for experimental work. The AMC is able to provide several basic facilities including:

  1. Fast response for light activation, which lessens the requirement for instant computational results from the HLP.
  2. Transparent operation which allows environmental control from a HLP whilst still providing appropriate autonomic responses.
  3. Buffering of input data to prevent system failure during longer computational problems such as error correction.
  4. Sensible control during HLP down time. This is necessary during system development when the AMC is often required to function alone.

The provision of the AMC means that mistakes made by the HLP are not catastrophic if noticed within a short time and the need for rapid ON-LINE computing response, is diminished.

The system to be described will, hence forth, be referred to as the HLP. Separate sections of the HLP will be outlined.

The following discussion will consider the application of these new methods to the four room world previously described and depicted in Figure 2. The discussion will then continue by outlining the experimental world which is being used in the project.

LISP has been used extensively as the language for this system and the main points will be broadly described with this in mind.

4.1 Setting up the world.

The parameters for the world depicted in Figure 2 may be set up as follows.

The Rooms

(setq rooms '(rooml room2 room3 room4))

The connection list may also be set for this experiment.

Connection list.
  • (put 'rooml 'connects-to '(room2))
  • (put 'room2 'connects-to '(rooml room3 room4))
  • (put 'room3 'connects-to '(room2))
  • (put 'room4 'connects-to '(room2))

A short Term Memory (STM) is used to remember the most recent events, the decisions made and the state of decision making at that point. STM will comprise of a maximum number of cells 'stmsize', which will each have a property list of the following form associated with them.

Memory cell in STM. (STMel)

  • (put 'cell 'time 1)
  • (put 'cell 'event 0)
  • (put 'cell 'sensors 0)
  • (put 'cell 'choice 0)
  • (put 'cell 'rooml 2)
  • (put 'cell 'room2 0)
  • (put 'cell 'room3 0)
  • (put 4cell 'room4 0)
  • (setplist (car stm) (plist 'cell))

The temporary variable 'cell' is used to initialise the first cell in STM. The room labels show the number of people who are currently believed to be in a room. The facts which STM contains are, TIME, EVENT, CHOICE, SENSORS. The number of people in each room is a function of the system.

the system time for the arrival of EVENT
the room where movement has occurred
the current binary state of the movement detectors. High or Low
the current choice from a conflict set of possible outcomes of an event, which have previously been ordered in BEST FIRST order.

4.2 Evaluating an event.

An event in a room may give rise to several alternative new world states. The HLP builds a CONFLICT SET and sorts this set into BEST FIRST by using the following procedures. Each entry in the conflict set consists of a triple of the form.

(probability value source room Number of people moving)

Each input event will be evaluated as follows.

  1. Reset the conflict set list.
  2. Evaluate the event for each adjoining room. Refer to connection list for each adjoining room.
    1. Consider 1,2,3 (max) people moving in turn
    2. Find value for last time adjoining sensor was active, within given time slot
    3. Make a new entry into the conflict set.
      1. Build probability value depending upon
        1. Number of people moving
        2. How long ago adjoining contact was active
      2. Build triple for conflict set
      3. Add triple to conflict set
  3. Look for combinations of movements.
    1. Check current conflict set
    2. Consider combinations of seperate rooms
    3. Build new entry in conflict set if appropriate
    4. Calculate new probability value based on existing probabilities in seperate entities
    5. Add new triple(s) to conflict set
  4. Consider probability that no move has occurred.
    1. Add new triple to conflcit set
  5. Sort conflict set into best first order based on probability values.
  6. Return sorted conflict set.

4.3 Constructing the nest world state

This is a simple operation involving applying one of the entries in the conflict set to the last entry in STM in order to construct the next entry in STM.

The entry from the conflict set which is applied to STM will clearly be the best choice available.

This new entry in STM should represent the world state after the arrival of the event which has just been evaluated.

4.4 Overall system operate on.

This system functions as follows.

  1. The world state is set up and STM initialised to a first world state.
  2. New events are evaluated as described in section 4.2.
  3. The best choice from the conflict set is applied to the old world state, to produce the current world state.
  4. Go back to 2 for the next event.

Data derived from the application of this method identifies the conflict set and the best first ordering at each event.

The performance of this system is relatively good ON-LINE considering the simplicity of the approach. However, its failures are noticeable. Thus

  1. It may make choices which although seemingly providing a reasonable solution to all moves (EVENTS), actually misrepresent the real world.
  2. Since it always chooses the BEST FIRST, it cannot cope with a real situation where the second or third best choice is required.
  3. When it cannot resolve the input EVENTS into a world state representation it fails.

4.5 Error detection.

In order to investigate error detection, it is obviously important to say what constitutes an error in the system. Statement 1. An error has occurred when the HLPs representation of the world is not the same as the actual world under investigation.

This statement, whilst accurate, is not much use in an ON-LINE system. The HLP can not actually know what the state of the real world is, so it can never satisfy statement 1.

There is, however, one error which may be noticed easily by the HLP.

Error 1. When an input event En, occurs which cannot be resolved by the HLP into any new world state, then the HLP must have made a previous error in deduction.

This statement assumes that the current deductive system is capable of resolving any sensible event when STM currently represents the real world state. Therefore, the error must have occurred in a past deduction. That previous error was not detected then because a new world state could be established internally, but that new world state did not represent the real world state.

4.6 Error correction.

The sort of error described (error 1), may be corrected by BACKTRACKING through STM.',' For this to be effective, STM must still contain the memory cell where divergence occurred.

An error correction function may be used which will look back through STM until a point is found which could have caused divergence from the real world states. At this point, the NEXT BEST choice from the conflict set may be made and the state of room occupation adjusted accordingly. If there is no NEXT BEST choice left in the conflict set, then the process must look further back in memory.

The error correction function must use the new world state generated after a next best choice, to derive subsequent world representations until the current event can be accounted for.

This process is clearly a recursive one.

The BEST FIRST ordering should provide a speedy solution to the recursive procedures but a time limit should also be used since, in real time at least, the actual result say twenty minutes later, may be less useful than to give up in within one minute.

Finding other errors. The error identified as error 1, is not the only one which may occur when statement 1 is considered.

If the system world state diverges from the real world state but the HLP is able to continue to provide solutions to every input event, then real errors will occur, but the HLP will not be able to identify them.

One error which has frequently occurred in REALTIME experiments, may be outlined as follows.

Figure 3 : Identifying an inactivity error.

Figure 3 : Identifying an inactivity error.

Consider the three room world in Figure 3. If there are two people in the world and the world is actually in the following state,

S(l 1 0) rooms 1 2 3 respectively.

The HLP however believes that the state is, S(O 1 1)

Now, since there are people in rooms 1 and 2, there is likely to be a continuous stream of events such as,

H{El El E2 El E2 E2 El} etc

The HLP may resolve this situation by deriving the following state histories.

S(0 1 1) & El =>S(l 0 1)

S(l 0 1) & El => S(l 0 1)

S(l 0 1) & E2 =>S(0 1 1)

S(0 1 1) & El => S(l 0 1)

S(l 0 1) & E2 => S(0 1 1)

S(0 1 1) & E2 => S(0 1 1)

S(0 1 1) & El => S(l 0 1) etc.

Evidence that this error has really occurred may be seen in two forms viz.

  1. There is continuous movement between two rooms, with only one person involved.
  2. There is a room which is occupied, where no movement has occurred for some time.

Both of these pieces of evidence are subjective in nature, however, if this evidence could be backed up with a knowledge of the way things usually occur in the rooms, the evidence becomes worth pursuing and an error condition may be flagged.

This type of error differs from the first one in that, if the HLP is not able to find an alternative world representation which satisfies the error condition, then the old world state must be allowed to persist.

New implications. In addition to the functions of the HLP described earlier, it may now be concluded that the HLP must keep a record of how long it has been since an event has occurred, in each room.

The HLP should also be able to recognise the occurrence of unusual events such as the rapid movement of an individual from room to room continuously (that is, if this is unusual).

Emerging from the discussion is a requirement that the HLP must monitor all movement within a building with the objective of learning any general statements which may be made about it. For instance,

The kitchen is used most frequently between the hours of x and y.

5 Conclusion, An Acceptable Control Scheme

It will be clear from the previous discussion that the use of the simple sensors described, for the application considered, may never be relied upon to provide an internal world representation which matches exactly, the real world state for the entire control period.

The mathematical techniques described in section 3 provide a useful insight into the problem. They show that the problem is non deterministic in nature but that certain eventualities may be said to be more likely than others. Comparing the performance of each technique described, shows that although the mathematical techniques may perform well, like all of the methods, they must eventually fail. Where the AMC/HLP scores in this respect, is that the system can recover from errors and still provide a useful control option. Indeed, the recognition of error conditions is an important part of this system, and long term learning schemes may also be able to help here.

The key to the use of computational methods in the solution of the world, is the use of a fast Autonomic Microprocessor Controller to buffer the world from the controlling system.

A deterministic conflict set is produced for each input event, and the decision as to which item from this set to apply to the world, is guided by heuristic methods. The performance of the simple heuristics used at the outset, may be refined by reference to longer term memory which consists of generalisations about the habits of the people who occupy the building.

By adopting the system of a front end AMC and a more powerful HLP, an ACCEPTABLE CONTROL scheme may be realised.

The definition of an ACCEPTABLE CONTROL scheme may be stated as follows:

To control the environment to the satisfaction of the occupants of the premises in a realistic and useful way.

This may involve the HLP making errors as described, but being able to recover in a NON CATASTROPHIC way. This non-catastrophic recovery is partly attributed to the use of the AMC.

It is therefore the objective of this research project to develop a working system for a domestic premises. The main research activity will be to provide a computer based state representation which matches, as nearly as possible, the real world state representation. This representation will initially be used to provide lighting control, but its eventual uses will not be confined to this.

Data obtained from a working system operating in real time, shows compliance with the method outlined.

6 References

  1. S.L. Hodkinson and D.R. Oughton "Using Information Feedback for Energy Management" Proceedings of the Intelligent Buildings Seminar, December, 1987, London (Unicorn Seminars 1987) pp. 173-186.
  2. M.R. Shaw, "Applying Expert Systems to Environmental Management Control Problems" Proceedings of the Intelligent Buildings Seminar December 1987, London (Unicorn Seminars, 1987) pp. 113-125.
  3. T. Cornick, "Intelligent Buildings, translating needs into practice" University of Reading Proceedings of the Intelligent Buildings Seminar December 1987 London (Unicorn Seminars, 1987) pp. 42-47.
  4. J.F. Allen & P.J. Hayes, "A Common Sense Theory of Time" Proceedings International Joint Council on Artificial Intelligence. 528-531 (1985).
  5. L. Aleksander & F.K. Hanna, Automata Theory: An Engineering Approach (Edward Arnold, London, 1976) pp. 111-134.
  6. A. Barr & E.A. Feigenbaum, "Heuristic State Space Search" The Handbook of A.L Vol. 1. William Kaufmann, Los Altos, California, 1981) pp. 58-63.
  7. P.H. Winston, Artificial Intelligence second edition. (Addison-Wesley Publishing Reading, 1984) pp. 87-113.