**5. The negative selection algorithm**

After coding the patient data and selecting the initial data, which are given into account for the decision "operate", we can make a choice between two alternatives concerning the cure

1 3

*XYZ*

1 3 315

1

= 3.033) of *B* has the associated eigenvector *V* = (0.37, 0.92, 0.15). *V*

1 1 3 5

is composed of coordinates that are interpreted as the importance weights *w*1, *w*2, *w*3 sought

Let us rearrange the form of function *f* by adding the weights of importance to the vector code values. The new pattern of *f* is designed as *f*(*x y z*) = *w*1*x* + *w*2*y* + *w*3*z*. The function value yields the patient's characteristics given by a combination of codes stated for different

The patient vector *v* = (3, 1, 2) has the characteristics

Due to the physician's expertise we assume that we can operate patients who are characterized by codes of age equal to 1, 2 and 3, codes of *CRP* recognized as 0, 1 and 2 and codes of body weight determined as 1, 2 and 3. The minimal patient characteristics to be operated is thus *f* (101) 0.37 1 0.92 0 0.15 1 0.52 , whereas the maximal data characteristics, classifying the patient for the operation is given by *f* (323) 0.37 3 0.92 2 0.15 3 3.4 . We conclude that the patient who is capable to be operated should have the characteristics *f*(*x y z*) included in the interval [0.52, 3.4]. It is worth emphasizing that the decisions are made with respect to the decisive power of biological

We test *v* = (4, 2, 4). As *f* (4 2 4) 0.37 4 0.92 2 0.15 4 3.92 , which lies beyond the boundaries of the "operate" interval, then the patient with data *v* = (4, 2, 4) should not be operated. For vectors *v*1 = (3, 2, 2), *v*2 = (2, 0, 2), *v*3 = (3, 1, 3), *v*4 = (3, 1, 2) the decision will be

The flow chart, sketched in Fig. 3, will show the selection of vectors typical of the decision

The vectors *v*1, *v*2, *v*3 and *v*4 will be included in the experimental population of representative data strings for the positive decision of the operation. We intend to use them in the next part of the chapter, when discussing the action of the NS algorithm adapted to the operation model.

After coding the patient data and selecting the initial data, which are given into account for the decision "operate", we can make a choice between two alternatives concerning the cure

For priorities *Y CRP X age Z body weight* we determine the contents of *B* as

*X B Y Z*

**Example 3** 

for *X*, *Y*, *Z*.

symptoms. **Example 4** 

**Example 5** 

"operate".

made as "operate".

The largest eigenvalue (

*f* (312) 0.37 3 0.92 1 0.15 2 2.33 .

markers *age*, *CRP* and *body weight*.

**5. The negative selection algorithm** 

Fig. 3. The flow chart of the selection of "operate" type vectors

of gastric cancer patients. We intend to adapt the technique of an immunological algorithm based on the T cell behaviour. We use the negative selection algorithm NS proposed by Forrest (Forrest et al., 1997).

The goal of NS is to cover the non-self space with a set of detectors. For the sake of the surgery aim, already outlined in Section 2, the algorithm should lead to discrimination of the statements "operate" and "do not operate" provided that vectors characteristic of type "operate" are available. This assumption is motivated by the surgeon's intention to cure the patient from his/her cancer disease by making surgery if the patient's state allows accomplishing it. The patient data reports, which register his/her parameters in the case of operating, are clearly interpretable. However, the physician can have some doubts when he denies an operation for the patient. Therefore we have used the strings confirming the "operate" decision as the more convincing vectors in the entrance of NS.

We distinguish two steps in the surgery NS algorithm prepared on the basis of the general NS (Dasgupta & Nino, 2008; Engelbrecht, 2007; Forrest et al., 1997):


In the first step a set of detectors is generated. To accomplish this task we use as an input a collection of vectors found by the method of preparing "operate" strings, which have been discussed in Section 4. Candidate detectors that match any of the "operate" type vector

Selected Algorithms of Computational Intelligence in Gastric Cancer Decision Making 543

The vectors emerge the clinical data concerning elderly patients whose the *CRP*- values are not very high. The patients' weights are not radically deviated from normal standards either. Hence, they have been operated in conformity with the surgeon's determination.

We now wish to generate the set *D* of four detectors *d*1, *d*2, *d*3, *d*4 that should not match any

To measure the match grade between *vj* and candidates to be detectors we state, e.g., *r* = 2 in

We prove the next candidate *d* = (4, 3, 1) to make matches between *d* and each *vj*, *j* = 1,…,4,

All matches are false, which means that *d*1 = *d* is the first detector placed in *D*. The set of detectors now contains one element *d*1 = (4, 3, 1). We repeat the procedure until we

In the second phase of the algorithm we test data strings to organize them in either the "operate" type or in the "do not operate" type decisions. If the data vector matches any detector from *D* then the decision is made as "do not operate" (the non-self region). Otherwise, for all false matches between the data vector and *dk*, *k* = 1,…,4, we accept the

As all matches to detectors are false we conclude the performance of surgery (decision

of *vj*, *j* =1,…,4. At the beginning of the procedure *D* is an empty set.

Since *d* matches *v*3 and *v*4 then it cannot be classified as a detector.

We present *d* = (3, 1, 1) and check matches between *d* and each *vj*, *j* = 1,…,4, as

Step 2. *Introduction of random candidates to act as detectors* 

determine four detectors in set *D*. *D* is finally formed as

We introduce *v* = (3, 2, 3). The matches to detectors are determined as

*v*3 = (3, 1, 3), *v*4 = (3, 1, 2).

the *r*-contiguous bit matching rule.

match((3, 2, 2), (3, 1, 1)) is false, match((2, 0, 2), (3, 1, 1)) is false, match((3, 1, 3), (3, 1, 1)) is true, match((3, 1, 2), (3, 1, 1)) is true.

match((3, 2, 2), (4, 3, 1)) is false, match((2, 0, 2), (4, 3, 1)) is false, match((3, 1, 3), (4, 3, 1)) is false, match((3, 1, 2), (4, 3, 1)) is false.

*D* = {(4, 3, 1), (2, 3, 4), (4, 4, 1), (3, 4, 0)}.

Step 3. *Operation decision making*

operation (the self region).

"operate").

match((4, 3, 1), (3, 2, 3)) is false, match((2, 3, 4), (3, 2, 3)) is false, match((4, 4, 1), (3, 2, 3)) is false, match((3, 4, 0), (3, 2, 3)) is false.

in the form of

samples are eliminated whereas unmatched ones are kept. We adopt the *r*-contiguous bit matching rule for the patient data vectors as a measure of "the distance" between the "operate" type and the "do not operate" decision.

In the second step of NS the stored detectors, generated in the first stage, are used to check whether new incoming samples of patient data vectors correspond to the "operate" type or to the "do not operate" type. If an input sample, characterizing a patient, matches any detector then the patient should not be operated. When we cannot find a match between detectors and the incoming patient data vector it will mean that the decision about the surgery should be made. Figure 4 collects all steps of the surgery NS algorithm in the flow chart.

Fig. 4. The flow chart of the surgery NS algorithm
