A controller for controlling at least one service apparatus for a building or one or more parts (105a, 105b) of a building, wherein the at least one service apparatus comprises environmental control apparatus comprising at least one of: a thermostatic radiator valve, a central heating boiler or controller, an air conditioning unit, a heating, ventilation and air conditioning (HVAC) unit and/or a building management system; the controller comprising: at least one input interface for receiving a plurality of input variables associated with the building or the one or more parts of the building; at least one output interface for interfacing with the at least one service apparatus; and processing apparatus configured to process the plurality of input variables using one or more random neural networks in order to generate one or more control parameters for controlling the at least one service apparatus; and characterised in that the controller or processing apparatus comprises or is configured to use or implement a plurality of random neural networks and the controller or processing apparatus comprises, is configured to use or implements, a selector for selecting a random neural network from the plurality of neural networks dependent on the part of the building associated with the input variables; the selector is configured to select a random neural network specific or tailored to the part (105a, 105b) of the building associated with at least one and/or each of the input variables in order to generate one or more control parameters for controlling the at least one service apparatus associated with that part (105a, 105b) of the building; each random neural network is at least initially trained with historical input variables and/or historical control parameters for the associated part (105a, 105b) of the building; at least one and/or each of the random neural networks are associated with parts of the building having one or more properties meeting one or more criteria and the selector is configured to select the random neural network based on matching the properties of the part of the building associated with the input variables or to which the input variables relate to the one or more criteria; and the one or more parts (105a, 105b) of the building comprise portions of the building, rooms and/or groups of rooms linked by the one or more criteria, wherein the criteria specify one or more room dimension, orientation of the room, aspect of the room and/or number, size and/or positions of windows in the room. at least one input interface for receiving a plurality of input variables associated with the building or the one or more parts of the building; at least one output interface for interfacing with the at least one service apparatus; and processing apparatus configured to process the plurality of input variables using one or more random neural networks in order to generate one or more control parameters for controlling the at least one service apparatus; and characterised in that the controller or processing apparatus comprises or is configured to use or implement a plurality of random neural networks and the controller or processing apparatus comprises, is configured to use or implements, a selector for selecting a random neural network from the plurality of neural networks dependent on the part of the building associated with the input variables; the selector is configured to select a random neural network specific or tailored to the part (105a, 105b) of the building associated with at least one and/or each of the input variables in order to generate one or more control parameters for controlling the at least one service apparatus associated with that part (105a, 105b) of the building; each random neural network is at least initially trained with historical input variables and/or historical control parameters for the associated part (105a, 105b) of the building; at least one and/or each of the random neural networks are associated with parts of the building having one or more properties meeting one or more criteria and the selector is configured to select the random neural network based on matching the properties of the part of the building associated with the input variables or to which the input variables relate to the one or more criteria; and the one or more parts (105a, 105b) of the building comprise portions of the building, rooms and/or groups of rooms linked by the one or more criteria, wherein the criteria specify one or more room dimension, orientation of the room, aspect of the room and/or number, size and/or positions of windows in the room.