Department of Computer and Information Science, Faculty of Science and Technology, University of Macau
Abstract : Data postprocessing is a procedure primarily to increase the generalization of the mathematical model induced from a training data set. Since an induced mathematical model is only subject to a specific engine model, e.g., B16A, it cannot accurately predict results to other engine models, e.g., B18C, even though these engine models are highly similar. To resolve this situation and save our work, CBR
(case-based reasoning) is employed. Its main purpose aims to adapt the B16A’s camshaft settings, in order to fit the B18C’s problems. Under this methodology, the expensive cost, in time and labor and expenditure, of estimating the mathematical model for B18C can be saved. To verify our methodology, dynamometer (dyno) tests on B18C with camshaft settings adapted by CBR are performed. The results are shown in the paper.
Key words: Automotive engine setup, CBR, Data postprocessing
In [6], mathematical models about engine performance can be induced from a set of engine camshaft data.
The models are tested and verified to work well. However these models are limited to a specific application of engine model, e.g., Honda B16A, a world famous 1.6L DOHC VTEC engine. Whenever we want to configure the camshaft setting for another analogous engine, e.g., Honda B18C, which is a
1.8L DOHC VTEC engine, the results cannot be directly applied.
One may suggest that performing the modelling and optimization framework in [6] again and then the mathematical models for B18C can be obtained. Nevertheless, some difficulties arise basically due to expenditure and labor work. Firstly, several pairs of camshaft for B18C must be purchased and each pair costs around 800USD. In addition, a car equipped with B18C engine is also necessary for data acquisition and testing. Such a car is at least 6000USD. Secondly, another set of 300 dyno data must be acquired. As acquiring one dyno test takes about 30 minutes, acquiring 300 dyno data can at least take half a year.
Thirdly, experienced mechanics must be employed to exchange the camshafts, setting the engine valves after each adjustment or modification of the camshafts. Fourthly, other consumables such as fuels, spark plugs, and spare parts are mandatory. From the above points, we can see that estimating another set of mathematical models for a highly similar engine is not cost-effective.
Hence, CBR is employed. CBR is an ad-hoc (or lazy) learning method, which is effective and useful in domains where similar problems take place frequently. This matches the characteristics of our situation, where similar camshaft settings for B16A are reviewed and modified to become a new camshaft setting for other similar engines such as B16B, B17A, B18C, B20B, and H22A.
In our experiment, we choose B18C as the test bed because it is more popular and can be easily borrowed
in our place. At last, the verification of our proposed methodology is presented by comparing the B18C performances using normal camshaft setting, and a setting adapted from B16A optimal camshaft setting.
Case-Based Reasoning (CBR) [1, 2, 3, 4] is a reasoning paradigm based on psychological theories of human cognition. It rests on the intuition that human expertise depends mainly on experiences. Human experts differ from novices in their ability to relate problems to previous ones, to reason based on analogies between current and old problems, to use solutions from old experiences, and to recognize and avoid old errors and failures. CBR relies on past case history, striving to find a similar previously realized case for a new problem. This well-tried anthropomorphic approach to problem solving is facilitated by
CBR.
A case is an instance defined over the scheme for a specific domain, mainly separated into two parts: problem and solution. Once a suitable old solution tied to the new context can be found, such a verified solution is suggested for reuse by CBR.
CBR is constituted with four RE’s [2, 3]:
Retrieve –– retrieve similar past case matched against current problem
Reuse –– reuse adaptation knowledge to solve current problem based on the solution of an existing case.
Revise –– revise the newly generated solution for the current problem if any contradiction occurs when applied to current problem.
Retain –– retain the final solution along with the problem as a case if the case is useful in the future.
Figure 1 illustrates the whole process of CBR. When the user inputs a problem, the problem is interpreted and converted as a new case into the specific format of the reasoning system. Then the converted new case enters the stage of RETRIEVAL where the new case is matched against the previous cases in the case library of the reasoning system according to a predefined similarity function. The retrieved case and the new case are both passed to next stage REUSE where the solution part of the retrieved case is applied to the new case, with the guidance of adaptation knowledge. After this stage, an adapted solution based on the retrieved case is ready for the new case.
This adapted solution is considered as a suggested solution, which is still incomplete, because it is adapted according to the requirement of the new case and this solution may have inconsistency among its solution parts. To ensure the adapted solution is consistent, it will be passed to next stage REVISE, where the adapted solution will be further modified based on the user feedback and additional meta-adaptation knowledge. This final adapted solution is then returned as a confirmed solution to the new case but this does not come to an end. Not all newly derived cases, however, are necessarily put into the case library.
Human beings only memorize the experience (or meta-experience) that can help reasoning in the future
and CBR should behave the same. Then CBR should only store the cases that can contribute to the future reasoning of solutions, which cannot be done by only the current cases in the case library. In other words, if the cases in the case library are capable enough to cover the newly adapted solution, this new solution should not be stored in order to avoid inconsistency and redundancy. Otherwise, the new solution should be stored in the case library for future use and the case considered as being able to contribute in the future is called “Learned case”. This leads to the final stage of CBR –– RETAIN.
New
Case
Learned
Cases
RETRIEVE
RETAIN
Previous Cases
Retrieved
Case
New
Case
Tested or
Repaired
Case
Adaptation
Knowledge
REUSE
REVISE
New
Case
Confirmed Solution
Suggested Solution
Figure 1 . Reasoning cycle of CBR
In the retrieval stage of CBR, a simple similarity function is usually employed to find the nearest neighbor for the current problem from the reference cases [5]:
E
f
I
f
R
W
n i
1 w i
sim
n i
1 w i f i
I
f i
R
where w i
is the importance of i th attribute, sim is the similarity function for primitives, and, f i
I and f i
R are the values for feature f i
in the input and retrieved cases, respectively.
The user could freely design the sim function but mostly this function could employ the Euclidean distance function and turns (1) into
E ( f I , f R , W )
n i
1 w i
( f i
I
Range ( f i
R f i
n i
1 w i
)
)
2
In case symbolic features are encountered, f i
I f i
R
0 if
1 if f i f i
I
I
f f i i
R
R
where Range ( f i
) = the range of the i th feature. It is used to normalize the difference and ensures the difference lies on the range [0,1]. For symbolic features, Range ( f i
) = 1.
In [6], we know that an optimal camshaft setting x opt
for a B16A can be found using GA to which constraint information and objective function are supplied: the weight vector for engine torque w , the weight vector for engine horsepower w * , and the estimated objective function P ( x ). Hence under different constraints of w and w * , different x opt
are produced ( Figure 2 ). Together these three elements constitute the case base of B16A where ( w ; w * ) is the problem part of a case while x opt
the solution part, i.e., a case is defined as c = ( w ; w * ; x ).
B16A
Data
Obj.
Function
Optimization
( w ; w * )
Figure 2 . Acquisition of cases for camshaft setting
Suppose we want to find the optimal camshaft setting y opt for a B18C under weight vectors z , z * of torques and horsepower respectively, we could consider ( z ; z * ) as the new problem. Using (2) to compute the similarities among ( z ; z * ) and all ( w ; w * ) in the case base, the most similar case c best
= ( w best
; w * best
; x opt, best
) is retrieved ( Figure 3 ).
This camshaft setting x opt, best
provides highest performance for B16A according to ( w best
; w * best
). For
B18C, the solution y opt
is derived from x opt, best
by applying expert adaptation knowledge according to the differences between ( w best
; w * best
) and ( z ; z * ). For example, if w best, 2000
= 3 and z
2000
= 2, they differ by diff
1000
= -1. Based on this difference with respect to rpm and predefined expert knowledge on transforming camshaft features from B16A to B18C. Then y opt
= adapt( x opt, best
, diff rpm
, operators
B16_to_B18
) can be obtained ( Figure 3 ).
w best w * best
opt,best
z z
*
opt
Figure 3 . Retrieval and Adaptation for camshaft setting
Although y opt
can be automatically obtained as mentioned in previous subsection, it may not satisfy the user. At this situation, the user may modify y opt
as y * opt
according to his opinion. Another possible situation is that the retrieved case from B16A does not fit for adaptation well. The user can then select another retrieved case for adaptation.
Now a new solution is adapted as y opt
. This new solution along with the problem part is considered as a camshaft setting ( z ; z * ; y opt
) for B18C. If this setting is verified to perform well by running the car on a dyno, it should be retained for future use. Before retaining the case, it should be checked that the case does not appear in the case base to ensure no occurrence of redundancy.
A program is implemented using Delphi 7.0 under MS Windows XP. The most difficult part in CBR is usually the ‘reuse’ phase where adaptation knowledge is required. In order to capture the adaptation knowledge, we have consulted two automotive engineers about which features and how they are modified based on the differences of the weight vectors. Figure 4 depicts the simple structure of the adaptation knowledge.
4.1
Schema of Engine Camshaft
For a better and concrete representation of an engine camshaft, a set of important features has been defined based on an automotive engineer. The schema is shown as follows:
1.
Head Gasket Thickness: in mm.
2.
Dome Volume: in cc.
3.
Cam Duration Intake: time, in milliseconds.
4.
Cam Duration Exhaust: time, in milliseconds.
5.
Intake Opens: the angle, in degrees.
6.
Intake Closes: the angle, in degrees.
7.
Exhaust Opens: the angle, in degrees.
8.
Exhaust Closes: the angle, in degrees.
4.2
Representation of Adaptation Knowledge
The adaptation knowledge is in fact a rule. This rule governs the modification of the solution part of the retrieved most similar case. In details, the adaptation rules can be categorized into two: Substitutional and
Transformational . In short, substitution is the process of choosing and installing a replacement for some part of an existing solution. Transformation is another method to compensate the inability of adding to or removing items from an existing solution to become a new solution, another kind of adaptation method.
In our application domain, only substitutional adaptation is employed because no modification on definition of case attributes is necessary.
For substitutional adaptation, a rule consists of several operators which are formatted as follows:
Operation Feature Ratio/ Value name Value
Table 1. Format of adaptation operator
“Operation” means one of the following:
substitute
add
minus
multiply
divide
“Feature name” means the name of the feature for modification in the case
“Ratio/Value” are the operands used for the operation
“Value” means the value to replace the original if the operator is substitute ; otherwise it should be equal to nil , to indicate that it is of no use to the current operation.
For example, if RPM = 2000, a rule like “Rule 1+” in Figure 4 means the set of adaptation operators to be employed, when the input torque weight z
2000
is 1 greater than the retrieved torque weight w
2000
. This set of adaptation operators is in the form as explained above. Of course, detailed values and features for modification can only be determined from domain experts. For retrieval efficiency and management, the adaptation knowledge is usually implemented and saved in another database.
As discussed in section 3.3, the target solution y opt
is obtained by adaptation based on diff rpm
and some other operators from B16A to B18C. The handling of weights difference diff rpm
has been discussed in previous paragraph. In addition to the adaptation knowledge for feature difference, another important set of adaptation knowledge is necessary. This additional set of adaptation knowledge indicates how to modify the B16A cases into B18C cases. As the knowledge is subject to adaptation as well, its format is the same as usual adaptation operators. Again, the contents are to be filled according to domain experts and saved in another database.
4.3
Verification
For testing the validation of CBR, we have tried 20 times of the above process to adapt a B16A camshaft
setting to a B18C camshaft setting, under different weights for torque and horsepower. After applying these adapted camshaft settings, the car with the B18C is run on the dyno to see the effect. The results show that using the suggested camshaft setting from CBR can produce 4% higher performance in average.
RPM 2000 3000 4000 5000 6000 7000 8000
Torque weights w 3 4 8 10 9 8 8
Torque weights z 2 6 10 10 9 7 8
Figure 4 . Structure of Adaptation Knowledge (Rules)
CBR is employed as a postprocessing tool for a general modelling and optimization framework in automotive engineering. Configuration of camshaft is used as the test bed. In our experiment, B16A is chosen as the testing engine. The optimization framework firstly suggests a set of optimal camshaft settings for B16A based on different torque and horsepower weights. This set of optimal camshaft settings is used as the case base for B16A camshaft settings. When a B18C camshaft setting is inquired, CBR performs its process in the case base in order to find out and adapt a solution for B18C. This procedure can greatly reduce the amount of expenditure in time, labor and money.
[1] Burke E.K., Qu R., Petrovic S. and McCarthy B., 2000. Structured cases in case-based reasoning - reusing and adapting cases for timetabling problems. Knowledge-Based Systems 13 , (2-3), 159-165.
[2] Gebhardt F., Vo
A., Gräther W. and Schmidt-Belz B., 1997. Reasoning With Complex Cases. Kluwer
Academic Publishers.
[3] Kolodner J., 1993. Case-Based Reasoning. Morgan Kaufman Publication, San Mateo, CA, U.S.A.
[4] Smyth, B., Keane, M., and Cunningham, P., 2001. Hierarchical case-based reasoning. IEEE
Transactions on Knowledge and Data Engineering, 13, 793-812.
[5] Vong C.M., 2000. Case-Based Reasoning and Adaptation in Hydraulic Production Machine Design.
Master Thesis, Faculty of Science and Technology, University of Macau.
[6] Vong C.M., 2004. Data preprocessing for Automotive Engine Tune-up. Accepted Paper in Symposium of Macau Applied Technology 2004, Macau.