Patent Publication Number: US-10762078-B2

Title: Prediction data generation device and vehicle control device

Description:
INCORPORATION BY REFERENCE 
     The disclosure of Japanese Patent Application No. 2016-234922 filed on Dec. 2, 2016 including the specification, drawings and abstract is incorporated herein by reference in its entirety. 
     BACKGROUND 
     1. Technical Field 
     The disclosure relates to a prediction data generation device that generates prediction data including a directed graph, and a vehicle control device that uses the prediction data. 
     2. Description of Related Art 
     A transition prediction system that uses a directed graph to predict a transition of a vehicle state is disclosed in, for example, Japanese Unexamined Patent Application Publication No. 2016-141271 (JP 2016-141271 A). The directed graph is data having a node defined based on a vehicle data group acquired at the same time in time-series data and having a link defined by a transition of the node. The time-series data is generated by acquiring, in order, the vehicle data group that includes a plurality of types of data including data related to devices in a vehicle. The system stores the node and the number of observations of the node and stores the link and the number of observations of the link. A transition of the vehicle state is predicted as a transition of the node by considering a node having a relatively large number of observations as having a higher probability of occurrence than a node having a relatively small number of observations. 
     SUMMARY 
     In the system, the number of new nodes that may be registered is increased as the number of pieces of vehicle data defining a node is increased. As the number of nodes that may be registered is increased, a long period of time is taken before a certain large number of observations of a node or a link are achieved. A certain large number of observations is desired in order to secure accuracy in a node transition prediction process. Thus, in the system, the period of time before prediction having a certain level of accuracy is performed may be increased. 
     The present disclosure provides a prediction data generation device that can increase, earlier than usual, the number of observations of at least one of a node and a link in prediction data including a directed graph, and a vehicle control device that uses the prediction data. 
     A first aspect of the present disclosure relates to a prediction data generation device that includes a storage device and a processor, and generates prediction data in which a node of a directed graph is defined based on data groups acquired at the same time among data groups and in which a link of the directed graph is defined by a transition of the node. Each data group includes a plurality of types of data including data related to a device in a vehicle. The prediction data is used as an input of a transition prediction process that predicts a transition of the node. The processor is configured to define, for each of a predetermined plurality of categories, a node per category as the node of the directed graph by a data subgroup of the data group, the data subgroup including a plurality of types of data belonging to the category, define a link per category as the link of the directed graph by a transition from one of a pair of different nodes to another, use the node per category, the link per category, and at least one of the number of observations of the node per category and the number of observations of the link per category as the prediction data, and execute a storage update process that updates the prediction data in order and stores the updated prediction data in the storage device in accordance with an update of the data group along with elapse of time. The storage update process includes at least one of a process of increasing the number of observations of the node on a condition that the node per category is previously known, and a process of increasing the number of observations of the link on a condition that the link per category is previously known. 
     The first aspect of the present disclosure defines the node per category by a part of the data group. The processor stores the node per category, the link per category, and at least one of the number of observations of the node and the number of observations of the link as the prediction data in the storage device. The maximum number of combinations that the node may have and the maximum number of combinations that the link may have in each category constituting the prediction data are smaller than when one node is defined by all pieces of data belonging to each category. Thus, when the processor updates the prediction data in accordance with an update of the data group, the number of observations stored in the storage device is more likely to be increased earlier than usual than when one node is defined by all pieces of data belonging to each category. 
     In the prediction data generation device according to the first aspect of the present disclosure, the storage update process executed by the processor may include a data group acquisition process that acquires the data group in order, a specification process that specifies the node per category by classifying the data group acquired in order into the categories, a node registration process that stores the node specified by the specification process as a new node in the storage device on a condition that the specified node is not yet stored in the storage device, a link registration process that stores a transition to the node per category specified by the specification process as a new link in the storage device on a condition that the transition is not yet stored in the storage device, and at least one of a process of increasing the number of observations of the node on a condition that the node specified by the specification process is already stored in the storage device, and a process of increasing the number of observations of the link on a condition that a transition to the specified node from an immediately previous node is already stored in the storage device. 
     In the prediction data generation device according to the first aspect of the present disclosure, the data group may further include a plurality of types of data in a house. The first aspect of the present disclosure handles not only the data group related to the vehicle (vehicle data group) but also the data group related to the house (house data group). Thus, when the node is defined by the vehicle data group and the house data group, the maximum number of combinations that the node may have is increased further than when the house data group is not included. Thus, an advantage of defining the node per category is particularly significant for increasing the number of observations of the node or the number of observations of the link earlier. 
     While each category may be defined by the vehicle data group or the house data group, a category that includes a node defined by both of the vehicle data group and the house data group is desired. 
     In the prediction data generation device according to the first aspect of the present disclosure, the vehicle may include a first controller and a second controller. The categories may include a first category that is formed by the data subgroup handled by the first controller, and a second category that is formed by the data subgroup handled by the second controller and is different from the first category. 
     The first aspect of the present disclosure enables easy categorization because each of the data subgroups respectively handled by the first controller and the second controller constitutes a single category. 
     In the prediction data generation device according to the first aspect of the present disclosure, the storage update process may be configured to define an inter-category node different from the node per category as the node of the directed graph by a combination of nodes of each of the categories, define an inter-category link different from the link per category as the link of the directed graph by a transition from one of a pair of different inter-category nodes to another, and include the inter-category node, the inter-category link, and at least one of the number of observations of the inter-category node and the number of observations of the inter-category link in the prediction data that is stored in the storage device and updated in order. 
     According to the first aspect of the present disclosure, when data that belongs to one category has a correlation with data that belongs to another category and not to the one category, prediction based on the correlation may not be performed when the prediction data is configured with the node per category and the link per category. Such a case can be prevented by designing the categories. However, when all pieces of data having a useful correlation are designed to be included in the same category, the designing step may be complicated. Therefore, the first aspect of the present disclosure defines the inter-category node and the inter-category link that are different from the node per category and the link per category, and includes the inter-category node and the inter-category link in the prediction data. Accordingly, while the rate of increase in the number of observations of the inter-category node or the inter-category link is lower than the rate of increase in the number of observations of the node per category or the link per category, prediction that may be failed depending on the prediction data per category can be performed. 
     A second aspect of the present disclosure relates to a vehicle control device that includes the prediction data generation device according to the first aspect of the present disclosure. The processor is configured to execute the transition prediction process and a command generation process that generates a command for controlling the device in the vehicle based on prediction performed by the transition prediction process. The transition prediction process sets a node corresponding to a current node of the vehicle as a start point node among the nodes stored in the storage device and sets a specific node from candidate nodes reached by one or a plurality of transitions defined by the link stored in the storage device as a predicted node specifying a subsequent state of the vehicle. The transition prediction process includes at least one of a process of selecting the candidate node having a relatively large number of observations as the predicted node preferentially over the candidate node having a relatively small number of observations and a process of selecting the candidate node having a relatively large number of observations of each link connecting the start point node and the candidate node as the predicted node preferentially over the candidate node having a relatively small number of observations of each link connecting the start point node and the candidate node. 
     The second aspect of the present disclosure enables accurate prediction to be performed earlier than usual by performing prediction using the prediction data in which the node per category and the link per category are defined, and enables the device in the vehicle to be appropriately controlled earlier than usual by using the prediction. 
     In the vehicle control device according to the second aspect of the present disclosure, the storage device may store, in advance, association information that sets a predetermined node of the directed graph as a fixed node regardless of the storage update process and associates a predetermined process of controlling a predetermined device of the vehicle with the fixed node, and the processor may be configured to execute a fixed command process that executes the predetermined process based on the association information without using the transition prediction process, on a condition that the current node corresponds to the fixed node. 
     The second aspect of the present disclosure executes the predetermined process without using the transition prediction process on the condition that the current node corresponds to the fixed node. Thus, even when the prediction data includes a node that is caused by an erroneous operation performed by a user, execution of the command generation process based on prediction of a transition to the node corresponding to the inappropriate operation by the transition prediction process can be reduced. 
     In the vehicle control device according to the second aspect of the present disclosure, the processor may be configured to execute, before executing the fixed command process, an inquiry process that makes an inquiry to a user as to whether or not to execute the fixed command process, and may be configured to execute the fixed command process when the user permits execution of the fixed command process in response to the inquiry. 
     The second aspect of the present disclosure executes the inquiry process before the fixed command process. Thus, a situation in which the fixed command process is suddenly performed and makes the user feel awkward can be reduced. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Features, advantages, and technical and industrial significance of exemplary embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like numerals denote like elements, and wherein: 
         FIG. 1  is a diagram illustrating electronic devices in a vehicle according to a first embodiment; 
         FIG. 2  is a flowchart illustrating a procedure of a prediction data storage update process according to the first embodiment; 
         FIG. 3  is a diagram illustrating a vehicle data group on which an alignment process according to the first embodiment is performed; 
         FIG. 4  is a diagram illustrating node lists per category according to the first embodiment; 
         FIG. 5  is a diagram illustrating link lists per category according to the first embodiment; 
         FIG. 6  is a flowchart illustrating a procedure of a transition prediction process and a command generation process according to the first embodiment; 
         FIG. 7  is a block diagram illustrating processes in each ECU according to a second embodiment; 
         FIG. 8  is a diagram illustrating a network including a vehicle and a house according to a third embodiment; 
         FIG. 9  is a flowchart illustrating a procedure of a prediction data storage update process according to the third embodiment; 
         FIG. 10  is a flowchart illustrating a procedure of a transition prediction process and a command generation process according to the third embodiment; 
         FIG. 11  is a diagram illustrating a network including a vehicle and a house according to a fourth embodiment; 
         FIG. 12  is a diagram illustrating an inter-category node list and an inter-category link list according to a fifth embodiment; 
         FIG. 13  is a diagram illustrating a network including a vehicle and a house according to a sixth embodiment; 
         FIG. 14  is a diagram illustrating a network including a vehicle and a house according to a seventh embodiment; 
         FIG. 15A  is a diagram illustrating data used in an eighth embodiment; 
         FIG. 15B  is a diagram illustrating data used in the eighth embodiment; 
         FIG. 15C  is a diagram illustrating data used in the eighth embodiment; and 
         FIG. 16  is a flowchart illustrating a procedure of a transition prediction process and a command generation process according to the eighth embodiment. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     First Embodiment 
     Hereinafter, a first embodiment of a prediction data generation device and a vehicle control device will be described with reference to the drawings. 
       FIG. 1  illustrates a part of a vehicle  10 , particularly a part of electronic devices connected to a network NW. A powertrain chassis system  20  includes a vehicle-mounted propelling device that imparts motive power to drive wheels, a transmission device, a steering actuator that steers a steering wheel, a brake actuator that imparts braking power to wheels, a part of various sensors detecting the states of the vehicle-mounted propelling device, the transmission device, the steering actuator, and the brake actuator, and the like. An electronic control unit (ECU  30 ) controls the powertrain chassis system  20 . For example, the ECU  30  controls output of the vehicle-mounted propelling device, controls steering force for the steering wheel by operating the steering actuator, or controls the gear ratio of the transmission device. The ECU  30  includes a CPU  32 , a ROM  34 , and a storage device  36 . The storage device  36  is an electrically rewritable non-volatile storage device that retains data regardless of supply of power. 
     A body system  22  includes a vehicle-mounted air-conditioning device, an illumination device, a door lock device, an automatic window opening and closing device, an instrument panel, a part of various sensors that detect the states of the vehicle-mounted air-conditioning device, the illumination device, the door lock device, the automatic window opening and closing device, and the instrument panel, and the like. An electronic control unit (ECU  40 ) controls the body system  22 . For example, the ECU  40  controls the temperature in a vehicle cabin by operating the vehicle-mounted air-conditioning device in accordance with an instruction from a user. In addition, for example, the ECU  40  controls the illuminance, the irradiation direction, and the like of the illumination device in accordance with an instruction from the user. Furthermore, for example, the ECU  40  determines a valid user based on an authentication terminal carried by the user and controls and switches the lock device to a released state on the condition that the user is valid. The ECU  40  includes a CPU  42 , a ROM  44 , and a storage device  46 . The storage device  46  is an electrically rewritable non-volatile storage device that retains data regardless of supply of power. 
     A multimedia system  60  includes a speaker  61  that outputs audio, an audio sensing device  62  that converts sound vibration into an electrical signal, an image display device  63  such as a liquid crystal display device or an organic EL display device, a touch panel  64  that is disposed on the image display device  63 , and an image sensing device  65  that includes, for example, a solid-state imaging element and senses an image of the inside of the vehicle cabin. In addition, the multimedia system  60  includes an M system switch  66  that includes switches for devices of the multimedia system  60 . 
     An electronic control unit (ECU  50 ) controls the multimedia system  60 . The ECU  50  includes a CPU  52 , a ROM  54 , a storage device  56 , and a hard disk  58 . The storage device  56  is an electrically rewritable non-volatile storage device that retains data regardless of supply of power. 
     The ECUs  30 ,  40 ,  50  are connected to the network NW. Various switches (switch group  70 ) of the vehicle  10  that are not directly connected to the ECUs  30 ,  40 ,  50 , and various sensors (sensor group  72 ) of the vehicle  10  that are not directly connected to the ECUs  30 ,  40 ,  50  are connected to the network NW. 
     The vehicle  10  further includes a global positioning system (GPS  74 ). The ECU  50 , for example, by outputting an audio signal through the speaker  61 , executes a notification process for the user or executes a process of playing a music or the like from the speaker  61  in accordance with an instruction from the user. The ECU  50  changes an image displayed by the image display device  63  in response to an operation performed on the touch panel  64 , changes a command for a specified position on the touch panel  64 , and executes a process corresponding to the changed command. For example, the ECU  50  extracts map data around the current location from map data stored in the hard disk  58  based on the position of the vehicle  10  detected by the GPS  74 , displays the extracted map data on the image display device  63 , and changes the area of the displayed map data in accordance with a scroll operation performed on the touch panel  64 . 
     The ECU  50  recognizes an audio signal from the user as an instruction from the user (input operation) based on an output signal of the audio sensing device  62 , or recognizes a motion of the user as an instruction from the user (input operation) based on an output signal of the image sensing device  65 . 
     The ECU  50  executes a transition prediction process that uses a directed graph to predict the subsequent state of the vehicle, and a command generation process that controls various devices in the vehicle  10  in accordance with the transition prediction process. Hereinafter, the transition prediction process and the command generation process will be described in detail. 
       FIG. 2  illustrates a procedure of a prediction data storage update process for the transition prediction process. The process illustrated in  FIG. 2  is realized by the CPU  52  repeatedly executing a program stored in the ROM  54  at predetermined cycles. Hereinafter, a step number will be represented by a number with “S” prefixed thereto. 
     In the series of processes illustrated in  FIG. 2 , first, the CPU  52  acquires a vehicle data group that includes a plurality of types of data related to devices in the vehicle, by collecting data handled by the ECU  50  and acquiring data handled by the ECUs  30 ,  40  through the network NW (S 10 ). For example, the data handled by the ECU  30  of the powertrain chassis system  20  relates to a vehicle speed, an accelerator operation amount, a brake operation amount, an outside air temperature, the state of a shift lever, the state of a control mode switch of the transmission device, the rotational angle of the steering wheel (steering angle), the state of a switch that places the vehicle into a state capable of traveling, and the temperature of a refrigerant in a cooling circuit of the vehicle-mounted propelling device. The switch that places the vehicle into a state capable of traveling corresponds to an ignition switch when the vehicle-mounted propelling device is an engine. The data handled by the ECU  40  relates to the state of a blinker lever switch, the state of a light ON and OFF switch, the state of a window opening and closing switch, a detected value of a window opening degree, the state of the door lock device, the state of the air-conditioning device, a detected value of an illuminance sensor that measures the illuminance outside the vehicle, a detected value of a seat presence sensor of each seat, a detected value of a trunk load weight, and the like. The data handled by the ECU  50  relates to positional information provided by the GPS  74 , the state of the speaker  61 , ON and OFF states of the audio sensing device  62 , information related to a display target of the image display device, an operating state of the touch panel  64 , ON and OFF states of the image sensing device  65 , an operating state of the switch group  70 , a detected value of the sensor group  72 , and the like. 
     Next, for each vehicle data group acquired at the same time, the CPU  52  executes an alignment process that aligns the vehicle data group (S 12 ).  FIG. 3  illustrates the vehicle data group on which the alignment process is performed.  FIG. 3  illustrates that the vehicle data group includes various types of data of A 1  to An. As illustrated in  FIG. 3 , the vehicle data group is grouped by different time T 1 , T 2 , . . . , Tm in accordance with time-series order. However, for example, all pieces of data constituting the vehicle data group of time T 1  are not meant to be sampled at different sampling timings from all pieces of data constituting the vehicle data group of time T 2 . For example, for data of which the sampling cycle is longer than the time interval between time T 1  and time T 2 , the data of time T 1  and the data of time T 2  may be sampled at the same time. For data of which the sampling cycle is shorter than the time interval between time T 1  and time T 2 , the data of time T 1  and the data of time T 2  are sampled at different sampling timings. However, the data constituting the vehicle data group of time T 1  is data that is sampled at the most recent sampling timing at time T 1 . While data that is sampled at time T 1  may be assigned to time T 2  in actuality due to a delay or the like in process of a vehicle-mounted device, the data assigned to time T 2  is regarded as the most recent data at time T 2 . In such a case, any data constituting the vehicle data group of time T 2  is regarded as data sampled at the same time. The vehicle data groups of time T 1  to time Tm illustrated in  FIG. 3  mean that the acquisition process of S 10  in  FIG. 2  is performed m times. For example, the ECUs  30 ,  40  may assign a timestamp to the time-series data handled by the ECUs  30 ,  40  and transmit the time-series data sampled at a different time to the ECU  50  in a batched manner. In such a case, the process of S 10  includes a process of specifying the vehicle data groups of time T 1  to time Tm based on the timestamp. Even when the specification process is performed, the vehicle data group of time Tm is referred to as a vehicle data group that is acquired at a later timing than the vehicle data group of time T 1 . 
     Returning to  FIG. 2 , the CPU  52  specifies a node per category by classifying the vehicle data group acquired at the same time into each of a plurality of predetermined categories (S 14 ). Pieces of data that are considered to be relatively highly correlated with each other belong to the same category. The same data may belong to two or more categories. Types of data constituting one category are partially different from another category. Not all pieces of data of any category are a part of data belonging to another category. All pieces of data belonging to each category are a vehicle data subgroup that includes a plurality of types of data. A vehicle data subgroup, of the vehicle data group acquired at the same time, that belongs to a specific category determines a node of the category. That is, a node specifying process is a process of specifying the value of each data determining a node. 
     The categories include a category that includes data corresponding to an operation performed by the user on a device in the vehicle  10 . The data corresponding to an operation performed by the user on a device in the vehicle  10  includes data that indicates an operating state of the device operated by the user in the vehicle  10 , and data that indicates the state of the device associated with the operation performed by the user on the device in the vehicle  10 . The data indicating the operating state of the device relates to the accelerator operation amount, the brake operation amount, the state of the shift lever, the steering angle, the state of the switch that places the vehicle into a state capable of traveling, the state of the blinker lever switch, the state of the window opening and closing switch, the state of the M system switch  66 , the state of the switch group  70 , and the like. The data indicating the state of the device associated with the operation performed by the user on the device includes the detected value of the window opening degree, a type of image displayed on the image display device  63  such as whether the image is an image of a television program or display of map data, and the like. Data other than the data corresponding to the operation performed on the device includes, for example, the outside air temperature, the detected value of the illuminance sensor, and the temperature of the refrigerant in the cooling circuit. 
     Next, the CPU  52  determines whether or not there is a new node that is not yet specified among the nodes per category specified by the specification process (S 16 ). The process references node lists per category illustrated in  FIG. 4  and determines whether or not the same node is already registered in each category. The node lists illustrated in  FIG. 4  are stored in the storage device  56 . While three categories X, Y, Z are illustrated in  FIG. 4  due to a limited space, the number of categories in the present embodiment is not intended to be equal to three. 
     Returning to  FIG. 2 , when there is a new node (YES in S 16 ), the CPU  52  assigns a new node ID to the node, adds the node to a node list of a corresponding category among the node lists stored in the storage device  56 , and sets the number of observations of the node to “1” (S 18 ). The node ID is illustrated as “sign” in  FIG. 4 . A sign that is different from the node ID of the already registered node is assigned as the new node ID. 
     When the CPU  52  completes the process of S 18  or makes a negative determination in S 16 , the CPU  52  determines whether or not there is an existing node already registered in the node list among the specified nodes (S 20 ). When the CPU  52  determines that there is an existing node (YES in S 20 ), the CPU  52  increments the number of observations of the corresponding node in the node list by “1” (S 22 ). 
     When the CPU  52  completes the process of S 22  or makes a negative determination in S 20 , the CPU  52  determines whether or not there is a new transition among transitions to the specified nodes, that is, whether or not there is a new link (S 24 ). The process references link lists per category illustrated in  FIG. 5  and determines whether or not the same link is already registered in each category. The link lists illustrated in  FIG. 5  are stored in the storage device  56 . A start point node ID of the link lists illustrated in  FIG. 5  indicates the node ID of the corresponding category. The CPU  52  sets the node specified by the specification process as an end point node and sets a node from which a transition is made to the end point node as a start point node. When the combination of the start point node and the end point node is not registered in the link lists, the CPU  52  determines that the combination is a new link. 
     Returning to  FIG. 2 , when the CPU  52  determines that there is a new link (YES in S 24 ), the CPU  52  assigns a new link ID to the link, adds the link to a link list of a corresponding category among the link lists stored in the storage device  56 , and sets the number of observations of the link to “1” (S 26 ). A sign that is different from the link ID of the already registered link is assigned as the new link ID. 
     When the nodes that are specified by the vehicle data groups acquired at time-series successive timings are the same as each other, a transition is made from one node to the same node and is assigned one link ID. Hereinafter, this type of link will be referred to as a self-loop. 
     When the CPU  52  completes the process of S 26  or makes a negative determination in S 24 , the CPU  52  determines whether or not there is an existing link already registered in the link list among the specified links (S 28 ). When the CPU  52  determines that there is an existing link (YES in S 28 ), the CPU  52  increments the number of observations of the corresponding link in the link list by “1” (S 30 ). 
     When the CPU  52  completes the process of S 30  or makes a negative determination in S 28 , the CPU  52  temporarily terminates the series of processes illustrated in  FIG. 2 .  FIG. 6  illustrates a procedure of the transition prediction process that uses the prediction data including the node lists and the link lists. The process illustrated in  FIG. 6  is realized by the CPU  52  repeatedly executing a program stored in the ROM  54  at predetermined cycles. 
     In the series of processes illustrated in  FIG. 6 , first, the CPU  52  determines whether or not the number of observations of each node in the node lists or the number of observations of each link in the link lists is greater than or equal to a threshold and whether or not the number of such nodes or links is greater than or equal to a predetermined number (S 40 ). The process is performed in order to determine whether or not prediction that uses the node lists and the link lists can be accurately performed. 
     When the CPU  52  determines that the number of such nodes or links is greater than or equal to the predetermined number (YES in S 40 ), the CPU  52  acquires a vehicle data group (S 42 ). While the process may be performed in the same manner as the process of S 10  in  FIG. 2 , the process, particularly, acquires one most recent vehicle data group acquired at the same time. The CPU  52  specifies a node of each category based on the vehicle data group (S 44 ). The CPU  52  searches for a node corresponding to the node specified in S 44  among the nodes registered in the node list of each category (S 46 ). When there is no corresponding node in the process, the CPU  52  temporarily terminates the series of processes illustrated in  FIG. 6  as illustrated by a broken line in  FIG. 6 . 
     When there is a corresponding node, the CPU  52  sets the node as a start point and finds a path in which a transition made from one node to another node in accordance with the transitions defined by the link lists is made a predetermined number of times (S 48 ). Each transition does not include a self-loop. When the predetermined number of transitions cannot be defined, the CPU  52  temporarily terminates the series of processes illustrated in  FIG. 6  as illustrated by a broken line in  FIG. 6 . 
     When the CPU  52  finds all paths having the predetermined number of transitions from the start point node for each category, the CPU  52  selects a node having a relatively high possibility of occurrence for each category from candidate nodes that are nodes reached by the predetermined number of transitions in each category, and predicts the selected node to be an occurring node (S 50 ). The present embodiment selects one node for each of the categories by the following process. That is, first, the CPU  52  selects transitions in which the total of the number of observations of links defining the predetermined number of transitions is the largest. Next, the CPU  52  determines whether or not the number of observations of a candidate node corresponding to the selected transitions is greater than or equal to a threshold. When the CPU  52  determines a candidate node of which the number of observations is greater than or equal to the threshold, the CPU  52  sets the node as a predicted node to which a transition will be subsequently made. When the CPU  52  determines a candidate node of which the number of observations is less than the threshold, the CPU  52  selects transitions in which the total of the number of observations of links defining the predetermined number of transitions is the second largest, and determines whether or not the number of observations of each candidate node corresponding to the selected transitions is greater than or equal to the threshold. When the number of observations of a candidate node is greater than or equal to the threshold, the CPU  52  sets the node as a predicted node. Such a process is executed before a candidate node of which the number of observations is greater than or equal to the threshold is found, or before there is no more candidate node. When the CPU  52  cannot specify a predicted node in all categories, the CPU  52  temporarily terminates the series of processes illustrated in  FIG. 6  as illustrated by a broken line in  FIG. 6 . 
     When there is a predicted node in at least one category, the CPU  52  appropriately executes a process of generating a command for control of a predetermined device depending on the predicted node (S 52 ). Specifically, the present embodiment stores a list of target devices of the command generation process in advance in the ROM  54 . The CPU  52  generates a command for a control that makes a transition to the state of a device represented by the predicted node on the condition that the current state of the device registered in the list is different from the state of the predicted node. 
     The target devices registered in the list are devices operated by the user in the present embodiment. Specifically, the target devices registered in the list include, for example, the speaker  61 , the audio sensing device  62 , the image display device  63 , the touch panel  64 , the image sensing device  65 , the air-conditioning device, the automatic window opening and closing device, the illumination device, the instrument panel, and the ECUs  30 ,  50 . For the ECUs  30 ,  50 , a list of specific processes is defined as a target of the command generation process. The specific processes of the ECU  30  include, for example, a process related to a control mode of the transmission device. The specific processes of the ECU  50  include a process related to an audio recognition engine, a process related to a gesture recognition engine, and the like. Thus, for example, even when the state of the ECU  30  is different from the state of the predicted node, the ECU  30  having the difference in the state is the target of the command generation process on the condition that the process of the ECU  30  corresponds to the specific processes. 
     The command generation process will be illustrated. Assume that among the categories, for example, there is a category in which a node is defined by a vehicle data subgroup including the detected values of the seat presence sensors of a rear seat and a driving seat, the state of the image display device  63 , a state indicating whether or not an audio reproduction process is performed by the CPU  52 , and the detected value of the temperature of the refrigerant in the cooling circuit of the vehicle-mounted propelling device. Assume that on weekdays, the user habitually takes a child on the rear seat, operates the M system switch  66  to display a video of a television program on the image display device  63 , takes the child to a kindergarten, and then operates the M system switch  66  to listen to the radio while commuting. In such a case, a node that transitions to a state where the image display device  63  displays a video of a television program after the seat presence sensor of the rear seat and the seat presence sensor of the driving seat detect the presence of a person sitting thereon is observed on every weekday. Thus, when the user takes the child on the rear seat and sits on the driving seat, the CPU  52  has a relatively high possibility of predicting the node indicating the state where the image display device  63  displays a video of a television program to be a node representing a subsequent state. In such a case, even when a map is displayed on the image display device  63  on a holiday, the command generation process causes the ECU  50  to operate the image display device  63  and the speaker  61  to automatically switch to a mode of the state of displaying a television program. In addition, the vehicle is stopped for a very short period of time when the user takes the child to the kindergarten. Thus, when driving of the vehicle is initiated again, the current node is where the refrigerant in the cooling circuit has a certain high temperature and where the seat presence sensor of the driving seat detects the presence of a person sitting thereon. In such a case, the number of observations of a transition to a node that corresponds to a state of stopping a television program and playing the radio from the speaker  61  is increased. Accordingly, when the user takes the child out of the vehicle and again places the vehicle into a state capable of traveling, the CPU  52  stops a mode in which the video of the television program is displayed on the image display device  63 , and automatically switches to a mode in which audio data of a radio program is played from the speaker  61 . Such prediction and automatic control may also be realized when the positional information of the vehicle  10  is used as the data of the category instead of the detected value of the temperature of the refrigerant. 
     Assume that among the categories, for example, there is a category in which a node is defined by a vehicle data subgroup that includes the detected values of the seat presence sensors of the driving seat and a passenger seat, a detected value of an outside air temperature sensor, and a set temperature of the air-conditioning device. Assume that even when the detected value of the outside air temperature sensor is the same under the scorching sun in midsummer, the set temperature of the air-conditioning device is different for when the seat presence sensor of the driving seat detects the presence of a person sitting thereon and when the seat presence sensor of the driving seat and the seat presence sensor of the passenger seat detect the presence of a person sitting thereon. In such a case, as nodes corresponding to a significantly high detected value of the outside air temperature, when the presence of a person sitting on the driving seat is detected and when the presence of a person sitting on the driving seat and the presence of a person sitting on the passenger seat are detected, a transition to the node having a different temperature setting of the air-conditioning device is a link having a relatively large number of observations. Thus, when the user takes on the vehicle, drives alone, and then, takes a person on the passenger seat, the CPU  52  has a relatively high possibility of predicting a node having a different setting from the current temperature setting of the air-conditioning device to be a node representing a subsequent state. When such prediction is made, the CPU  52  performs the command generation process to generate a command for changing the temperature setting and output the command to the ECU  40  of the body system  22  through the network NW before the user changes the temperature. Accordingly, the ECU  30  of the body system  22  operates the air-conditioning device to change the set temperature. 
     Assume that among the categories, for example, there is a category in which a node is defined by a vehicle data subgroup that includes the state of the control mode switch of the transmission device and the state of use of a navigation system. In such a case, depending on the habit of the user, the CPU  52  may automatically execute switching from any one of a normal mode and a sport mode to another. In the sport mode, the rotational speed of the propelling device is increased further than in the normal mode at the same vehicle speed. That is, for example, the user employs the normal mode when the user commutes on weekdays, and on holidays, the user sets a remote destination by using the navigation system and employs the sport mode to drive the vehicle. In such a case, when a remote location is set as a destination by the navigation system, the number of observations of a transition from a node in which the normal mode is set to a node in which the sport mode is set is increased. Accordingly, when the CPU  52  specifies a node that represents a state where the remote location is set as a destination and where the normal mode is set, the CPU  52  generates a command for setting the sport mode and outputs the command to the ECU  30  through the network NW. In addition, the CPU  52  generates a command for display indicating the sport mode on the instrument panel and outputs the command to the ECU  40  through the network NW. Such prediction and automatic control may also be realized when the state of the instrument panel is used as the data of the category instead of the state of the control mode switch of the transmission device. 
     The CPU  52  temporarily terminates the series of processes illustrated in  FIG. 6  when the CPU  52  completes the command generation process, when the CPU  52  cannot generate an appropriate command, or when the CPU  52  makes a negative determination in S 40 . 
     An action of the present embodiment will be described. The CPU  52  executes the specification process that specifies a node per category, by extracting data belonging to each of the categories from the vehicle data group acquired at the same time. When the specified node is an existing node, the CPU  52  increments the number of observations of the node. When a transition of a node is observed and is an existing link, the CPU  52  increases the number of observations of the link. When all possibilities that the vehicle data group may have are considered, types of nodes and types of links that the vehicle data group may have are increased as the number of pieces of data constituting a node is larger. Thus, when a node is defined per category, a node of which the number of observations is increased earlier than usual appears more than when a node is not defined per category. Thus, the CPU  52  makes a positive determination in the process of S 40  earlier than usual and can accurately predict a transition of a node earlier than usual by using the prediction data including the directed graph. 
     Second Embodiment 
     Hereinafter, a second embodiment will be described with reference to the drawings based on differences from the first embodiment. 
       FIG. 7  illustrates devices in the vehicle  10  according to the present embodiment along with a block diagram of a part of processes thereof. In  FIG. 7 , members corresponding to the members illustrated in  FIG. 1  will be designated by the same reference signs for convenience. 
     In the present embodiment, data handled by the ECU  30  of the powertrain chassis system  20  constitutes one category, and a node list and a link list of the category are generated in the ECU  30 . That is, a signing processing unit M 30  is realized by the CPU  32  executing a program stored in the ROM  34 , and the signing processing unit M 30  executes a process corresponding to the process in  FIG. 2 . Specifically, a data group handled by the ECU  30  is acquired in the process of S 10 , and a node that is represented by the acquired data group is specified in the process of S 14 . The specified node is subjected to a registration process, or the number of observations of the node is incremented. A link that is based on a transition to the specified node is subjected to a registration process, or the number of observations of the link is incremented. The node list and the link list of the category corresponding to the ECU  30  are stored in the storage device  36  of the ECU  30  and are stored in the storage device  56  in the ECU  50 . That is, the CPU  32  outputs new updated differential data related to the node list and the link list to the ECU  50  through the network NW at a predetermined timing. 
     In the present embodiment, data handled by the ECU  40  of the body system  22  constitutes one category, and a node list and a link list of the category are generated in the ECU  40 . That is, the signing processing unit M 30  is realized by the CPU  42  executing a program stored in the ROM  44 , and the signing processing unit M 30  executes a process corresponding to the process in  FIG. 2 . Finally, the node list and the link list of the category corresponding to the ECU  40  are stored in the storage device  46  of the ECU  40  and the storage device  56  in the ECU  50 . That is, the CPU  42  outputs new updated differential data related to the node list and the link list to the ECU  50  through the network NW at a predetermined timing. 
     In the present embodiment, data handled by the ECU  50  of the multimedia system  60  constitutes one category, and a node list and a link list of the category are generated in the ECU  50 . That is, the signing processing unit M 30  is realized by the CPU  52  executing a program stored in the ROM  54 , and the signing processing unit M 30  executes a process corresponding to the process in  FIG. 2 . A data update processing unit M 32  updates the node list and the link list of the category of the ECU  30  and the node list and the link list of the category of the ECU  40  stored in the storage device  56 , based on the differential data transmitted from the ECUs  30 ,  40 . The data update processing unit M 32  is realized by the CPU  52  executing a program stored in the ROM  54 . A transition prediction processing unit M 34  is realized by the CPU  52  executing a program stored in the ROM  54 , and the transition prediction processing unit M 34  executes the processes of S 40  to S 50  in  FIG. 6 . A command generation processing unit M 36  is realized by the CPU  52  executing a program stored in the ROM  54 , and the command generation processing unit M 36  executes the process of S 52  in  FIG. 6 . 
     The present embodiment can easily perform categorization by configuring categories per data handled by each of the ECUs  30 ,  40 ,  50 . The present embodiment can reduce processing load of the CPU  52  further than usual by generating update data of the node list and the link list per category in each of the ECUs  30 ,  40 ,  50 . In the present embodiment, each of the ECUs  30 ,  40  transmits the differential data of the node list and the link list thereof at a predetermined timing. Thus, the amount of data in the network NW can be reduced further than when each of the ECUs  30 ,  40  transmits, to the ECU  50  at a predetermined timing, a vehicle data subgroup that is the handled data thereof. 
     Third Embodiment 
     Hereinafter, a third embodiment will be described with reference to the drawings based on differences from the first embodiment. 
       FIG. 8  illustrates a system configuration according to the present embodiment. In the present embodiment, the vehicle  10  not only has the same configuration as in  FIG. 1  but also can communicate with an ECU  100  outside the vehicle through a public network PL and can communicate with an in-house communication hub  92  of a house  90 . 
     The in-house communication hub  92  can communicate with various devices (house system  80 ) disposed in the house  90 . The in-house communication hub  92  can communicate with a portable communication terminal  94  such as a multifunctional portable telephone that is carried by a resident in the house  90 . 
     The house system  80  includes a house security system  81  that monitors the state or the like of a lock of the house  90 , an in-house power generation, power supply and hot water supply facility  82  that generates power, controls supply of power from a system power source, and controls heating and storage of water, an in-house robot  83  such as a cleaning robot, a wearable robot, or a talking robot, and a cooling and heating facility  84 . In addition, the house system  80  includes an audio and visual device  85 , a personal computer  86 , and an illumination  87 . 
     The ECU  100  can communicate not only with the vehicle  10  but also with the in-house communication hub  92  and the portable communication terminal  94  through the public network PL. The ECU  100  includes a CPU  102 , a ROM  104 , and a storage device  106 . The storage device  106  is an electrically rewritable non-volatile storage device. 
     The ECU  100  generates prediction data including a node list and a link list based on a vehicle data group and a data group of the house system  80  and executes a transition prediction process and a command generation process based on the prediction data. 
       FIG. 9  illustrates a procedure of a prediction data storage update process for the transition prediction process. The process illustrated in  FIG. 9  is realized by the CPU  102  repeatedly executing a program stored in the ROM  104  at predetermined cycles. In  FIG. 9 , processes corresponding to the processes illustrated in  FIG. 2  will be designated by the same reference signs and will not be described for convenience. 
     In the series of processes illustrated in  FIG. 9 , first, the CPU  102  acquires a vehicle data group output by the vehicle  10  and a house data group that is the data group of the house system  80  output by the in-house communication hub  92  (S 10   a ). The house data group includes a plurality of types of data related to the devices of the house system  80 . The CPU  102  executes a process of alignment the vehicle data group and the house data group acquired at the same time in a batched manner as in the process of S 12  in  FIG. 2  (S 12   a ). The CPU  102  executes the same processes as the processes of S 14  to S 30  in  FIG. 2  on the acquired and aligned data groups. 
       FIG. 10  illustrates a procedure of the transition prediction process that uses the prediction data generated by the process in  FIG. 9 . The process illustrated in  FIG. 10  is realized by the CPU  102  repeatedly executing a program stored in the ROM  104  at predetermined cycles. In  FIG. 10 , processes corresponding to the processes illustrated in  FIG. 6  will be designated by the same step numbers and will not be described for convenience. 
     In the series of processes illustrated in  FIG. 10 , the CPU  102  acquires the vehicle data group and the house data group when the process of S 40  is completed (S 42   a ). The CPU  102  executes the same processes as the processes of S 44  to S 50  in  FIG. 6  and then, appropriately executes the command generation process by executing a process of making an inquiry to the user (S 52   a ). Hereinafter, the command generation process when the inquiry process is executed will be illustrated. 
     Data of the cooling and heating facility  84  of the house system  80  and data of the air-conditioning device in the vehicle  10  are illustrated as belonging to the same category. In such a case, for example, in winter, the number of observations of a transition from a node having data that switches to a heating OFF state in the house system  80  to a node in which the air-conditioning device of the vehicle  10  is operated into a heating ON state is increased. Accordingly, when the CPU  102  detects the node having the data that switches to the heating OFF state in the house system  80 , the CPU  102  can generate a command for placing the air-conditioning device into the heating ON state for the vehicle  10  and output the command to the vehicle  10  through the in-house communication hub  92 . 
     The CPU  102  transmits a signal to the portable communication terminal  94  before actually outputting the command for controlling devices, in order to make an inquiry as to whether or not to actually execute control. In such a case, the CPU  102  actually outputs the command for controlling devices on the condition that the user permits execution of control in response to the inquiry by using the portable communication terminal  94 . 
     Fourth Embodiment 
     Hereinafter, a fourth embodiment will be described with reference to the drawings based on differences from the third embodiment. 
       FIG. 11  illustrates the vehicle  10  and the house  90  according to the present embodiment along with a block diagram of a part of processes thereof. In  FIG. 11 , members corresponding to the members illustrated in  FIG. 8  will be designated by the same reference signs for convenience. 
     The present embodiment does not have a category in which a vehicle data group and a house data group are mixed. In the vehicle  10 , the signing processing unit M 30  is realized by the CPU  52  executing a program stored in the ROM  54 , and the signing processing unit M 30  executes the process in  FIG. 2 . Differential data that is related to a node list and a link list stored in the storage device  56  and is updated for a predetermined period of time is output to the ECU  100  from the vehicle  10  through the public network PL. The data update processing unit M 32  in the ECU  100  updates node data and link data of a category that is related to the vehicle  10  and is stored in the storage device  106 , based on the differential data transmitted from the vehicle  10 . The signing processing unit M 30  in the ECU  100  defines a node from the house data group, generates a node list and a link list, and stores the node list and the link list in the storage device  106 . 
     The transition prediction processing unit M 34  is realized by the CPU  102  executing a program stored in the ROM  104 . The transition prediction processing unit M 34  performs a process of predicting a transition of a node for each category belonging to the vehicle  10  and each category belonging to the house  90 , based on the node list and the link list stored in the storage device  106 . The command generation processing unit M 36  is realized by the CPU  102  executing a program stored in the ROM  104 . The command generation processing unit M 36  generates a command for devices in the house system  80  and devices of the vehicle  10  based on the predicted node and outputs the command to the house system  80  and the vehicle  10 . 
     Fifth Embodiment 
     Hereinafter, a fifth embodiment will be described with reference to the drawings based on differences from the fourth embodiment. 
     When a category in which a vehicle data group and a house data group are mixed does not exist as in the fourth embodiment, categories can be more easily designed than when a mixed category exists. However, a transition from any one of a node defined from the house data group and a node defined from the vehicle data group to another cannot be predicted. Therefore, the present embodiment defines an inter-category node by a set of node IDs of each category and defines a transition of the inter-category node by an inter-category link. 
       FIG. 12  illustrates an inter-category node list and an inter-category link list. The inter-category node list and the inter-category link list are stored in the storage device  106 . As illustrated in  FIG. 12 , the inter-category node list is data that defines an inter-category node by a combination of node IDs for each of the categories X, Y, Z, . . . , and has the number of observations of the inter-category node. The inter-category link list is data that defines a transition from one of a pair of time-series successive inter-category nodes to another and has the number of observations of the link. The inter-category node list and the inter-category link list are generated by the CPU  102  by the same process as a process of generating a node list per category and a link list per category. 
     The number of observations of the inter-category node and the number of observations of the inter-category link are increased more slowly than the number of observations of the node per category and the number of observations of the link per category. Thus, a transition prediction process that uses the inter-category node list and the inter-category link list may be executable later than a timing when the transition prediction process using the node list per category and the link list per category is executable. However, by generating the inter-category node list and the inter-category link list, prediction that cannot be performed with the node list per category and the link list per category can be performed when the number of observations is increased in the inter-category node list and the inter-category link list. 
     Sixth Embodiment 
     Hereinafter, a sixth embodiment will be described with reference to the drawings based on differences from the third embodiment. 
       FIG. 13  illustrates the vehicle  10  and the house  90  according to the present embodiment along with a block diagram of a part of processes thereof In  FIG. 13 , members corresponding to the members illustrated in  FIG. 8  will be designated by the same reference signs for convenience. 
     The present embodiment is different from the third embodiment in that the ECU  100  is included in the house  90  and in that the ECU  100  communicates with the public network PL or the like through the in-house communication hub  92 . 
     Seventh Embodiment 
     Hereinafter, a seventh embodiment will be described with reference to the drawings based on differences from the fourth embodiment. 
       FIG. 14  illustrates the vehicle  10  and the house  90  according to the present embodiment along with a block diagram of a part of processes thereof In  FIG. 14 , members corresponding to the members illustrated in  FIG. 11  will be designated by the same reference signs for convenience. 
     The present embodiment is different from the fourth embodiment in that the ECU  100  is included in the house  90  and communicates with the public network PL or the like through the in-house communication hub  92 . 
     Eighth Embodiment 
     Hereinafter, an eighth embodiment will be described with reference to the drawings based on differences from the first embodiment. 
     The first embodiment generates a node list and a link list while acquiring a vehicle data group in order. In addition to the node list and the link list that are postliminarily generated, a fixed node list that is a preset node list, and a fixed link list that is a preset link list are stored in advance in the storage device  56  in the present embodiment. 
       FIG. 15A  illustrates the fixed node list, and  FIG. 15B  illustrates the fixed link list. As illustrated in  FIG. 15A  and  FIG. 15B , the fixed node list represents a fixed node ID, a combination of vehicle data that defines a node specified by the fixed node ID, and the values of the vehicle data. The fixed link list is data in which one fixed node ID is set as a start point node ID and in which an issued command parameter is set. 
     In the present embodiment, the number of types of vehicle data defining a node specified by the fixed node ID is not equal to the number of types of vehicle data defining a node in each category and is smaller than the number of types of vehicle data defining a node in each category. The reason is because the number of types of data defining a node per category is greater than the number of types of data used for specifying a state where a process specified by the issued command parameter is executed. 
       FIG. 16  illustrates a procedure of a transition prediction process and a command generation process according to the present embodiment. The process illustrated in  FIG. 16  is realized by the CPU  52  repeatedly executing a program stored in the ROM  54  at predetermined cycles. In  FIG. 16 , processes corresponding to the processes illustrated in  FIG. 6  will be designated by the same step numbers and will not be described for convenience. 
     In the series of processes illustrated in  FIG. 16 , when the process of S 44  is completed, the CPU  52  executes processes of S 60  to S 64  for each node of the categories specified by the process of S 44 . That is, first, the CPU  52  determines whether or not the node per category is registered in a node ID conversion list described below (S 60 ). When the CPU  52  determines that the node is not registered (NO in S 60 ), the CPU  52  determines whether or not there is a fixed node that partially matches the node per category specified by the process of S 40  among the fixed nodes defined in the fixed node list (S 62 ). Partial matching between the specified node and the fixed node means that, for example, when there are N types of data that defines the fixed node, the value of data defining the fixed node matches the value of data defining the specified node for each of the N types of data. 
     When the CPU  52  determines that there is no fixed node that partially matches the node per category specified by the process of S 40  (NO in S 62 ), the CPU  52  transitions to the process of S 46 . When the CPU  52  determines that there is a fixed node that partially matches the node per category specified by the process of S 40  (YES in S 62 ), the CPU  52  registers, in the node ID conversion list illustrated in  FIG. 15C , the node that partially matches the specified node (S 64 ). As illustrated in  FIG. 15C , the node ID conversion list represents a node ID per category that partially matches a fixed node defined by a fixed node ID. The partially matching node ID per category that is associated with the fixed node may exist in plural number. 
     Returning to  FIG. 16 , when the CPU  52  completes the process of S 64  or makes a positive determination in the process of S 60 , the CPU  52  determines whether or not the command parameter in the fixed link list requests making an inquiry to the user (S 66 ). When an inquiry to the user is requested (YES in S 66 ), the CPU  52 , for example, outputs an audio signal from the speaker  61  to make an inquiry to the user as to whether or not to execute a predetermined process (S 68 ). When the user permits execution of the predetermined process in response to the inquiry (YES in S 70 ), or when the CPU  52  makes a negative determination in S 66 , the CPU  52  generates a command based on a command link list (S 72 ). The response from the user can be confirmed based on, for example, an output signal of the audio sensing device  62 . 
     When the CPU  52  completes the process of S 72  or makes a negative determination in S 70 , the CPU  52  temporarily terminates the series of processes illustrated in  FIG. 16 . An action of the present embodiment will be described. 
     Suppose that, for example, a phenomenon in which the user erroneously operating the shift lever does not select a drive position and causes the vehicle to travel at a low gear continues accidentally. Then, when a node is predicted in accordance with the link list per category, the transmission device may be shifted to the low gear in the command generation process of S 52  at the time of the user taking on the vehicle  10  and placing the vehicle in a state capable of traveling. A fixed node is defined by, for example, a state where the transmission device is in a parking position and where the vehicle  10  is in a state capable of traveling. The fixed link list associates the fixed node with a command parameter that causes making an inquiry “shift to the drive position?” to the user and then receiving permission and shifting the transmission device to the drive position. Accordingly, when the vehicle  10  is switched to a state capable of traveling, an audio signal saying “shift to the drive position?” is output to the user from the speaker  61 . Thus, erroneous prediction due to an accidental behavior of the user can be reduced. 
     Suppose that, for example, the user always closes windows when the user takes out of the driving seat and moves away from the vehicle  10  in a state where an object having a weight of a level causing reaction of the seat presence sensor is placed on the rear seat. Then, a state where the windows are closed is predicted when the user takes out of the driving seat, even when a person is actually sitting on the rear seat. A fixed node is specified by, for example, a state where the outside air temperature is higher than or equal to a predetermined temperature, where the seat presence sensor of the rear seat reacts, and where the vehicle is locked in a state where the seat presence sensor of the driving seat does not react. In such a case, a command for opening the windows and making an alert is generated. Accordingly, for example, a situation in which all windows are closed with a person sitting on the rear seat under the scorching sun is reduced. 
     The fixed node also enables dealing with an instruction that is not provided in time in a usual situation. That is, assume that, for example, the audio sensing device  62  senses an audio signal saying “close the window”, that the CPU  52  outputs an instruction based on the audio signal to the ECU  40  of the body system  22  to operate a power window, and that the user feels that the opening degree of the window is appropriate and says “stop” when the window is being closed. In such a case, the CPU  52  may recognize the word based on an audio recognition dictionary and then output an instruction to the ECU  40  to stop the operation of closing the window. However, the instruction may not be provided in time. When a fixed node is specified by a state where a control that closes the window is executed and where the audio sensing device  62  senses audio, and when the fixed node is associated with a command for stopping closing of the window, the audio “stop” said by the user can be dealt with promptly. 
     The CPU  52  and the ROM  54  in  FIG. 1 , the CPUs  32 ,  42 ,  52  and the ROMs  34 ,  44 ,  54  in the embodiment illustrated in  FIG. 7 , the CPU  102  and the ROM  104  in  FIG. 8 , and the CPUs  52 ,  102  and the ROMs  54 ,  104  in  FIG. 11  function as a processor. The storage device  56  in  FIG. 1 , the storage devices  36 ,  46 ,  56  in  FIG. 7 , the storage device  106  in  FIG. 8 , and the storage devices  56 ,  106  in  FIG. 11  function as a storage device. The processes of S 10  to S 30  in  FIG. 2  are the example of a storage update process. The ECU  50  in  FIG. 1 , the ECUs  30 ,  40 ,  50  in  FIG. 7 , the ECU  100  in  FIG. 8 , and the ECUs  50 ,  100  in  FIG. 11  function as a prediction data generation device. The ECU  30  and the ECU  40  function as a first control device and a second control device. The process of the data update processing unit M 32  and the process of signing processing unit M 30  in each of the ECUs  30 ,  40 ,  50  in  FIG. 7  are the example of a storage update process. The processes of S 42  to S 50  are the examples of a transition prediction process. The fixed node list in  FIG. 15A  and the fixed link list in  FIG. 15B  are examples of association information. The process of S 72  is an example of a fixed command process. 
     Other Embodiments 
     At least one of the matters in the embodiments may be changed as follows. 
     Node Registration Process 
     When a node that is specified based on the acquired data group is not yet registered, the node is registered in the node list in order in the embodiments. However, the disclosure is not limited thereto. For example, the node may be registered in the node list when the period of time that the node lasts is longer than or equal to a predetermined period of time. In such a case, when the period of time that the node lasts is shorter than the predetermined period of time, the node may be discarded. Alternatively, the node may be queued in a sublist and then may be registered in the node list when, for example, at least one of a transition source and a transition destination of the node exists in plural number. 
     Transition Prediction Process 
     The transition prediction process that sets the current node as a start point node and predicts other nodes of a transition destination from the start point node is not limited to the transition prediction process illustrated in the embodiments. For example, without reference to the number of observations of nodes, a candidate node that has the largest number of observations of a link thereto among candidate nodes reached by a predetermined number of transitions in accordance with transitions defined by the link list from the start point node may be predicted to be the transition destination. When the number of observations of nodes is not used, the number of observations of nodes may not be included in the prediction data. 
     Alternatively, for example, a candidate node that has the largest average value of the number of observations per transition thereto among candidate nodes reached by transitions made each number of times from once to a predetermined plurality of times in accordance with transitions defined by the link list from the start point node may be predicted to be the transition destination. The average value of the number of observations of transitions is a value that is acquired by dividing the total of the number of observations of each link determining transitions from the start point node to the candidate node by the number of transitions. For example, when a pair of candidate nodes having the same average value is generated, a candidate node that has a relatively larger number of observations may be set as a predicted node of the transition destination. 
     The transition prediction process uses the number of observations of links. However, the disclosure is not limited thereto. For example, a node at which the average value of the number of observations of each node from a node subsequent to the start point node to the end point node is the largest among nodes reached by transitions made each number of times from once to a predetermined plurality of times in accordance with transitions defined by the link list from the start point node may be predicted to be the node of the transition destination. Such a process considers the case of passing a node having a relatively large number of observations to occur more likely than the case of passing a node having a relatively small number of observations. When the number of observations of links is not used, the number of observations of links may not be included in the prediction data. 
     The transition prediction process may include, for example, a process of setting, in advance, a candidate node that is different from the current node and may be a target node of the command generation process. The process can be realized by determining a predicted node such that a node that has the largest average number of observations of links thereto is specified after excluding a candidate node from which the current node is not reached when transitions defined in the link list are reversely made, and a candidate node that turns to another candidate node during the reverse transitions. 
     Command Generation Process 
     The embodiments set target devices of the command generation process in advance and generate a command for making a transition to a state represented by a predicted node on the condition that the current state of the set device is different from the state represented by the predicted node. However, the disclosure is not limited thereto. For example, non-target devices of the command generation process may be set in advance, and the command for making a transition to the state represented by the predicted node may be generated on the condition that the current state of a non-set device is different from the state represented by the predicted node. The list of target devices may not be stored in the ROM  54  and may be stored in, for example, the storage device  56 . 
     When, for example, data of a device that is not desired to be the target of the command generation process is not included in data constituting a node, target devices of the command generation process or non-target devices of the command generation process do not have to be determined in advance as a list. 
     The command generation process generates a command for switching to an operating state of a device defined by the predicted node when there is a difference in the operating state of the device operated by the user between the predicted node and the current node. However, the disclosure is not limited thereto. For example, the user may be supported to operate the device into the state of the device represented by the predicted node when there is a difference in the operating state of the device operated by the user between the predicted node and the current node. Such a support can be realized by increasing the probability of determining that a word or a sentence of an instruction to reproduce a radio program among words or sentences in the audio recognition dictionary matches audio data sensed by the audio sensing device  62 , when, for example, the predicted node represents a state of performing a reproduction process for the radio program and when currently the reproduction process for the radio program is not being performed. Such a process of recognizing the intention of an input operation provided by the user also includes a gesture recognition process that is based on an output signal of the image sensing device  65 . The gesture recognition process can be performed in the same manner. 
     The command generation process makes a transition to the state represented by the predicted node when there is a difference in the operating state of the device operated by the user between the state represented by the predicted node and the current node. However, the disclosure is not limited thereto. For example, when a transition to a node in which the temperature of the refrigerant in the cooling circuit is excessively increased is observed a number of times in a state where the outside air temperature is higher than or equal to a predetermined temperature and where a predetermined amount or more of a load is detected in the trunk, the temperature of the refrigerant can be predicted to be excessively increased by a node that represents a state where the outside air temperature is higher than or equal to a predetermined temperature and where a predetermined amount or more of a load is detected in the trunk. In such a case, for example, the ECU  30  may change gain of a refrigerant circulation control in the cooling circuit based on the prediction. When such a control is executed, data that corresponds to the operating state of the device operated by the user may not be included in a data subgroup constituting a category. 
     Prediction Data Generation Device 
     The prediction data generation device is not limited to the prediction data generation device illustrated in each of the embodiments. For example, when the vehicle data subgroup handled by the ECU  30 , the vehicle data subgroup handled by the ECU  40 , and the vehicle data subgroup handled by the ECU  50  are classified into different categories, the ECU  30  and the ECU  40  may assign a timestamp to data that is acquired at the same time in the vehicle data subgroups belonging to the corresponding categories, and may store the data. In such a case, the data stored by the ECU  30  and the ECU  40  may be transmitted to the ECU  50  through the network NW when the vehicle  10  is placed into a state incapable of traveling by switching OFF the switch that places the vehicle  10  into a state capable of traveling. In such a case, the CPU  52  can perform a process corresponding to the process illustrated in  FIG. 2  to update the node list and the link list of the category corresponding to the ECU  30  and the category corresponding to the ECU  40  and stored in the storage device  56 . 
     The prediction data generation device may not be configured with, for example, the ECU  50  of the multimedia system in the vehicle  10  as in the first embodiment. The prediction data generation device may be configured with a dedicated ECU that is different from any ECU illustrated in  FIG. 1  and handles the prediction data. 
     Data Group 
     For example, data related to road information or the like for traveling of the vehicle  10  or data related to time may be included in the data group used for specifying a node. 
     Inquiry Process 
     The embodiments execute the inquiry process by using audio guidance with an audio signal. However, the disclosure is not limited thereto. For example, the inquiry process may be executed with a head-up display by displaying visual information as to the content of an inquiry as a virtual image in front of a windshield. Permission of the user in response to the inquiry process may not be provided as an audio input operation. For example, permission of the user may be provided as a gesture input operation to the image sensing device  65  or as an input operation on the touch panel  64 . 
     Vehicle Control Device 
     The configuration illustrated in  FIG. 14  may be changed such that the process of the command generation processing unit M 36  is executed by the CPU  52  or the like in the vehicle  10 . In such a case, the ECU  100  performs the process of the command generation processing unit M 36  that is related to the house  90 . 
     Processor 
     While the embodiments illustrate a ROM as the program storage constituting the processor and do not describe the type of ROM, the program storage may be, for example, a non-rewritable memory or may be, for example, an electrically rewritable non-volatile memory. 
     The processor is not limited to a software processing circuit that includes a program storage such as a ROM storing a program and a CPU executing the program. The processor may be a dedicated hardware circuit such as an ASIC that executes a predetermined process. Furthermore, the processor may be configured to include both a software processing circuit and a dedicated hardware circuit. Such an processor can be realized by, for example, including a dedicated hardware circuit that executes the process of  FIG. 2 , and a dedicated software processing circuit that executes the process of  FIG. 6 . 
     Storage Device 
     The storage device of the prediction data is not limited to an electrically rewritable non-volatile storage device. For example, the storage device may include both a non-volatile memory and a volatile RAM. In such a case, for example, the RAM may store data when the data update process is executed, and the data stored in the RAM may be stored in the non-volatile memory before a main power source of the ECU is placed into an OFF state. The storage device may be a backup RAM to which supply of power is maintained even when the main power source of the ECU is placed into the OFF state. In such a case, the storage device desirably includes, for example, a power storage device that can maintain supply of power to the RAM across a battery replacement period. 
     Others 
     Control units in the vehicle  10  are not limited to the control units illustrated in  FIG. 1 . For example, a control unit that performs a process for traveling safety may be additionally included. Alternatively, for example, the ECU  30  of the powertrain chassis system  20  may be divided into an ECU of a powertrain system, an ECU of a steering system, and other ECUs. 
     For example, the process of S 12  may be removed when the process of S 10  in  FIG. 2  is a process of acquiring one vehicle data group. Similarly, the process of  512   a  may be removed when the process of  510   a  in  FIG. 12  is a process of acquiring one vehicle data group and one house data group. 
     For example, as illustrated in  FIG. 8 , when the ECU  100  in the center outside the vehicle  10  or the house  90  generates the prediction data, the ECU  100  may use data that associates the house  90  with the vehicle  10  of the user of the house  90 . When, for example, data that is related to the position of the vehicle  10  is used, a correlation between the vehicle  10  and the house  90  related to the same user can be acquired based on position data including a position where the vehicle  10  is parked at night or the like, even when the center handles data of a plurality of the vehicles  10  or a plurality of the houses  90  and does not have information that specifies the vehicle  10  and the house  90  related to the same user. 
     The fixed node list or the fixed link list may have the number of observations of nodes or links. In such a case, information related to the number of occurrences or the like of the fixed node can be acquired.