II SEKCIJA. Algoritmai ir duomenų vizualizavimas

Size: px
Start display at page:

Download "II SEKCIJA. Algoritmai ir duomenų vizualizavimas"

Transcription

1 II SEKCIJA Algoritmai ir duomenų vizualizavimas

2 PERFORMANCE ANALYSIS FOR A NEW FUZZY β-nn CLASSIFIER Arūnas Lipnickas 1), Cosmin Dănuţ Bocănială 2), José Sa da Costa 3) 1) Kaunas University of Technology, Department of Control Technology Studentų 48, Kaunas 3031, Lithuania, arunas.lipnickas@ktu.lt. 2) University Dunărea de Jos of Galati, Computer Science and Engineering Dept. Domneasca 4 Galati 6200, Romania, Cosmin.Bocaniala@ugal.ro. 3) Technical University of Lisbon, Instituto Superior Tecnico, Dept. of Mechanical Engineering, GCAR/IDMEC Avenida Rovisco Pais, Lisbon 1096, Portugal, sadacosta@dem.ist.utl.pt. Abstract. In this paper, the performance of a new fuzzy classifier, here called fuzzy β-nn, has been analyzed. The classifier classifies data according to the fuzzy membership values of the reference set inside the prespecified radius β. Members of the reference set outside the radius β have no influence on classification decision. The successful classification by the classifier depends on the parameters β and on the selected prototypes to the reference set. The effectiveness of the fuzzy β-nn classifier has been compared with very well known fuzzy k-nn classifier and the performance was evaluated with commonly used four datasets and also applied to fault identification of the actuator valve at one sugar factory within the DAMADICS RTN. 1. Introduction Pattern recognition is the research area that studies the operation and design of systems that recognise and classify patterns in data. The classification decision in such systems is made on the basis of observed attributes or features and each data is assigned to one of a set of predefined classes. A wide variety of approaches have been taken towards classification task. According to Raudys [4], the number of classification algorithms already published exceeds two hundred and new approaches are coming. Statistical approaches are generally characterised by having an explicit underlying probability model, which provides a probability of being in each class rather than simply a classification. One of statistical approaches is a Bayesian classifier based on Bayes decision theory. Bayes' formula, used for classification, allows calculating the a posterior class probabilities of input pattern based on the a prior class probabilities and the conditional class densities distribution. Classifications, based on Bayes formula, are optimal, no other classifiers have lower expected classification error rate, but in practise this error rate is nearly unattainable because the classifier assumes that complete information is known about the statistical distributions in each class. Statistical procedures try to supply the missing information on distribution of class probabilities in a variety of ways, but there are two main lines: parametric and non-parametric. Parametric methods make assumptions about the nature of the distributions (commonly it is assumed that the distributions are Gaussian), and the problem is reduced to estimating the parameters of the distributions (means and covariance matrices in the case of Gaussians). Non-parametric methods make no assumptions about the specific distributions involved and therefore, they are described more accurately as distribution-free. In the non-parametric approach for pattern classification, the training data or the prototypes of the data are collected and used to design a classifier. One of the most well known approaches is the k-nearest-neighbours (k-nn) algorithm, in which the k nearest prototypes are used to label an unknown pattern. In the limit of infinite training data, the nearest-neighbour classifier is almost as good as a Bayes classifier, and its error rate is bounded from above by twice the Bayes error rate [6]. In spite of merits of k-nn, this method is very time consuming for large data sets and especially when k>1 [5, 6]. Certain acceleration in computations might be reached by the reduction of the reference set (see [10] for a list of references). As an extension of the commonly used k-nn several fuzzy classifiers are proposed and one of them is the fuzzy k-nn classifier designed by Keller [7], in which the reference set of prototypes is a fuzzy set. 1

3 A. Lipnickas, C.D. Bocănială, J. Sa da Costa In this paper we analyze the performance of an alternative fuzzy β- nearest-neighbours (β-nn) classifier introduced in [2], in which the classification is made according to the neighbourhoods inside the radius β. Members of the reference set outside the radius β have no influence in classification decision. Each class is expressed by its betas and the reference sets of the classes are the fuzzy sets expressing the belongings (fuzzy membership) to the prespecified class. The successful classification by the classifier depends on the parameters β and on the prototypes reference set. In this work the Genetic Algorithm (GA) for the simultaneous parameters tuning and for prototypes selection from the training data set is used. GA searches a wide space of possible solution, so there is a high probability that the found solution is global or near global [8-10]. The effectiveness of the analyzed fuzzy β-nn classifier is demonstrated on four well known data sets and also the approach is applied to the fault identification of the actuator valve at one sugar factory within the DAMADICS RTN. The multi disciplinary and complementary EU Research Training Network project DAMADICS is focused on development and application of methods for actuator fault diagnosis in industrial control systems [12]. The paper is organized as follows. In the second Section, the fuzzy β-nn classifier is described. Section three presents the background on GA used. In the fourth Section brief description of the fuzzy k-nn used for the study is given. The databases used to test the proposed approach are briefly described in Section five. The experimental results are presented in Section six. Finally, Section seven presents the conclusions. 2. The Fuzzy β-nn Classifier The statistical pattern recognition theory deals with classification methods, where objects are understood in a very general sense. These methods require a set of objects with known class-membership called the reference set. All considered objects are described by a set of features. Thus, the objects to be classified and those from the reference set are treated as points or vectors in the n-dimensional feature space. The reference set can be represented by some clusters of objects in the feature space. Each cloud corresponds to a different class of objects. The classifier construction consists in determining some decision regions in the feature space based on the reference set. Cluster analysis studies methods for splitting a group of objects into a number of subgroups on the basis of a chosen measure of similarity. The similarity of objects within a subgroup is larger than the similarity of objects belonging to different subgroups. Usually, a subgroup is considered a classical set, which means that an object either belongs to the set or not. The previous description lacks nuances. In contrast, an object can be assigned to a fuzzy set with a varying degree of membership from 0 to 1. Baker [1] proposes a cluster model that builds an optimal decomposition of the given group of objects into a collection of fuzzy sets. If u and v belong to the analyzed group of objects, the similarity between them, s(u,v), is measured via a complementary dissimilarity measure, d(u,v)=1-s(u,v). (The maximum value for the dissimilarity measure is 1.) The dissimilarity measure is expressed using a distance function h β that maps the distance between u and v, δ(u,v), into [0,,1] interval. If δ(u,v) decreases towards 0, h β (δ(u,v)) also decreases towards 0 and [1 - h β (δ(u,v))] increases towards 1. If δ(u,v) increases towards β or is larger than β, h β (δ(u,v)) increases towards 1 or, respectively, is 1. In the later case, [1- h β (δ(u,v))] increases towards 0 or, respectively, is 0. These facts prove the correctness of choosing h β as the dissimilarity measure. In [1] next three main candidates for distance functions are proposed (Eq. 1-4), where δ(u,v) is the distance measure and the β i is the radius with the property (β i >0). h β0, β1 ( u, v) / β, for δ ( u, v) β δ β h ( δ ( u, v) ) =, (1) 1, otherwise h β ( δ ( u, v) ) ( δ ( u, v) ) 1 δ = β 1, for δ S ( u, v), for δ ( u, v) ( u, v) ( u, v) > β β 1 S S β 1 1 δ 1, for β 0 S δ β1 β 0 = 1 1, for δ ( u, v) > β1 S 1 0, for δ ( u, v) < β 0 S 1 S ( u, v), (2) β 1 1 S, (3) 2

4 Performance analysis for a New Error! Main Document Only.Error! Main Document Only.Fuzzy Β-NN classifier h β S [ / β ] ( δ ( u, v) ) 1 exp δ ( u, v) =, (4) It is easily noticeable that Eq. 3 represents a generalization of Eq. 2. The four distance functions presented above differ in the number of associated parameters. Eq. 1 is the only one depending on a single parameter (β). Eq. 2 and Eq. 4 feature two parameters each (β and S). Eq. 3 depends on the values of three parameters (β 0, β 1 and S). Out of the four distance function candidates above, the first one was chosen for use in this study. The choice is motivated by the fact that tuning one parameter represents an easier task than tuning two or more parameters. The fuzzy classifier analyzed in this paper uses ideas from the previous mentioned cluster model and it is described in the following. The elements in the reference patterns set are grouped according to their membership to the prespecified classes. That is, all elements in the reference patterns set belonging to a specific class are in the same subgroup. Let the obtained partition be C={C i } i=1,,n, where n is the number of prespecified classes. If u is the input of the classifier, the subset affinity measure r(u,c i ) defined in [1] can be used to express its average similarity to a specific subset C i (Eq. 5). Given the subset affinity measure, a fuzzy membership function can describe the degree of belongingness of input u to subset C i (Eq. 6) [1]. The notations n and n i stand for the cardinal of C i, and, respectively, the cardinal of C. i r ( u C ) = 1 β, i 1 h ( δ ( u, v) ). (5) n i v C i The classification task is performed taking into account the fuzzy membership functions values of the input u to all subsets C i. Given the fact that C i subset represents all elements in the reference pattern set belonging to the i-th prespecified class, the input u is classified as a member of the class whose corresponding fuzzy membership value is the largest (Eq. 7). µ i ( u) n i = n v C h v C i β h β i i ( δ ( u, v) ) ( δ ( u, v) ) ( u) = max µ ( u), (6) u C µ. (7) max max i= 1,..., n In case of ties, the vector to be classified might be rejected or labelled according to the label of nearest prototype in the reference set. Baker [1] uses only one β parameter value. In this paper, each class has associated a distance function h βi that receives a dedicated value for parameterβ i (i=1,, n). That is, the classifier has as many parameters as the number of prespecified classes. The modification proposed causes the performances to improve. The parameters of the classifier are tuned by increasing the performance of the classifier on the parameters tuning subset towards an optimal value. The algorithm for tuning the parameters must search simultaneously in a n- dimensional space for the parameter vector (β 1,, β n ) and also to select from the training data set the representative prototypes into the reference set. Genetic Algorithm (GA) can be used to perform this search. i 3. An example In the following a very simple example is presented in order to facilitate the understanding of the way the classifier works. Fig. 1 shows two classes, the o s and the x s containing the points from o 1 to o 7, respectively x 1 to x 5. It also shows a point P, which is given for the classification. The distance measure is Euclidean and β parameters of the classifier are β x =1.1 and β o =1.5. The data summaries for the two considered classes are the classes themselves. Before computing the values for the two fuzzy membership function it is to be noticed that Eq. 6 for the class i can be rewritten as: µ i ( u) = v C i v C [1 h [1 h β β i i ( δ ( u, v) ) ] ( δ ( u, v) ). (8) ] According to Eq.1, if the distance between u (the point to be classified) and v (the point belonging to a given class) is equal or higher than the value of β i, then the value of h βi is equal to 1. That is, the corresponding terms for u and v from the numerator and the dominator in Eq. 8 are null. 3

5 A. Lipnickas, C.D. Bocănială, J. Sa da Costa Fig. 1. Two classes, the o s and x s, and the input point P to be classified The conclusion of the above discussion is that all points that find themselves at a bigger distance than the β parameter have null influence on the values of the membership function. The points that are outside the circle having the center in P and the radius β x have null influence on the values of the membership function µ x. That is, only the points o 3, o 6, x 1, x 2, and x 3, which are inside the mentioned circle, influence the value of µ x. In a similar manner, all the points except o 1, o 2, and o 3, which are outside the circle with the center in P and the radius β o, influence the value of the membership function µ o. The values of the two membership functions are computed as follows, µ µ o x ( u) ( u) = = [1 h v { x1, x2, x3} β [1 h v { o3, o6, x1, x2, x3} [1 h v { o3, o4, o6, o7} x β β ( δ ( u, v) ) x [1 h ] ( δ ( u, v) ) ( δ ( u, v) ) v { o3, o4, o6, o7, x1, x2, x3, x4, x5} o β o ( δ ( u, v) ) = 0.57, (9) ] ] = (10) ] Due to the fact that µ x <µ o the unlabeled input point P is assigned label from the class o. It is to be notice that in the given example the values from two membership functions are very similar. The example provides an insight on the performance of the classifier for the points found on or near the class boundary. 4. Genetic Algorithm GA is the global search algorithm that emulates the mechanism of natural genetics and selection [8-10]. Based on probabilistic decisions it exploits historic information to guide the search for new points in the problem space with expected improvement in performances. In the genetic search a constant population size is always maintained. An individual in the population encodes a possible solution to the problem into a string, which is analogous to a chromosome in nature. At each iteration step, the new strings are created by applying genetic operators on selected parents for the recombination. Coding scheme, genetic operators (reproduction, crossover and mutation) and fitness function are the key points for the GA to optimise the structure of rule premises and input membership functions at the same time. The GA algorithm consists of three basic operations: reproduction, crossover, and mutation. Reproduction is the process where members of the population are reproduced according to the relative fitness of the individuals, where the chromosomes with higher fitness have higher probabilities of having more copies in the new coming generation. There are a few selection schemes available for reproduction, i.e. the roulette wheel, the tournament scheme and etc. [9]. Crossover in the GA occurs when the selected chromosomes partially exchange the information in the genes. Mutation is a random alternation of a bit in a string so as to increase the variability of population. Dynamic crossover and mutation probability rates are used in the GA operation, as they provide faster convergence when compared to constant probability rates. There are many approaches, which can be applied to settle the problem. In this work the crossover and mutation probability rates were calculated by the following formula [8]: 4

6 Performance analysis for a New Error! Main Document Only.Error! Main Document Only.Fuzzy Β-NN classifier P + 1 = exp( m / ), (11) cross, m M P mut, m + 1 = exp(0.02 m / M ) 1, (12) where m and M are the current generation and the number of maximum generations respectively. The task of defining a fitness function is usually application specific. In this work the optimisation object is to minimize misclassification by the classifier. 5. The fuzzy k-nn classifier used for the comparison The nearest neighbour rule classifier is one of the oldest and simplest methods to perform the non-parametric classification. This method turns out to yield surprising good results [12] but the disadvantage of it is the huge computational time due to requirement to store all training data samples in the memory. As an extension of the commonly used k-nn is a fuzzy k-nn classifier designed by Keller [7]. Hereby, class memberships are assigned to the sample as a function of the samples distances from its k-nn training samples: k j= 1 2/( w 1) ( 1/ δ ( u, v ) ) µ ( u) =, (13) i µ k 2/( w 1) ( 1/ δ ( u, v j ) ) j= 1 ij j where µ i (u) is the membership value of the input data u to the class i, δ(u,v i ) is the distance between the input data u and the k-th nearest neighbour v j in the reference set, and w is real number w>1 that s sets the strength of the fuzzy distance function. The value µ ij is the membership of the j-th neighbour to the i-th class and it is determined a-priori from the training data [7]. The unknown input u is assigned to the class whose corresponding fuzzy membership value is the largest. 6. Data The ESPRIT Basic Research Project Number 6891 (ELENA) provides databases and technical reports designed for testing both conventional and neural classifiers. All the databases and technical reports are available via anonymous ftp: ftp.dice.ucl.ac.be in the directory pub/neural-net/elena/databases. From the ELENA project we have chosen the two real data sets, Phoneme and Satimage. The Thyroid database has been taken from a collection called PROBEN 1, which represents a medical diagnosis task. The additional, Damadics database was generated from the Lublin (Poland) sugar factory process data [13]. The multi-disciplinary and complementary Research Training Network project DAMADICS is focussed on development and application of methods for actuator diagnosis in industrial control systems. During the dynamic sugar production process, there is a possibility that there will occur one of the 19 faults in the actuator valve block, with four types of strength i.e.: abrupt {small, medium, big} and incipient. The early detection and isolation of those faults minimise damages in the industrial line. This paper does not concern a way the fault have been detected in the system. The constructed database consists of the detectable faults from the fault detection moment t till t+200s. The analysed process measurements have been recorded by using three seconds Tapped Delay Line window [14]. The detectable faults were grouped into classes and labelled according to the author experience [15, 16]. Table 1 summarises the considered faults from the Damadics benchmark. The all data sets used in the study are summarised in Table 2. The benchmark (BM) errors presented in Table 2 are taken from the ELENA project and the PROBEN 1 database. In the ELENA project, the errors presented are the average errors obtained when using an k-nn. To solve the Thyroid task, an MLP with two hidden layers of 16 and 8 units, respectively, has been employed. 7. Experimental testing All comparisons between the classifiers have been performed by the Hold Out method, randomly dividing the data into Training and Test sets of equal size. We run each experiment five times, and the mean errors and standard deviations (std) of the errors are calculated from these five trials. For the both classification approaches, the GA was used to perform the parameters optimisation search and the prototype selection into the reference set at the same time. The parameters of the GA were set as follows: population size 30; maximum number of iterations 60; the rates of mutation and crossover were changed according to (Eq ). GA gene string consisted of physical parameters 5

7 Table 1. Summary of considered faults from the Damadics benchmark A. Lipnickas, C.D. Bocănială, J. Sa da Costa Class Label C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 Fault description (medium) Valve clogging (big) Valve clogging (big) Valve plug or valve seat sedimentation (medium and big) Electropneumatic transducer fault (big) Positioner supply pressure drop (medium) Servo-motor s diaphragm perforation (big) Servo-motor s diaphragm perforation Positioner feedback fault (small and medium) Fully or partly opened bypass valves (big) Fully or partly opened bypass valves (medium and big) Flow rate sensor fault (small) Flow rate sensor fault (big) Servo-motor s spring fault (big) Rod displacement sensor fault (incipient) Unexpected pressure change across the valve (big) Unexpected pressure change across the valve (small) Medium evaporation or critical flow (medium) Medium evaporation or critical flow (big) Medium evaporation or critical flow Table 2. Summary of the data sets used (expressed in binary form) and also of the binary elements expressing the selected data from the training set into the classifiers reference set. As mentioned in Section 2, each considered class in the fuzzy β NN classifier has associated the parameter β, therefore the GA had to optimise β i i=1,,m parameters, where m is the number of classes. Simultaneously the GA had to select the most suitable prototypes into the references set. In the experimentations the fuzzy k-nn classifier implemented by Jang [3] has been used. The number of neighbours were set to k=3. To find the optimal value of w for the fuzzy sets strength and to select the optimal set of the prototypes the GA was also involved. In both approaches the distance between data samples was measured by using Euclidean distance function. The Table 3 summarize the experimental results and shows the calculated mean error values, the standard deviation of error, the averaged size of selected samples to the reference set, the values of w and averaged betas used in fuzzy k-nn and β-nn respectively. Table 3. The averaged classification error rates for the test data set Fuzzy k-nn Fuzzy β-nn Mean Std # of Ref. set w Mean Std # of Ref. set Aver. β Clouds Phoneme Satimage Thyroid Damadics Database Data Sets # of classes # of features #of samples BM error, % Clouds Phoneme Satimage Thyroid Damadics As it is seen from the Table 3 the fuzzy k-nn always outperforms the proposed fuzzy β-nn. High std values for the fuzzy β-nn classifier shows that the used training procedure is not suitable and it means that the GA optimisation might not always succeed for the fuzzy β-nn classifier. From the Table 3 it is interesting to note, that the selected size of reference sets is almost the same for both classifiers in all experiments. Fig. 3 shows the classifier training procedure, running the GA, the averaged fitness values are calculated based on the training set. Fitness value equal to 1 corresponds to 0% of the training set classification error. The Fig.3a presents the results for the Clouds dataset and it is seen that for both approaches the training is proceeded very similarly. From the Table 3, comparing the classification results for the test dataset it is seen that the fuzzy k-nn generalizes better and gives smaller classification error. Contrary for the fuzzy β-nn, the classification error is higher, therefore it means that the classifier has overfitted training data and generalizes poorly. Absolutely different 6

8 Performance analysis for a New Error! Main Document Only.Error! Main Document Only.Fuzzy Β-NN classifier situation is observed in Fig. 3b for the Satimage dataset. The fuzzy β-nn classifier was not able to deal with very complex dataset and obviously underfitted data. (a) Fig. 2. Averaged fitness values of the calssifiers to the training data for: (a) Clouds and (b) Satimage data. Worst classification result was obtained for Thyroid dataset. Both classifiers have given high classification errors comparing with Table 1. This is not surprising, since data instances in Thyroid dataset are described by real as well as by binary values and it means, that the Euclidian distance measure is not suitable for the data with mixed type of feature. Therefore, for such type of data should be found more appropriate function for distance measure. (b) 8. Conclusions In this paper, we have analyzed the performance of a new fuzzy classifier, here called fuzzy β-nn. The data classification is made according to the fuzzy membership values of the neighbourhoods inside the radius β. Members of the reference set outside the radius β have no influence on classification decision. The successful classification by the classifier depends on the parameters β and on the prototypes reference set. The effectiveness of the fuzzy β-nn classifier has been compared with very well known fuzzy k-nn classifier and the performance was evaluated with one artificial and four real datasets. In all the tests performed, the fuzzy k- NN classifier outperformed the proposed classifier. The key difference between the two classification methods compared is that the fuzzy k-nn classifier labels unseen data according to k nearest neighbours and the proposed classifier classifies data according to the membership value of the members inside the prespecified radius β. In fact, the performance of the proposed classifier do not surprised us, because classification accuracy of the distance-based approaches depends heavily on the suitability of the used distance function. Further research might be conducted to make deeper analysis of applying different distance measurement functions. Statistical analysis methods should be used to find dependencies between the characteristics of the dataset and the distance measurement functions. The improved training technique should be used instead GA search algorithm. Acknowledgements This work was performed at Department of Mechanical Engineering, Control Automation and Robotics Group, Instituto Superior Tecnico, Technical University of Lisbon (Portugal) and was funded by EU FP 5 Research Training Network project DAMADICS: Development and Application of Methods for Actuator Diagnosis in Industrial Control Systems. References [1] Baker, E., 1978, Cluster Analysis by Optimal Decomposition of Induced Fuzzy Sets. PhD thesis, Delft University of Technology, Holland. [2] Bocaniala, C. D., Sa da Costa, J. and Louro, R., 2003, A Fuzzy Classification Solution for Fault Diagnosis of Valve Actuators, Proceedings of 7th International Conference on Knowledge-Based Intelligent Information & Engineering Systems (KES 03), Oxford, UK. 7

9 A. Lipnickas, C.D. Bocănială, J. Sa da Costa [3] Jang R. J-S., Data Clustering and Pattern Recognition toolbox. ( jang/ matlab/ toolbox/ DCPR). [4] Raudys, Š., 2001, Statistical and Neural Classifiers: An Integrated Approach to Design (Advances in Pattern Recognition). Springer. [5] Michie, D., Spiegelhalter D.J., and Taylor C.C. (editors), Machine Learning, Neural and Statistical Classification. Published in 1994 by Ellis Horwood, New York. [6] Duda, R. O., Hart P. E., and Stork D. G., 2000, Pattern Classification, John Wiley&Sons, Inc., New York, Second Edition. [7] Keller, J.M., Gray, R., Givens, J.A.J.R, 1985, A fuzzy k-nearest neighbor algorithm. IEEE Trans. Systems Man Cybernet. 15 (4) [8] Seng, T.L., Khalid, M.,Yusof, R., 1998, Tuning of a neuro-fuzzy controller by genetic algorithms with an application to acoupled-tank liquid-level control system, International Journal of Engineering Applications on Artificial Intelligence, Vol. 11, pp [9] Michalewicz Z., 1996, Genetic Algorithms + Data Structures = Evolution Programs, Berlin:Springer. [10] Goldberg D.E., 1989, Genetic Algorithms is Search, Optimization, and Machine Learning. Addison-Wesley publishing company, Inc. [11] Toussaint G.T., 2002, "Proximity graphs for nearest neighbor decision rules: recent progress," Interface-2002, 34th Symposium on Computing and Statistics (theme: Geoscience and Remote Sensing), Ritz-Carlton Hotel, Montreal, Canada, April [12] Kramer, M.A. and J.A. Leonard,1990. "Diagnosis using backpropagation neural networks - Analysis and criticism", Computers chem. Engng., 14, [13] DAMADICS, EC FP5 Research Training Network DAMADICS: Development and Application of Methods for Actuator Diagnosis in Industrial Control Systems, ( eng.hull.ac.uk/ research/control/ damadics1.htm) [14] Nelles, O., 2001, Nonlinear system identification: from classical approaches to neural networks and fuzzy models. Springer- Verlag Berlin Hidelberg. [15] Lipnickas, A., Korbicz, J., 2003, Evolutionary learning in identification of fuzzy models: application to damadics benchmark, Diagnostics of industrial processes (DPP'03), Wladyslawowo k/gdanska, September, pp [16] Sa da Costa, J., Lipnickas, A., Bocaniala, C.D., 2004, FDI based on two stage classifiers for fault diagnosis of valve actuators. Application to DAMADICS benchmark, the 11th International Conference EPE-PEMC'2004, 2-4 September 2004, Riga, Latvia (submitted). 8

10 LOKALINĖS PAIEŠKOS EURISTIKA DEEF VIENMAČIO SUPJAUSTYMO UŽDAVINIO SPRENDIMUI Tomas Blažauskas Kauno technologijos universitetas Informatikos fakultetas, Studentų , 3031 Kaunas Praktikoje dažnai sutinkamas vienmačio supjaustymo uždavinys, kai reikia išdėstyti aibę vienmačių objektų kitoje, minimizuojant medžiagų sunaudojimą. Vieni populiariausių algoritmų šiam uždaviniui spręsti meta-euristiniai intelektualieji algoritmai. Meta-euristiniai algoritmai remiasi ir konstrukciniais bei nesudėtingais (vykdymo laiko prasme) lokalinės paieškos algoritmais. Todėl svarbus yra ne tik meta-euristinių algoritmų vystymas. Svarbu vystyti ir efektyvius algoritmus naudojamus daliniams bei tarpiniams sprendiniams gauti. Šiame straipsnyje pristatomas tam tikslui skirtas lokalinės paieško algoritmas DEEF bei atliktų eksperimentinių tyrimų rezultatai. Nurodomi galimi taikymai. 1. Įvadas Pagrindinis vienmačio supjaustymo (arba pakavimo) uždavinio tikslas yra efektyvus mažesnių vienmačių objektų išdėstymas didesnėse srityse minimizuojant atliekas. Klasikinis vienmačio supjaustymo uždavinys formuluojamas taip: Duota: baigtinė aibė U = u, u,..., u } vienmačių elementų (detalių ilgių), tenkinančių { 1 2 n sąlygą 0 < u i C, i = 1, n, bei neribota aibė C ilgio ruošinių, kuriems reikia rasti galimai mažesnį aibės U išskaidymą U 1, U 2,...,U k tokį, kad kiekvienam i, i = 1, k galiotų u C. Tikslas - minimizuoti aibės U išskaidymo elementų skaičių k. u U i B aibės elementai dažnai yra vadinami medžiaga, ruošiniais bei juostomis, o U aibės elementai detalėmis. Klasikinį vienmačio supjaustymo uždavinį iliustruoja 1 pav.: detalės juostos U u i B C... supjaustymo schema b 1... Atlieka b k Tikslas minimizuoti k 1 pav. Vienmačio supjaustymo uždavinio iliustracija 9

11 T. Blažauskas Apibendrintame klasikiniame uždavinyje (taip kaip parodyta brėžinyje) visi aibės B elementai yra lygūs (C), praktiniuose uždaviniuose ruošinių aibė gali būti ribota, o jos elementų ilgiai gali skirtis. Šis klasikinio supjaustymo uždavinys gali būti efektyviai sprendžiamas euristiniais, tiksliais bei mišriais metodais. Sprendžiant šį uždavinį dažniausiai naudojami euristiniai lokalinės paieškos algoritmai. Tai genetiniai, skruzdėlių kolonijos optimizavimo, atkaitinimo, tabu algoritmai. Šis uždavinys pasižymi ir tuo, jog praktiniu atžvilgiu kartais yra pakankami ir konstrukciniai algoritmai. Visgi, didesnis dėmesys yra skiriamas meta-euristiniams algoritmams, kurie savyje įtraukia elementarius euristinius algoritmus (konstrukcinius arba paprastesnius lokalinės paieškos algoritmus) daliniams bei tarpiniams sprendiniams generuoti. Toliau bus pristatyta lokalinės paieškos euristika DEEF, kuri ir yra skirta tam tikslui. 2. Lokalinės paieškos euristika DEEF Kaip ir daugelis konstrukcinių euristikų, taip ir EF [1] euristinis algoritmas dėl optimalių dalinių sprendinių kartais neranda optimalių arba artimų optimaliems sprendinių. Siekiant pagerinti rezultatus, galima taikyti įvairius meta-euristinius algoritmus EF algoritmui valdyti. Siūlome tabu paieškos principais paremtą lokalinės paieškos algoritmą, kuris buvo pavadintas - DEEF. Atsižvelgiant į atliktą EF analizę priimama prielaida, jog sprendinio pablogėjimas atsitiko dėl to kad buvo išstumtos nepatogios detalės, be to tos išstumtos detalės randasi sprendinio gale. Todėl tos detalės yra pažymimos nepatogiomis ir sekančioje iteracijoje draudžiama jas išstumti. Nepatogiomis detalėmis laikysime tas detales, su kuriomis nėra sudaromi geri sprendiniai. Ką laikysime gerais sprendiniais priklauso nuo reikalaujamos sprendinio kokybės. Blogiausi sprendiniai, panaudojus EF euristiką, gaunami gale. 2 paveiksliuke pateiktas tipinis EF rezultatas: Galimos kelios euristinės strategijos, kuriomis remiantis galima atrinkti detales pirmiems sprendiniams sudarinėti: atrinkti tų juostų detales, kuriose nėra visiško juostos užpildymo; Detalių suma, kiekis Detalės atrinkti visas paskutinio sprendinio detales; atrinkti paskutinę paskutinio sprendinio detalę; 2 pav. EEF rezultatų pavyzdys kitos strategijos... Savaime suprantama, panaudojus kurią nors strategiją, kiekvienoje iteracijoje vėl gausime panašius sprendinius iš kurių vėl reikės atrinkti blogas detales. Taip pat reikia įvertinti ir pirmosiose iteracijose gautus rezultatus, todėl nepatogioms detalėms registruoti galime naudoti steką. U ' U ; // U detalių aibė, U - pagalbinė aibė n= EF(Ø,U ' ) ; // čia n sprendinio juostų kiekis, gautas panaudojus EF algoritmą w=0; // čia w atrinktų detalių kiekis k > OPT(I) While and do // kol nerastas optimalus sprendinys arba w<n U U ' w < n For i=0 to w do // pirmoms w juostoms priskiriamos atrinktos detalės begin b i,1 = W i U ; // atrinkta detalė priskiriama pirmai i-tosios juostos detalei ; // priskirta detalė pašalinama iš detalių rinkinio = U b i,1 end; k= EF(b,U) ; // EF algoritmui pateikiamas dalinai suformuotas sprendinys ir detalių aibė w = w +1; // padidinamas atrinktų detalių kiekis W = w b k, b k ; // prie atrinktų detalių rinkinio pridedama paskutinė sprendinio detalė ; // atstatoma detalių aibė išsaugoti sprendinį; end; 10

12 Lokalinės paieškos euristika deef vienmačio supjaustymo uždavinio sprendimui 3 pav. Apibendrintas DEEF algoritmas Kitas klausimas kaip panaudoti atrinktas detales sudarant pirmuosius dalinius sprendinius. Įmanoma naudoti ne vieną, o keletą strategijų, išrenkant geriausią rastą sprendinį, nes išdėstymo skaičiavimai yra tiesinio sudėtingumo bei spartūs. Šiame tyrime buvo pasirinkta strategija, kai atrenkama paskutinė sprendinio detalė. Toliau (3 pav.) pateiktas supaprastintas DEEF algoritmas. Žymėjimai pateikti komentarų pavidalu. Pirmiausiai yra sudaromas galimų sprendinys naudojant EF algoritmą. Tuomet nepatogių detalių sąrašui (W) atrenkama paskutinė sprendinio detalė. Kitoje iteracijoje pirmiausiai sudedamos atrinktos nepatogios detalės ir tik po to taikomas EF algoritmas. Iteracinis procesas pabaigiamas kai randamas optimalus sprendinys (OPT(I)) arba iteracijų kiekis pasiekia juostų skaičių. Šio algoritmo veikimą iliustruoja 4 pav. 1 iteracija 2 iteracija..... Nepatogios detalės Nepatogios detalės Likučiams taikoma EF dedamos į pradžią euristika 4 pav. DEEF algoritmo iliustracija 3. DEEF tyrimų rezultatai Šiai euristikai tirti buvo naudojami standartiniai testiniai duomenų rinkiniai. Žemiau pateikti apibendrinti rezultatai, lyginant su konstrukciniais algoritmais: Nr Algoritmas Rasta GŽS Rasta GŽS (%): 1 LF ,07% 2 BF ,18% 3 WF ,80% 4 NF 0 0,00% 5 SF 0 0,00% 6 R 18 2,05% 7 IR ,89% 8 DJD (EF) ,57% 9 DJX ,64% 10 DJY ,57% 11 DJMT ,66% 12 DJM ,07% 13 HG ,77% Eur is tcinių algoritmų efektyvumas Algoritmai GŽS 5 pav. DEEF palyginimas su konstrukciniais algoritmais 11

13 T. Blažauskas Sudarytas algoritmas su esamais duomenimis veikė ~12% geriau nei geriausias tirtas konstrukcinis DJMT algoritmas. Sudarytas algoritmas taip pat pagerino 3 iš 4 geriausius žinomus 1 Bpp1 uždavinių klasės sprendinius. Atlikus tyrimus su Bpp2 klasės uždaviniais buvo pagerintas vienas iš trijų geriausių žinomų sprendinių. Žemiau pateikti duomenys, kaip algoritmas veikė įvairioms uždavinių klasėms: 1 lentelė. DEEF algoritmo efektyvumas įvairių tipų uždaviniams Uždaviniai Vid. Paklaida Maks. paklaida Rasta GŽS % Skaičius % Skaičius U120 0% 0% 0 100,00% 20 U250 0,09% 0,94% 1 90,00% 18 U500 0,05% 0,49% 1 90,00% 18 U1000 0,01% 0,24% 1 95,00% 19 T60 4,52% 4,76% 1 5,00% 1 T120 2,44% 2,44% 1 0% 0 T249 1,19% 1,19% 1 0% 0 T501 0,60% 0,60% 1 0% 0 Bpp1 0,03% 2,38% 2 95,55% 688 Kaip matyti iš lentelės, sunkiausi uždaviniai DEEF algoritmui yra Triplet klasės uždaviniai. Kita vertus didžiausias maksimalus nuokrypis nuo optimalaus sprendinio buvo dvi papildomos juostos. Lyginant su kitais lokalinės paieškos algoritmais verta paminėti, jog minėtas algoritmas nusileido sudėtingesniems lokalinės paieškos algoritmams: BISON [2], Hibridinė gerinimo euristika [3], Flescar ir Hindi euristika[4]. 4. Išvados Atsižvelgiant į atliktų eksperimentinių tyrimų rezultatus galima konstatuoti, jog DEEF euristika pakankamai efektyvi, kad ją būtų galima taikyti kaip savarankišką algoritmą tam tikriems praktiniams uždaviniams spręsti. Vertinant DEEF kaip vidinį meta-euristinio metodo algoritmą, skirtą daliniams ir/arba tarpiniams sprendiniams gauti, verta paminėti, jog DEEF savo efektyvumų (sprendinių kokybės prasme) pralenkė kitus nagrinėtus euristinius algoritmus, tuo tarpu kai DEEF sudėtingumas (laiko prasme) tiesiškai priklauso nuo naudojamo EF (tyrime apžvelgti efektyviausi DJD, DJMT konstrukciniai algoritmai priklauso EF algoritmų šeimai) algoritmo sudėtingumo. Literatūros sąrašas [1] Philipp A. Djang, Paul R. Finch. Solving One Dimension Bin Packing Problems - submitted to Journal of Heuristics, [2] Scholl, R. Klein, and C. Jürgens. BISON: a fast hybrid procedure for exactly solving the one-dimensional bin packing problem. - Computers & Operations Research S , [3] C.F. Adriana, F. Glover, C.C. Ribeiro. Hybrid improvement heuristic for the bin packing problem, - url: [4] K. Flescar, K. Hindi. New heuristics for one-dimensional bin packing. - Computers and Operations Reasearch 29 7, , DEEF LOCAL SEARCH HEURISTIC FOR SOLVING THE ONE DIMENSIONAL CUTTING STOCK PROBLEM In this paper we present the one-dimensional cutting stock problem and algorithms used to solve it. A significance of heuristic algorithms is accentuated. A local search heuristic DEEF is proposed in order to use it in sophisticated meta-heuristic algorithms. Computational results and suggestions about heuristic algorithm implementation potential are included, too. 1 Pagal rezultatus, kuriuos pateikė BISON algoritmo autoriai. Vėliau šie rezultatai buvo pagerinti kitų tyrinėtojų. 12

14 WAVELET BASED EDGE DETECTION Romualdas Baušys, Giedrius Leonavičius VGTU, Saulėtekio al. 11, 2040 Vilnius, Grafinių sistemų katedra In this article, we have proposed a wavelet - based approach to solving the edge detection problem. This scheme has taken advantage of the properties of wavelet transform criteria to derive a wavelet such that the edge points can be detected efficiently and accurately. The proposed edge detection is similar to a gradient - based detection. Since it is wavelet - based, the inherent multi - resolution nature of a wavelet provides more flexibility in the analysis of images. 1. Introduction Digital edge detection is an important computer vision process for reducing the amount of data in raw images to facilitate the subsequent high-level image understanding tasks [1]. It has been of interest to researching the area of computer vision. In [2], Marr and Hildreth proposed an important zero-crossing detection technique. They introduced a new method to process an image by applying Laplacian of Gaussian filters characterized by different variances. In [3], Canny used a smoothed gradient method to locate points with extreme values in an image as edge points. In his approach, edge detection is characterized as a constrained optimisation process, which has to fulfil three criteria. The three criteria are good detection, good localization, and low spurious response. The filter he obtained is equivalent to performing a Gaussian filtering followed by a gradient detection. Another important solution for edge detection is to solve the problem by using spatial frequency response. Researchers in this aspect designed optimal edge filters in the frequency domain [4]. In [5], an image was modelled as a random field and the pixels with abrupt changes of statistical properties were detected as edge points. Mallat and Zhong [6] combined the properties of wavelet transform and a gradient method to form a multi-scale edge detector. In their work, the first derivative of a cubic spline function is utilized to detect the local extreme values of a wavelet transform as edge points. However, the ultimate goal of the work is to efficiently compress the input image. Therefore, although the adopted wavelet is capable of detecting edges, the performance of edge detection was not a major task in their work. Basically, wavelet is a basis of functions that can be applied to efficiently and accurately represent things. The thing could be a signal, system or process. A wavelet basis can be orthonormal or non-orthogonal. The orthogonal wavelet bases have been successfully used in applied mathematics and digital signal processing. However, for some applications, especially in edge detection, the orthonormality of wavelet basis is a strict limitation on designing an efficient edge filter. Canny s criteria is a guide to derive a wavelet-style edge filter such that the edge points of an image can be detected efficiently and accurately at different scales. Since Canny s criteria are suitable for those edge detectors that detect local extremes, the desired wavelet is therefore chosen to be anti-symmetric. In order to obtain the information for reconstructing the original image and to avoid the orthonormality constraint of a wavelet, the dual of the derived wavelet is also required. In order to implement the desired edge detector, a continuous wavelet has to be converted into the discrete form. In sum, the edge filter is similar to a gradient edge detector. Since it is wavelet - based, the multiresolution nature of wavelet transform provides more flexibility in the analysis of images. 2. Method of Wavelet Analysis As we know, the wavelet function originated from MRA (MultiResolution Analysis), the main idea of which is hat a function f(t) in L 2 is expressed as a series of gradually approaching expressions, any one of which is smoothed f(t) at a given resolution [8]. MRA, also called MSA (MultiScales Analysis), is the theory founded on the basis of function space concepts, the ideas of MRA originated from engineering. Its creator S. Mallat set up the theory when researching on image processing. At that time, people worked on images using generic means, i.e. decomposing images on different scales, and comparing the results to gain useful information. MRA plays a key role in orthogonal wavelet transform theory [6, 7, 8]. 13

15 2.1. Mallat Algorithm R. Baušys, G. Leonavičius From experience gained from images decomposition and reconstruction cascade algorithm, Mallat put forward the algorithm in the MRA theory now bearing his name [6, 7]. It is proved mathematically that: and among them, we have: f ( t) = Aj ( t) = Aj+ 1( t) + D j+ 1( t), (1) and + A j+ 1 f ( t) = C j + 1, mψ j+ 1, m m= + D j+ 1 f ( t) = D j + 1, mφ j+ 1, m m= + C j+ 1, m = hk 2mC j, k m=,,, (2) (3) (4) The above can be written in a compact form as follows: C D + D j+ 1, m = gk 2mD j, k m= j+ 1 j+ 1 = HC = HD j j (j=1, 2, J). Expression (6) is the Mallat pyramid scheme. We call C j, D j discrete approximations and discrete details respectively. After a proper mathematical transformation, Mallat reconstruction scheme becomes: C j = H C j+ 1 + G D j+1 where H* and G* are the complex conjugates of H and G., j=j, J-1,, (5) (6) (7) 2.2 Two-Dimensional Wavelet for Image Analysis There exist various extensions of the one-dimensional wavelet transform to two-dimensional and indeed multidimensional wavelet, but separable two-dimensional wavelets are simple and effective in common use [8]. Same as in the construction of one-dimensional wavelet, the scale function φ(x, y) is defined as: φ ( x, y) = φ( x) φ( y), (8) where φ(x), φ(y) are the one-dimensional scale functions. Suppose ψ(x) denotes the wavelet function related to the one-dimensional scale function, then three two-dimensional wavelets are defined by: H ψ ( x, y) = φ( x) ψ ( y), V ψ ( x, y) = ψ ( x) φ( y), (9) D ψ ( x, y) = ψ ( x) ψ ( y), Figure 1. shows the two-dimensional wavelet transform of an image. The two-dimensional MRA decomposition is completed in two steps. First, using φ(x) and ψ(x) in the x direction, f(x, y) (an image) is decomposed into two parts, a smooth approximation and a detail. Next, the two parts are analyzed in the same way using φ(y) and ψ(y) in the y direction. As a result, four channel outputs are produced, one channel is A 1 f(x,y), the level one smooth approximation of f(x, y), through φ(x),φ(y) processing, the other three channels are D 1 (H) f(x,y), D 1 (V) f(x,y) and D 1 (D) f(x,y), the details of the image. Grade two and level three results are obtained after decomposing A 1 f(x,y) progressively. The algorithm of two-dimensional wavelet decomposition and reconstruction is the same as that for one-dimensional wavelet. Mallat pyramid scheme is also used in this case. Figure 2. is a map of a three-level twodimensional wavelet transform. 14

16 Wavelet Based Edge Detection ψ(x) in y D 1 (D) f(x,y) ψ(x) in x f(x,y) details in x φ (y) in y D 1 (V) f(x,y) image φ(x) in x ψ(x) in y D 1 (H) f(x,y) sketch in x φ (y) in y A f(x,y) Figure 1. Image decomposition with separable two-dimensional wavelets LL3 HL3 LH3 HH3 LH2 HL2 HH2 LH1 HL1 HH1 Figure 2. Sketch map of three-level two-dimensional wavelet transform 3. Edge detection results As the method of multi-scale edge detection we using edge detection described in [6, 7, 8]. This wavelet is nonsubsampled wavelet decomposition essentially implement the discretised gradient of the image at different scales. At each level of wavelet transform the modulus of the gradients and the associated phase can be computed. At each decomposition level we eliminate insignificant edge by taking into account only the pixels with modulus superior to a threshold level. This threshold is calculated from the root mean square of the entire modulus in each decomposition level (if is used dyadic wavelet transformation). The edge point is selected as the pixel with locally maximum in neighbouring pixel along the direction given by the associated phase. Sketch map of three-level two-dimensional wavelet transform (synthetic image from [9]) presented in figure 3. We test the performance of the proposed algorithm with synthetic image (synthetic image from [9]). In simulation figure 4, presented results with synthetic image. Image size 256x256 pixels, image quantified to 8 bits. 15

17 R. Baušys, G. Leonavičius Figure 3. Decomposition map of three-level two-dimensional wavelet transform (a) (b) (c) (d) 16

18 Wavelet Based Edge Detection (e) Figure 4. Edge detection. Original image (a), detection using Mallat s wavelet third decomposition level (b), detection using Mallat s wavelet second decomposition level (c), detection using Mallat s wavelet first decomposition level (d), detection using Canny s edge detection method (e) Conclusions In this paper, we propose a method for edge extraction from raster information. In presented method we using method based on wavelet transform. Experiments with synthetic test images show that the proposed algorithm is effective. Depending on the requirement of the details desired in the edges, the level of decomposition can be selected. References [1] D. Ziou, S. Tabbone. Edge detection techniques an overview, [2] D. Marr and E. Hildreth. Theory of edge detection, Proc. Royal Soc. London B, vol. 207, pp , [3] J. F. Canny. A computational approach to edge detection, IEEE Trans. Pattern Anal. Machine Intell., vol. PAMI 8, no. 6, pp , Nov [4] K. S. Shanmugam, F. M. Dickey, and J. A. Green. An optimal frequency domain filter for edge detection in digital pictures, IEEE Trans. Pattern Anal. Machine Intell., vol. PAMI 1, no. 1, pp , Jan [5] J. S. Huang and D. H. Tseng. Statistical theory of edge detection, Comput. Vision Graphics Image Processing, vol. 43, pp , [6] S. Mallat and S. Zhong. Characterization of signals from multi scale edges, IEEE Trans. Pattern Anal. Machine Intell., vol. PAMI 14, no. 7, pp , July [7] S. Mallat. A theory for multiresolution signal decomposition: The wavelet representation, IEEE Trans. Pattern Anal. Machine Intell., vol. PAMI 11, no. 12, pp , July [8] Xi-An Zhu, Sheng-Zhen Jin, Jing-Yu Wang and Shu-Nian Ning. Wavelet Analysis of Space Solar Telescope Images, [9] Bunch of stereo data sets, available on 17

19 ANALYSIS OF IMPROVED GENETIC ALGORITHM FOR OPTIMIZATION OF ARCHITECTURAL LAYOUT R. Baušys, I. Pankrašovaitė Vilnius Gediminas Technical University, Sauletekio av. 11, Vilnius In this paper we consider traditional layout problem that seeks to minimize the total area cost. We present an approach based on evolutionary search method known as the Genetic Algorithms (GAs). However, effectiveness of GAs is often not good enough at their current stage. For this reason, the improved genetic algorithm is proposed. We have analyzed and compared the performance of standard and improved genetic algorithm for architectural layout problem solutions and presented the results of performance. 1. Introduction Architectural layout has been recognized as an important activity in architectural layout-planning by field practitioners and researchers. Architectural layout [5] is concerned with finding feasible locations and dimensions for a set of interrelated objects that meet all design requirements and maximize design quality. The layout problem is generally defined as the problem of 1) identifying the shape and size of the components (rooms or walls) to be laid out, 2) identifying constraints between components, and 3) determining the relative positions of these components that satisfy the constraints between them. This combinatorial problem is known to be NP-hard [2]. There are different classes of layout problems that have been studied in the literature: variations on the shape and size of components and the constraints between them. Components may have defined shape (square, rectangular and other) or a loose shaped, fixed or varied size. In the layout problem, addressed here, the rooms have rectangular shape with varied size. Rooms have 2- dimensional geometric constraints on their relative positions. Several hybrid algorithms [5] using a combination of simulated annealing and gradient-based approaches have been developed to find solutions for this problem, which usually converge to local sub-optima. Therefore the solutions are likely to be inferior local optima. Some researchers have used simulated annealing [1], which work with one solution at a time, to search for an optimal solution. However, the most popular solution produced for the problem of this type has been found the Genetic Algorithm (GA) [4] as a robust global optimization approach. Rebaudengo and Sonza Reorda have obtained genetic algorithm [6] for floorplan problem, Gero and Kazakov have used the extension of genetic algorithms [3], which is based on the concepts of genetic engineering for spatial layout problem. The main advantage of using a GA is that while other methods always process single solution in the search space, Genetic Algorithms maintain a population of potential solutions. Although, GAs can solve the complicated engineering optimization problems much more effectively than traditional optimization methods, their efficiency and convergence speeds in solving the problems are still not so good for many realistic problems. In this paper, the evolutionary direction operator has been proposed to improve the existing standard genetic algorithm. The improved GA is analysed, studied empirically and compared, in feasibility and performance evaluation, with standard GA for architectural layout problem. The simulation results demonstrate the improvements of the new algorithm to standard GA. 2. Architectural layout problem formulation In the paper we deal with traditional architectural layout problem that seeks to find the non-overlapping geometry of each component that will minimize the total area cost as one of the objectives (1): subject to min H W (1) 18

20 Analysis of Improved Genetic Algorithm for Optimization of Architectural Layout a j min h j w j 0 (2) h j min h j 0 and w j min w j 0 (3) h j h j max 0 and w j w j max 0 (4) with a j = h j w j > 0, j = 1,, n, (5) where H, W the length/width of global rectangle, h j,w j - the length/width of component of global rectangle, h j min, w j min - the minimum length/width of component of global rectangle, h j max, w j max - the maximum length/width of component of global rectangle, a j - the area of component, a j min - the minimum area of component. For the solution of such a problem we apply Genetic Algorithm. 3. Architectural layout representation by GA When designing a genetic algorithm for a given problem, choosing the representation (i.e. constructing the chromosome) is the first step. A common representation used in the genetic algorithms is the fixed length bit string. In the case of more complex problems a more sophisticated representation lead to better results. The architectural layout consists of rectangular components (see figure 1) with variable width and height. Components require only two parameters to fully define their geometry. Layout is defined by a number of nonoverlapping components. Figure1. An example of architectural layout showing four different components A genotype for layout, represented in figure 1, consists of a single chromosome ((X 1, X 2 ), (X 3, X 4 ), (X 5, X 6 ), (X 7, X 8 )) of four blocks and each block consisting of two genes. This arrangement corresponds to the layout partitioning representation used to define the phenotype, with each block of genes being a coded components shape and each gene being a coded parameter. The genes in the chromosome are real numbers. That is, we use real valued coded chromosome representation, which means that we do not use transformation from the real world to the genetic world as is often done in GAs. Thus, the errors caused by the discretization are avoided and desired design solution can be found faster. 4. Improved genetic algorithm 4.1 Evolutionary direction operator based genetic algorithm Many researchers investigate how to increase the efficiency of genetic algorithm. Several tools have been implemented for searching the optimal layout, including a hybrid genetic algorithm GALLO [7], which exploits heuristic techniques, integrates them into the genetic approach and thus improves the performance of GA. GALLO procedure based on graph theory. A second hybrid search strategy was built on integration of global optimization methods such as genetic algorithms or simulated annealing with gradient-based algorithms [5]. However, this strategy is usually time consuming since it needs to evaluate gradients and can find locally optimal designs. We think that the integration of different approaches is not the most perspective strategy and propose to improve existing GA. In order to find the global optima efficiently, the implementation of evolutionary direction operator is the most perspective strategy for the solution of architectural layout problem under consideration. This operator does not require evaluation of gradients and thus is much less time consuming than the gradient-based optimizer. 19

21 R. Baušys, I. Pankrašovaitė 4.2 Evolutionary direction operator The proposed evolutionary direction operator is described as follows; evolution from a present individual to an individual in the next generation is determined by two parental individuals of the present individual as well as their fitness. An individual is assumed to be represented by n values: (X 1, X 2,., X n ) (6) where each component value X i represents a design parameter. The value of X i is assumed ranging from X i min to X i max, i.e.: X i min X i X i max, i = 1, 2,, n (7) With the use of the evolutionary direction operator the individuals of the next generation, i.e. children, are determined from the individuals at the present and the fitness of the present individual and parents. The child (Xc 1, Xc 2,., Xc n ) is expressed as follows: Xc i = max [min (X* i, X i max ), X i min ], i = 1, 2,, n (8) X* i = X i + S sign (F Fp1)( X i Xp1 i ) + T sign (F Fp2)( X i Xp2 i ) (9) S, T [0,1] where (Xp1 1, Xp1 2,., Xp1 n ) is a parent 1 with fitness Fp1, (Xp2 1, Xp2 2,., Xp2 n ) is a parent 2 with fitness Fp2 and (X 1, X 2,., X n ) is a present individual with fitness value F. From the above definitions, it can be seen that two directions of the evolution have been obtained: one from parent 1 to the present and other from parent 2 to the present. The evolution to the next generation is determined from these two directions by using equation (8). The contribution of the direction from parent 1 is expressed by the second term of the right-hand side of equation (9), whereas that of the direction from parent 2 is by the third term. The random parameters S and T give the magnitude of the contributions of the two directions to the evolution. The signs of the directions are selected depending on whether or not the present fitness is improved through the evolution from the parents. 5. Case study In order to study the performance of standard genetic algorithm and evolutionary direction operator genetic algorithm and compare them, we consider the academic layout problem shown in Figure 2. The problem is to find the length and width of each room that will minimize the cost of the department. The cost of each room in this case is its area. We write room parameters (the length h j and width w j ) as X j variable. Some of the variables can be computed from others. Figure 2. Architectural layout This design problem is a nonlinear optimization problem and mathematically can be formulated as follows; there is an objective function: min F = X 1 X 2 + 4X 1 + X 3 X (cost of bath) ((X 2 + 4) 8.5) + X 3 X 5 +X 6 X 7 + X 6 X 8 ; (10) 20

22 Analysis of Improved Genetic Algorithm for Optimization of Architectural Layout subject to X 1, X 2 20 X 6, X 7 8 X 6, X 8 20 X 3, X 5 17 X 1, X 2 8 X 6, X 7 18 X 6, X 8 8 X 3, X 5 10 X 1 X (10.1) X 6 X (10.2) X 6 X (10.3) X 3 X (10.4) X 1 X X 6 X 7 90 X 6 X 8 90 X 3 X X 1 /X 2 = 1.5 X 7 /X 6 =1.5 X 8 /X 6 = 1.5 X 5 /X 3 =1.5 X 3, X 4 18 (10.5) 4.0 X 1 72 (10.6) 5.5 ((X ) 8.5) 72 (10.7) X 3, X X ((X ) 8.5) 19 X 3 X X 3 X 4 50 X (10.8) X = X 4 + X 5 (10.9) ((X 2 + 4) - 8.5) + X 3 = X 7 + X 8 = X 2 + X The constraints ( ) arise due to designer requirements defined by parameters lower and upper bounds, parameters proportions, area constraints and other architectural constraints. The experiments have been performed with a population size of 80, chromosome length equal eight, crossover probability Pc = 0.6, mutation probability Pm = and evolutionary direction operator probability Ped = 0.6. The initial population of solutions is generated randomly. Selection evaluates candidate solutions, while crossover and mutation synthesize new solutions. The results of the performance of standard genetic algorithm and improved genetic algorithm are given in table 1. Here the best, worst and average results are the best, worst and average architectural layout area values were found applying standard GA and improved GA, respectively. Table 1. Results of performance of standard GA and improved GA: Area Worst Average Best Standard GA Improved GA Table 2 shows the results of CPU time consuming to find the optimal layout design solution by standard GA and improved GA. Here the standard GA and improved GA are compared in terms of optimal (best) value of the architectural layout area and CPU time required to find this value. Table 2. Results of performance of standard GA and improved GA: CPU time Optimal Solution CPU Time Standard GA Improved GA The results of the run of standard GA and improved GA, which converge to the best solution for architectural layout problem, are presented in Figure 3. The population size was 80, the number of generations was 700. The results of performance of the standard GA and the improved GA are presented in Figure 3 with the dash and continuous lines, respectively. It is not difficult to observe that the improved genetic algorithm have better convergence speed and can find better solution than the standard GA in solving architectural layout optimization problem. The optimal solution was 21

23 R. Baušys, I. Pankrašovaitė found by standard GA is units and CPU time requirements 118. The optimal solution was found by evolutionary direction operator GA is units and CPU time requirements Fitness function (F) value standard GA improved GA Generations Figure 3. Fitness and number of generations of standard GA and improved GA for layout problem 6. Conclusions Though GA is superior to the traditional methods in solving the complex architectural layout design problem, the efficiency and convergence velocity is still far from satisfactory. In this paper improved GA is proposed, analyzed in comparison with standard GA in the convergence performances. Evolutionary direction operator genetic algorithm adopts a new evolutionary direction operator that allows some offspring to be generated referencing their parents evolving tendencies. The experiment results demonstrate that improved GA has better performance not only in the solution quality but also on the convergence velocity to solve the architectural layout problem. References [1] J. Cagan, D. Degentesh, S. Yin. A simulated annealing-based algorithm using hierarchical models for general threedimensional component layout. Computer-aided design, 1998, 30, 10, [2] M. R. Garey, D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. New York: W. H. Freeman and Company, [3] J.S. Gero, V. Kazakov. Evolving building blocks for genetic algorithms using genetic engineering. Proceeding of the IEEE Conference on Evolutionary Computing, 1995, [4] D.E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley Publishing Company, Reading, Massachusetts, [5] J.J. Michalek, R. Choudhary and P.Y. Papalambros, Architectural Layout Design Optimization. Engineering Optimization, 2002, 34, 5, [6] M. Rebaudengo, M. Sonza Reorda. Flooplan Area Optimization using Genetic Algorithms. Proc. Fourth Great Lakes Symposium on VLSI, March 1994, [7] M. Rebaudengo, M. Sonza Reorda. GALLO: A Genetic Algorithm for Floorplan Area Optimization. Computer- Aided Design, 1996, 15, 8, Pagerinto genetinio algoritmo analizė sprendžiant architektūrinį patalpų išdėstymo uždavinį Architektūrinio patalpų išdėstymo projektavimo tikslas - rasti kiekvienos patalpos parametrus kurie minimizuotų bendrą plotą. Toks uždavinys matematiškai formuluojamas kaip kombinatorinio optimizavimo uždavinys. Šios klasės uždaviniams spręsti dažniausiai taikomi genetiniai algoritmai, kurie - skirtingai negu gradientiniai metodai, garantuoja optimalaus uždavinio sprendinio (globaliojo optimumo) suradimą. Tačiau genetinių algoritmų efektyvumas ir konvergavimo greitis nėra pakankami, todėl siekiant pagerinti uždavinio sprendinį, siūloma taikyti evoliucinį krypties operatorių. Šis operatorius nereikalauja gradientų skaičiavimų ir tuo pačiu sumažina laiko sąnaudas, reikalingas optimaliam patalpų išdėstymo uždavinio sprendiniui rasti. 22

24 INFLUENCE OF LOSSY COMPRESSION METHODS TO WATERMARK Gerūta Kazakevičiūtė Vilniaus Gedimino Technikos Universitetas, Fundamentinių mokslų fakultetas Saulėtekio al. 11, Vilnius Eugenijus Januškevičius Vilniaus Gedimino Technikos Universitetas, Architektūros fakultetas, CAAD laboratorija Trakų 2, Vilnius Abstract. Article analyses the influence of lossy compression methods to the length of the watermark and its accuracy. Article describes lossy compression methods (EZW, SPIHT, EBCOT), applied in the wavelet (DWT) domain. Capacities of DCT and DWT domains from the watermarking point of view are compared. 1. Introduction The aim of our article is to clear out some things about image watermarking and media data compression in frequency (DCT) and wavelet (DWT domains. ). In paricular case we are interested in the watermark capacity of DCT and DWT domains and influence of JPEG and DWT quantization methods to the watermark size and embedding capacity. 2. Watermarking properties of the main transform domains The transforms used mostly for watermarking purpose are discrete cosine, Fourier and wavelets transforms (DCT, DFT and DWT). Transform domain watermarking has the number desirable properties. Since the chosen transform domain coefficients are modified to embed watermark after the inverse transform the watermark is irregularly distributed over the area of local support. An example, for watermarking that depends on the global DCT this means the watermark is spread over the entire image. Of course, the block-based DCT or wavelet transform affects only the local regions. This property makes more difficult for attacker read or modify the mark. Furthermore, the frequency representation of the image allows selecting the desired bands of the host signal for watermarking. The most of perceptual information is represented in the low- and mid-frequency components of the image data. Compression schemes can hardly affect this portion of the host image without destroying much of visual content of the image. Therefore, adding the watermark in significant coefficients of the transform domain generally improves robustness but the watermark is more visible. It is important to find trade-off between the imperceptibility of the watermark and its robustness. It s important to mark that in DCT domain, the energy concentrates in the low frequency regions around the upper-left corner of transformation. The multi-resolution DWT representation has the low-frequency components of image signal in the approximation subband located in the upper-left corner too. The high-frequency components of DWT are represented in the detail subbands at several resolutions. Most energy of the detail subbands is concentrated in edge and textured regions. 3. Transform compression for watermark embedding The most popular transforms such DCT and DWT has found application in image compression because of their properties. In turn, the compression methodology often forms the basis for the watermark embedding process. We analyse lossy compression methods. Lossy compression methods introduce distortions that have to be taken into account during watermarking, but these schemes achieve much higher compression rates than lossless ones. The higher compression rates leaves less space for watermark. 23

25 G. Kazakevičiūtė, E. Januškevičius The HVS model of the compression system tries to identify and discard perceptually insignificant information of the image. Irrelevancy reduction omits part of the information that will not be noticed by the HVS. Redundancy reduction aims at removing duplicate information. These two fundamental components of compression condition reducing the number of bits needed to represent an image by removing the spatial and spectral redundancies as much as possible. It s important to discuss both DCT and DWT lossy compression methods as they are used in current widely spread JPEG and in new JPEG2000 still image coding and compression standards Principles of DCT compression DCT compression is used in JPEG image coding standard. The entire JPEG procedure can be outlined in the following steps. The image is broken into the groups of 8-by-8 pixels, which are independently transformed to the frequency (DCT) domain. Most of the signal s energy after transformation is concentrated in just few low-frequency bands because adjacent image pixels are highly correlated. Next, the transform coefficients are quantized using quantization tables, which are designed to preserve visually significant coefficients for all compression rates. Finally, the quantized coefficients are zig-zag scanned and passed to an entropy coder. The sequence is encoded by RLE and either Huffman or arithmetic encoding to form the final compressed stream [5, 6]. Using DCT the input image is blocked, correlation across the block boundaries is eliminated. The results are annoying ``blocking artifacts'' particularly at low bit rates Principles of wavelet compression Wavelets are ready to dislodge DCT methods that are exploited in the JPEG image compression standard. With wavelets are proposed a large number of coding methods as Shapiro s EZW (embedded zerotree of wavelet coefficients), Said and Pearlman s SPIHT (set partitioning in hierarchical tree) and Taubman s EBCOT (embedded block coding with optimized truncation). The basic encoding engine of JPEG2000 image compression standard is based on EBCOT [1]. Using multiresolution analysis, wavelet transform decorrelates image data into different time - scale (resolution) bands. Significant dependency still exists between wavelet coefficients. This dependency can mainly be characterized as interscale dependency. Due to interscale dependency, significant wavelet coefficients cluster at the correspondingly same location across different scale. Both EZW and SPIHT exploit the interscale dependency. The zerotree is based on the hypothesis that if a wavelet coefficient at a coarse scale is insignificant with respect to a given threshold T, then all wavelet coefficients of the same orientation in the same spatial location at finer scales are likely to be insignificant with respect to T. The idea is to define a tree of zero symbols, which starts at a root that is also zero and labelled as end-of-block. Under the same assumption of zerotrees, SPIHT scans wavelet coefficients along quadtree instead of subband. Another modification is, SPIHT identifies significance only by the magnitude of wavelet coefficients and encodes the sign separately into a new bit stream. Combined with adaptive arithmetic coding, SPIHT improved the compression performance quite much and caused a number of new developments. EBCOT and JPEG2000 exploit the strong dependencies in the form of spatial clusters between wavelet coefficients inside each subband. There are also available dependency of magnitude and sign of wavelet coefficients in a neighborhood. EBCOT coding mechanism is focused on one by one 16*16 64*64 blocks of wavelet coefficients, (yet 4-by-4 block in JPEG2000) [2, 3]. Wavelet coding schemes avoids some of the more unpleasant JPEG DCT artifacts - the ringing near sharp edges, the clear tile boundaries, and the harsh colour quantisation. All these artifacts are not found in DWT transform even at high compression ratios, because its basic functions are continuous at the edges of the blocks. Wavelet-based coding is more robust under transmission and decoding errors, facilitates progressive transmission of images, and in addition, they are better matched to the HVS characteristics Watermark embedding in DCT and DWT domains Common thing for DCT and DWT domains is distribution of energy. Low frequency bands carry a large amount of the image s energy and due to this reason represents much the image-noise. High frequency bands represents local image noise and suffer most from image processing noise. These principles motivate the choice of the watermark embedding. For the watermark embedding in DCT domain, the perceptually significant coefficients in the middle and low-frequency spectrum are used. Generally blind additive watermarking methods favour the mid-frequency regions due to large amount of image-noise. 24

26 Influence of Lossy Compression Methods to Watermark DWT watermarking schemes often put more energy into the large wavelet coefficients affecting mostly regions like edges and texture. The HSV is less sensitive to small amount of noise in these regions. Understanding the HSV is important to achieve imperceptible watermarking with high capacity. DCT representation of images is typically sparse, but sparse part of transformation is concentrated in lower right corner, so it does not affect the watermark greatly. Wavelet representations of images are entirely sparse, meaning that only a small number of components are able to convey significant hidden information. If compressed images are to be watermarked, many transform coefficients are already quantized to zero, and a sparse model for the host image becomes even more appropriate. As we see in Fig. 1, almost 95% of coefficients may be used for watermark embedding (using blocks 7 to 22) in DCT domain, while there are 2 to 4 % of total number of coefficients, suitable for watermarking in DWT domain. Thus the principles of watermarking in these domains must be different. The most common principle of watermarking in DCT domain is additive embedding of single or repeated graphical pattern, as the size of embedded information is relatively small and may be easily hidden in the image noise. Watermarking in wavelet domain is a bit different. First, we must take into account distribution properties of media: the last level of DWT transform will bee transmitted first, so the whole watermark should fit into this level. On the other hand, the very last level of DWT has low watermark capacity, especially at high compression rates, so the watermark should be as short as possible. These constrains leads us to one solution: we must use short watermarks, based on either distribution context (like distribution key) or the transmitted media itself. The most known scheme of the first type is described by Cox et al. and is using relatively long key-based pseudo-random bit sequences. The other type of watermark may be generated using hash of some hardly changeable property of media, like its spatial organization [4]. 4. Watermark capacity using lossy compression The aim of our investigation was to clear some things, not mentioned anywhere in literature: 1. The watermark capacity of DCT and DWT domains; 2. Influence of JPEG and DWT quantization methods to the watermark embedding capacity Testing of transform compression methods Our test suite consists of these steps: 1. Generation of test images of the same peak signal-to-noise ratio (PSNR) using JPEG and DWT quantization; 2. Measuring watermark capacities of test images. Figure 0. Image "Lena", DCT domain, PSNR=-25dB, watermark capacity bits (94.65%) Figure 0. Image "Lena", DWT domain, PSNR = -25dB, watermark capacity in 3rd subband - 0 bits Test images Lena, Skyline Arch and Watch were taken from standard watermarking test image suite. Testing programs were written using MatLAB modelling environment. Target PSNR for JPEG compression was achieved varying Quality parameter of JPEG file. For testing DWT, db4 wavelet type was used. Watermarking capacity was measured on the 3 -rd level of DWT decomposition. Target PSNR for DWT domain was achieved 25

27 G. Kazakevičiūtė, E. Januškevičius varying quantization threshold. There are 3 types of quantization in DWT domain: EZW and SPIHT, exploring properties of interscale dependencies, and EBCOT, exploring properties of intrascale dependencies. Practically, EZW and SPIHT are zero-tree quantiziers and EBCOT is bit-plane coder, taking into account neighbouring values. As we saw in literature, EBCOT is targeted to visual quality and it gives slightly more coefficients than zero-tree methods, so we did not explicitly tested EBCOT quantization, focusing on zero-tree. Our investigations revealed: 1. Quantization in DCT domain is not important as long as watermark is embedded into upper left part of DCT subbands, typically DCT blocks from 7 to 22. Brutto watermarking coefficients (coefficients, that can be used for watermark embedding) is stable and is about 95% of total coefficients for every quantization level, from PSNR = -45dB to PSNR = -20dB (see Fig. 1). 2. To get high PSNR rates in DWT domain, we must use extremely low quantization theshold, up to 0.03% of maximal value. High quantization in DWT is not compatible with watermarking. Quantizing media to PSNR > -30dB will leave practically no place for watermark. Fig. 2 and Fig. 3 presents two images of the same PSNR value. Fig. 2 is for DCT domain and Fig. 3 is for wavelet domain. Although visual quality is superior in DWT domain, there is no place for watermark left. Quantization threshhold in Fig. 3 was 115% of maximal value in 3 rd DCT level, what means that we had to discard all coeficients on the 3 rd level. 5. Conclusions 1. Watermark s length is not highly important in DCT domain. 2. High quantization rates in DCT domain does not affect block for watermark embedding significantly. 3. Watermark s length is highly important in DWT domain. 4. High quantization threshold eliminates posibility of watermark insertion in DWT domain, so quantization and compression issues must be tested carefully while designing watermarking scheme. 5. Quantization artefacts in DWT doman are much less visible in comparison with DCT domain at the same PSNR values. Bibliography [1] Xiteng Liu. Comparison between image compression methods. University of South Carolina, [2] David Taubman et al. Embedded block coding in JPEG [3] David Taubman. High Performance Scalable Image Compression with EBCOT. IEEE Trans. on Image Processing, July [4] G. Kazakevičiūtė, E. Januškevičius. Public key watermarking in wavelet domain. Information technology and control, No 3, 2003, p. [5] Handbook of image and video processing. Academic press, 2000, 891 p. [6] S. E. Umbaugh. Computer vision and image processing. Prentice Hall PTR, 1999, 504 p. Nuostolingų duomenų suspaudimo metodų įtaka vandens ženklo Įterpimui Straipsnyje nagrinėjami nuostolingi vaizdų suspaudimo metodai (EZW, SPIHT, EBCOT), taikomi vilnelių transformacijos (DWT) domene. Lyginama DCT ir DWT domenų talpa vandens ženklo įterpimo požiūriu bei nagrinėjama, kaip naudojami nuostolingi duomenų suspaudimo metodai veikia įterpiamo vandens ženklo dydį bei atstatymo tikslumą. 26

28 JAUNŲJŲ KREPŠININKŲ FIZINIŲ PRATYBŲ IR RUNGTYNIŲ ŠIRDIES SUSITRAUKIMO DAŽNIO KAITOS SPEKTRINĖ ANALIZĖ Mindaugas Balčiūnas, Stanislovas Stonkus, Kazimieras Pukėnas Lietuvos kūno kultūros akademija, Sporto g. 6 Kaunas Lietuva Siekiant efektyviai rengti jaunuosius krepšininkus, žvelgiant į jų perspektyvą didžiajame krepšinyje, aktuali yra ne tik žaidimo situacijų transpozicija iš rungtynių į pratybas, bet ir vyraujančio fizinio krūvio (pagal pobūdį ir intensyvumą) transpozicija (Velensky, 1999, Dembinski, 2000, Stonkus, 2003) Tiriant vyraujančius fizinius krūvius per krepšinio pratybas ir rungtynes dažniausiai buvo nagrinėjami jų kiekybiniai rodikliai (apimtis ir intensyvumas), tačiau literatūroje neteko sutikti spektrinės analizės metodo panaudojimo tiriant ŠSD kaitos sekas žaidžiant krepšinį. Aplamai, spektrinės analizės metodas taikomas nagrinėjant organizmo reakciją į fizinį krūvį atliekama elektrokardiosignalo spektrinė analizė, tačiau šie tyrimai nepaliečia ŠSD kaitos proceso pratybų ar rungtynių metu dinamikos. Spektrinės analizės metodu gauti krepšininkų ŠSD kaitos rodikliai per įvairias pratybas ir rungtynes leidžia teigti, kad realiai galima modeliuoti pratybas, perkeliant į jas rungtynių situacijas pagal fizinio krūvio intensyvumą ir pobūdį. 1. Įvadas Siekiant efektyviai rengti jaunuosius krepšininkus, žvelgiant į jų perspektyvą didžiajame krepšinyje, aktuali yra ne tik žaidimo situacijų transpozicija iš rungtynių į pratybas, bet ir vyraujančio fizinio krūvio (pagal pobūdį ir intensyvumą) transpozicija (Velensky, 1999, Dembinski, 2000, Stonkus, 2003) Tik santykinai adekvačių rungtynėms fizinio krūvio taikymas per pratybas sudarys reikiamas sąlygas ir prielaidas ilgalaikei jaunųjų krepšininkų adaptacijai rungtynių ir varžybų krūviams (Buceta, 2000) Tiriant jauniesiems krepšininkams taikomų fizinių krūvių per krepšinio pratybas ir rungtynes pobūdį, intensyvumą, tų krūvių adekvatumą, lyginamosios ŠSD rodiklių, gautų pulsometrijos metodo pagalba, analizės metodu nustatėme esminius fizinio krūvio intensyvumo ir apimties per pratybas ir rungtynes skirtumus Lyginamosios analizės metodas neleidžia nustatyti širdies susitraukimo dažnio (ŠSD) rodiklio per pratybas ir rungtynes kaitos, jos tendencijų. Siekiant giliau pažinti organizmo reagavimo į pratybų ir rungtynių krūvius, ištirti ŠSD kaitos procesą, buvo naudojamas spektrinės analizės metodas. Tyrimų naujumas Tiriant vyraujančius fizinius krūvius per krepšinio pratybas ir rungtynes dažniausiai buvo nagrinėjami jų kiekybiniai rodikliai (apimtis ir intensyvumas), tačiau literatūroje neteko sutikti spektrinės analizės metodo panaudojimo tiriant ŠSD kaitos sekas žaidžiant krepšinį. Aplamai, spektrinės analizės metodas taikomas nagrinėjant organizmo reakciją į fizinį krūvį atliekama elektrokardiosignalo spektrinė analizė, tačiau šie tyrimai nepaliečia ŠSD kaitos proceso pratybų ar rungtynių metu dinamikos Hipotezė: Spektrinės analizės pritaikymas ŠSD dinamikos tyrimams leis giliau pažinti organizmo reakcijos į fizinius krūvius ypatumus, įgalins tiksliau nustatyti optimalius fizinius krūvius ir juos valdyti, parenkant atitinkamą pratybų struktūros modelį. Tyrimų tikslas : Nustatyti ir įvertinti jaunųjų krepšininkų reagavimo į fizinius krūvius rodiklio ŠSD kaitos tendencijas per pratybas ir rungtynes. Uždaviniai 1. Nustatyti įvairių pratybų ir rungtynių SŠD sekų spektrinio tankio pobūdį. 2. Nustatyti ŠSD kaitos tarpusavio ryšį tarp kelių modelių pratybų ir rungtynių Tyrimo metodai ir organizavimas 1. Literatūros šaltinių analizė 27

29 M. Balčiūnas, S. Stonkus, K. Pukėnas 2. Pulsometrija 3. Spektrinė analizė Buvo analizuojama m. krepšininkų (n = 18) ŠSD kaita per įprastas pratybas (nekeičiant įprastos struktūros), modeliuotas pratybas (rungtynių struktūros požiūriu) ir rungtynes. Krepšininkų SŠD buvo registruojamas varžybinio laikotarpio metu. Modeliuotos pratybos buvo vykdomos pagal rungtynių krūvio struktūros modelį, kai darbo ir poilsio intervalai atitinka rungtynių struktūrą (1 pav.).analizuojama buvo tik tų rungtynių ŠSD, kuriose žaidėjai žaidė ne mažiau kaip 30 min. gryno žaidimo laiko. ŠSD nustatytas naudojant Polar pulsometrus. Spektrinės analizės būdu buvo nustatinėjami ŠSD sekų spektriniai tankiai, pagrindinių spektrinių dedamųjų intervalai, sekų tarpusavio spektrų amplitudės bei spektrų kvadratinis koherentiškumas. Darbas Darbas Darbas Darbas Poilsis Poilsis Poilsis 1 pav. Rungtynių krūvio struktūros modelis (Dembinski, 2000) 2. Rezultatai ir jų aptarimas Nagrinėjant vyraujančius fizinius krūvius pagal žaidėjų SŠD buvo nustatytas esminis skirtumas tarp atliekamo fizinio darbo intensyvumo ir apimties per rungtynes ir pratybas. Jaunųjų krepšininkų reagavimo į taikomus fizinius krūvius per pratybas ir rungtynes rodikliai (ŠSD) matyti 2 a ir b pav. Rungtynės Pratybos Rungtynės a Modeliuotos pratybos b 2 pav. Krepšininkų ŠSD sekų per pratybas, modeliuotas pratybas bei rungtynes palyginimas 28

30 Jaunųjų krepšininkų fizinių pratybų ir rungtynių širdies susitraukimo dažnio kaitos spektrinė analizė Lyginant rungtynių ir įprastos struktūros pratybų ŠSD sekas matomas akivaizdus fizinio darbo neatitikimas tiek pagal intensyvumą, tiek pagal struktūrą (2 pav. a), modeliuotų pratybų krepšininkų SŠD rodikliai pastebimai daugiau atitinka fizinį darbą atliekamą per rungtynes, šie rezultatai buvo gauti lyginant kiekybinius fizinio darbo intensyvumo rodiklius (Stonkus, S., Balčiūnas, M., 2003). Spektrinės analizės būdų buvo nagrinėjamas ŠSD kaitos pobūdis skirtingos fizinės veiklos metu (per krepšinio pratybas ir rungtynes). Sportininkų krūvio kaitos pratybų ir varžybų metu įvertinimui su SPSS programa buvo atlikta pulso dažnio, matuojamo kas 5 s, sekos spektrinė analizė. Nagrinėjamos sekos ilgis nuo 900 iki 1200 pulso reikšmių. Spektrinės analizės būdu buvo nustatinėjami ŠSD sekų spektriniai tankiai, kurie apibūdina ŠSD kaitos dinamiką krepšinio rungtynių ir pratybų metu, sekų tarpusavio spektrų amplitudės, kurios parodo atskirų ŠSD sekų kaitos panašumus ir skirtumus, bei spektrų kvadratinis koherentiškumas, kuris parodo koreliaciją tarp nagrinėjamų sekų spektro dedamųjų. Nagrinėjant ŠSD sekų grafinius vaizdus nustatėme, jog modelinių pratybų bei rungtynių ŠSD sekų spektrų pagrindinės spektrinės dedamosios yra dažnių intervale nuo 0 iki 0,12 1/min., kas rodo principinį nagrinėjamų ŠSD sekų panašumą. Krepšinio pratybų spektrinio tankio grafikai nors ne iš esmės, tačiau skiriasi tiek nuo rungtynių, tiek nuo modelinių pratybų ŠSD spektrinio tankio rodiklių. Aiškesniam ŠSD kaitos per pratybas ir rungtynes suvokimui panagrinėsime kelis ŠSD kaitos atvejus. Šiai analizei pasirinkti tų pratybų ir rungtynių rodikliai, kurie atitinka vyraujančios fizinės veiklos tendencijas. 3 pav. a,b,c grafikuose pateikta to pačio žaidėjo ŠSD kaitos spektrinių tankių analizė. Density Spectral Density of PRAT_S1 Density Spectral Density of RUNG_1 Density Spectral Density of PRAT_ ,0 1,2 0 0,0 1,2 0 0,0 1,2 Frequency,1/min Frequency, 1/min Frequency, 1/min a b c 3 pav. Modelinių pratybų (a), rungtynių (b) ir įprastų pratybų (c) ŠSD spektrinio tankio pavyzdžiai Lyginant žaidėjo ŠSD kaitą per modelines pratybas ir rungtynes metu (3 pav. a ir b) matomas akivaizdus ŠSD kaitos panašumas (pagrindinės spektrinės dedamosios yra dažnių intervale nuo 0 iki 0,12 1/min.), modelinių pratybų ŠSD kaita (3 pav. c) pastebimai skiriasi nuo prieš tai nagrinėtų. Amplitude Cross Amplitude of PRAT_S1 and RUNG_ Amplitude Cross Amplitude of PRAT_1 and RUNG_1 Amplitude Cross Amplitude of PRAT_S1 and PRAT_ ,00,12,24 0 0,00,12,24 0 0,00,12,24 Frequency, 1/min Frequency, 1/min Frequency, 1/min a b c 4 pav. Modeliuotų pratybų ir rungtynių (a), įprastų pratybų ir rungtynių (b), modeliutų pratybų ir įprastų pratybų ŠSD sekų tarpusavio spektrų amplitudžių grafikai 29

31 M. Balčiūnas, S. Stonkus, K. Pukėnas Informatyvus kriterijus, leidžiantis palyginti dviejų ŠSD sekų dinamiką spektriniu požiūriu, yra tarpusavio spektrų amplitudė. ŠSD sekų analizė pagal šį kriterijų patvirtino modelinių pratybų ir rungtynių rodiklių panašumą (4 pav. a) bendro spektro dedamųjų amplitudė didžiausia 0 0,12 1/min. intervale, kas rodo tarpusavio ryšio stiprumą tarp nagrinėjamų ŠSD sekų. Analizuojant įprastų pratybų ir rungtynių rodiklius (4 pav. b) rastas daug silpnesnis ryšys nagrinėjamame intervale 0 0,12 1/min., tai reiškia jog fiziniai krūviai (jų intensyvumas, ŠSD dinamika) nėra adekvatūs. Tuo tarpu, remiantis gautais duomenimis, galima teigti, jog modelinės pratybos sudaro geras sąlygas jauniesiems krepšininkams adaptuotis rungtynių fiziniams krūviams. Coherency 1,0,8 Coherency of PRAT_S1 and RUNG_1 Coherency 1,0,8 Coherency of PRAT_1 and RUNG_1,6,6,4,4,2,2 0,0 0,00,12,24 0,0 0,00,12,24 Frequency, 1/min Frequency, 1/min Coherency 1,0,8 Coherency of PRAT_S4 and RUNG_4 a Coherency 1,0,8 b Coherency of PRAT_2 and RUNG_2,6,6,4,4,2,2 0,0 0,00,12,24 0,0 0,00,12,24 Frequency, 1/min Frequency, 1/min Coherency 1,0,8 Coherency of PRAT_S6 and RUNG_6 c Coherency 1,0,8 Coherency of PRAT_6 and RUNG_6 d,6,6,4,4,2,2 0,0 0,00,12,24 0,0 0,00,12,24 Frequency, 1/min Frequency, 1/min e 5 pav. Atskirų atvejų spektrų kvadratinio koherentiškumo lyginimas tarp modeliuotų pratybų ir rungtynių (a,c,e) bei įprastų pratybų ir rungtynių ( b,d,f ) ŠSD sekų. f 30

32 Jaunųjų krepšininkų fizinių pratybų ir rungtynių širdies susitraukimo dažnio kaitos spektrinė analizė Modelinių pratybų ir įprastų pratybų ŠSD sekų palyginimas taip pat nerodo stipraus tarpusavio ryšio tarp nagrinėjamų sekų (4 pav.c), bendro spektro dedamųjų amplitudė yra nedidelė. Jaunųjų krepšininkų reagavimo į pratybas ir rungtynes fizinių krūvių (ŠSD) dinaminio proceso spektrų kvadratinis koherentiškumas, savo esme tolygus koreliacijos koeficiento kvadratui, leidžia detaliai įvertinti nagrinėjamų sekų spektrų dedamųjų tarpusavio priklausomybę: ŠSD kaitos per įvairias pratybas ir rungtynes panašumą. Pateiktuose grafikuose (5 pav. a-f) tiriamų žaidėjų ŠSD sekų spektro kvadratinis koherentiškumas analizuojamas dominuojančių spektro dedamųjų intervale, t. y. nuo 0 iki 0,12 1/min. (5 pav.) Lyginant ŠSD sekų spektrus per modelines pratybas ir rungtynes (5 pav. a,c,e ) bei įprastas pratybas ir rungtynes (5 pav. b,d,f ), matomas aiškus spektro dedamųjų pasiskirstymo skirtumas aukščiau nurodytame dažnių intervale, kas charakterizuoja skirtingas lyginamų ŠSD sekų priklausomybes. Modelinių pratybų ir rungtynių ŠSD dinaminio proceso pagrindinės spektrinės dedamosios visuose nagrinėjamuose atvejuose dominuoja intervale 0 0,12 1/min., o kvadratinis koherentiškumo koeficientas svyruoja vidutiniškai nuo 0,5 iki 0,7, tuo tarpu įprastų pratybų ir rungtynių ŠSD sekų kvadratinis koherentiškumo koeficientas svyruoja vidutiniškai nuo 0,2 iki 0,4 Apibendrinant ŠSD sekų priklausomybės nagrinėjamus atvejus, galima teigti, kad lyginant modeliuotų pratybų ir rungtynių ŠSD sekas, spektrų koherentiškumas svyruoja nuo vidutinio iki stipraus ryšio ( kvadratinis koherentiškumo koeficientas 0,5 0,7), lyginant įprastų pratybų ir rungtynių ŠSD sekas spektrų koherentiškumas svyruoja nuo silpno iki vidutinio ryšio (kvadratinis koherentiškumo koeficientas 0,2 0,4). 3. Išvados: 1. intensyvumą ir pobūdį. Jaunųjų krepšininkų ŠSD sekų spektrinis tankis per modeliuotas pratybas ir rungtynes yra panašus: modeliuotų pratybų ir rungtynių pagrindinės spektrinės dedamosios yra nuo 0 iki 0,12 1/min. dažnių intervale. 2. Krepšininkų SŠD sekų spektrų koherentiškumas per modeliuotas pratybas ir rungtynes stipresnis (kvadratinis koherentiškumo koeficientas 0,5 0,7) negu įprastų pratybų ir rungtynių (kvadratinis koherentiškumo koeficientas 0,2 0,4). 3. Spektrinės analizės metodu gauti krepšininkų ŠSD kaitos rodikliai per įvairias pratybas ir rungtynes leidžia teigti, kad realiai galima modeliuoti pratybas, perkeliant į jas rungtynių situacijas pagal fizinio krūvio Literatūros sąrašas [1] J.M. Buceta, Organising Training Sesions In Basketball For Young Players. Madrid. FIBA, pp [2] J. Dembinski, Charakterystyka struktury czasowej gry w koszykowke po zmianie przepisow. AWF, Warszawa 2000, pp [3] S. Stonkus, Krepsinis. Istorija, teorija, didaktika. LKKA pp [4] S. Stonkus, M. Balciunas, Analysis of predominant intensity of physical load in basketball players of different ages during competition and training. Human Movement, 2003 (8) 2, pp [5] M. Velensky, Basketbal. Praha:Grada Publishing THE SPECTRAL ANALYSIS OF CHANGES IN HEART RATE INDEX DURING PRACTICE AND GAME OF YOUNG BASKETBALL PLAYERS The paper present results of investigations of the prevailing physical workload during basketball practical training sessions and game, the quantitative indices of workload (the scope and intensity) were analysed by method of spectral analysis and the spectral densities of the series of the heart rate, the intervals of the main spectral constituents, the cross-amplitude spectrum of the series and the squared coherency spectrum were established. The indices of change in HR of basketballers, obtained by using the method of spectral analysis during different practical trainings and matches, allow to maintain that, in fact, there is a possibility to model practical training activities transposing situations of matches into them, accordingly to the intensity and character of physical workload. 31

33 DINAMINIŲ KOLIZIJOS APTIKIMO ALGORITMŲ APŽVALGA Mindaugas Kėblis Kauno Technologijos Universitetas Daugelis kompiuterinės grafikos taikymo uždavinių reikalauja greito ir efektyvaus kolizijos aptikimo tarp trimačių objektų algoritmo. Šiame straipsnyje didžiausią dėmesį skirsime dinaminiam kolizijos nustatymui. Visus metodus apžvelgsime iš bendro stebėjimo taško, įsigilinant ne tiek į pačius algoritmus, kiek į bendrus jų veikimo principus. 1. Įvadas Pastaruoju metu pristatyta visa eilė kolizijos aptikimo algoritmų skaičiuojamosios geometrijos, robotų valdymo ir ypatingai kompiuterinės grafikos srityse. Vieni iš jų yra pritaikyti specifinėms problemoms spręsti, kiti daugiau teorinio pobūdžio. Skirtinga algoritmų kilmė ir taikymo sritys dažnai slepia jų bendrą veikimo principą. Šiame straipsnyje pabandysime šiuos principus atskleisti. Ankstesnėse kolizijos aptikimo algoritmų apžvalgose klasifikavimas buvo atliekamas pagal objektų geometrinį modelį[13]. Dabar pabandysime orientuotis į sistemingą sprendimo strategijų išdėstymą. Kompiuterinė grafika apima daug sričių, kuriose reikia greito kolizijos aptikimo algoritmo: CAD, Virtuali Realybė, fizinis modeliavimas bei kontaktų analizė. Šiame kontekste sukurti algoritmai yra praktinio pobūdžio. Skaičiuojamosios geometrijos srityje, priešingai siekiama sukurti algoritmus su kiek galima mažesniu blogiausio atvejo sudėtingumu, kas dažnai priveda prie sudėtingų duomenų struktūrų. Pastarieji dažnai yra vadinami kaip bendriausio atvejo algoritmai, tačiau realaus pasaulio modeliai dažnai turi daug geometrijos išsigimimų ar blogų duomenų. Dėl šios priežasties bendriausio atvejo algoritmai paprastai nėra labai tinkami praktiniam taikymui. Praktinių kolizijos nustatymo algoritmų taikymą apriboja ne tik pati taikymo sritis, bet ir pradinių duomenų įvairumas. Pastarieji kolizijos aptikimo algoritmai paprastai turi balansuoti tarp sprendinio kokybės ir skaičiavimo laiko. 2. Kolizijų aptikimo metodai Kolizijos nustatymas siejamas su keletu šio uždavinio formuluočių, priklausomų nuo rezultato poreikio ir pradinių duomenų apribojimų. Paprasčiausias uždavinys: duota objektų aibė ir jų judėjimą tam tikrame laiko intervale aprašanti funkcija; reikia nustatyti ar tame laiko intervale įvyks kontaktas tarp objektų. Sudėtingesniais atvejais reikia nustatyti kolizijos laiką ir kontaktuojančias objektų dalis. Paprasčiausias būdas supaprastinti šį uždavinį įvesti apribojimus pradiniams duomenims Kolizija laike ir erdvėje Pats bendriausias kolizijos nustatymo uždavinio sprendimo būdas yra paremtas išskyrimo operacija[2]. Objekto išskirtas tūris (angl. extruded volume) yra erdvės-laiko taškų aibė, nusakanti užimtos erdvės dalį visoje objekto judėjimo trajektorijoje. Kolizija tarp objektų įvyksta tada ir tik tada, kai jų išskirti tūriai kertasi (1 pav.). Formalų šio metodo gerumą dalinai užgožia praktinė jo realizacija, kurios pagrindinis trikdis yra 4 dimensijų išskirtų tūrių generavimas. Jei 4D išskirtų tūrių generavimas būtų pakankamai paprastas, nebūtų atsiradę ir kitų metodų, nes visi jie sukurti tam, kad būtų išvengta šių tūrių skaičiavimo. Šie metodai yra geometriniai arba algebriniai. Geometriniai metodai yra du: išskirto tūrio projektavimas į mažesnę dimensiją apimtų tūrių metodas ir judėjimo trajektorijos diskretizavimas, iššaukiantis pakartotiną persikirtimo algoritmo taikymą. Algebrinis metodas nusakomas judėjimo trajektorijos parametrizavimu Apimtų tūrių kolizija Apimtas tūris (angl. swept volume) tai erdvės dalis, kurią sudaro visi objekto judėjimo metu apimti taškai. Jei visų scenos objektų tam tikrame laiko intervale apimti tūriai nesikerta, tai tame laiko intervale kūnų kontakto nėra. 32

34 Dinaminių kolizijos aptikimo algoritmų apžvalga Tai pakankama, tačiau nebūtina sąlyga: nesant kolizijai šie tūriai gali kirstis (1 pav. dešinėje). Tam, kad ši sąlyga būtų traktuojama kaip būtina, vieno objekto apimtas tūris turi būti generuojamas pagal santykinį vieno kūno judėjimą kito atžvilgiu. Tokiu būdu, vienas iš objektų yra fiksuojamas ir suskaičiuojamas kito objekto apimtas tūris tam tikrame laiko intervale. 1 pav. Išskirti ir apimti tūriai. Kolizija tarp kūnų yra, nes jų išskirti tūriai kertasi (kairėje). Dešinėje kūnų išskirti tūriai nesikerta, todėl nėra ir kolizijos. Svarbu atkreipti dėmesį, jog abiem atvejais kūnų apimti tūriai (angl. swept volumes) plokštumoje yra vienodi Apimtų tūrių generavimas reikalauja gana daug skaičiavimų, todėl dažnai dirbama su iškylomis apimtų tūrių aproksimacijomis ir tik globalių apimtųjų tūrių kirtimosi atveju trajektorija yra sudalinama į intervalus, kuriems suformuojami atskiri apimtieji tūriai. Paprastesniais atvejais yra apribojamos kūnų formos ir jų judėjimo trajektorijos, o apimti tūriai formuojami iš kūnus ribojančių primityvų (angl. boundary representations, B-reps) Kombinuotas kolizijos nustatymas Paprasčiausias būdas nustatyti koliziją diskretizuoti objektų judėjimo trajektorijas ir pakartotinai taikyti statinį persikirtimo nustatymo testą. Labai svarbu kaip diskretizuojama trajektorija. Pernelyg retos diskretizacijos atveju kolizija gali būti neužfiksuota (praleista), o pernelyg tanki - reikalauja daug skaičiavimų. Geras šios problemos sprendimas adaptyvi diskretizacija. Idealiausiu atveju, sekantis diskretus laiko momentas turi sutapti su anksčiausiu galimos kolizijos atsiradimo laiku. Yra keletas skirtingų anksčiausio kolizijos laiko nustatymo strategijų. Grubiausias sekančios kolizijos laiko skaičiavimas yra susijęs su žemesniąja atstumo tarp objektų ir aukštesniąja jų judėjimo greičių ribomis. Rafinuotesnės strategijos atsižvelgia ne tik į atstumą, bet ir į kryptinę informaciją. Viena iš jų[7], suranda ne tik esamu laiko momentu artimiausius briaunainių taškus, bet ir juos jungiančią atkarpą. Laiko momentas, kuomet abiejų objektų projekcijos šioje atkarpoje susitinka yra traktuojamas kaip sekantis diskretizacijos taškas (2 pav.). 2 pav. Adaptyvi laiko diskretizacija. Pradinėje būsenoje (a) nustatyti artimiausi taškai ir juos jungianti atkarpa. Objektų projekcijos atkarpoje susitinka laiko momentu (b), kuris imamas kaip sekantis diskretizacijos taškas. Šiuo momentu suskaičiuojami nauji artimiausi taškai ir juos jungianti atkarpa (c) ir sekantis diskretizacijos taškas, kuomet objektai iš tikrųjų susikerta (d) Artimiausi taškai tarp dviejų objektų visuomet priklauso kūnų apribojimams, todėl taikant šį metodą daugeliu atvejų yra pasinaudojama B-reps. 33

35 2.4. Trajektorijos parametrizavimas M. Kėblis Koliziją galima apskaičiuoti analitiškai, aišku jei objektų judėjimo trajektorijos yra išreikštos parametro (laiko) funkcija. Pavyzdžiui, įsivaizduokime paprasčiausią atvejį, kuomet taško judėjimas yra tiesinis, o mes norime nustatyti ar jis kertasi su erdvėje fiksuotu trikampiu. Tada parametrinė vektoriaus lygtis tokia: p + p p) t = p + ( p p ) u + ( p p ) v, ( kur p ir p yra pradinė ir galutinė taško pozicijos. Ši vektorinė lygtis nusako tris skaliarines lygtis bei tris nežinomuosius, visą tai nesunkiai galime transformuoti į polinomą nuo t. Kuomet kūnai judėdami sukasi, tai išraiškose atsiranda trigonometrinės funkcijos, bet jas taipogi kintamųjų keitimo pagalba galime transformuoti į polinomus priklausančius nuo vieno kintamojo. Priklausomai nuo judėjimo trajektorijos, polinomų eilė gali būti gana didelė. Kuomet polinomų eilė lygi ar didesnė penkiems, tuomet analitiškai jų išspręsti negalime ir kolizijai nustatyti gali prireikti labai daug skaičiavimo laiko. Kolizijų tarp deformuojamų kūnų nustatymo uždavinys gali būti formuluojamas kaip ribotas minimizavimo uždavinys[15], kuris sprendžiamas Niutono intervalų metodais. Kompiuterinės grafikos kontekste, parametrizuota kolizijos sąlyga gali būti lengvai gaunama bet kokiems trianguliuotiems paviršiams, tokiu būdu ją būtų galima praplėsti ne standiems, nuo laiko priklausantiems parametriniams paviršiams. 3. Erdvės ir laiko apribojimo strategijos Netgi tuo atveju jei dviejų objektų persidengimo testas yra labai efektyvus, jį naudojantis kolizijos nustatymo algoritmas gali būti pernelyg lėtas. Bendras efektyvumas priklauso nuo to, kiek kartų šis elementarus testas bus taikomas. Taigi pagrindinis kolizijos nustatymo algoritmo tikslas pasinaudojant specifinėmis objekto geometrinėmis bei judėjimo dinamikos savybėmis, kiek įmanoma sumažinti elementaraus persidengimo testo taikymo skaičių. Žinant objektų išsidėstymą bei jų judėjimo pobūdį, galime nustatyti laiko intervalą, kuriame gali įvykti kolizija. Taipogi, jei objektai yra pakankamai sudėtingi, būtų puiku apriboti kolizijų paiešką tomis objekto dalimis, kuriose labiausiai tikėtina kolizija. Galiausiai, jei scenoje yra gana daug judančių objektų, reikėtų kiek įmanoma apriboti tikrinamų objektų porų skaičių (elementarių kolizijos aptikimo testų skaičių) Atstumo skaičiavimas kolizijos paieškos laiko intervalui apriboti Daugelis atstumo skaičiavimo algoritmų yra skirti iškiliesiems briaunainiams. Kai kurie iš jų naudojasi specifinėmis briaunainių savybėmis, todėl negali būti taikomi kitiems geometriniams modeliams. Kita algoritmų grupelė[10] taikoma objektams turintiems sferinio ar kitokio ne-briaunainių tipo paviršius. Atstumo skaičiavimas tarp implicitinių ar parametrinių paviršių lyg šiol neturi greitų sprendimo būdų. Visus šiuos algoritmus galime suskirstyti į dvi pagrindines klases: geometriniai ir optimizaciniai Geometriniai metodai Bendra idėja yra surasti artimiausius briaunainių taškus ir nustatyti euklidinį atstumą tarp jų. Yra pasiūlyti trys artimiausių taškų radimo metodai: du iš jų plėtoja inkrementinį atvaizdavimą mažiausio atstumo kryptimi, trečiasis artimiausių taškų ieško briaunainio sienose. Pirmasis vadinamas Dobkin ir Kirkpatrick hierarchinio briaunainių atvaizdavimo metodu. Čia atstumas gali būti suskaičiuotas per optimalų O (log n log m) laiką[5]. 3 pav. Dobkin-Kirkpatrick metodo iliustracija Pirmame žingsnyje surandami artimiausi dviejų tetraedrų taškai (žemiausias hierarchijos lygis). Dabar, įsivaizduokime segmento, jungiančio šiame žingsnyje rastus artimiausius taškus, kryptį. Dvi šiai krypčiai statmenos plokštumos, liečiančios kiekvieną iš briaunainių (esamame hierarchijos lygyje), apriboja sritį, kurioje bus ieškomi sekantys artimiausi taškai. Šios srities sankirta su briaunainiu praplėstu iki sekančio hierarchijos lygio gali būti sudaryta iš dviejų, vieno simplekso ar tuščios aibės. Jei artimiausi taškai nebėra tie patys, tai mažiausiai vienas iš jų priklauso vienam iš šių simpleksų. Situacija pavaizduota 3 pav. 34

36 Dinaminių kolizijos aptikimo algoritmų apžvalga Dviejų briaunainių P ir Q Minkovskio skirtumas = { p q p P, q } yra naudojamas atstumo M P, Q Q skaičiavimo algoritmuose[3], kuriuose pasinaudojama faktu, jog atstumas tarp P ir Q yra lygus atstumui nuo koordinačių pradžios iki. Minkovskio skirtumo skaičiavimo sudėtingumas yra kvadratinis. M, P Q 4 pav. Minkovskio skirtumas M PQ (brūkšninė linija) yra taškų, gautų iš Q viršūnių atėmus P viršūnes (plonos linijos), iškilusis apvalkalas. (a) atstumas tarp P ir Q toks pat kaip tarp koord. pradžios ir M PQ ; (b) atstumas tarp M PQ ir koord. pradžios lygus P ir Q persidengimo gyliui Trečiuoju būdu artimiausių taškų ieškoma einant per briaunainių sienas atstumo mažėjimo kryptimi. Čia pagrindinė sąvoka yra Voronojaus sritis (5 pav.): kiekvienas briaunainio elementas (viršūnė, briauna, siena) turi su savim susietą erdvės sritį, kurios visi taškai yra arčiau jo nei visų kitų elementų. Algoritmo veikimo principas toks: pirmiausia atsitiktinai paimama elementų iš kiekvieno briaunainio pora ir surandami artimiausi taškai tarp jų. Jei kiekvienas iš šių taškų priklauso kito elemento Voronojaus sričiai, tai šie taškai yra artimiausi taškai tarp briaunainių ir tuo pačiu paieškos procedūra baigiama. Jei ne kiekvienas iš taškų turi būti arčiau kaimynystėje esančių elementų, kurie ir parenkami sekančiai iteracijai. Tokiu būdu pamažu ir prieinama prie artimiausių taškų (kuomet Voronojaus sričių sąlyga patenkinama). Šio algoritmo sudėtingumas tiesiškai priklauso nuo bendro elementų skaičiaus. Jei briaunainiai kertasi, šis algoritmas užsiciklina. Šiai problemai spręsti, keletas autorių praplėtė erdvės sudalinimą į briaunainio vidų, tuo įvesdami pseudo-voronojaus sričių sąvoką. Reiktų atkreipti dėmesį į dar vieną dalyką: tarkime ieškome atstumų tarp briaunainių, kurie juda tankiai diskretizuotu maršrutu. Tokiu atveju artimiausi elementai keičiasi labai retai arba pasikeičia į kaimyninius. Dėl šios priežasties pradiniai elementai sekančiame žingsnyje yra parenkami ne atsitiktinai - jais tampa praeitame žingsnyje buvę artimiausi elementai. Pasinaudodamas šia koherentiškumo savybe algoritmas atlieka skaičiavimus per numatytą pastovų laiką Optimizaciniai metodai 5 pav. Voronojaus sritys: (a) taško, (b) briaunos, (c) sienos Atstumas čia traktuojamas kaip kvadratinė funkcija, kurią reikia minimizuoti su tiesiniais apribojimais (dėl briaunainių briaunainio iškilumo). Formaliai[1]: funkcija f ( p, q) = p q / 2 minimizuojama su linijiniais apribojimais p, n =,..., P i P P di, i 1 k ir q, n =,..., Q j Q Q d j, j 1 k, kur P 2 p, q Q. Tam tikslui naudojamas Rosen o gradiento projekcijos algoritmas. Kiekviename žingsnyje nustatomi aktyvūs apribojimai ir tikrinamos Kuhn-Tucker sąlygos, kurių pagalba sužinome ar pasiektas globalus minimumas. Jei taip nėra, Kuhn-Tucker sąlygų koeficientai taikomi naujos paieškos krypties nustatymui. Yra du būdai rasti pradinius taškus: pritaikyti simpleksų minimizavimo subalgoritmą briaunainių centroidų nustatyta kryptimi arba rasti taškus, kuriuose briaunainių centroidus jungianti atkarpa kerta jų sienas. Aprašytas optimizacinis metodas nepasiteisino ir netapo toks populiarus kaip geometriniai metodai. Tai sąlygojo geometrinių algoritmų realizacijos paprastumas. Nėra gerų ir pakankamai greitų metodų atstumui tarp neiškilių briaunainių rasti. Paprastai neiškilūs modeliai yra apribojami paprastesniais iškilais apvalkalais arba dalinami į atskiras iškilas dalis. Dažnai iškilių dalių skaičius būna gana didelis, todėl toks sprendimas padidina uždavinio sudėtingumą ir dažnai būna nepraktiškas. Šią problemą sprendžia metodai apribojantys kolizijų tikrinimo sritis objektuose. Pastaruosius metodus panagrinėsime sekančiame skyrelyje. 35

37 3.2. Kolizijų srities apribojimas objektuose M. Kėblis Yra trys būdai skirti kolizijos paieškai apriboti tose objektų dalyse, kuriose yra didžiausia kolizijos tikimybė. Pirmasis pritaikyti gaubiančių tūrių hierarchijas, antrasis nustatyti priekines modelių dalis jų judėjimo kryptimi, trečiasis artimiausių taškų sekime pritaikyti laikiną koherentiškumą. Hierarchinis apgaubimas gali būti taikomas tiek pačiam tūriui, tiek modelį ribojančioms dalims. Paskutiniai du būdai labiausiai tinkami tik modelių riboms Hierarchiniai tūrio apribojimai (gaubiančiųjų tūrių hierarchijos) Pagrindinis gaubiančiųjų tūrių hierarchijų taikymo tikslas aproksimuoti objektus (gaubiančiais tūriais) arba suskaidyti jų užimamą erdvę (erdvės dekompozicija) tam, kad sumažintumėme objektų ar primityvų porų skaičių, kurį reiks patikrinti aptinkant kolizijas. Reikėtų paminėti du pagrindinius hierarchijų taikymo privalumus: (1) daugeliu atvejų kolizijos buvimas ar nebuvimas yra nustatomas pirmuose hierarchijos lygiuose, (2) objektų tikslus suskaidymas reikalingas tik tose vietose, kuriose gali įvykti kolizija. Erdvės sudalinimui yra naudojamos šios struktūros: aštuntainiai medžiai[9] (angl. Octrees), BSP-medžiai[14], tetraedrų tinkleliai[12], taisyklingi tinkleliai[6] ir kt. Sudalinus objektų užimamą erdvę, ieškant kontakto pakanka patikrinti tik tas objektų poras (ar dalis), kurios yra tose pačiose ar artimose dekompozicijos celėse. Kolizijos nustatymo procesas dar labiau pagreitinamas šiems suskaidymams pritaikius hierarchijas. Plačiausiai naudojami yra aštuntainiai ir BSP medžiai. Aštuntainiai medžiai rekursyviai sudalina kubus į oktantus, o BSP medžiai supjausto erdvę hyperplokštumomis. Objektų skaidymas į hierarchines struktūras kolizijos nustatymo algoritmuose taikomas gana dažnai. Tokiu būdu siekiama šių tikslų: (1) glaudžiai aproksimuoti objektų primityvas, (2) leisti gana paprastu testu patikrinti ar du gaubiantys tūriai kertasi, (3) greitai atnaujinti hierarchiją objektams judant ir sukantis. Gaila, tačiau dažniausiai visi šie tikslai konfliktuoja, todėl dažnai tarp jų tenka balansuoti. Paprasčiausi gaubiantys tūriai sferos. Jų persidengimo testas labai paprastas[4], tačiau modelių aproksimacijos glaudumas yra prastas. Sudėtingesnėse aplinkose puikiai tinka orientuotos gaubiančiosios dėžės (angl. OBB)[8]. Jos modelių dalis aproksimuoja tiksliau nei AABB, todėl atliekamų persikirtimo testų skaisčius yra mažesnis. OBB persidengimo testą nusako skiriančios ašies teorema, o jis atliekamas patikrinant 15-os ašių projekcijas (apie 200 aritmetinių operacijų). Pagal ašis išlygintų gaubiančiųjų dėžių (angl. AABB) hierarchijos[16], priešingai nei OBB, dėžių persidengimo testas nėra priklausomas nuo jų orientacijos. Be to, AABB medžiai užima mažiau atminties ir yra greičiau suformuojami bei atnaujinami. Ši savybė yra puikiai tinka desiformuojantiems modeliams ir netgi tiems uždaviniams, kuriuose atsižvelgiama į persidengimą su savimi (angl. self-intersections). Tam, kad būtų pasiektas kompromisas tarp gana prasto sferų ir AABB glaudumo bei sąlyginai sudėtingo OBB ir iškilių apvalkalų persidengimo testo, buvo pasiūlyti diskrečios orientacijos briaunainių gaubiantys tūriai (angl. k-dop)[11]. Šie gaubiantys tūriai yra briaunainiai, kurių sienos nusakomos normalėmis, orientuotomis iš centro į išorę k kryptimis. Yra algoritmų naudojančių ir įvairias šių gaubiančiųjų tūrių kombinacijas bei apgaubimo strategijas Apribojimai priklausomi nuo judėjimo krypties Jei briaunainis gali judėti tik specifine kryptimi kito briaunainio atžvilgiu, tokiu atveju tik tam tikros jų dalys gali kontaktuoti. Užpakalinių dalių atmetimo (angl. Back-face culling) metodai puikiai tinka kolizijų aptikimo kontekste bereikalingų briaunainių dalių tikrinimui atmesti. Pagrindinė idėja palyginti briaunainio sienų normalių vektorius su santykiniu briaunainių judėjimo vektoriumi[17]. Siena yra atmetama, jei jos normalės vektoriaus projekcija į greičio vektorių yra neigiama. Tokiu būdu yra atmetama maždaug pusė briaunainio sienų: 6 pav. Nagrinėjamos tik tos sienos (stora linija), kurių normalių projekcijos į santykinius judėjimo vektorius yra teigiamos (V 2,1 ir V 1,2 ) 36

38 Dinaminių kolizijos aptikimo algoritmų apžvalga Laikino koherentiškumo taikymas Modelio ribą sudarantys elementai, kurie nusako mažiausią atstumą esamu laiko momentu turi būti netoli tų elementų, kurie nusakė mažiausią atstumą ankstesniu laiko momentu (Tai yra vadinama geometriniu ir laikinu koherentiškumu). Laikantis šios taisyklės, kiekvienu laiko momentu parenkami nauji pradiniai paieškos taškai. Daugeliu atveju yra taikomas paprasčiausias kaimynystės kriterijus. Laikinas koherentiškumas yra pritaikytas daugelyje kolizijos aptikimo algoritmų. Ši savybė gerai pritaikyta skiriančiojo vektoriaus algoritme, kuris efektyviai nustato ar tarp dviejų iškilų briaunainių egzistuoja juos skirianti plokštuma. Jei ji egzistuoja briaunainiai nesikerta. Koherentiškumo taikymas leidžia rasti skiriančiąją plokštumą per numatytą pastovų laiką. Jei kiekvienu diskrečiu laiko momentu reiktų naujai suformuoti gaubiančiųjų tūrių hierarchijas, kažin ar apskritai jas naudoti būtų efektyvu. Taigi, svarbu efektyviai hierarchijas atnaujinti objektams judant ir sukantis. Šiam tikslui taipogi pritaikomas laikinas koherentiškumas. 4. Išvados Kolizijos aptikimo algoritmai yra ypatingai svarbūs kompiuterinės grafikos ir robotų valdymo srityse. Daugelis šių algoritmų paprastai remiasi statiniu persikirtimo testu, kuris yra gerai išvystytas skaičiuojamosios geometrijos sferoje. Šiame straipsnyje apžvelgėme ir susumavome pagrindines dinaminio kolizijos aptikimo idėjas. Skaičiuojamojoje geometrijoje iškiliesiems briaunainiams yra sukurta visa eilė optimalių atstumo bei persikirtimo nustatymo algoritmų, kurių sudėtingumas tiesiškai priklauso nuo viršūnių skaičiaus. Gaila, tačiau daugelis šioje sferoje sukurtų algoritmų nėra realizuoti, jų efektyvumas praktikoje sunkiai apsprendžiamas. Yra keletas algoritmų, sukurtų neiškiliesiems briaunainiams, tačiau gana didelis jų sudėtingumas neleidžią jų plačiai taikyti praktikoje. Robotų valdymo srityje situacija yra priešinga. Čia pagrindiniai faktoriai yra realizacijos paprastumas ir efektyvumas praktikoje. Daugeliu atvejų, sukurtų algoritmų sudėtingumas yra nežinomas arba netgi tolimas nuo optimumo. Algoritmai dažniausiai vertinami pagal procesoriaus sugaištą laiką skaičiavimams. Kompiuterinėje grafikoje, o ypač kompiuterinėje animacijoje didžiausias dėmesys skiriamas realaus laiko kolizijos aptikimo algoritmams, kuriuose greitis dažnai didinamas tikslumo sąskaita. Dėl šios priežasties, šioje sferoje dažniausiai taikomi hierarchiniai algoritmai, kuriuose yra galimybė manevruoti tarp skaičiavimo laiko ir tikslumo. Kaip matyti, daugelis algoritmų dirba su briaunainių tipo objektais, tačiau yra eilė taikymo sričių, kur šio tipo modeliai yra netinkami. Šiuo metu reikėtų atkreipti dėmesį ne tik į kolizijos, bet ir į pačių kontaktų nustatymą (kontakto taškų, prasiskverbimo gylio) tarp modelių su glotniais paviršiais. Taipogi artimoje ateityje didelis dėmesys bus skiriamas efektyviam kolizijų nustatymui tarp desiformuojančių objektų. Literatūros sąrašas [1] Bobrow, J. E. A direct optimization approach for obtaining the distance between convex polyhedra. Internat J. Robotics Res., 8,3 (June 1983) [2] Cameron, S.A. Collision detection by four-dimensional intersection testing. IEEE Trans. Robotics Automat. 6, 3 (June 1990), [3] Cameron, S.A., Culley, R.K. Determining the minimum translational distance between two convex polyhedra. IEEE Int. Conference on Robotics and animation (San Francisco), No.1, [4] Del pobil, A.P., Serna, M.A., Llovet, J.A. A new representation for collision avoidance and detection. In Proc. IEEE Int. Conference on Robotics and Automation (Nice, 1992), [5] Dobkin, D., Kirkpatrick, D. Determining the separation of preprocessed polyhedra a unified approach. Lect. Notes in Comp. Science (1990). Vol.443, [6] Garcia-Alonso, A., Serrano, N., Flaquer, J. Solving the collision detection problem. IEEE Computer Graphics and Applications 14 (1994), [7] Gilbert, E.G., Hong, S.M. A new algorithm for detecting the collision of moving objects. In Proc. IEEE Int. Conference on Robotics and Automation (Scottsdale 1989), [8] Gottschalk, S., Lin, M.C., Manocha, D. OBB-Tree: a hierarchical structure for rapid interference detection. In Proc. of ACM Siggraph 96. [9] Hamada, K., Hori, Y. Octree-based approach for real-time collision-free path planning for robot manipulator. In ACM96-MIE (1996), [10] Hamlin, G. J., Kelley, R.B., Tornero, J. Efficient distance calculation using the spherically-extended polytope (s-tope) model. In Proc. IEEE Int. Conference on Robotics and Automation (Nice, 1992), [11] Held, M., Klosowski, J.T., Mitchell, J. Evaluation of collision detection methods for virtual realiy-throughs. In proc. Seventh Canadian Conf. Computer Geometry (1995), Vol.3, [12] Klosowski, J., Held, M., Mitchell, J., Sowizral, H., Zikan, K. Efficient collision detection using bounding volume hierarchies of k-dop s. IEEE Transaction on Visualization and Computer Graphics 4, (1998). 37

39 M. Kėblis [13] Lin, M.C., Gottschalk, S. Collision detection between geometric models: a survey. IMA Conference on Mathematics of Surfaces (San Diego 1998), Vol.1. [14] Naylor, B.F., Amatodes, J.A., Thibault, W.C. Merging BSP trees yields plyhedral set operations. In Computer Graphics SIGGRAPH 90, Vol.24, [15] Snyder, J.M., Woodbury, A.R., Fleicher, K., Currin, B., Barr, A.H. Interval methods for multi-point collisions between time-dependant curved surfaces. In Proc. of ACM Siggraph 93, [16] Van der Bergen, G. Efficient collision detection of complex deformable models using AABB trees. Journal of Graphics Tools 2 (1997), [17] Vanecek, G. Back-face culling applied to collision detection of polyhedra. Journal of Visualization and Computer Animation 5 (1994), Dynamic collision detection algorithms review Many applications in Computer Graphics require fast and robust 3D collision detection algorithms. This paper tries to provide a comprehensive survey of all these techniques from a unified viewpoint, so that well-known algorithms are presented as particular instances of general approaches. 38

40 LOKALIOSIOS PAIEŠKOS ALGORITMŲ PALYGINIMAS Alfonsas Misevičius Kauno technologijos universitetas, Praktinės informatikos katedra Studentų g a/416a, LT 3031 Kaunas soften.ktu.lt/~misevi/ Straipsnyje apžvelgiami lokaliosios paieškos (euristiniai) algoritmai ir pateikiami kai kurie jų palyginimo rezultatai. Nagrinėjama bendroji šių algoritmų veikimo schema ir pagrindiniai faktoriai (požymiai). Pagrindinis dėmesys skiriamas šiems algoritmams: godžiosios paieškos algoritmams, atkaitinimo modeliavimui, tabu paieškai, iteracinės lokaliosios paieškos algoritmams ir genetiniams algoritmams. Akcentuojami tie aspektai, kurie susiję su lokaliosios paieškos algoritmų panaudojimu sprendžiant kombinatorinio (diskretinio) optimizavimo uždavinius. Pateikiami eksperimentinio tyrimo rezultatai, gauti sprendžiant vieną iš sudėtingų kombinatorinių uždavinių kvadratinio paskirstymo uždavinį. 1. Įvadas Lokaliosios paieškos (LP) algoritmai taip vadinami todėl, kad jie sprendžiamam uždaviniui paprastai tegali užtikrinti tik mažiau ar daugiau nuo optimumo nutolusių sprendinių vadinamųjų lokaliai optimalių sprendinių suradimą. Tuo šie algoritmai skiriasi nuo tiksliųjų algoritmų, kurie garantuoja uždavinio išsprendimą, t.y., optimalaus sprendinio (globaliojo optimumo) suradimą; tiesa, laikas, reikalingas optimumui pasiekti, dažnai yra susietas su uždavinio apimtimi eksponentine priklausomybe. Tuo tarpu LP algoritmai (jie dar nagrinėtini ir kaip apytiksliai, aproksimaciniai algoritmai, ir kaip euristiniai, t.y., daugiausiai mus supančio pasaulio procesų imitavimu besiremiantys, tam tikru mastu intelektualizuoti algoritmai) skirti pakankamai arti globaliojo optimumo esančių sprendinių paieškai disponuojant labai ribotu skaičiavimų laiku. Toliau terminus lokalioji paieška ir optimizavimas (čia turima omenyje optimizavimas taikant būtent apytikslius algoritmus) naudosime kaip sinonimus; tam tikrą pirmenybę teiksime pirmajam terminui norėdami akcentuoti euristinę optimizavimo pusę. Lokaliosios paieškos algoritmus nagrinėsime vadinamųjų euristinių paradigmų arba meta-euristinių metodų ( meta-euristikų ) fone. Paradigmos tai savotiški karkasai, skirti pakankamai abstrakčiame lygmenyje aprašyti tam tikros grupės (tipo) algoritmų veikimo principą, nesigilinant į detales. Paradigma tokiu būdu galėtų būti traktuojama kaip išeities taškas vėliau konstruojamiems konkretiems algoritmams, skirtiems atskiriems uždaviniams spręsti. Pagrindinės LP algoritmų grupės (paradigmos) yra šios: klasikiniai godžiosios paieškos (GP) algoritmai, atkaitinimo modeliavimas (AM), tabu paieška (TP), iteracinė lokalioji paieška (ILP), genetiniai algoritmai (GA). Prieš palyginant šias grupes, trumpai charakterizuosime kombinatorinio (diskretinio) optimizavimo uždavinius. Sakykime, kad yra duota tam tikrų sprendinių (s 1, s 2,..., s i,...) aibė S (sprendinių erdvė ). Tarkime, jog visi sprendiniai (tuo pačiu ir aibė S={s 1, s 2,..., s i,...}) yra diskretiniai, t.y., s i S egzistuoja ε>0, ir toks, kad Θ ε (s i ) =1 (bet kuriam aibės S nariui s i egzistuoja vadinamoji aplinka (tam tikras aibės S poaibis), kurios spindulys lygus ε ir kurioje yra vienintelis narys s i ). Paprastumo dėlei dar galima tarti, jog sprendiniai išreiškiami, pvz., natūrinių skaičių nuo 1 iki n perstatymais, t.y., s i S galioja s i =(s i (1), s i (2),..., s i (n)) {1, 2,..., n} (čia n yra uždavinio apimtis). (Akivaizdu, jog šiuo atveju S =n!) Uždaviniui pilnai apibrėžti turi būti duota tam tikra funkcija f vadinamoji tikslo funkcija: jos apibrėžimo sritis yra aibė S, o reikšmių aibė pvz., realiųjų skaičių aibė R 1. Galima sutarti, kad tikslo funkcija turi būti minimizuojama, t.y., reikia tarp visų aibės S sprendinių surasti tokį sprendinį s, kuriam tikslo funkcijos f reikšmė būtų mažiausia ( s = arg min f ( s) ). Sprendinių aibė ir tikslo funkcija yra pagrindiniai s S komponentai, charakterizuojantys optimizavimo uždavinį. Svarbų vaidmenį atlieka ir vadinamoji aplinkos funkcija Θ: S 2 S (čia 2 S žymi aibės S visų galimų poaibių aibę); ši funkcija kiekvienam sprendiniui s S apibrėžia aibę Θ(s) S sprendinio s aplinką ( sprendinių-kaimynų aibę). Sprendinių-perstatymų atveju gana dažnai naudojama porinių sukeitimų funkcija Θ 2 ; ji apibrėžiama taip: Θ s) = { s s S, ρ ( s, s ) 2} ; čia s bet kuris sprendinys 2 ( (perstatymas) iš S, o ρ(s,s ) atstumas tarp perstatymų s ir s, kurį galime išreikšti, pvz., tokia formule 39

41 A. Misevičius ρ( s, s ) = n j= 1 sgn s( j) s ( j). (Nesunku pastebėti, kad funkcija Θ 2 apibrėžia aibę, sudarytą iš tokių sprendiniųkaimynų, kurie gaunami, duotajame sprendinyje atlikus dviejų narių sukeitimą vietomis.) 2. Lokaliosios paieškos algoritmai: bendroji veikimo schema ir principiniai faktoriai Lokaliosios paieškos algoritmų veikimo principas ( meta-paradigma ) galėtų būti trumpai aprašytas taip [19,22,23,24]: paieška pradedama nuo tam tikru būdu sukonstruoto pradinio sprendinio; toliau paieškos procesas vykdomas nuosekliai atliekant tam tikrus sprendinių pertvarkymus, transformacijas ir pereinant nuo vieno sprendinio prie kito (atsižvelgiant į aplinkos funkciją); perėjimai valdomi, kitaip tariant, sprendimai dėl perėjimų priimami orientuojantis į sprendinių kokybės įverčius, t.y., apskaičiuotas tikslo funkcijos reikšmes; jei proceso eigoje gautas sprendinys pasirodo esąs geresnis negu iki tol rastas geriausias, tai tas sprendinys įsimenamas ; procesas tęsiamas tol, kol nepatenkinama baigimo sąlyga; geriausias paieškos metu įsimintas sprendinys laikomas paieškos rezultatu (kaip jau minėta, LP gali užtikrinti tik tai, jog sprendinys-rezultatas yra lokaliai optimalus.) Galima išskirti tam tikrus būdingus LP algoritmų veikimo schemos principinius faktorius (požymius, charakteristikas), tai: sprendinių bazė; sprendinių transformavimo (perturbavimo) operatoriai (aplinkos funkcija); sprendinių nagrinėjimo tvarka; sprendimų priėmimo taisyklės; baigimo sąlyga. Dėl galimų skirtingų lokaliosios paieškos veikimo principo realizavimo būdų ir faktorių gaunama plati LP algoritmų įvairovė. Pirmiausia galime apibrėžti dvi dideles LP algoritmų klases atsižvelgdami į sprendinių bazę, būtent galime išskirti algoritmus, kurie operuoja su atskirais sprendiniais, ir algoritmus, operuojančius su sprendinių grupėmis populiacijomis ; pastariesiems priklauso šiuo metu labai populiarūs genetiniai algoritmai (žr. 7 sk.). Tiek pirmosios, tiek antrosios kategorijos algoritmuose gali būti realizuotos įvairios sprendinių transformavimo, nagrinėjimo, sprendimų priėmimo taisyklės. Pvz., galima sukonstruoti labai daug skirtingų sprendinių pertvarkymo operatorių. Vienu iš elementarių transformavimo operatorių sprendiniams-perstatymams pavyzdžiu kai naudojama aplinkos funkcija Θ 2 galėtume nurodyti vadinamąjį porinį sprendinio narių (elementų) sukeitimą (2-jų narių sukeitimą vietomis). Porinius sukeitimus galime formaliai aprašyti panaudodami perturbavimo operatorių p jk : S S (j,k {1, 2,..., n}). (Šiuo atveju perėjimas iš sprendinio s į sprendinį s Θ 2 (s) galėtų būti užrašytas, pvz., taip: s = s tai reikštų, jog sprendinys s gaunamas iš sprendinio s pastarajame sukeičiant vietomis i-tąjį ir j-tąjį p jk narius.). Poriniai sukeitimai dažnokai yra pakankamai geras pasirinkimas sudarant greitai veikiančius godžiosios paieškos algoritmus (žr. 3 sk.) kai kuriems perstatymus naudojantiems uždaviniams. Aukštesnės eilės aplinkos funkcijų Θ λ (λ>2) atvejais galimi sudėtingesni transformavimo operatoriai, tame tarpe, atsitiktinio (randomizuoto) perturbavimo operatoriai vadinamieji mutavimo operatoriai. Be to, transformavimo operatoriai gali būti taikomi nebūtinai tik vienam duotam sprendiniui-šaltiniui, bet ir dviems ar net dar didesniam skaičiui sprendinių (kaip tai yra, pvz., genetiniuose algoritmuose, kur sprendinys-palikuonis formuojamas iš dviejų sprendinių-tėvų ). Nagrinėjant esamo sprendinio aplinkos sprendinius galimos dvi pagrindinės strategijos: pirma, parinkti sprendinius-kaimynus atsitiktine tvarka; antra, peržiūrėti sprendinio aplinką prisilaikant tam tikro dėsningumo, pvz., aplinkos funkcijos Θ 2 atveju nuosekliai atliekant perturbacijas p jk, kai j kinta nuo 1 iki n 1, o k nuo j+1 iki n. Atskiruose LP algoritmuose gali būti realizuotos skirtingos sprendimų, susijusių su perėjimais iš vienų sprendinių į kitus, priėmimo taisyklės. Štai atkaitinimo modeliavimo algoritmuose (žr. 4 sk.) priimant sprendimus remiamasi tikimybinėmis funkcijomis, tuo tarpu godžiosios ir tabu paieškos (žr. 5 sk.) algoritmai dažniausiai yra pagrįsti determinuotomis sprendimų priėmimo taisyklėmis, nors galimos ir kombinuotos taisyklės. Kas dėl baigimo sąlygų, tai, išskyrus godžiąją paiešką, LP algoritmų vykdymas paprastai kontroliuojamas panaudojant a priori fiksuotą paieškos žingsnių vadinamųjų iteracijų skaitiklį. 3. Godžioji paieška Prieš apžvelgiant sudėtingesnius modernius LP algoritmus, trumpai aptarsime jau klasikiniais tapusius godžiosios paieškos algoritmus [16]. Šie algoritmai yra santykinai labai paprasti, bet pakankamai efektyvūs; jie laikytini sudėtingesnių LP metodų ištakomis. Išskiriamos dvi svarbios godžiosios paieškos strategijos: a) greičiausias nusileidimas ir b) staigiausias nusileidimas. Abiem atvejais sprendimas, ar pakeisti esamą sprendinį nauju (t.y., ar pereiti prie naujo sprendinio iš esamo aplinkos), ar ne, yra teigiamas tik tada, kai naujasis sprendinys yra geresnis už esamąjį (kas minimizavimo uždavinio atveju reiškia, jog tikslo funkcijos reikšmių, 40

42 Lokaliosios paieškos algoritmų palyginimas apskaičiuotų naujam ir esamam sprendiniui, pokytis yra neigiamas). Skirtumas tarp strategijų yra tik tas, kad pirmuoju atveju pereinama prie pirmojo sutikto geresnio sprendinio iš esamo aplinkos, o antruoju atveju prie geriausio sprendinio iš esamo aplinkos. (Pirmoji strategija yra pirmojo pagerėjimo strategija, o antroji geriausio pagerėjimo.) Paieškos procedūra (procesas) tęsiama tol, kol esamas sprendinys s nėra lokaliai optimalus, t.y., sprendinio s aplinkoje yra bent vienas geresnis sprendinys (formaliai tai užrašoma: s Θ( s) : f ( s ) < f ( s) ). (Beje, jeigu panaudojama aplinkos funkcija Θ λ (λ n), tai staigiausio nusileidimo algoritmo surastas sprendinys įvardijamas kaip optimalus Θ λ atžvilgiu (pats algoritmas vadinamas λ-optimaliu); tiesa, sprendinių-perstatymų atveju paieškos laikas yra proporcingas O(n λ ), todėl GP algoritmuose naudojamos žemesnės eilės aplinkos funkcijos, dažniausiai Θ 2.) GP algoritmų paradigma (schema) pateikta 1 pav. GP pagrindu labai nesunku sukonstruoti vadinamąją multi-godžiąją paiešką (MGP), kuri remiasi tiesiog daug kartų vykdoma GP grynai atsitiktiniu būdu generuojamiems pradiniams sprendiniams ir geriausio iš surastų lokaliai optimalių sprendinių įsiminimu (tas sprendinys laikomas MGP algoritmo rezultatu). Beje, MGP yra kažkiek panaši į iteracinę lokaliąją paiešką, kuri apžvelgiama 6 sk. procedure godžioji_paieška end / pradiniai duomenys: s (0) pradinis sprendinys; rezultatai: s rastas lokaliai optimalus sprendinys / s := s (0) ; while s nėra lokaliai optimalus do begin / vykdyti godžiosios paieškos ciklą / parinkti sprendinį s iš esamo sprendinio s aplinkos Θ(s), ir tokį, kad: f(s ) f(s)<0; s := s / pakeisti esamą sprendinį s nauju sprendiniu s ( pereiti prie naujo sprendinio) / end / while / 1 pav. Godžiosios paieškos paradigma Toliau nagrinėjami modernesni, tuo pačiu sudėtingesni ir rafinuotesni LP algoritmai. 4. Atkaitinimo modeliavimas Atkaitinimo modeliavimo metodo (plačiau žr. [1]) ištakos slypi statistinėje mechanikoje, o jeigu tiksliau, energetinių procesų, vykstančių sistemose, sudarytose iš didelio skaičiaus dalelių, imitavime. Šio imitavimo esmė slypi tame, jog iš pradžių sistema pervedama į didelės energijos būseną, o po to, palaipsniui mažinant energiją, stengiamasi pasiekti būseną, atitinkančią žemiausią sistemos energetinį lygmenį tarsi kūnas būtų įkaitintas iki pakankamai aukštos temperatūros, o paskui, jį atkaitinant, t.y., mažinant temperatūrą, jis būtų savotiškai užgrūdinamas. AM pradininkai buvo Metropolis, Rozenbluthas ir kt. [18], kurie pasinaudojo eksponentinio pasiskirstymo funkcija apibrėždami tikimybę, kad sistema, įvykus joje tam tikram pasikeitimui, pereis iš vieno E Ct energijos lygio (E 1 ) į kitą (E 2 ), kai temperatūra lygi t. Ta tikimybė lygi 1, kai E<0, ir e, kai E 0; čia E = E 2 E 1, o C konstanta. Cerný [7] ir Kirkpatrickas su bendraautoriais [14] buvo pirmieji, pritaikę AM metodą sprendžiant kombinatorinio optimizavimo uždavinius. AM algoritmų veikimo principas yra gana paprastas: pradėti nuo atsitiktiniu (ar kitu) būdu sukonstruoto sprendinio; iš esamo sprendinio s aplinkos parinkti sprendinį s ir apskaičiuoti tikslo funkcijos skirtumą f = f(s ) f(s). Sprendimo taisyklė yra tokia: jeigu tikslo funkcijos reikšmė pagerėja ( f<0), tai esamą sprendinį s pakeisti nauju sprendiniu s ir naudoti kaip išeities tašką tolesniuose bandymuose; jeigu f 0, tai daryti pakeitimą f t su tikimybe P( f ) = e (čia t yra einamoji temperatūra). Procesas tęsiamas tol, kol patenkinama algoritmo baigimo sąlyga. AM algoritmo rezultatas yra geriausias surastas sprendinys visai nebūtinai tas, kuris gautas paskutinėje paieškos iteracijoje tas sprendinys įsimenamas jo suradimo momentu. AM paradigma pateikta 2 pav. Vienas iš požymių, pagal kuriuos konkrečios AM algoritmų realizacijos skiriasi viena nuo kitos, yra atkaitinimo ( atšaldymo ) schema. Formuojant atkaitinimo schemą, savo ruožtu, yra svarbu pradinės ir galutinės temperatūros parinkimas bei temperatūros mažinimo formulė. Parenkant temperatūrą turi būti vadovaujamasi tokiais samprotavimais: jei pradinė temperatūra per daug aukšta, tai atkaitinimo procesas gali užsitęsti pernelyg ilgai. Kita vertus, per daug žema pradinė temperatūra gali sąlygoti tai, kad bus patekta į nepakankamai geros kokybės lokaliojo optimumo duobę. AM algoritmuose dažnai yra naudojamos šios temperatūros mažinimo formulės: geometrinė formulė (tk = α tk 1 ; t k einamoji temperatūros reikšmė; k=1, 2,...; t 0 =const; 0.8 α 0.99) ir Lundy-Mees formulė ( t t 1 β t ) ; k=1, 2,...; t 0 =const; β<< t 0 ). Tiesa, reiktų pastebėti, kad naujausiuose AM algoritmų variantuose k = k 1 ( + k 1 41

43 A. Misevičius vietoje grynojo atkaitinimo yra naudojamas vadinamasis re-atkaitinimas tam tikra atkaitinimų ir kaitinimų seka. Atkaitinimo procesas, jeigu prisilaikyti teorinių schemų, turėtų būti tęsiamas tol, kol galutinė temperatūra tampa lygi 0. Kadangi tai pareikalautų didelių laiko sąnaudų, tai tenkinamasi kitais kriterijais; paprastai baigimo sąlygos vaidmenį atlieka iš anksto užduotas iteracijų skaičius. procedure atkaitinimo_modeliavimas end / pradiniai duomenys: s (0) pradinis sprendinys; rezultatai: s geriausias rastas sprendinys / s := s (0) ; s := s; nustatyti pradinę temperatūrą t 0 ; t := t 0 ; repeat / vykdyti atkaitinimo modeliavimo ciklą / parinkti naują sprendinį s iš esamo sprendinio s aplinkos Θ(s); apskaičiuoti f = f(s ) f(s); sugeneruoti atsitiktinį skaičių r iš intervalo [0,1]; f / t if ( f<0) or ( r < e ) then s := s ; / pakeisti esamą sprendinį nauju / if f(s)<f(s ) then s := s; / įsiminti geriausią sprendinį / pakeisti temperatūrą t, atsižvelgiant į atkaitinimo schemą until patenkinta baigimo sąlyga 2 pav. Atkaitinimo modeliavimo paradigma 5. Tabu paieška Tabu paieškos metodas (plačiau žr. [11]) buvo pasiūlytas Gloverio [9,10]. Šis metodas remiasi išplėsta lokaliąja paieška. Skirtingai, negu įprasti klasikiniai (GP) algoritmai, kurie apsiriboja lokaliai optimalaus sprendinio suradimu nagrinėjamo sprendinio aplinkoje, TP pagrįsti algoritmai tęsia paiešką ir tuo atveju, kai surandamas lokaliai optimalus sprendinys, t.y., duoto sprendinio aplinkoje neįmanoma surasti geresnio sprendinio. Tabu paieška yra iteracinis geresnių sprendinių paieškos procesas, įgalinantis daug kartų pereiti nuo vieno lokaliojo optimumo prie kito įsimenant geriausiąjį iš surastų sprendinių. Pagrindinė TP idėja yra leidimas atlikti perėjimus net ir tais atvejais, kai naujasis sprendinys iš duotojo sprendinio aplinkos nėra geresnis už duotąjį sprendinį. Tačiau kai kurie perėjimai turi būti draudžiami, t.y., tabu paieška yra pagrįsta draudimų metodologija: draudimai yra būtini tam, kad neleisti grįžti į tuos pačius, jau nagrinėtus sprendinius ir tokiu būdu išvengti pasikartojimų (ciklinimų). Paieškos procesas pradedamas nuo pradinio, galbūt atsitiktinai sugeneruoto, sprendinio s iš aibės S, po to perėjimai iš vieno sprendinio į kitą vykdomi iteraciniu būdu. Paieškos eigoje analizuojama einamojo sprendinio s aplinkos sprendinių aibė Θ(s) (išnagrinėjami visi aibės Θ(s) sprendiniai prisilaikant kurios nors determinuotos sprendinių peržiūros taisyklės), ir pereinama į tą sprendinį s Θ(s), kuriam tikslo funkcijos f reikšmė yra mažiausia (geriausia) panašiai kaip ir staigiausio nusileidimo atveju. Tačiau perėjimas gali būti atliekamas ir tuo atveju, kai tikslo funkcijos pokytis yra teigiamas, t.y., perėjimas pablogina einamąją tikslo funkcijos reikšmę. Trumpai tariant, pasirenkamas tas perėjimas, kuris mažiausiai pablogina tikslo funkcijos reikšmę taip galima pereiti nuo vieno lokaliai optimalaus sprendinio prie kito. Grįžimas į anksčiau aplankytą sprendinį turi būti uždraudžiamas tam tikram laikotarpiui kad būtų išvengta ciklinimosi, t.y., paieškos kartojimo iš naujo nuo to pačio taško. Tokiu būdu nagrinėtieji sprendiniai tam tikrais momentais tampa tabu : jie (arba atitinkamų perėjimų pėdsakai ) įtraukiami į specialų sąrašą vadinamąjį tabu sąrašą (atmintį) T. Taigi perėjimas į sprendinį s Θ(s) yra draudžiamas, traktuojamas kaip tabu, jeigu tas sprendinys arba atitinkamas perėjimas duotu metu yra sąraše T. Dydis h= T (tabu sąrašo ilgis) yra labai svarbus: jeigu jis yra labai mažas, tai gali būti gaunamas nepageidaujamas ciklinimasis; jeigu pernelyg didelis, tai gali būti apribota paieška atskirose sprendinių erdvės srityse, o tarp šių gali būti ir teikiančių vilčių, t.y., tokių, kuriose gali slypėti labai geri lokaliai optimalūs sprendiniai. Tiesmukiškas perėjimų draudimas gali sumažinti paieškos efektyvumą. Be to, grįžimas į anksčiau nagrinėtus sprendinius, praėjus tam tikram laiko intervalui, gali būti labai naudingas. Dėl šių priežasčių, kartu su tabu sąrašu naudojamas ir vadinamasis aspiracijos kriterijus. Jo pagalba galima nekreipti dėmesio į esamą tabu būseną, anuliuoti ją, esant tam tikroms, palankioms aplinkybėms. Vienas iš aspiracijos kriterijų yra toks: perėjimas iš sprendinio s į sprendinį s nors jis ir yra tabu leidžiamas, jeigu tenkinama sąlyga f(s )<f(s ), kur s yra geriausias 42

44 Lokaliosios paieškos algoritmų palyginimas iki duotojo momento surastas sprendinys. Tokiu būdu tipinė TP algoritmuose naudojama sprendimo priėmimo taisyklė yra tokia: s pakeičiamas s su sąlyga, kad: f(s )<f(s ) arba ( s = arg min f ( s ) ir s nėra tabu). s Θ( s) Tabu paieškos algoritmai skiriasi vienas nuo kito, atsižvegiant į tabu sąrašo realizavimą, aspiracijos kriterijaus parinkimą bei kitus faktorius, tokius kaip papildoma ( ilgalaikė ) tabu atmintis, paieškos intensifikavimo, diversifikavimo mechanizmai ir kt. TP algoritmų lankstumui padidinti tiek tabu sąrašas, tiek aspiracijos kriterijus gali būti dinamiškai atnaujinami paieškos vykdymo eigoje. TP vykdymas paprastai baigiamas, atlikus tam tikrą fiksuotą paieškos iteracijų skaičių. Panašiai kaip ir AM atveju, TP rezultatas yra geriausias paieškos proceso eigoje įsimintas sprendinys. Tabu paieškos paradigma pateikta 3 pav. procedure tabu_paieška end / pradiniai duomenys: s (0) pradinis sprendinys; rezultatai: s geriausias rastas sprendinys / s := s (0) ; s := s; inicializuoti tabu sąrašą T; repeat / vykdyti tabu paieškos ciklą / rasti geriausią sprendinį s Θ(s) duotam tabu sąrašui T ir pasirinktam aspiracijos kriterijui; s := s ; / pakeisti einamąjį sprendinį nauju / įtraukti sprendinį s (arba "perėjimo" iš s į s pėdsaką") į tabu sąrašą T; if f(s)<f(s ) then s := s; / įsiminti geriausią sprendinį / atnaujinti tabu sąrašą T until patenkinta baigimo sąlyga 3 pav. Tabu paieškos paradigma 6. Iteracinė lokalioji paieška Iteracinė lokalioji paieška yra palyginti nauja efektyvių euristinių algoritmų grupė [17,25]. ILP esmė slypi tame, jog galima pagerinti tradicinių LP algoritmų rezultatus pritaikant tam tikrus papildomus gautų sprendinių pertvarkymus. Nesigilinant į detales, iteracinė lokalioji paieška gali būti traktuojama kaip griauti ir atstatyti principu pagrįsta paieškos strategija. Tokios strategijos panaudojimo tikslas pereinant nuo vieno lokaliai optimalaus sprendinio prie kito stengtis aprėpti kiek įmanoma didesnį sprendinių poerdvį, taip sudarant palankesnes sąlygas artėti prie globaliojo optimumo. (ILP šiek tiek primena multi-godžiąją paiešką ; vistik ILP yra žymiai daugiau išplėtotas ir lankstesnis paieškos metodas, jeigu lyginti jį su MGP.) Iteracinei lokaliajai paieškai būdingi du pagrindiniai etapai (fazės): 1) sprendinio pagerinimas (lokalioji paieška) ir 2) sprendinio rekonstravimas (dar vadinamas mutavimu). Tarp šių etapų paprastai įsiterpia (ne tokia svarbi) sprendinio-kandidato atrankos rekonstravimui procedūra. Iteracinė lokalioji paieška pradedama pradinio sprendinio pagerinimu gaunant (pirmąjį) lokaliai optimalų sprendinį, tarkime s. Gautasis lokaliai optimalus sprendinys yra tam tikru mastu rekonstruojamas (transformuojamas) jo visiškai nesugriaunant ir gaunant naują sprendinį, pvz., s ~. Rekonstruojant turi būti siekiama, kad naujai gautas sprendinys paveldėtų tam tikras geras ankstesnio sprendinio charakteristikas; tuo pačiu turi būti užtikrinamas ir deramas diversifikavimo (įvairovės) lygis. Rekonstravimas neturi būti nei per daug stiprus, nei per daug silpnas. Pirmuoju atveju paieška taptų labai panaši į daugkartinę lokaliąją paiešką startuojant tiesiog nuo atsitiktinių sprendinių, ir būtų prarandama naudinga paieškos eigoje sukaupta informacija; antruoju atveju rekonstravimas negarantuotų pakankamai nutolusio (nuo duotojo) sprendinio generavimo kas sąlygotų grįžimą atgal į ankstesnįjį lokalųjį optimumą po lokaliosios paieškos etapo. Rekonstruotas sprendinys s ~ vaidina pradinio sprendinio iš naujo startuojančiai lokaliosios paieškos procedūrai vaidmenį. LP procedūra grąžina naują lokaliai optimalų sprendinį s, šis vėl rekonstruojamas, ir t.t. Geriausias lokalusis optimumas įsimenamas. Sprendinių pagerinimo ir rekonstravimo etapai gali būti cikliškai kartojami kiek norima daug kartų. Tokia yra labai glaustai apibūdinta iteracinės lokaliosios paieškos schema (žr. 4 pav.). 4 pav. pateiktoje paradigmoje savo ruožtu naudojami tam tikri komponentai (atskiros, savarankiškos procedūros, kurių realizacijos detalės priklauso nuo konkretaus sprendžiamo uždavinio), tai: lokaliosios_paieškos_procedūra, rekonstravimas, kandidato_nustatymas. Priklausomai nuo to, kokie yra naudojami komponentai, gali būti daug ir įvairių ILP variantų bei modifikacijų. Taigi iteracinė lokalioji paieška traktuotina kaip savotiška bendrosios paskirties meta-schema, o ne tiksliai apibrėžtas, nušlifuotas metodas. Štai lokaliosios paieškos procedūros vaidmenyje gali būti bet kuris iš aukščiau nagrinėtų (GP, AM, TP) ar koks nors kitas LP algoritmas. Sprendinio rekonstravimą galima realizuoti kaip randomizuotą perėjimą į to sprendinio aukštesnės 43

45 A. Misevičius eilės aplinką Θ λ, kur λ>2. Vienas iš galimų mechanizmų tokiam perėjimui modeliuoti tai panaudoti atsitiktiniu būdu generuojamą elementarių perturbacijų (tokių, pvz., kaip p jk ) seką, pvz., {p rs } µ, kur r ir s gaunami (pseudo- )atsitiktinių skaičių generatoriaus pagalba, o µ yra sekos ilgis, pvz., tarp 2 ir n/2. Kalbant apie sprendiniokandidato atrinkimą rekonstravimui, irgi gali būti išskiriamos tam tikros alternatyvios strategijos: pirma, rekonstravimui naudoti tik geriausiąjį iš lokaliai optimalių sprendinių; antra, rekonstruoti kiekvieną kartą vis kitą, t.y., esamąjį lokaliai optimalų sprendinį. (Pirmąją strategiją galėtume įvardyti koncentruotąja paieška, o antrąją išsklaidytąja paieška.) procedure iteracinė_lokalioji_paieška end / pradiniai duomenys: s (0) pradinis sprendinys; rezultatai: s geriausias rastas sprendinys / s := lokaliosios_paieškos_procedūra(s (0) ); / pagerinti pradinį sprendinį panaudojant LP algoritmą / s := s ; s := s ; repeat / vykdyti iteracinės lokaliosios paieškos ciklą / s := kandidato_nustatymas(s,s ); / parinkti sprendinį rekonstravimui (mutavimui) / s ~ := rekonstravimas(s); / rekonstruoti sprendinį s gaunant sprendinį s ~ / s := lokaliosios_paieškos_procedūra(s ~ ); / pagerinti sprendinį s ~ gaunant sprendinį s / if f(s )<f(s ) then s := s / įsiminti geriausią sprendinį / until patenkinta baigimo sąlyga 4 pav. Iteracinės lokaliosios paieškos paradigma 7. Genetiniai algoritmai Genetinių algoritmų (žr. taip pat [8,12]) ir jų sudarymo principų pradininku buvo Hollandas [13]. Genetinių algoritmų veikimas yra pagrįstas evoliucijos, vykstančios gyvojoje gamtoje imitavimu, ir pavadindami šiuos algoritmus natūraliosios atrankos virtualiąja kopija tikriausiai nedaug tesuklystume. Pagrindinės sąvokos, kurios naudojamos modeliuojant evoliucijos procesus, yra individas ir populiacija. Individas yra tam tikras elementarus, daugiau neskaidomas vienetas. Didesnė ar mažesnė individų grupė sudaro populiaciją. Svarbus dalykas yra ir vadinamasis individo tinkamumas savotiška individo vertė. Vertingesnis (grynai biologiškai) yra tas individas, kuris sugeba geriausiai prisitaikyti (būti stipresnis už kitus), pvz., palikti didesnį palikuonių skaičių. Optimizavime vietoje sąvokų individas, populiacija, individo tinkamumas naudojamos įprastos sąvokos: individui atitinka atskiras sprendinys, populiacijai sprendinių aibė (rinkinys), pagaliau, individo vertė yra asocijuojama su tikslo funkcijos reikšme duotajam sprendiniui. Taip, kaip gyvosios gamtos evoliucijoje išlieka tik stipriausi individai, taip ir optimizavime GA pagalba siekiama gauti kuo geresnį sprendinį. Iš tikrųjų, terminas genetinis algoritmas nereiškia kokio nors atskiro, konkretaus LP algoritmo. Greičiau šis terminas nusako tam tikrą, gana universalų meta-metodą LP algoritmų su panašiomis savybėmis klasę (šeimą). Tos savybės yra tokios. Pirma, operuojama su viena ar daugiau sprendinių populiacijų tai vienas iš esminių GA skiriamųjų požymių. Antra, atrenkant tolimesniam apdorojimui atskirus sprendinius iš sprendinių populiacijos, pirmenybė teikiama tiems sprendiniams, kurie turi geresnes tikslo funkcijos reikšmes. Trečia, naudojamas tam tikras mechanizmas, kuris skirtas formuoti naujiems sprendiniams, kombinuojant ( kryžminant ) turimus sprendinius. Ketvirta, esant reikalui, panaudojamas papildomas sprendinių randomizuoto pertvarkymo mechanizmas (analogiškas ILP naudojamam sprendinių rekonstravimui). Penkta, tam tikrais periodais populiacija atnaujinama, pašalinant iš jos, pvz., blogesnius sprendinius ir paliekant joje geresnius bei naujai suformuotus sprendinius. Formalizuojant GA aprašymą, aukščiau nurodytos savybės, mechanizmai susiejami su atitinkamomis procedūromis. Taip antroji savybė susiejama su vadinamąja atrinkimo procedūra, trečiasis mechanizmas tradiciškai vadinamas krosoveriu, ketvirtasis mechanizmas mutavimu. Penktajame žingsnyje atliekamas populiacijos atnaujinimas tai savotiškas gryninimas. Minėtosios procedūros turi būti kartojamos tam tikrą, pakankamai didelį skaičių kartų tam, kad genetinis algoritmas galėtų konverguoti į aukštos kokybės lokalųjį optimumą. Genetinių algoritmų paradigma pateikta 5 pav. Reikia dar pastebėti, kad, siekiant greitesnio GA konvergavimo, po krosoverio operacijos dažnai atliekamas papildomas sprendinio optimizavimas (vėlgi panaudojant vieną iš aukščiau aprašytų LP algoritmų) taip gaunami vadinamieji hibridiniai genetiniai algoritmai. 44

46 Lokaliosios paieškos algoritmų palyginimas procedure genetinis_algoritmas end / pradiniai duomenys: S ) sprendinių populiacija ; rezultatai: s geriausias rastas sprendinys / s : = arg min f ( s) ; / čia S ) S pradinė sugeneruota sprendinių "populiacija" / ) s S repeat / vykdyti genetinio algoritmo ciklą / ) parinkti "sprendinius-tėvus" s, s S ; s := krosoveris( s, s ); / "tėvams" atlikti krosoverį (kryžminimą), gaunant sprendinį-palikuonį / ) S := S ) { s }; / įtraukti palikuonį į populiaciją / if f( s )<f(s ) then s := s ; / įsiminti geriausią sprendinį / vykdyti mutacijas parinktiems "populiacijos" S ) nariams; atnaujinti "populiaciją" S ) / atmesti blogesnius ir palikti geresnius sprendinius / until patenkinta baigimo sąlyga 5 pav. Genetinių algoritmų paradigma 8. Eksperimentų rezultatai Siekiant ištirti ir palyginti lokaliosios paieškos algoritmų efektyvumą, buvo atlikti kai kurie eksperimentai su vienu iš gerai žinomų kombinatorinio optimizavimo uždavinių kvadratinio paskirstymo (KP) uždaviniu [4,6,15]. Šis uždavinys formuluojamas taip: duota dvi matricos A=(a ij ) n n ir B=(b kl ) n n bei aibė Π, kurią sudaro visi galimi natūrinių skaičių nuo 1 iki n perstatymai; reikia tarp visų perstatymų surasti tokį perstatymą π=(π(1), π(2),..., π(n)), kuriam esant būtų minimizuota funkcija = n n ( π ) π ( i) π ( j) i= j= z 1 1a ij b. KP uždavinys priklauso NP-sunkių kombinatorinio optimizavimo uždavinių klasei, ir išsprendžiamas tiksliai tik tais atvejais, kai jo apimtis yra labai nedidelė (n 30). Todėl vidutinės ir didelės apimties KP uždaviniams spręsti naudojami būtent lokaliosios paieškos algoritmai; didelę jų dalį sudaro aukščiau apžvelgtieji algoritmai, adaptuoti KP uždaviniui [2,3,20,21,26]. 1 lentelė. Algoritmų palyginimo rezultatai ( δ, C 1%, C opt ) ir vykdymo laikas, esant trumpalaikiam darbo režimui. Geriausios gautos vidutinio nuokrypio reikšmės atspausdintos paryškintai. Vykdymo laikas, reikalingas vienam restartui, nurodytas sekundėmis (naudotas 300 MHz taktinio dažnio PENTIUM tipo kompiuteris) Testinis pavyzdys n GŽR δ, C 1% /C opt GP MGP AM TP ILP HGA Laikas (sek.) chr25a / / / / / / els / / / / esc32a / / / / / / kra30a / / / / / / nug / / / / / / sko / / / / / / ste36a / / / / / / tai60a / / / / / / tai80b / / / / / / wil / / / / / / GP algoritmo vykdymo laikas skirtingai nuo kitų likusių algoritmų, kurių vykdymo laikas reguliuojamas iteracijų skaičiumi yra nedeterminuotas. Šio algoritmo vykdymo trukmę apibrėžia baigimo sąlyga: algoritmo vykdymą baigti, kai surandamas lokaliai optimalus sprendinys. Atliekant eksperimentus pasinaudota KP uždavinio testiniais pavyzdžiais (duomenimis) iš KP uždavinio bibliotekos QAPLIB [5]. Buvo lyginama: godžiosios paieškos (GP) algoritmas (programiškai realizuotas šio straipsnio autoriaus, pasiremiant [2] straipsnyje pateikto originalo pagrindu), multi-godžiosios paieškos (MGP) algoritmas (taip pat suprogramuotas autoriaus, turint tikslą sudaryti vienodesnes sąlygas visiems lyginamiems 45

47 A. Misevičius algoritmams), atkaitinimo modeliavimo (AM) algoritmas [3], tabu paieškos (TP) algoritmas [26], iteracinės lokaliosios paieškos (ILP) algoritmas [21] bei hibridinis genetinis algoritmas (HGA) [20]. (Pastaba: ILP ir HG algoritmuose sprendinių pagerinimui, savo ruožtu, panaudojamos tabu paieška pagrįstos procedūros.) Pasirinkti šie algoritmų efektyvumo įvertinimo kriterijai: a) vidutinis nuokrypis nuo geriausio žinomo (pseudo-optimalaus) ( ( sprendinio δ ( δ = 100(z z z [%], čia z yra gautų tikslo funkcijos reikšmių vidurkis (apskaičiuotas, atlikus 10 algoritmo restartų (pakartotinių įvykdymų)), o z ( yra geriausia žinoma (tikslo funkcijos) reikšmė (GŽR) (GŽR pateiktos [5] straipsnyje)); b) sprendinių, esančių 1% optimalumo intervale (δ 1), skaičius (kai atlikta 10 restartų ) C 1% ; c) surastų pseudo-optimalių sprendinių skaičius C opt. Didesnio objektyvumo dėlei eksperimentai vykdyti dviem režimais. Pirmuoju ( trumpalaikio darbo režimo ) atveju yra labai apribotas algoritmų vykdymo laikas, antruoju ( ilgalaikio darbo režimo ) atveju algoritmų vykdymui skiriama žymiai daugiau laiko. Algoritmų palyginimo rezultatai abiems darbo režimams pateikti 1 ir 2 lentelėse. Tipiškos kai kuriems tirtiems algoritmams tikslo funkcijos kreivės vaizduojamos 6 pav. 2 lentelė. Algoritmų palyginimo rezultatai ( δ, C 1%, C opt ) ir vykdymo laikas, esant ilgalaikiam darbo režimui. Geriausios gautos vidutinio nuokrypio reikšmės atspausdintos paryškintai. Vykdymo laikas, reikalingas vienam restartui, nurodytas sekundėmis (naudotas 300 MHz taktinio dažnio PENTIUM tipo kompiuteris) Testinis pavyzdys n GŽR δ, C 1% /C opt GP MGP AM TP ILP HGA Laikas (sek.) chr25a / / / / / / els / / / esc32a / / / kra30a / / / / / / nug / / / / sko / / / / / ste36a / / / / / / tai60a / / / / / / tai80b / / / / / / wil / / / / / / Išvados Šiame straipsnyje apžvelgti ir palyginti aktualūs šiuo metu lokaliosios paieškos algoritmai dar žinomi kaip apytiksliai, euristiniai, t.y., žmogaus intuicija ir gamtos procesų imitavimu pagrįsti algoritmai skirti kombinatorinio (diskretinio) optimizavimo uždaviniams spręsti. Pagrindinis dėmesys skirtas moderniesiems LP algoritmams: atkaitinimo modeliavimui, tabu paieškai, iteracinei lokaliajai paieškai ir genetiniams algoritmams. Tam, kad įvertinti šių algoritmų efektyvumą, buvo atlikti eksperimentiniai tyrimai su vienu iš kombinatorinių uždavinių kvadratinio paskirstymo uždaviniu. Gauti rezultatai leidžia daryti tokias išvadas: a) tirtų iteracijos 6 pav. Multi-godžiosios paieškos (MGP) ir tabu paieškos (TP) trajektorijos efektyvumo kriterijų atžvilgiu didelei daliai testinių pavyzdžių iteracinės lokaliosios paieškos algoritmas bei genetinis algoritmas pasirodo esą pranašesni už visus kitus palyginimui naudotus algoritmus, tame tarpe, atkaitinimo modeliavimo ir tabu paieškos algoritmus; b) savo ruožtu, atkaitinimo modeliavimo ir tabu paieškos algoritmai žymiai pranoksta multi-godžiosios paieškos algoritmą. Suprantama, objektyvesniam LP algoritmų įvertinimui reikalingi dar išsamesni, didesnės apimties eksperimentai; be to, algoritmus reiktų išbandyti ir sprendžiant kitus kombinatorinio optimizavimo uždavinius. Vistik kai kurios tendencijos yra aiškios. Atsižvelgiant į jas, reiktų planuoti tyrimus ateityje. Pagrindinis dėmesys turėtų būti atkreiptas į iteracinės lokaliosios paieškos ir genetinius algoritmus. Tiek vienuose, tiek kituose efektyviai išnaudojama hibridizacijos idėja, lanksčiai kombinuojamas intensifikavimas ir diversifikavimas, t.y., sprendinių pagerinimo ir rekonstravimo procedūros. Ypač perspektyvūs yra hibridiniai genetiniai algoritmai tie genetiniai tikslo fu nkcijos reikšmės MGP TP 46

48 Lokaliosios paieškos algoritmų palyginimas algoritmai, kuriuose kartu su įprastais genetiniais operatoriais sėkmingai panaudojami greitai veikiantys lokaliosios paieškos algoritmai, visų pirma, tabu paieška pagrįsti algoritmai. Literatūros sąrašas [1] E.H.L.Aarts, J.H.M.Korst, P.J.M. van Laarhoven. Simulated annealing. E.Aarts, J.K.Lenstra (red.), Local Search in Combinatorial Optimization, Wiley, Chichester, 1997, [2] G.C.Armour, E.S.Buffa. A heuristic algorithm and simulation approach to relative location of facilities. Management Science, 1963, t.9, [3] A.Bölte, U.W.Thonemann. Optimizing simulated annealing schedules with genetic programming. European Journal of Operational Research, 1996, t.92, [4] R.E.Burkard, E.Çela, P.M.Pardalos, L.Pitsoulis. The quadratic assignment problem. D.Z.Du, P.M.Pardalos (red.), Handbook of Combinatorial Optimization, Kluwer, Dordrecht, 1998, t.3, [5] R.E.Burkard, S.Karisch, F.Rendl. QAPLIB a quadratic assignment problem library. Journal of Global Optimization, 1997, t.10, [6] E.Çela. The Quadratic Assignment Problem: Theory and Algorithms, Kluwer, Dordrecht, [7] V.Cerný. A thermodynamical approach to the traveling salesman problem: an efficient simulation algorithm. Tech. Report, Comenius University, Bratislava, CSSR, [8] L.Davis. Handbook of Genetic Algorithms, Van Nostrand, New York, [9] F.Glover. Tabu search: part I. ORSA Journal on Computing, 1989, t.1, [10] F.Glover. Tabu search: part II. ORSA Journal on Computing, 1990, t.2, [11] F.Glover, M.Laguna. Tabu search, Kluwer, Dordrecht, [12] D.E.Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, [13] J.H.Holland. Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, [14] S.Kirkpatrick, C.D.Gelatt, Jr., M.P. Vecchi. Optimization by simulated annealing. Science, 1983, t.220, [15] T.Koopmans, M.Beckmann. Assignment problems and the location of economic activities. Econometrica, 1957, t.25, [16] E.L.Lawler. Combinatorial Optimization: Networks and Matroids, Rinehart and Winston, Holt, [17] H.R.Lourenco, O.Martin, T.Stützle. Iterated local search. F.Glover, G.Kochenberger (red.), Handbook of Metaheuristics, Kluwer, Norwell, 2002, [18] N.Metropolis, A.Rosenbluth, M.Rosenbluth, A.Teller, E.Teller. Equation of state calculation by fast computing machines. Journal of Chemical Physics, 1953, t.21, [19] Z.Michalewicz, D.B.Fogel. How to Solve It: Modern Heuristics, Springer, Berlin-Heidelberg, [20] A.Misevicius. Genetic algorithm hybridized with ruin and recreate procedure: application to the quadratic assignment problem. Research and Development in Intelligent Systems XIX: Proceedings of 22nd SGAI International Conference on Knowledge Based Systems and Applied Artificial Intelligence (ES2002), M. Bramer ir kt. (red.), Cambridge, UK, 2002, [21] A.Misevicius. Ruin and recreate principle based approach for the quadratic assignment problem. Lecture Notes in Computer Science: Genetic and Evolutionary Computation GECCO 2003, Proceedings, Part I, E.Cantú-Paz ir kt. (red.), Springer, Berlin-Heidelberg, 2003, t.2723, [22] A.Misevičius. Intelektualieji optimizavimo metodai. Informacijos mokslai (Information Sciences), 2003, t.26, [23] I.H.Osman, J.P.Kelly. Meta-heuristics: an overview. I.H.Osman, J.P.Kelly (red.), Meta-Heuristics: Theory and Applications, Kluwer, Norwell, 1996, [24] C.R.Reeves. Modern heuristic techniques. In V.J.Rayward-Smith, I.H.Osman, C.R.Reeves, G.D.Smith (red.), Modern Heuristic Search Methods, Wiley, Chichester, 1996, [25] T.Stützle. Iterated local search for the quadratic assignment problem. Tech. Report AIDA-99-03, Darmstadt University of Technology, Germany, [26] E.Taillard. Robust taboo search for the QAP. Parallel Computing, 1991, t.17, Comparison of Local Search Algorithms In this paper, "intelligent" local search (heuristic) algorithms are outlined. The principles and basic features (characteristics) of the local search algorithms are discussed. Particularly, the following modern local search algorithms are concerned: greedy heuristics, simulated annealing, tabu search, iterated local search, and genetic algorithms. The emphasis is laid on the aspects related to the applications of these approaches for combinatorial (discrete) optimization problems. In addition, we present some computational results of the comparison of these algorithms for one of the difficult well-known combinatorial optimization problems, the quadratic assignment problem 47

49 TABU PAIEŠKOS ALGORITMAS KVADRATINIO PASKIRSTYMO UŽDAVINIUI Audrius Gedgaudas, Alfonsas Misevičius Kauno technologijos universitetas, Praktinės informatikos katedra Studentų g a/416a, LT 3031 Kaunas, Vieni iš plačiausiai taikomų euristinių algoritmų kombinatorinio optimizavimo uždaviniams spręsti yra tabu paieška (TP) (angl. tabu search) besiremiantys algoritmai. Šiame straipsnyje pasiūlytas patobulintas išplėstinės tabu paieškos algoritmas gerai žinomam kombinatorinio optimizavimo uždaviniui, būtent, kvadratinio paskirstymo (KP) uždaviniui. Naujasis TP algoritmas išbandytas panaudojant KP uždavinio testinius pavyzdžius iš testinių pavyzdžių bibliotekos QAPLIB. Gauti eksperimentų rezultatai liudija, jog siūlomas algoritmas yra pranašesnis už ankstesnius tabu paieškos algoritmus didelei daliai KP uždavinio testinių pavyzdžių. 1. Įvadas Kvadratinio paskirstymo uždavinys formuluojamas taip: duota matricos A=(a ij ) n n ir B=(b kl ) n n bei aibė Π, kurią sudaro visi galimi perstatymai iš natūrinių skaičių nuo 1 iki n; reikia tarp perstatymų iš aibės Π surasti tokį perstatymą π=(π(1), π(2),..., π(n)), kuriam esant būtų minimizuota funkcija n n ( ) = a ij bπ ( i) π ( j) i= 1 j= 1 z π, (1) čia z atlieka vadinamosios tikslo funkcijos, o π sprendinio vaidmenį; n yra uždavinio apimtis. Viena iš KP uždavinio taikymo sričių yra elektroninės aparatūros projektavimas, pvz., elektroninių komponentų išdėstymas mikroschemose ar spausdinto montažo plokštėse [10,14]. Kitos KP uždavinio taikymo sritys aprašytos [2,4] knygose. Kvadratinio paskirstymo uždavinys priklauso NP-sunkių kombinatorinio optimizavimo uždavinių klasei [18]. Tokie uždaviniai išsprendžiami tiksliai tik esant labai nedidelėms jų apimtims (n 36). Todėl vidutinės ir didelės apimties KP uždaviniams spręsti naudojami euristiniai algoritmai, tame tarpe, tabu paieškos algoritmai [1,5,15,19,20,21] (išsamų kitų euristinių algoritmų KP uždaviniui sąrašą galima rasti [2,4] knygose). Aibės Π perstatymams (sprendiniams) galima sukonstruoti vadinamąją aplinkos funkciją Ν: Π 2 Π. Šios funkcijos pagalba bet kuriam perstatymui π Π priskiriama aibė Ν(π) Π perstatymo π aplinka ( aplinkinių perstatymų aibė). Perstatymo π aplinkos Ν(π) atskirą perstatymą π galima gauti, atlikus atitinkamą perstatymo π transformaciją (perturbaciją) φ: Π Π šiuo atveju sakoma, jog atliekamas perėjimas iš π į π. Vienas iš konkrečių aplinkos funkcijų pavyzdžių yra vadinamoji porinių sukeitimų funkcija (žymima Ν 2 ), kuri apibrėžiama taip: Ν 2 (π)={π π Π,ρ(π,π )=2}, čia n ρ( π, π ) = sgn π ( i) π ( i). Esant aplinkai Ν2 perėjimus lengva i= 1 sumodeliuoti elementarių perturbacijos operatorių φ ij (i,j {1, 2,..., n}), pagalba čia φ ij tiesiog atlieka dviejų perstatymo elementų (i-tojo ir j-tojo) sukeitimą vietomis. ( Perėjimą iš π į π panaudojant perturbaciją φ ij formaliai galime užrašyti taip: π = π φ.) Perstatymo aplinka Ν 2 gali būti pilnai išnagrinėta (patikrinta), duotam ij perstatymui nuosekliai atliekant perturbacijas φ ij, kai i kinta nuo 1 iki n 1, o j nuo i+1 iki n (t.y., φ 12, φ 13,..., φ 1n, φ 23,..., φ n 1,n ). Vykdant perturbaciją φ ij, tikslo funkcijos z pokytis z(π,i,j) ( z(π,i,j)= z π φ ) z(π) (1 i,j n, i j)) apskaičiuojamas panaudojant O(n) operacijų: z( π, i, j) = ( a ij ( ij n [ ( aik a jk )( bπ ( j) π ( k ) bπ ( i) π ( k ) ) + ( aki akj )( bπ ( k ) π ( j) bπ ( k ) π ( i) )] k = 1, k i, j a ji )( b π ( j) π ( i) b π ( i) π ( j) ) +, (2) 48

50 Tabu paieškos algoritmas kvadratinio paskirstymo uždaviniui čia a ii (arba b ii ) yra konstanta (paprastai 0) visiems i nuo 1iki n. Tikslo funkcijos pokytį dviems perstatymamskaimynams π ir π = π φ galima apskaičiuoti ir žymiau greičiau su sąlyga, jog yra įsimintos (išsaugotos) uv visos ankstesnių pokyčių reikšmės z(π,i,j) (i,j=1, 2,..., n). Pokyčių saugojimui pakanka dvimatės matricos D=(d ij ) n n. Tuomet, apskaičiuojant pokytį z(π,i,j) (i u,v ir j u,v), pakanka O(1) operacijų [21]: z( π, i, j) = z( π, i, j) + ( a iu ( a ui a iv a vi + a jv + a vj a ju uj )( b a )( b π ( i) π ( u) π ( u) π ( i) b b π ( i) π ( v) π ( v) π ( i) + b + b π ( j) π ( v) π ( v) π ( j) b b π ( j) π ( u) π ( u) π ( j) ) +. (3) ) (Pastaba. Jeigu i=u(v) arba j=u(v), tai turi būti taikoma (2) formulė; nors pastarosios formulės sudėtingumas yra O(n), tačiau ji taikoma tik keturioms indeksų poroms, o tai įgalina esamo perstatymo π aplinką Ν 2 (π) pilnai išnagrinėti, panaudojant viso tik O(n 2 ) operacijų išimtį sudaro inicializacijos fazė, t.y., pirmoji iteracija, kurios metu vistiek reikia (bet tik vieną kartą) atlikti O(n 3 ) operacijų tam, kad išnagrinėti pradinio sprendinio aplinką ir įsiminti visus galimus tikslo funkcijos pokyčius, reikalingus tolesnėse iteracijose.) Toliau šiame straipsnyje aprašomas naujas pasiūlytas, išplėstinės tabu paieškos algoritmas KP uždaviniui. Prieš tai, 2 skyrelyje bendrais bruožais aptariama tabu paieška, jos veikimo principas, paradigma. Naujasis algoritmas nagrinėjamas 3 skyrelyje. 4 skyrelyje pateikiami eksperimentinių tyrimų rezultatai, gauti sprendžiant KP uždavinio testinius pavyzdžius. Straipsnis baigiamas išvadomis. 2. Tabu paieška: veikimo principas, paradigma Tabu paieškos metodas buvo pasiūlytas Hanseno, Jaumardo [11] ir Gloverio m. [6,7]. Šis metodas yra tapęs labai populiarus ir plačiai taikytas įvairiems optimizavimo uždaviniams (žr., pvz., [9,13,17,23,24]), tarp jų, kaip jau minėta, ir KP uždaviniui (žr. 1 sk.). TP metodas remiasi išplėsta lokaliąja paieška. Skirtingai, negu įprasti lokaliosios paieškos algoritmai, kurie apsiriboja lokaliai optimalaus sprendinio (lokaliojo optimumo) suradimu, tabu paieška pagrįsti algoritmai tęsia paiešką ir tuo atveju, kai surandamas lokaliai optimalus sprendinys, t.y., duoto sprendinio aplinkoje neįmanoma surasti geresnio sprendinio (sprendinio su mažesne kai sprendžiamas minimizavimo uždavinys tikslo funkcijos reikšme). Pagrindinė TP idėja yra ta, kad leidžiama atlikti perėjimus net ir tais atvejais, kai naujasis sprendinys iš esamo sprendinio aplinkos yra blogesnis už duotąjį sprendinį. Tokiu būdu tabu paieška įgalina daug kartų pereiti nuo vieno lokaliojo optimumo prie kito įsimenant geriausiąjį iš surastų lokaliai optimalių sprendinių. Tačiau kai kurie perėjimai turi būti uždraudžiami, t.y., tabu paieška yra pagrįsta draudimų metodologija: draudimai yra būtini tam, kad neleisti grįžti į tuos pačius, jau nagrinėtus sprendinius ir taip išvengti ciklinimų. procedure tabu_paieška; ( pradiniai duomenys: s pradinis sprendinys; rezultatai: s geriausias rastas sprendinys ) s s ; s s ; inicializuoti tabu sąrašą T; repeat ( vykdyti tabu paieškos ciklą ) rasti geriausią sprendinį s Ν(s) duotam tabu sąrašui T ir pasirinktam aspiracijos kriterijui; s s ; ( pakeisti einamąjį sprendinį nauju ) įtraukti naująjį sprendinį s (arba perėjimo iš s į s pėdsaką ) į tabu sąrašą T; if f(s) < f(s ) then s s; ( įsiminti geriausią surastą sprendinį ) jei reikia, atlikti tabu sąrašo T atnaujinimą until patenkinta baigimo sąlyga end ( procedure ) 1 pav. Tabu paieškos paradigma Taigi, tarkime, kad duota diskretinių sprendinių aibė S, tikslo funkcija f: S R 1, o taip pat aplinkos funkcija Ν: S 2 S. Tuomet TP veikimas galėtų būti glaustai aprašytas taip : paieška pradedama nuo tam tikro pradinio, galbūt atsitiktinai sugeneruoto, sprendinio s iš aibės S, po to perėjimai iš vieno sprendinio į kitą vykdomi iteraciniu būdu. Algoritmo vykdymo eigoje analizuojama einamojo sprendinio s aplinkos sprendinių aibė Ν(s), ir pereinama į tą sprendinį s iš Ν(s), kuriam tikslo funkcijos f reikšmė yra mažiausia (geriausia). Perėjimas gali būti atliekamas ir tuo atveju, kai jis pablogina einamąją tikslo funkcijos reikšmę (t.y., tikslo funkcijos pokytis yra teigiamas); būtent, nuodugnesnio ir platesnio tabu paieškos metodo aprašymo rekomenduojama ieškoti [8,12] veikaluose. 49

51 A. Gedgaudas, A. Misevičius pasirenkamas tas perėjimas, kuris mažiausiai pablogina tikslo funkcijos reikšmę. Grįžimas į neseniai aplankytus sprendinius turi būti uždraudžiamas tam tikram periodui kad būtų išvengta ciklinimosi (paieškos kartojimo iš naujo nuo to pačio taško ). Tokiu būdu kai kurie sprendiniai tam tikrais momentais tampa tabu : jie (arba atitinkamų perėjimų pėdsakai ) įtraukiami į specialų sąrašą vadinamąjį tabu sąrašą T, kuriame įsimenama h= T paskutiniųjų perėjimų pėdsakų ( žymių ). Taigi perėjimas į sprendinį s Ν(s) yra draudžiamas, traktuojamas kaip tabu, jeigu tas sprendinys arba atitinkamas perėjimas duotu metu yra sąraše T. Vis tik po tam tikro laiko grįžimas į anksčiau nagrinėtus sprendinius gali būti naudingas. Dėl tos priežasties įvedamas vadinamasis aspiracijos kriterijus tam, kad leisti tabu būsenai būti atšauktai esant palankioms aplinkybėms; pavyzdžiui, tabu perėjimą iš s į s galima leisti, jeigu f(s )<f(s ), kur s yra geriausias iki duoto momento paieškos eigoje surastas sprendinys. TP procesas paprastai yra baigiamas, kai aliekamas iš anksto užduotas iteracijų skaičius. TP veikimo schemos šablonas paradigma pateikta 1 pav. 3. Išplėstinės tabu paieškos algoritmas KP uždaviniui Šiame darbe pasiūlytas patobulintas tabu paieškos algoritmas, kuris pavadintas ITPA išplėstinės tabu paieškos algoritmas. Pirmiausiai, jis remiasi kai kuriais vadinamosios randomizuotos tabu paieškos (RTP), aprašytos Taillard o straipsnyje [21], principais. Kaip ir Taillard o algoritme, mūsų algoritme tabu sąrašas realizuotas dvimatės matricos T=(t ij ) n n, sudarytos iš sveikų skaičių, pagalba. Pradžioje visi matricos T elementai yra lygūs 0. Algoritmo vykdymo eigoje matricos elementas t ij saugo einamosios iteracijos numerį plius tabu sąrašo koeficientas h (h>0); kitaip tariant, t ij yra lygus numeriui iteracijos, kuria pradedant i-tajam ir j-tajam sprendinio elementams anuliuojama tabu būsena, t.y., tie elementai vėl gali būti sukeičiami vietomis. Taigi perėjimas į sprendinį, sukeičiant elementus i ir j vietomis, yra tabu, jeigu t ij >=q, kur q yra einamosios iteracijos numeris. Labai svarbu parinkti prideramą koeficiento h reikšmę. Esant šiai reikšmei labai mažai, padidėja paieškos ciklinimosi tikimybė; tuo tarpu, esant tai reikšmei pernelyg didelei, gali būti labai apribojama paieška atskirose sprendinių erdvės srityse o tarp šių gali būti ir tokių, kuriose slypi labai geri lokaliai optimalūs sprendiniai (ar net globaliai optimalus sprendinys). Eksperimentais nustatyta, kad vienas iš perspektyvių būdų yra naudoti kintamą tabu sąrašo koeficientą, užuot naudojus jį iš anksto fiksuotą. Geri rezultatai gaunami, kai reikšmė h yra kaitaliojama randomizacijos keliu, t.y., ji parenkama atsitiktiniu būdu ir taip, kad patektų į tam tikrą užduotą intervalą, pvz., [h min,h max ]. Parametrų h min ir h max reikšmes galima tiesiog susieti su uždavinio apimtimi n, pvz., h min =0.1n, h max =0.3n. Reikšmės h kaitaliojimo dažnumas prilyginamas 2h max, t.y., h perskaičiuojama kiekvieną kartą, kai tik įvykdoma 2h max tabu paieškos iteracijų. Algoritme ITPA panaudotas klasikinis aspiracijos kriterijus, t. y., tabu statusas ignoruojamas, jeigu perėjimas atliekamas į tokį sprendinį, kuris yra geresnis už bet kurį kitą iki tol rastą. Be to, algoritme pasinaudota ypač efektyvia formule tikslo funkcijos pokyčiams skaičiuoti (žr. (3) formulę įvade). Tai leidžia sprendinių aplinką išnagrinėti atliekant O(n 2 ) operacijų. Siekiant dar daugiau pagerinti TP efektyvumą išbandytas tabu paieškos ir godžiąja strategija besiremiančios greito nusileidimo procedūros kombinavimas. Idėja slypi tame, kad tam tikrais paieškos periodais tikslinga atlikti savotišką relaksaciją, t.y., tabu paiešką pakeisti godžiąja paieška laikinai anuliuojant visus draudimus. Šiuo atveju godžioji paieška gali būti traktuojama kaip paieškos intensifikavimas atskirose sprendinių erdvės dalyse. Finišavus greito nusileidimo procedūrai, atstatomi buvę draudimai ir vėl tęsiama įprasta TP procedūra. Taip kombinuojant paieškos režimus pavyksta pagerinti gaunamus rezultatus, jeigu lyginti juos su grynosios TP rezultatais. Be aukščiau apžvelgtų bruožų algoritmas ITPA pasižymi dar viena labai svarbia nauja savybe, būtent tuo, kad yra realizuota vadinamosios iteratyviosios tabu paieškos strategija. Šios strategijos esmė glūdi tame, jog galima pagerinti įprastų TP algoritmų rezultatus pritaikant tam tikrus sprendinių pertvarkymus (mutavimus). Iteratyviajai tabu paieškai būdingi du pagrindiniai etapai: 1) sprendinio pagerinimas (panaudojant įprastą tabu paiešką) ir 2) sprendinio rekonstravimas (panaudojant mutacijos procedūrą). Beje, galimi du rekonstravimo tipai: a) karštasis rekonstravimas ir b) šaltasis rekonstravimas. Pirmojo tipo rekonstravimas paprastai atliekamas po kiekvieno sprendinio pagerinimo. Karštojo rekonstravimo metu nesiekiama duotojo sprendinio visiškai suardyti, o siekiama, kad naujai gautas sprendinys paveldėtų tam tikras geras ankstesnio sprendinio charakteristikas, nors tuo pačiu turi būti užtikrinamas ir tam tikras diversifikavimo (įvairovės) lygis. Karštasis rekonstravimas neturi būti nei per daug stiprus, nei per daug silpnas. Pirmuoju atveju paieška taptų labai panaši į daugkartinę (gana chaotišką) tabu paiešką startuojant nuo visai atsitiktinių sprendinių, ir būtų prarandama naudinga paieškos eigoje sukaupta informacija; antruoju atveju rekonstravimas negarantuotų pakankamai nutolusio (nuo duotojo) sprendinio generavimo o tai galėtų sąlygoti paieškos ciklinimąsi, t.y., sugrįžimą į jau anksčiau nagrinėtus sprendinius. Karštąjį rekonstravimą galima 50

52 Tabu paieškos algoritmas kvadratinio paskirstymo uždaviniui procedure ITPA; ( išplėstinės tabu paieškos algoritmas KP uždaviniui ) ( pradiniai duomenys: πˆ pradinis sprendinys; n uždavinio apimtis ) ( Q 1, Q 2, µ min, µ max, h min, h max, ω valdantieji parametrai ) ( rezultatai: π geriausias rastas sprendinys ) π :=MRTPA( πˆ,q2); ( optimizuojamas pradinis sprendinys panaudojant algoritmą MRTPA ) π :=π ; π :=π ; q :=0; µ:=µ min 1; for q:=1 to Q 1 do begin ( pagrindinis išplėstinės tabu paieškos ciklas ) if q q >ω then begin q :=q; sugeneruoti naują atsitiktinį sprendinį π ~ ; π :=π ~ end else begin if µ<µ max then µ:=µ+1 else µ:=µ min ; π ~ :=mutacija(π,µ) ( sprendinio π mutavimas (rekonstravimas) gaunant sprendinį π ~ ) end; π :=MRTPA(π ~,Q 2 ); ( optimizuojamas mutuotas sprendinys panaudojant algoritmą MRTPA ) if z(π )<z(π ) then begin ( rastas geresnis lokaliai optimalus sprendinys ) q :=q; µ:=µ min 1; π :=π ; if z(π )<z(π ) then π :=π ( įsimenamas geriausias sprendinys ) end ( if ) end ( for ) end ( procedure ) 2 pav. Išplėstinės tabu paieškos, naudojančios randomizuotą tabu paiešką, algoritmo KP uždaviniui šablonas function MRTPA(π,Q); ( modifikuotas randomizuotos tabu paieškos algoritmas KP uždaviniui ) ( pradiniai duomenys: π einamasis sprendinys, n uždavinio apimtis; Q iteracijų skaičius; ) ( h min, h max tabu sąrašo ilgio rėžiai (h min <h max ); r relaksacijos koeficientas ) ( rezultatai: π geriausias rastas sprendinys ) π :=π; q :=1; i:=1; j:=1; T:=0; for q:=1 to Q do begin ( pagrindinis randomizuotos tabu paieškos ciklas ) for k:=1 to n 1 do for l:=k+1 to n do D[k,l]= z(π,k,l); if q mod 2h max = 1 then parinkti atsitiktinę tabu sąrašo ilgio reikšmę h iš intervalo [h min,h max ]; min := ; for m:=1 to Ν 2 do begin i : = iif ( j < n, i, iif ( i < n 1, i + 1,1)) ; j : = iif ( j < n, j + 1, i + 1) ; :=D[i,j]; uždrausta:=(t[i,j] q); aspiracija:=((z(π)+ <z(π )) and (uždrausta=true)); if (( < min ) and (uždrausta=false)) or (aspiracija=true) then begin u:=i; v:=j; if aspiracija=true then min := else min := end ( if ) end; ( for ) π : = π ; ( esamas sprendinys pakeičiamas nauju ) φ uv if D[u,v]<0 and (q q h r) then begin π:=greitas_nusileidimas(π); q :=q end; if z(π)<z(π ) then π :=π; ( įsimenamas geriausias sprendinys ) T[u,v]:=q+h ( perturbacija ( perėjimas ) p uv įtraukiama į tabu sąrašą, t.y. uždraudžiama ) end; ( pagrindinio ciklo pabaiga ) return π end ( function ) 3 pav. Modifikuoto randomizuotos tabu paieškos algoritmo KP uždaviniui šablonas. Pastabos. 1. Apskaičiuojant tikslo funkcijos pokyčių matricos D reikšmes pirmą kartą, pasinaudojama (2) formule, o atnaujinant (perskaičiuojant) šias reikšmes (3) formule. 2. Funkcija iif(x,y 1,y 2 ) grąžina y 1, jei loginė sąlyga x yra patenkinta, arba y 2 priešingu atveju 51

53 A. Gedgaudas, A. Misevičius realizuoti kaip atsitiktinį perėjimą į to sprendinio aukštesnės eilės aplinką Ν λ, kur λ>2. Vienas iš galimų mechanizmų tokiam perėjimui modeliuoti tai panaudoti atsitiktiniu būdu generuojamą elementarių perturbacijų (tokių, pvz., kaip φ ij ) seką, pvz., {φ rs } µ, kur r ir s gaunami (pseudo-)atsitiktinių skaičių generatoriaus pagalba, o µ yra sekos ilgis, pvz., tarp µ min ir µ max, čia µ min, µ max savo ruožtu yra tarp 2 ir n/2. Antrojo tipo rekonstravimo ypatybė yra ta, kad šiuo atveju galima sprendinį visiškai sugriauti. Tokio sugriovimo tikslas stengtis aprėpti kiek įmanoma didesnius, įvairesnius sprendinių poerdvius, taip sudarant palankesnes sąlygas artėti prie globaliojo optimumo. Paprasčiausiu atveju, šaltąjį rekonstravimą galime realizuoti tiesiog kaip naujo, visai atsitiktinio sprendinio generavimą. Algoritmo ITPA vykdymas valdomas panaudojant šiuos parametrus: Q 1 išplėstinės tabu paieškos iteracijų skaičius; Q 2 modifikuoto randomizuotos tabu paieškos iteracijų skaičius; h min, h max tabu sąrašo ilgio rėžiai; µ min, µ max atsitiktinių perturbacijų sekų ilgio (mutavimo lygio) rėžiai; r relaksacijos koeficientas (parametras, apibrėžiantis kokiu dažnumu vykdyti greitą nusileidimą ); ω parametras, nurodantis kokias periodais vykdyti šaltąjį rekonstravimą. Išplėstinės tabu paieškos algoritmo šablonas pateikiamas 2 pav. Algoritmas ITPA savo ruožtu naudoja procedūras MRTPA (modifikuotas randomizuotos tabu paieškos algoritmas), mutacija ; jų šablonai parodyti atitinkamai 3 ir 4 pav. Pagaliau, procedūros greitas_nusileidimas, kurią naudoja algoritmas MRTPA, šablonas yra 5 pav. Pastebėsime, kad algoritmas ITPA gali būti vykdomas daug kartų, esant įvairioms valdymo parametrų reikšmių kombinacijoms tie atskiri algoritmo įvykdymai vadinami restartais. function mutacija(π,µ); ( sprendinių mutavimo procedūra KP uždaviniui ) ( pradiniai duomenys: π einamasis sprendinys; µ mutavimo lygis (atsitikt. perturbacijų sekos ilgis) ) ( rezultatai: π mutuotas sprendinys ) for i:=1 to µ do begin sugeneruoti atsitiktinius teigiamus sveikus skaičius γ, η, ir tokius, kad: 1 γ,η n, γ η; π : = π ; ( sukeisti γ-tąjį ir η-tąjį sprendinio (perstatymo) π elementus vietomis ) φ γη end; ( for ) return π end ( function ) 4 pav. Sprendinių mutavimo algoritmo KP uždaviniui šablonas function greitas_nusileidimas(π); ( greito nusileidimo procedūra KP uždaviniui ) ( pradiniai duomenys: π einamasis sprendinys; bendri duomenys: D tikslo f. skirtumų matrica ) ( rezultatai: π (galbūt) pagerintas sprendinys ) i:=1; j:=1; repeat ( pagrindinis ciklas ) min := ; for k:=1 to Ν 2 do begin i : = iif( j < n, i,iif( i < n 1, i + 1,1)) ; j : = iif( j < n, j + 1, i + 1) ; if D[i,j]< min then begin min :=D[i,j]; u:=i; v:=j end end; ( for ) if min <0 then begin π : = π ; ( esamas sprendinys pakeičiamas nauju ) φ uv for l:=1 to n 1 do for m:=l+1 to n do perskaičiuoti D[l,m] end ( if ) until min 0; return π end ( function ) 5 pav. Greito nusileidimo algoritmo KP uždaviniui šablonas. Pastaba. Perskaičiuojant tikslo funkcijos pokyčių matricos D reikšmes pasinaudojama (3) formule 52

54 Tabu paieškos algoritmas kvadratinio paskirstymo uždaviniui 4. Eksperimentiniai tyrimai ir jų rezultatai Algoritmo ITPA efektyvumo tyrimams pasinaudota KP uždavinio testiniais pavyzdžiais (duomenimis) iš bibliotekos QAPLIB [3]. Tarp daugelio pavyzdžių išskirti atsitiktiniu būdu sugeneruoti pavyzdžiai ir realaus pasaulio duomenis imituojantys pavyzdžiai. Pirmajai grupei priklauso šie konkretūs pavyzdžiai: tai25a, tai30a, tai35a, tai40a, tai50a, tai60a, tai80a ir tai100a (tai a), o antrajai tokie pavyzdžiai: tai25b, tai30b, tai35b, tai40b, tai50b, tai60b, tai80b ir tai100b (tai b). Algoritmo ITPA rezultatai buvo lyginami su kitų gerai žinomų, efektyvių TP algoritmų rezultatais. Tie algoritmai tai (jau minėtas) Taillard o algoritmas [21] (pavadintas RTPA randomizuotos tabu paieškos algoritmas) bei Battiti ir Tecchiolli algoritmas [1] (pavadintas ReTPA reaktyviosios tabu paieškos algoritmas). Beje, pastarasis algoritmas kai kuriems KP uždavinio testiniams pavyzdžiams yra pranašesnis už Taillard o algoritmą, tačiau jį žymiai sunkiau suprogramuoti ir realizuoti. Tiek algoritmas RTPA, tiek algoritmas ReTPA dar iki šių dienų laikytini vienais iš efektyviausių euristinių algoritmų KP uždaviniui, ypač tai pasakytina apie atsitiktiniu būdu sugeneruotus testinius pavyzdžius [22]. (Tiesa, realaus pasaulio pavyzdžių atveju daug žadančių rezultatų yra pasiekta panaudojant genetinius algoritmus [16], kurie čia detaliau nenagrinėjami.) Buvo pasirinkti tokie algoritmų darbo efektyvumo įvertinimo kriterijai: a) vidutinis nuokrypis nuo geriausio žinomo sprendinio δ ( δ = 100(z z ger ) z [%], čia z yra gautų tikslo funkcijos reikšmių vidurkis, ger apskaičiuotas, atlikus W algoritmo restartų, o z ger yra geriausia žinoma (tikslo funkcijos) reikšmė (GŽR) (GŽR pateiktos [3] straipsnyje)); b) sprendinių, esančių 1% optimalumo intervale (δ 1), skaičius (kai atlikta W restartų ) C 1% ; c) surastų geriausių žinomų (pseudo-optimalių) sprendinių skaičius C ger. Visiems trims lygintiems algoritmams sudarytos panašios sąlygos identiški pradiniai sprendiniai, kiek tai įmanoma, vienodi vykdymo laikai bei tas pats restartų skaičius W (visuose bandymuose W=10). Algoritmų palyginimo rezultatai pateikti 1 ir 2 lentelėse. Geriausios vidutinio nuokrypio reikšmės atspausdintos paryškintai. Matyti, kad gauti algoritmų rezultatai priklauso nuo testinių duomenų prigimties. Esant tam pačiam vykdymo laikui, realaus pasaulio duomenims gaunami geresni rezultatai negu atsitiktiniams duomenims. Tačiau abiem atvejais rezultatai liudija, jog tirtų efektyvumo kriterijų atžvilgiu algoritmas ITPA pranoksta tiek algoritmą RTPA, tiek algoritmą ReTPA (išimtį sudaro vienas testinis pavyzdys, kuriam ITPA nežymiai nusileidžia ReTPA, užtat aiškiai pralenkia RTPA). Labai akivaizdus ITPA pranašumas prieš kitus du algoritmus (ypač ReTPA) yra realaus pasaulio duomenims; tuo tarpu didelei daliai atsitiktinių duomenų ITPA atotrūkis nuo ReTPA nėra labai ryškus, bet šiuo atveju ITPA gauna žymiai geresnius rezultatus negu RTPA tai ypač matyti didesnės apimties testiniams pavyzdžiams. 1 lentelė. Algoritmų palyginimo rezultatai ( δ, C 1%, C ger ) ir vykdymo laikas, esant atsitiktiniams duomenų rinkiniams. Geriausios gautos vidutinio nuokrypio reikšmės atspausdintos paryškintai. Nurodytas vykdymo laikas, kuris reikalingas vienam restartui (naudotas 900 MHz taktinio dažnio personalinis kompiuteris) Testinis pavyzdys n GŽR δ, C 1% /C ger Laikas (sek.) RTPA ReTPA ITPA a tai20a / / / tai25a / / / tai30a / / / tai35a / / / tai40a / / / 0 45 tai50a / / / tai60a / / / tai80a / / / tai100a / / / a 2 ITPA panaudotos tokios valdymo parametrų reikšmės: Q 1 = 3 2 n ; Q 2 = 1 n ; h min =0.2n; h max =0.4n; µ min =0.3n; µ max =0.4n; r=2.5; ω=2n

55 A. Gedgaudas, A. Misevičius 2 lentelė. Algoritmų palyginimo rezultatai ( δ, C 1%, C ger ) ir vykdymo laikas, esant realaus pasaulio duomenų rinkiniams. Geriausios gautos vidutinio nuokrypio reikšmės atspausdintos paryškintai. Nurodytas vykdymo laikas, kuris reikalingas vienam restartui (naudotas 900 MHz taktinio dažnio personalinis kompiuteris) Testinis pavyzdys n GŽR δ, C 1% /C ger Laikas (sek.) RTPA ReTPA ITPA a tai20b / / tai25b / / tai30b / / / tai35b / / / tai40b / / tai50b / / / 8 50 tai60b / / / tai80b / / / tai100b / / / a 2 ITPA panaudotos tokios valdymo parametrų reikšmės: Q 1 =1. 5n ; Q2=n; h min =0.1n; h max =0.3n; µ min =0.35n; µ max =0.45n; r=2.5; ω=2n. Algoritmo ITPA rezultatus galima dar pagerinti, pirmiausiai, padidinant iteracijų skaičių reguliuojančių parametrų Q 1 ir Q 2 reikšmes (aišku, šiuo atveju atitinkamai padidėtų paieškos laikas). Kitas būdas gauti geresnės kokybės rezultatus tai parinkti tinkamesnes, tikslesnes valdymo parametrų h min, h max, µ min, µ max, r ir ω reikšmes. Tam reikalingi papildomi išsamesni eksperimentai, ir tai galėtų būti kitų, naujų tyrimų objektas. 5. Išvados Šiame straipsnyje pasiūlytas patobulintas, išplėstinės tabu paieškos algoritmas (ITPA) vienam iš sudėtingų kombinatorinio optimizavimo uždavinių kvadratinio paskirstymo uždaviniui. Žinoma, kad KP uždavinys yra NPsunkus, ir efektyvių euristinių algoritmų šiam uždaviniui kūrimas vis dar tebelieka aktualia ir daugelio tyrinėtojų nagrinėjama tema. Algoritmas ITPA ir yra bandymas prisidėti tobulinant esamus ir konstruojant naujus, modernius algoritmus KP uždaviniui. Pagrindinė naujojo tabu paieškos algoritmo idėja yra ta, kad yra siekiama pagerinti įprastinę tabu paieškos veikimo schemą panaudojant tam tikrus papildomus sprendinių pertvarkymus ir išplečiant tradicinę tabu paiešką į vadinamąją iteratyviąją tabu paiešką. Iteratyvioji TP pasižymi tuo, jog čia įprasta TP kombinuojama su lokaliai optimalių sprendinių rekonstravimu (mutavimu). Tam tikru mastu transformuojant lokaliai optimalius sprendinius jų perdaug nesugriaunant ir kartojant tabu paiešką nuo tų rekonstruotų sprendinių siekiama aprėpti kiek įmanoma didesnį sprendinių aibės poerdvį, taip sudarant palankesnes sąlygas artėti prie globaliai optimalių sprendinių. Kaip parodė eksperimentų, atliktų su kvadratinio paskirstymo uždaviniu, rezultatai, tokia išplėtotos tabu paieškos strategija iš tikrųjų įgalino pasiekti sprendinius, mažiau nutolusius nuo globaliojo optimumo, jeigu lyginti su įprasta grynąja tabu paieška. Atliktų eksperimentų rezultatai paliudijo, kad naujasis išplėstinės TP algoritmas KP uždaviniui laikytinas vienu iš pačių efektyviausių euristinių algoritmų atsitiktiniu būdu generuojamiems duomenims. Kas dėl realaus pasaulio duomenų, tai ir duotu atveju galima sukonstruoti išties gerą metodą. Šiuo atveju algoritmą ITPA (jį atitinkamai adaptuojant) galima būtų hibridizuoti su genetiniais algoritmais, pvz., panaudoti jį aukštos kokybės ( elitinių ) sprendinių populiacijų generavimui ir pan. Be to, ir pats išplėstinės TP algoritmas gali būti toliau modifikuojamas bei tobulinamas. Literatūros sąrašas [1] R.Battiti, G.Tecchiolli. The reactive tabu search. ORSA Journal on Computing, 1994, t.6, [2] R.E.Burkard, E.Çela, P.M.Pardalos, L.Pitsoulis. The quadratic assignment problem. D.Z.Du, P.M.Pardalos (red.), Handbook of Combinatorial Optimization, Kluwer, 1998, t.3, [3] R.E.Burkard, S.Karisch, F.Rendl. QAPLIB a quadratic assignment problem library. Journal of Global Optimization, 1997, t.10, [4] E.Çela. The Quadratic Assignment Problem: Theory and Algorithms, Kluwer,

56 Tabu paieškos algoritmas kvadratinio paskirstymo uždaviniui [5] J.Chakrapani, J.Skorin-Kapov. Massively parallel tabu search for the quadratic assignment problem. Annals of Operations Research, 1993, t.41, [6] F.Glover. Tabu search: part I. ORSA Journal on Computing, 1989, t.1, [7] F.Glover. Tabu search: part II. ORSA Journal on Computing, 1990, t.2, [8] F.Glover, M.Laguna. Tabu search, Kluwer, [9] S.Hanafi, A.Freville. An efficient tabu search approach for the 0-1 multidimensional knapsack problem. European Journal of Operational Research, 1998, t.106, [10] M.Hanan, J.M.Kurtzberg. Placement techniques. M.A.Breuer (red.), Design Automation of Digital Systems: Theory and Techniques, Prentice-Hall, 1972, t.1, [11] P.Hansen, B.Jaumard. Algorithms for the maximum satisfiability problem. RUTCOR Search Report 43 87, Rutgers University, [12] A.Hertz, E.Taillard, D. de Werra. Tabu search. E.Aarts, J.K.Lenstra (red.), Local Search in Combinatorial Optimization, Wiley, 1997, [13] A.Hertz, D. de Werra. Using tabu search techniques for graph coloring. Computing, 1987, t.39, [14] T.C.Hu, E.S.Kuh (red.). VLSI Circuit Layout: Theory and Design, IEEE Press, New York, [15] J.P.Kelly, M.Laguna, F.Glover. A study of diversification strategies for the quadratic assignment problem. Computers & Operations Research, 1994, t.21, [16] A.Misevicius. Genetic algorithm hybridized with ruin and recreate procedure: application to the quadratic assignment problem. Knowledge-Based Systems, 2003, t.16, [17] E.Rolland, H.Pirkul, F.Glover. Tabu search for graph partitioning. Annals of Operations Reserch, 1996, t.63, [18] S.Sahni, T.Gonzalez. P-complete approximation problems. Journal of ACM, 1976, t.23, [19] J.Skorin-Kapov. Tabu search applied to the quadratic assignment problem. ORSA Journal on Computing, 1990, t.2, [20] J.Skorin-Kapov. Extension of a tabu search adaptation to the quadratic assignment problem. Computers & Operations Research, 1994, t.21, [21] E.Taillard. Robust taboo search for the QAP. Parallel Computing, 1991, t.17, [22] E.Taillard. Comparison of iterative searches for the quadratic assignment problem. Location Science, 1995, t.3, [23] P.Thomas, S.Salhi. A tabu search heuristic for the resource constrained project scheduling problem. Journal of Heuristics, 1998, t.4, [24] N.A.Wassan, I.H.Osman. Tabu search variants for the mix fleet vehicle routing problem. Journal of the Operational Research Society, 2002, t.53, A Tabu Search Algorithm for the Quadratic Assignment Problem Tabu search based algorithms are among the widely used heuristic algorithms for combinatorial optimization problems. In this paper, we propose an improved enhanced tabu search algorithm for the well-known combinatorial optimization problem, the quadratic assignment problem (QAP). The new algorithm was tested on a number of instances from the library of the QAP instances QAPLIB. The results obtained from the experiments show that the proposed algorithm appears to be superior to the earlier "pure" tabu search algorithms on many instances of the QAP. 55

57 VEIDO ATPAŽINIMAS NAUDOJANT KARUNO-LOEVO, KOSINUSINĘ IR BANGELIŲ TRANSFORMACIJĄ Vytautas Perlibakas KTU Vaizdų apdorojimo ir analizės mokslo laboratorija Studentų g , Kaunas, El. paštas Straipsnyje palyginami Karuno-Loevo, kosinusine ir bangelių transformacija pagrįsti veido atpažinimo metodai. Atpažinimo metu tarp požymių vektorių skaičiuojami tokie atstumai: Euklido, pagrįstas kampu, pagrįstas kampu su svoriais. Metodų palyginimui naudojami kumuliatyvinės atpažinimo histogramos bei imtuvo veikimo charakteristikos parametrai. 1. Įvadas Karuno-Loevo transformacija (KLT) pagrįstas veido atpažinimo metodas, kitaip dar vadinamas pagrindinių dedamųjų analize (angl. PCA Principal Component Analysis), yra gana populiarus tarp kompiuterijos srities mokslininkų [11], [12]. Naudojant šį metodą apmokymo vaizdams reikia apskaičiuoti kovariacinę matricą ir rasti kovariacinės matricos tikrinius vektorius bei tikrines reikšmes. Dėl ilgai trunkančio tikrinių vektorių skaičiavimo praktinis šio metodo taikymas yra gana ribotas. Todėl ieškoma būdų kaip būtų galima pagreitinti skaičiavimus arba bandoma naudoti kitas transformacijas. Kadangi kosinusinė transformacija esant stipriai koreliuotiems pradiniams duomenims energijos pakavimo ir vidutinės kvadratinės atkūrimo paklaidos prasme yra artima Karuno-Loevo transformacijai [17], bandoma vietoje KLT naudoti kosinusinę transformaciją, kuri yra žymiai greitesnė [8]. Paprastai atstumui tarp požymių matuoti naudojamas Euklido atstumas, todėl neaišku kaip atstumo mato pasirinkimas įtakoja atpažinimo rezultatus. Kadangi [13] eksperimentai parodė jog KLT atveju galima parinkti atstumo matą, kurį naudodami gautume didesnį atpažinimo tikslumą nei naudodami Euklido atstumą, todėl šiame straipsnyje palyginsime Karuno-Loevo ir kosinusine transformacija pagrįstus veido atpažinimo metodus kai atstumui tarp požymių vektorių matuoti naudojami ir kitokie atstumų matai: pagrįstas kampu, pagrįstas kampu su svoriais. Taip pat pateiksime palyginimui atpažinimo rezultatus naudojant bangelių transformaciją siekdami išsiaiškinti ar naudodami bangelių transformaciją galime gauti geresnius atpažinimo rezultatus nei naudodami kosinusinę ar Karuno-Loevo transformaciją. 2. Karuno-Loevo transformacija Pateiksime pagrindines Karuno-Loevo transformacijos (KLT) formules. Detalesnį aprašymą galima rasti [7]. Tarkime X yra N-elementų vienmatis vaizdas (vektorius) ir turime r tokių vaizdų ( j = 1,..., r ). Vienmatis vaizdas j [X(N)] iš dvimačio vaizdo [I(N 1 )(N 2 )] (pvz., veido nuotraukos) suformuojamas nuosekliai surašant į vienmatį vaizdą eilutes iš dvimačio vaizdo ir gaunamas vaizdas X = ( I(0,0), I(0, 1),..., I(0, N2 1),......, I ( N1 1,0), I( N1 1,1),..., I( N1 1, N 2 1)) vektoriai ir kovariacinė matrica: 1 r X j r j= 1 T. Tada apskaičiuojamas vidurkio vektorius, centruoti duomenų m =, m = ( m(0), m(1),..., m( N 1)) T, N = N 1 N 2 ; (1) d j = X m, d = ( d(0), d(1),..., d( N 1)) T ; (2) j 1 r T dj j r j= 1 C = d. (3) Surandami kovariacinės matricos C tikriniai vektoriai u ir tikrinės reikšmės k 2 λ k (Cu k = λ k u k ). Kadangi matricos C matiškumas yra gana didelis ( N ) net ir mažiems vaizdams, tikrinių vektorių skaičiavimui naudojama kovariacinės matricos C dekompozicija [10]. Surasti tikriniai vektoriai yra ortonormuojami ir išrikiuojami 56

58 Veido atpažinimas naudojant karuno-loevo, kosinusinę ir bangelių transformaciją atitinkamų tikrinių reikšmių mažėjimo tvarka. Transponuoti vektoriai surašomi į transformacijos matricos T eilutes. Tada bet koks N-elementų duomenų vektorius X gali būti suprojektuotas į tikrinių vektorių erdvę (angl. eigenspace): Y = T( X m), (4) čia X = ( X(0), X(1),..., X( N 1)) T, Y = ( Y (0), Y(1),..., Y( r 1),0,...,0) T. 3. Kosinusinė transformacija Diskrečioji kosinusinė transformacija (angl. DCT - Discrete Cosine Transform) dvimačiam vaizdui apibrėžiama taip [18], [20]: (2l + 1) π k (2l + 1) π k Yk (, k) = (, )cos cos 2, (5) N2 1N αα 1 2 Xl1 l2 l2= 0 l1= 0 2N1 2N2 1 N1, k1 = 0 čia α1 = 2 N1,1 k1 N1 1, 1 N2, k2 = 0 α2 =, k 1 = 0,1,..., N1 1, k 2 = 0,1,..., N2 1, masyvų X ir Y 2 N2,1 k2 N2 1 eilučių skaičius N 1, stulpelių skaičius N Bangelių transformacija Šiame darbe naudosime ortogonalias, kompaktiškas (nusakytas baigtiniame intervale), realias (ne kompleksines) bangeles. Apibrėžiant bangelių transformaciją naudojamos bazinės funkcijos, vadinamos masteline funkcija ϕ (angl. scaling) ir bangele ψ (angl. wavelet) [21], [16], [4]: j 2 j j 2 j ϕ() t = 2 ϕ( 2 t k ), ψ () t = 2 ψ ( 2 t k), (6) kurios tenkina sąryšius ϕ j j+ 1 j j+ 1 ( 2 t) = hj + 1 ( k) ϕ( 2 t k ), ψ ( 2 t) = g j + 1 ( k) ϕ( 2 t k) k su atitinkamais koeficientų rinkiniais { }, h ( k ) ( ) j, (7) k { j } g k, čia j = 0,1,..., J 1, k = 0,1,..., K 1, t R. Diskrečioji bangelių transformacija (angl. DWT - Discrete Wavelet Transform) apskaičiuojama naudojant tokias iteracines formules: čia j+ 1 M j 1 M j 1 j, d j+ 1 ( k) = g( m 2k) aj ( m), (8) m= 0 m= 0 ( ) = ( 2 ) ( ) a k h m k a m a0 - pradinis vaizdas, a j - aproksimacija j-tajame lygyje, d j - detalės j-tajame lygyje, M j - vaizdo a j ilgis. k + 1 ( ) ( ) ( ) > g( k ) ( ) Koeficientų rinkinius (filtrus) h (žemo dažnio) ir g (aukšto dažnio) sieja toks ryšys: g k = 1 h K k 1, čia k = 0,1,..., K 1, K - filtro koeficientų skaičius, jei k < 0 arba k K 1, tai = 0 ir h k = 0. Žemo dažnio filtras atitinka mastelinę funkciją, aukšto dažnio filtras atitinka bangelės funkciją. Vienmačiu atveju atlikę bangelių dekompoziciją iki J -tojo lygio gauname transformacijos rezultatą, kurį sudaro aproksimacija J -tame lygyje ir visos detalės iki J -tojo lygio [9]: {, j 1 al} d +, j = 0,1,..., J 1. Dvimačiu atveju bangelių transformaciją galima apskaičiuoti naudojant tokią iteracinę schemą [19]: aj heil 2 1 hstulp 1 2 a j + 1, (9) aj heil 2 1 gstulp 1 2 d j + 1, horiz, (10) aj geil 2 1 hstulp 1 2 d j + 1, vert, (11) aj geil 2 1 gstulp 1 2 d j + 1, diag, (12) čia heil, dažnio) ir h stulp, g eil, g stulp - dvimačio vaizdo a j eilučių, stulpelių sąsūka su dekompoziciniais filtrais g (aukšto dažnio), 2 1 h (žemo - diadinis stulpelių retinimas paliekant nelyginius stulpelius (indeksavimas nuo 0), diadinis eilučių retinimas paliekant nelygines eilutes, a0 - pradinis dvimatis vaizdas, a j - vaizdo aproksimacija j-tajame lygyje, d j, horiz, d j, vert, d j, diag - horizontalios, vertikalios, diagonalios detalės j-tajame lygyje, 57

59 V. Perlibakas j = 0,1,..., J 1, J - dekompozicijos lygių skaičius. Atlikę bangelių dekompoziciją iki J - tojo lygio gauname transformacijos rezultatą, kurį sudaro aproksimacija J -tame lygyje ir visos detalės iki J - tojo lygio: { d j + 1, horiz, d j+ 1, vert, d j 1, diag, al} +, j = 0,1,..., J 1. Šiuos rezultatus galime surašyti į dvimatį masyvą išmatavimai tokie patys kaip ir pradinio vaizdo. a 0 Y, kurio 5. Požymių vektoriaus suspaudimas ir atpažinimas Požymių vektoriaus suspaudimui (požymių atrinkimui ir jų skaičiaus sumažinimui) naudosime dispersinį kriterijų [23], kada paliekamas tam tikras skaičius spektro koeficientų tose pozicijose kur koeficientų dispersija tai vaizdų klasei yra didžiausia. Požymiai atrenkami vektoriuose Y, gautuose atlikus pasirinktą transformaciją (Karuno-Loevo, kosinusinę, bangelių). KLT atveju paliekami didžiausias tikrines reikšmes atitinkantys požymiai, nes jie atitinka didžiausias dispersijas. Kosinusinės ir bangelių transformacijos atveju spektrams Y yra skaičiuojamos dispersijos ir tada paliekami tik didžiausias dispersijas atitinkantys požymiai. Atlikdami atpažinimą naudosime artimiausio kaimyno klasifikatorių [7]. Atlikdami atpažinimą tarp nežinomo asmens veido požymių vektoriaus Y n ir visų žinomų veidų požymių vektorių Yi skaičiuojame atstumą ε = d( Y n, Y ) ir randame indeksą žinomo veido, iki kurio šis atstumas mažiausias: s = arg min[ ], i = 1,..., Q, čia i Q i - žinomų veidų skaičius. Tada sakome kad požymių vektorių atitinkantis veidas priklauso asmeniui, kurio veido indeksas yra s ir kurio požymių vektorius yra Y s. Norėdami atmesti nežinomus veidus parenkame slenkstį ir sakome kad veidas su požymių vektoriumi yra nežinomas, jei ε τ. Y n Y n s i ε i τ 6. Atstumų matai Kurdami atpažinimo sistemą turime pasirinkti ne tik transformaciją, bet ir atstumo tarp požymių matą. Keliolika atstumų matų KLT pagrįstam veido atpažinimui yra palyginta [13], šiame straipsnyje naudosime keletą iš jų. Tarkime X ir Y yra n ilgio požymių vektoriai. Tada galime skaičiuoti tokius atstumus tarp požymių vektorių [22], [15], [13]: 1) Euklido atstumas (, ) = X Y L2 ( X, Y) ( d X Y d( X, Y) d( X, Y) = i= 1 n n i= 1 i y i 2 = = x ; (13) 2) Kampu tarp požymių vektorių pagrįstas atstumas n xy m m 2 2 xi yi i= 1 i= 1 i i i i i i= 1 = zi = 1 λi i m m 2 2 xi yi i= 1 i= 1 ) ; (14) 3) Kampu su svoriais pagrįstas atstumas tarp požymių vektorių tikrinėje erdvėje (KLT atveju) zxy,, λ - tikrinės reikšmės. (15) 7. Eksperimentai ir rezultatai Eksperimentams naudojome 423 asmenų veido vaizdus (po 2 vaizdus asmeniui 1 apmokymui ir 1 testavimui), surinktus iš 9 duomenų bazių [13]. Atpažinimo eksperimentams rankiniu būdu pažymėjome akių ir lūpų centrus, kad išvengtume atpažinimo klaidų susijusių su netiksliai detektuotais veidais. Tada atlikome vaizdų pasukimą, kad akių centrus jungianti linija būtų horizontali, sumažinome vaizdus kad atstumas tarp akių centrų būtų lygus 26 taškams. Naudodami akių ir lūpų centrus apskaičiavome veidų centrus ir iškirpome iš centro 64x64 taškų šablonus. Iškirptų vaizdų šviesumui normalizuoti atlikome histogramos tankio išlyginimą. Naudodami iškirptus šablonus atlikome atpažinimo eksperimentus. Visuose eksperimentuose buvo naudojami tie patys šablonai, skiriasi tik požymių išskyrimo metodas (diskrečioji transformacija) bei atstumų tarp požymių vektorių matai. Rezultatų palyginimui naudojome kumuliatyvine atpažinimo histograma (angl. CMC - Cumulative Match Characteristic) ir imtuvo 58

60 Veido atpažinimas naudojant karuno-loevo, kosinusinę ir bangelių transformaciją veikimo charakteristika (angl. ROC - Receiver Operating Characteristic) pagrįstus matus [1]. Bendram atpažinimo tikslumo gerumui matuoti naudojome plotą virš kumuliatyvinės atpažinimo histogramos (CMCA). Kuo CMCA mažesnis, tuo bendras atpažinimo tikslumas geresnis. Taip pat skaičiavome kiek vaizdų reikia ištraukti iš duomenų bazės norint pasiekti tam tikrą kumuliatyvinį atpažinimo tikslumą (80-100%; kai 100%, tai žymime Cum100). Mažesnis skaičius reiškia kad norint pasiekti tam tikrą kumuliatyvinį atpažinimo tikslumą turime iš bazės ištraukti mažiau veidų. Atpažinimo klaidoms įvertinti skaičiavome lygios klaidos procentą (angl. EER - Equal Error Rate) kai klaidingo priėmimo procentas (angl. FAR False Accept Rate) lygus klaidingo atmetimo procentui (angl. FRR- False Rejection Rate) ir plotą žemiau imtuvo veikimo charakteristikos (ROCA). Mažesnės reikšmės reiškia geresnį rezultatą. Taip pat vertinome koks atpažinimo tikslumas yra pasiekiamas jei iš bazės ištraukiamas tik vienas (labiausiai panašus) veido vaizdas (žymime First1). Šiuo atveju didesnės reikšmės reiškia geresnį rezultatą. Grafinis naudotų charakteristikų vaizdavimas pateiktas 1-2 paveikslėliuose. Atpažinimo eksperimentų rezultatai pateikti 1-3 lentelėse. 1 pav. Kumuliatyvinė atpažinimo histograma (CMC) 2 pav. Imtuvo veikimo charakteristika (ROC) 1 lentelė. KLT, DCT, DWT atpažinimo rezultatų palyginimas Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] klt_10 sv. k klt_10 Eukl dct Eukl db12 Eukl dwt_g Eukl dwt_b Eukl klt_10 kamp dct kamp db12 kamp dwt_g kamp dwt_b kamp klt_20 sv. k klt_20 Eukl dct Eukl db12 Eukl dwt_g Eukl dwt_b Eukl klt_20 kamp dct kamp db12 kamp

61 V. Perlibakas Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA 4 [0..10 ] First1, % EER, % ROCA 4 [0..10 ] dwt_g kamp dwt_b kamp klt_30 sv. k klt_30 Eukl dct Eukl db12 Eukl dwt_g Eukl dwt_b Eukl klt_30 kamp dct kamp db12 kamp dwt_g kamp dwt_b kamp klt_60 sv. k klt_60 Eukl dct Eukl db12 Eukl dwt_g Eukl dwt_b Eukl klt_60 kamp dct kamp db12 kamp dwt_g kamp dwt_b kamp klt_90 sv. k klt_90 Eukl dct Eukl db12 Eukl dwt_g Eukl dwt_b Eukl klt_90 kamp dct kamp db12 kamp dwt_g kamp dwt_b kamp Žymėjimai lentelėje: sv. k. kampas su svoriais, Eukl. - Euklido atstumas, kamp. - kampas, dwt_g, dwt_b geriausi ir blogiausi tam tikrų charakteristikų rezultatai naudojant bangelių transformacijas, skaičius po klt_ reiškia naudojamų KLT požymių procentą. 2 lentelė. Geriausi atpažinimo rezultatai naudojant DWT ir Euklido atstumą Koef. sk. 42 Charak- teristika Geriausi rezultatai Cum (db4), 94.6 (db6, 18; coif12, 30; sym6, 16), 94.8 (db12, 16; coif6, 24; sym8, 12) CMCA (sym16), (sym12), (db12), (coif24), (coif18) 96.5 (db2) Blogiausias rezultatas (db2) First (db20, coif30), (db14), (coif24, sym8) (db2, 10, 16) 60

62 Veido atpažinimas naudojant karuno-loevo, kosinusinę ir bangelių transformaciją Koef. sk Charak- teristika Geriausi rezultatai EER 6.38 (db20), 6.62 (db14, sym14), 6.86 (db2, 8; coif6, 12, 24; sym8, 10) ROCA (sym16), (coif24), (sym12), (coif18), (db20) Blogiausias rezultatas 7.09 (db4, 6, 12, 16, 18; coif18, 30; sym6, 12, 16) (db2) Cum (db8), 92.0 (sym12), 92.2 (db10; coif6, 30; sym8, 16) 95.5 (db2) CMCA (db12), (db8), (db6), (sym6), (coif18) (db2) First (coif12), (coif6), (db6; sym6, 8) (db2) EER 6.62 (db8, 20; coif18, 24; sym8, 12, 14, 16) 7.09 (db16) ROCA (db6), (sym6), (coif12), (db12), (coif18) (db2) Cum (db8), 90.5 (db16), 90.8 (db10), 91.0 (sym10, 12, 14) 92.7 (coif24) CMCA (db8), (coif18), (db12), (sym16), (sym12) (db2) First (sym14), (db8, 12, 20; coif24) (db2, 4) EER 6.62 (db2), 6.86 (db14, coif18, coif24, coif30) 7.33 (sym8, 12) ROCA (db8), (coif18), (sym16), (coif12), (db6) Cum (db14), 90.3 (db4, 8, 16, 20; coif18, 24, 30; sym10, 12, 14, 16) CMCA (db12), (sym16), (coif12), (sym12), (coif18) (db2) 91.3 (db2) (db2) First (db8, 12, 16; coif24; sym8, 12) (db2, 10) EER 7.09 (db2, 6, 8, 14, 16, 20; coif12, 18, 24; sym6, 8, 10, 14, 16) 7.33 (db4, 10, 12, 18; coif6, 30, 12) ROCA (coif12), (db12), (sym12), (sym16, coif24) (db2) Cum (db14, 18; coif24, 30), 90.1 (db4, 8, 12; sym12, 16; coif12) 90.5 (db6, sym14) CMCA (db12), (coif18), (sym16), (coif12), (coif30) (db2) First (db12, coif24; sym12, 14, 16) (sym10) EER 7.09 (db12, 20) 7.33 (visi išskyrus db12 ir db20) ROCA (coif18), (db6), (sym6), (db12), (coif30) (db2) 3 lentelė. Geriausi atpažinimo rezultatai naudojant DWT ir kampu pagrįstą atstumą Koef. sk Charak- teristika Geriausi rezultatai Cum (db4), 93.9 (db18), 94.1 (db10), 94.6 (db6, 16; coif12, 30; sym6, 16) CMCA (sym16), (sym12), (db12), (coif24), (coif18) 96.2 (db2) Blogiausias rezultatas (db2) First (db20, coif30), (db14; coif6, 24; sym8) (db10) EER 6.38 (db20), 6.62 (sym14), 6.86 (db8, 14; coif24) 7.33 (db4) ROCA (coif24), (sym16), (sym12), (db20), (sym8) Cum (db16), 91.5 (sym16), 91.7 (sym12), 92.0 (db10), 92.2 (coif30) CMCA (db12), (db6), (sym6), (coif18), (coif12) First (coif12), (db6, sym6), (db8, 14; coif6, 24; sym8) (db2) 93.9 (db2) (db2) (db2, 4) 61

63 V. Perlibakas Koef. sk Charak- teristika Geriausi rezultatai EER 6.62 (db8; coif18, 24; sym8, 12, 14, 16) 7.09 (db16) ROCA (db6), (sym6), (coif12), (db12), (coif18) Blogiausias rezultatas (db2) Cum (db10, 16; sym16), 90.8 (sym10), 91.0 (sym12, 14) 92.7 (coif24) CMCA (coif18), (db12), (sym16), (sym12), (db18) (db2) First (sym14), (db20), (db6, 12, 16; coif24, sym6) (db4) EER 6.62 (db2), 6.86 (db8, 14; coif18, 30) 7.33 (db6, 10, 16, 18; coif6, 12; sym6, 8, 12) ROCA (coif18), (sym16), (coif12), (db6), (sym8) Cum (coif30, sym16), 90.1 (db14, sym12), 90.3 (db4, 18, 20; coif18, 24; sym10, 14) CMCA First (sym16), (coif12), (db12), (sym12), (coif18) (db12), (db4, 8, 16, 18, 20; coif6, 12, 24, 30; sym8, 10, 12, 16) (db2) 91.3 (db2) (db2) (db2) EER 7.09 (db2, 6, 12, 18, 20; coif12; sym6, 10, 16) 7.57 (db4) ROCA (db12), (coif12), (sym12), (sym16), (coif24) (db2) Cum (db8, 12, 14, 18; coif24, 30; sym12, 16) 91.0 (db2) CMCA (db12), (coif18), (sym10), (sym16), (coif30) (db2) First (db8, 12; coif18, 24; sym12, 14, 16) (db14, coif30, sym10) EER 7.09 (db12, 14, 16, 18, 20; coif12, 18; sym10) 7.33 (db2, 4, 6, 8, 10; coif6, 24, 30; sym6, 8, 12, 14, 16) ROCA (coif18), (db12), (sym12), (coif30), (sym16) (db2) Lentelėse 1-3 pateikti atpažinimo rezultatai naudojant KLT, DCT, DWT esant skirtingam paliekamų spektro koeficientų skaičiui. Visais atvejais koeficientų atrinkimui naudojamas dispersinis kriterijus. KLT atstumai matuojami naudojant kampu su svoriais ir kampu pagrįstus matus bei Euklido atstumą, o DCT ir DWT atveju atstumai matuojami naudojant kampu pagrįstą atstumą ir Euklido atstumą. Kampu su svoriais pagrįstas atstumas palyginimui pasirinktas todėl, kadangi [13] eksperimentai parodė, kad naudojant KLT ir šį atstumo matą gaunami vieni iš geresnių rezultatų. Eksperimentuose naudojome tokias ortogonalias bangeles: Haro (Haar), Debiuši (Daubechies), mažiausiai asimetrines (angl. Symmlets), Koifmano bangeles (angl. Coiflets) [3], [5], [6]. Geriausi ir blogiausi atpažinimo rezultatai naudojant bangeles pateikti 2 ir 3 lentelėse. Šiose lentelėse Debiuši bangelės pažymėtos db2n (N=1, 2, 3,..., 10; N=1-Haro), mažiausiai asimetrinės bangelės pažymėtos sym2n (N=2, 3, 4,..., 8), Koifmano bangelės pažymėtos coif6n (N=1, 2, 3,..., 5), čia 2N ir 6N yra filtrų ilgiai. Geriausi atpažinimo rezultatai CMCA, ROCA, Cum100, First1, EER požiūriu gaunami naudojant KLT ir atstumą matuojant kampu su svoriais. Antras pagal gerumą rezultatas (išskyrus First1 požiūriu) gaunamas naudojant KLT ir atstumą matuojant kampu. Šie rezultatai naudojant KLT yra žymiai geresni nei naudojant DCT ar DWT metodus. Jei palyginsime KLT, DCT, DWT kai naudojamas Euklido atstumas, tai Cum100, CMCA, ROCA požiūriu geriausi rezultatai gaunami naudojant KLT. Palyginus KLT naudojant Euklido atstumą ir DCT naudojant Euklido atstumą matyti, kad daugeliu požiūrių geresnis KLT, o DCT geresnis tik EER požiūriu, tačiau skirtumai nėra dideli. Visų transformacijų atveju (KLT, DCT, DWT) CMCA ir ROCA požiūriu šiek tiek geresni rezultatai gaunami naudojant ne Euklido, o kampu pagrįstą atstumą. Nors DWT palyginimui su KLT ir DCT pateikėme db12 rezultatus, reikia pastebėti kad DWT atveju pagal gautus rezultatus negalima vienareikšmiškai pasakyti kurias bangeles naudojant gaunami geriausi rezultatai, todėl orientacijai pateikėme ir geriausius bei blogiausius bangelių rezultatus 2-3 lentelėse. Tarp mažiausiai asimetrinių bangelių geriausi rezultatai gaunami naudojant sym16, tarp Koifmano bangelių geriausi rezultatai gaunami naudojant coif18. Blogiausi rezultatai gaunami naudojant db2 (Haar) bangeles. Jei palyginsime DCT ir db12 rezultatus, tai naudojant DCT gauti šiek tiek geresni rezultatai CMCA požiūriu, db12 rezultatai geresni EER požiūriu, tačiau skirtumai nežymūs. Taip pat atpažinimui bandėme naudoti Furjė transformacijos (angl. DFT - Discrete Fourier Transform) amplitudinį spektrą ir atstumą tarp požymių matuoti 62

64 Veido atpažinimas naudojant karuno-loevo, kosinusinę ir bangelių transformaciją Euklido bei kampu pagrįstu atstumu, bet naudojant DFT buvo gauti blogesni atpažinimo rezultatai nei naudojant DCT, todėl DFT rezultatų nepateikiame. Palyginsime mūsų gautus rezultatus su kitų autorių rezultatais. Kosinusinę transformaciją atpažinimui naudojo [8], koeficientai buvo atrenkami naudojant dispersinį kriterijų, palyginimui naudotas Euklido atstumas. Jų eksperimentai su Olivetti (AT&T) veidų baze (40 asmenų nuotraukos) parodė kad naudojant po vieną vaizdą apmokymui ir testavimui KLT atpažinimo tikslumas 71%, o DCT tikslumas 70%. Naudojant CIM (Center for Intelligent Machines, McGill University) duomenų bazėje esančius veidus (214 asmenų) DCT tikslumas 84.58%, KLT tikslumas 77.57%. Minėtuose eksperimentuose DCT koeficientų skaičius 49, KLT koeficientų skaičius 46. Jei iš CIM bazės naudojami tik 194 suaugusių žmonių veidai (nenaudojami vaikų veidai), tai DCT atpažinimo tikslumas 85%, KLT atpažinimo tikslumas 80%. Matome kad pagal [8] rezultatus DCT atpažinimo tikslumas 1-7% didesnis nei KLT. Mūsų rezultatai parodė kad jei naudojamas Euklido atstumas, tai DCT ir KLT atpažinimo tikslumas skiriasi gana nežymiai (1%), DCT atpažinimo tikslumas šiek tiek didesnis kai naudojamas mažas koeficientų skaičius (42), o naudojant daugiau koeficientų šiek tiek geresni KLT rezultatai. Tačiau vertinant šiuos rezultatus reikia atsižvelgti į tai, kad [8] atpažinimui naudojo ne tik vidinę veido dalį, bet visą galvos vaizdą įskaitant plaukus, kaklą ir dalį aplinkos vaizdo (fono), todėl sunku įvertinti kokią įtaką rezultatams turėjo vidinė veido dalis, o kokią aplinka. Kadangi [8] palyginimui naudojo tik Euklido atstumą, mes nusprendėme išbandyti koks atpažinimo tikslumas gaunamas naudojant kitokius atstumų matus. Mūsų rezultatai parodė, kad naudodami KLT ir kampu su svoriais pagrįstą atstumą gauname žymiai geresnius atpažinimo rezultatus nei naudodami DCT ir Euklido atstumą. Todėl norėjome sužinoti ar galėtume pagerinti atpažinimo rezultatus atlikę DCT, DWT spektro koeficientų centravimą bei panaudoję kampą su svoriais kaip ir KLT atveju. Atlikome atpažinimo eksperimentus kai atstumas matuojamas kampu tarp centruotų požymių vektorių (centruotų spektrų), kai atstumas matuojamas kampu tarp standartizuotų [2] požymių vektorių (centruota reikšmė padalinama iš standartinio nuokrypio) ir kai matuojamas kampu su svoriais pagrįstas atstumas tarp centruotų požymių vektorių. Tikrinės reikšmės kampo su svoriais išraiškoje buvo pakeistos standartinių nuokrypių reikšmėmis. Rezultatai pateikti 4-7 lentelėse. 4 lentelė. Atpažinimo rezultatai naudojant DCT ir įvairius atstumų matus Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] klt_10 sv. k dct Eukl dct kamp dct KTC dct KTS dct KSS klt_20 sv. k dct Eukl dct kamp dct KTC dct KTS dct KSS klt_30 sv. k dct Eukl dct kamp dct KTC dct KTS dct KSS klt_60 sv. k dct Eukl dct kamp dct KTC dct KTS dct KSS

65 V. Perlibakas Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] klt_90 sv. k dct Eukl dct kamp dct KTC dct KTS dct KSS Žymėjimai lentelėje: sv. k. - kampas su svoriais tarp KLT požymių vektorių, Eukl. - Euklido atstumas, KTC kampas tarp centruotų vektorių, KTS kampas tarp standartizuotų vektorių, KSS kampas su svoriais tarp centruotų vektorių. 5 lentelė. Atpažinimo rezultatai naudojant DWT (db12) ir įvairius atstumų matus Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] klt_10 sv. k db12 Eukl db12 kamp db12 KTC db12 KTS db12 KSS klt_20 sv. k db12 Eukl db12 kamp db12 KTC db12 KTS db12 KSS klt_30 sv. k db12 Eukl db12 kamp db12 KTC db12 KTS db12 KSS klt_60 sv. k db12 Eukl db12 kamp db12 KTC db12 KTS db12 KSS klt_90 sv. k db12 Eukl db12 kamp db12 KTC db12 KTS db12 KSS

66 Veido atpažinimas naudojant karuno-loevo, kosinusinę ir bangelių transformaciją 6 lentelė. Atpažinimo rezultatai naudojant DWT (sym16) ir įvairius atstumų matus Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] klt_10 sv. k sym16 Eukl sym16 kamp sym16 KTC sym16 KTS sym16 KSS klt_20 sv. k sym16 Eukl sym16 kamp sym16 KTC sym16 KTS sym16 KSS klt_30 sv. k sym16 Eukl sym16 kamp sym16 KTC sym16 KTS sym16 KSS klt_60 sv. k sym16 Eukl sym16 kamp sym16 KTC sym16 KTS sym16 KSS klt_90 sv. k sym16 Eukl sym16 kamp sym16 KTC sym16 KTS sym16 KSS lentelė. Atpažinimo rezultatai naudojant DWT (coif18) ir įvairius atstumų matus Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] klt_10 sv. k coif18 Eukl coif18 kamp coif18 KTC coif18 KTS coif18 KSS klt_20 sv. k coif18 Eukl coif18 kamp coif18 KTC

67 V. Perlibakas Metodas Atstu- mas Koef. sk. Reikalingų iš bazes ištraukti vaizdų procentas norint pasiekti tam tikrą kumuliatyvinio atpažinimo procentą CMCA [ ] First1, % EER, % ROCA [ ] coif18 KTS coif18 KSS klt_30 sv. k coif18 Eukl coif18 kamp coif18 KTC coif18 KTS coif18 KSS klt_60 sv. k coif18 Eukl coif18 kamp coif18 KTC coif18 KTS coif18 KSS klt_90 sv. k coif18 Eukl coif18 kamp coif18 KTC coif18 KTS coif18 KSS Iš 4 lentelėje pateiktų DCT rezultatų matyti, kad visais požiūriais geresni atpažinimo rezultatai gaunami naudojant ne Euklido atstumą (Eukl.) ar kampu tarp požymių vektorių pagrįstą atstumą (kamp.), o kampu tarp centruotų požymių vektorių (KTC) pagrįstą atstumą. Naudodami KTS ar KSS kai kuriais požiūriais galime gauti ir geresnius rezultatus nei naudodami KTC, bet siekdami didesnio atpažinimo tikslumo ištraukiant vieną vaizdą turėtume naudoti KTC. Taip pat iš pateiktų rezultatų matyti, kad geriausi rezultatai gaunami naudojant KLT ir kampu su svoriais pagrįstą atstumą (sv. k.). Už KLT geresni rezultatai gaunami tik kumuliatyvinio 100 % atpažinimo požiūriu naudojant KSS ir požymius. Iš 4-7 lentelių matyti kad KLT (sv. k.) rezultatai beveik visais atvejais geresni nei DCT ar DWT (db12, sym16, coif18). Pagal 5-7 lentelėse pateiktus rezultatus matome kad DWT transformacijų atveju geresni atpažinimo rezultatai gaunami naudojant ne Euklido atstumą (Eukl.) ar kampu tarp požymių vektorių pagrįstą atstumą (kamp.), o kampu su svoriais tarp centruotų požymių vektorių (KSS) pagrįstą atstumą arba kampu tarp centruotų požymių vektorių (KTC) pagrįstą atstumą. Jei naudojant KSS reikėtų rinktis tarp DCT ir DWT (db12, sym16, coif18), tai First1 požiūriu būtų galima rinktis sym16, o kitais požiūriais geriau rinktis DCT. Jei naudojant KTC reikėtų rinktis tarp DCT ir DWT (db12, sym16, coif18), tai First1 požiūriu būtų galima rinktis coif18, o kitais požiūriais geriau rinktis DCT. 8. Išvados Atlikome Karuno-Loevo, kosinusine bei bangelių transformacija pagrįstų veido atpažinimo metodų palyginimą. Eksperimentai parodė, kad naudojant Euklido atstumą DCT ir KLT rezultatai panašūs, tačiau jei KLT atveju atstumą matuojame kampu su svoriais pagrįstu atstumu, gauname žymiai geresnius rezultatus. Eksperimentų rezultatai taip pat parodė, kad DCT ir DWT transformacijų atveju naudodami kampu tarp centruotų vektorių arba kampu su svoriais tarp centruotų vektorių pagrįstus atstumus gauname geresnius atpažinimo rezultatus nei naudodami Euklido atstumą ar kampu tarp necentruotų vektorių pagrįstą atstumą. Atlikti eksperimentai rodo, kad atpažinimo tikslumo požiūriu svarbu ne tik kokie požymiai išskiriami, bet ir kaip šie požymiai palyginami. Literatūros sąrašas [1] M. Bromba. Biometrics FAQ [2] V. Čekanavičius, G. Murauskas. Statistika ir jos taikymai. TEV, Vilnius, 2000, 1, p

68 Veido atpažinimas naudojant karuno-loevo, kosinusinę ir bangelių transformaciją [3] I. Daubechies. Orthonormal bases of compactly supported wavelets. Communications on Pure and Applied Mathematics, 1988, 41, [4] I. Daubechies. Ten Lectures on Wavelets. CBMS-NSF Regional Conference Series in Applied Mathematics, SIAM, Philadelphia, 1992, 61, p [5] I. Daubechies. Orthonormal bases of compactly supported wavelets II, Variations on a theme. SIAM Journal on Mathematical Analysis, 1993, 24, 2, [6] S. Fu, X. Liu, B. Muralikrishnan, J. Raja. Wavelet analysis with different wavelet bases for engineering surfaces. Proceedings of the Annual Meeting of the American Society for Precision Engineering (ASPE), [7] M. Groß. Visual Computing. The Integration of Computer Graphics, Visual Perception and Imaging. Computer Graphics: Systems and Applications. Springer-Verlag, [8] Z. M. Hafed, M. D. Levine. Face recognition using the discrete cosine transform. International Journal of Computer Vision, 2001, 43, 3, [9] K. Kashima, Y. Yamamoto, M. Nagahara. Optimal wavelet expansion via sampled-data control theory. Kyoto University, Japan, [10] M. Kirby, L. Sirovich. Application of the Karhunen-Loeve expansion for the characterisation of Human Faces. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1990, 12, 1, [11] H. Moon, P. J. Phillips. Analysis of PCA-based face recognition algorithms. In: K. W. Bowyer and P. J. Phillips, eds., Empirical Evaluation Techniques in Computer Vision, IEEE CS Press, 1998, [12] P. Navarrete, J. Ruiz-del-Solar. Eigenspace-based recognition of faces: comparisons and a new approach. In: Int. Conf. on Image Analysis and Processing, 2001, [13] V. Perlibakas. Distance measures for PCA-based face recognition, [14] P. Phillips, H. Wechsler, J. Juang, P. Rauss. The FERET database and evaluation procedure for face-recognition algorithms. Image and Vision Computing Journal, [15] P. J. Phillips, H. J. Moon, S. A. Rizvi, P. J. Rauss. The FERET Evaluation Methodology for Face Recognition Algorithms. PAMI, 2000, 22, 10, [16] K. Plukas, A. Vingytė, A. Kasparas. Bangelių konstravimo metodai. KTU Informatikos fakultetas, [17] K. Rao, P. Yip. Discrete cosine transform Algorithms, Advantages, Applications. Academic: New York, [18] C. Sanderson, K. K. Paliwal. Fast Features for Face Authentication Under Illumination Direction Changes. Pattern Recognition Letters, 2003, 24, 14, [19] G. Strang, T. Nguyen. Wavelets and filter banks. Wellesley-Cambridge Press, 1996, p [20] G. Strang. The Discrete Cosine Transform. SIAM Review, 1999, 41, 1, [21] W. Sweldens. Construction and applications of wavelets in Numerical Analysis. PhD thesis, Department of Computer Science, Katholieke Universiteit Leuven, Belgium, [22] W. S. Yambor, B. A. Draper, J. R. Beveridge. Analyzing PCA-based Face Recognition Algorithm: Eigenvector Selection and Distance Measures. In H.Christensen and J.Phillips, editors, Empirical Evaluation Methods in Computer Vision. World Scientific Press, Singapore, [23] J. Valantinas. Diskrečiųjų transformacijų taikymas. Mokymo priemonė. Kaunas. Technologija, Face Recognition Using Karhunen-Loeve, Cosine and Wavelet Transforms Article presents comparison of the face recognition methods based on Karhunen - Loeve, cosine and wavelet transforms. Recognition is performed using different distance measures (Euclidean, angle - based, weighted angle - based) and nearest neighbour classifier. Face recognition methods are compared using parameters of the cumulative match characteristic (CMC) and receiver operating characteristic (ROC) 67

69 MINKŠTI DINAMINIAI ŠEŠĖLIAI REALIUOJU LAIKU NAUDOJANT MATOMO ATSTUMO FUNKCIJAS Aras Pranckevičius Kauno technologijos universitetas, Informatikos fakultetas Kaunas, Studentų 50 Pristatomas naujas metodas šešėlių statinėse scenose apskaičiavimui realiuoju laiku, paremtas matomo atstumo funkcijomis. Matomo atstumo funkcijos saugomos daugelyje scenos paviršiaus taškų ir aproksimuojamos žemos eilės sferinėmis harmonikomis. Metodas leidžia naudoti lokalius dinaminius šviesos šaltinius; vaizdavimo skaičiavimų sudėtingumas priklauso tik nuo generuojamų taškų skaičiaus. Vaizdavimo metu skaičiavimai atliekami tik trimačio vaizdo spartintuve. Gaunami rezultatai imituoja globalaus apšvietimo gaunamus šešėlius; metodo sparta nedaug nusileidžia tradiciniams metodams. 1.Įžanga Svarbi problema kompiuterinėje grafikoje, taip pat ir realaus laiko kompiuterinėje grafikoje, yra šešėlių vaizdavimas. Šešėliai vaizde leidžia geriau suvokti objektų tarpusavio išsidėstymą ir dydžius, šviesos šaltinių padėtis ir šešėlį priimančio objekto paviršių. Realaus laiko kompiuterinė grafika smarkiai pažengė į priekį per pastaruosius keletą metų jau įmanoma vaizduoti sudėtingos geometrijos modelius, paviršiaus mikro-nelygumus bei tikrų medžiagų BRDF atspindžio funkcijas; tačiau šviesos transporto ir šešėlių problema vis dar lieka svarbi. Pilnas šviesos transporto apskaičiavimas yra labai sudėtingas, tradiciniai metodai (Monte Karlo spindulių trasavimas arba radiosity) nėra tinkami realaus laiko kompiuterinei grafikai. Egzistuojantys greiti metodai (tūriniai šešėliai, šešėlių gylio tekstūros) vaizduoja šešėlius tik nuo tiesioginio apšvietimo ir turi kitų trūkumų. Neseniai pasiūlytas metodas pilnam šviesos transporto apskaičiavimui išsprendžia daugelį tradicinių problemų, tačiau vėlgi turi savų apribojimų (vienas didžiausių trūkumų jis netinkamas lokaliam apšvietimui). Straipsnyje siūlomas naujas metodas lokaliam dinaminiam apšvietimui apskaičiuoti, naudojant iš anksto apskaičiuotas matomo atstumo funkcijas. Naudojant šį metodą, imituojami globalus apšvietimas procesu gaunami minkšti šešėliai. Pasiekiamas realaus laiko vaizdavimo greitis, nesmarkiai nusileidžiantis įprastinių metodų spartai. 2. Ankstesni darbai 2.1. Statinis apšvietimas Jei vaizduojama scena ir šviesos šaltinių konfigūracija yra statinė (nejudanti), tai visų paviršių apšvietimą galima apskaičiuoti iš anksto, naudojant tradicinius metodus (spindulių trasavimą, radiosity ir t.t.). Apšvietimo reikšmės paprastai saugomos geometrijos viršūnėse (per-vertex lighting) arba paviršius padengiančiose apšvietimo tekstūrose (lightmaps). Toks metodas leidžia apskaičiuoti apšvietimą nuo bet kokios šviesos šaltinių konfigūracijos ir bet kokiems (difuziniams) paviršiams. Vaizdavimas yra labai greitas ir apšvietimas labai tikroviškas, tačiau yra vienas didelis trūkumas nei scena, nei šviesos šaltiniai negali niekaip keistis (judėti, keisti šviesos intensyvumą, t.t.). Egzistuoja šio metodo modifikacijos (occlusion maps), leidžiančios keisti šviesos šaltinių spalvą ar intensyvumą, tačiau šviesos šaltiniai judėti negali Tūriniai šešėliai Geometrinis metodas šešėlių radimui, pasiūlytas [4] ir pritaikytas trimačio vaizdo spartintuvams [8]. Randami šešėlius metančių objektų siluetai (šviesos šaltinio kryptimi) ir išstumiami (extrude) tolyn nuo šviesos šaltinio taip suformuojamas šešėlio tūris (shadow volume). Visų objektų dalys, patenkančios į šešėlio tūrį, natūraliai yra šešėlyje. Vaizdavimo metu, kiekvienam taškui yra suskaičiuojama, kiek kartų spindulys tarp taško ir stebėtojo kerta šešėlio tūrius; jei nors vieno šešėlio pilnai nekerta, vadinasi, taškas yra šešėlyje. Trimačio vaizdo spartintuvuose šis skaičiavimas atliekamas naudojant kaukės (stencil) buferį [9]. 68

70 Minkšti dinaminiai šešėliai realiuoju laiku naudojant matomo atstumo funkcijas Tūriniai šešėliai turi nemažai privalumų: leidžia naudoti bekrypčius (taškinius) šviesos šaltinius, gaunami tiesioginio apšvietimo šešėliai taško tikslumu, leidžia objektams mesti šešėlį ant savęs paties (self-shadowing). Taip pat ir keletą trūkumų: šešėlio formavimo laikas priklauso nuo šešėlį metančio objekto geometrinio sudėtingumo, šešėlio tūrio vaizdavimas sunaudoja labai daug vaizdo spartintuvo užpildymo gebos (fillrate), neleidžia vaizduoti objektų, gaunamų ne vien tik geometrijos pagalba, gaunami kieti šešėliai (hard shadows) dažnai atrodo nenatūraliai. Egzistuoja įvairūs tūrinių šešėlių patobulinimai, leidžiantys naudoti supaprastintą geometriją [19] arba imituojantys minkštus šešėlius (soft shadows) [1][2][7] Šešėlių gylio tekstūros Vaizdu paremtas metodas, pasiūlytas [18]. Į gylio tekstūrą (shadow map) atvaizduojami visi objektai, taip, kaip jie matomi iš šviesos šaltinio. Tekstūros taškų reikšmės atstumai nuo šviesos šaltinio iki artimiausio paviršiaus. Skaičiuojant galutinį vaizdą, gylio tekstūra projektuojama ant visų vaizduojamų objektų, ir kiekvienam taškui lyginamas atstumas iki šviesos šaltinio su atstumu, gautu iš gylio tekstūros. Jei gylio tekstūroje atstumas mažesnis reiškia, tarp taško ir šviesos šaltinio yra kitas paviršius; vaizduojamas taškas yra šešėlyje. Kai kurie trimačio vaizdo spartintuvai tiesiogiai palaiko gylio tekstūras arba slankaus kablelio formato tekstūras [5][13]; daugelyje kitų gylio informacijos laikymą tekstūrose galima aproksimuoti. Gylio tekstūrų privalumai: leidžia naudoti bet kokius objektus (nebūtinai vien gaunamus iš geometrijos), šešėlio formavimo laikas beveik nepriklauso nuo objektų sudėtingumo, leidžia objektams mesti šešėlį ant savęs paties, galima taikyti vaizdų apdorojimo operacijas, kad gauti minkštų šešėlių imitaciją. Gylio tekstūrų trūkumai: dėl riboto tekstūrose saugomos informacijos tikslumo reikia imtis specialių priemonių, norint išvengti šešėliavimo klaidų, norint naudoti bekrypčius arba plataus kampo šviesos šaltinius, reikia naudoti keletą šešėlių tekstūrų (pvz., bekrypčiams šaltiniams naudojamos kubinės tekstūros sudėtingumas ir atminties kiekis išauga praktiškai 6 kartus), didėjant atstumui nuo šviesos šaltinio, prasideda šešėlių siluetų klaidos dėl gylio informacijos diskretizavimo į tekstūrą. Šešėlių tekstūrų patobulinimai sumažina šešėlių siluetų klaidas [12][17] arba aproksimuoja minkštus šešėlius [3][7] Apskaičiuotas šviesos perdavimas Iš anksto apskaičiuotas spindesio perdavimas (PRT Precomputed Radiance Transfer) [16] daugelyje scenos taškų (pvz., viršūnėse) saugo funkcijas, ateinančią šviesą paverčiančias išeinančia šviesa. Pati funkcija modeliuoja daugelį šviesos perdavimo savybių: apšvietimo sumažėjimą kampu ateinančiai šviesai, šešėlius dėl ribojamo matomumo, kai kuriais atvejais ir pilną medžiagos BRDF arba daugkartinius šviesos atspindžius. Paviršių pasiekianti šviesa (sferinė funkcija) ir pati perdavimo funkcija (hemisferinė funkcija) aproksimuojama žemo laipsnio sferinėmis harmonikomis (SH), tačiau galima naudoti ir bet kokią kitą aproksimaciją (pvz., sferines vilneles [10]). Difuziniam šviesos perdavimui modeliuoti paviršiaus taškuose saugomas SH vektorius, vaizdavimo metu apšvietimas apskaičiuojamas iš skaliarinės sandaugos tarp saugomo vektoriaus ir ateinančios šviesos SH vektoriaus. Geri rezultatai pasiekiami naudojant 4-6 eilės harmonikas (taigi komponenčių SH vektorius). Nedifuziniai BRDF modeliuojami sudėtingiau paviršiaus taškuose saugoma SH matrica, vaizdavimo metu iš sąsukos tarp saugomos matricos ir ateinančios šviesos SH vektoriaus gaunamas išeinančios šviesos funkcijos SH vektorius. Gauta f-ja apskaičiuojama stebėtojo kryptimi, ir gaunamas galutinis apšvietimas. Naudojant 4-6 eilės harmonikas, paviršiaus taškuose reikia saugoti elementų matricas. 69

71 A. Pranckevičius i Abiem atvejais, kad sumažinti reikiamų saugoti duomenų kiekį ir paspartinti skaičiavimus, taikomas papildomas suspaudimas visa saugomų funkcijų aibė traktuojama kaip daugiadimensinis signalas ir aproksimuojama klasterizuota pagrindinių komponenčių analize (CPCA) [15]. PRT metodas leidžia apskaičiuoti sudėtingą šviesos perdavimo proceso rezultatą įvertinamos sudėtingos medžiagų BRDF, gaunami minkšti šešėliai, daugkartiniai šviesos atspindžiai ir apšvietimas nuo pilnos sferinės šviesos funkcijos. Tačiau PRT turi ir trūkumų: modeliuojamas tik begaliniai nutolęs apšvietimas, reikalingi sudėtingi skaičiavimai ir didelė atminties apimtis, ypač nedifuzinių BRDF atveju, kartu su PRT sunku panaudoti kitas vaizdavimo technologijas, pvz. mikro-nelygumų tekstūras (bump maps). 3. Šešėliai naudojant matomo atstumo funkcijas Siūlomas metodas šešėliams apskaičiuoti, leidžiantis naudoti dinaminius lokalius bekrypčius šviesos šaltinius ir imituojantis globalaus apšvietimo rezultatus. Palaikoma tik statinė geometrija (vieną kartą reikia atlikti sudėtingus matomumo skaičiavimus). Vaizdavimui nereikia jokių papildomų žingsnių, sudėtingumas priklauso tik nuo vaizde generuojamų taškų skaičiaus (t.y. nepriklauso nuo pačios scenos sudėtingumo) Matomo atstumo funkcijos Matomo atstumo funkcija D taškui p hemisferinė funkcija, kurios reikšmė normalizuota kryptimi, D p (x,y,z) atstumas nuo p kryptimi (x,y,z) iki artimiausio nepermatomo paviršiaus (dvimatis pavyzdys 1 pav.). 1 pav. Matomo atstumo funkcija dviejuose matavimuose Atstumo funkcijos aproksimuojamos panašiai kaip ir PRT metode žemos eilės sferinėmis harmonikomis [6][11] [16]. Dėl aproksimacijos prarandamos didelio dažnio dedamosios atstumo funkcijoje (SH atitinka Furje transformaciją, tik sferos paviršiuje), tačiau šis didelių dažnių praradimas ir leidžia imituoti globalaus apšvietimo rezultatus (pvz., plonų objektų šešėliai pradeda nykti tolstant toks pats rezultatas gaunamas ir globalaus apšvietimo atveju dėl daugkartinių šviesos atspindžių). Aproksimuotos matomo atstumo funkcijos SH koeficientų pavidalu saugomos daugelyje paviršiaus taškų. Vaizdavimo metu apskaičiuojama atstumo funkcijos reikšmė šviesos šaltinio kryptimi ir lyginama su atstumu iki šviesos šaltinio. Jei matomas atstumas mažesnis, vadinasi, vaizduojamas taškas yra šešėlyje (egzistuoja nepermatomas paviršius tarp taško ir šviesos šaltinio) Matomo atstumo funkcijų apskaičiavimas Apskaičiuoti atstumo funkcijas ir jas aproksimuoti SH reikia tik vieną kartą funkcijos priklauso tik nuo scenos geometrijos (kuri turi būti nekintanti). Kiekvienam taškui p matomo atstumo funkcijos SH koeficientai gaunami Monte Karlo integravimo būdu [6]: 1. Iš taško p trasuojama daug tolygiai (sferos paviršiuje) pasiskirsčiusių spindulių ir nustatomi artimiausi susidūrimai su kitais scenos paviršiais. 2. Atstumų reikšmės (kaip sferinė f-ja) projektuojamos į kiekvieną bazinę SH funkciją. Spindulių ir scenos susikirtimų tikrinimui naudojama paprasta (mažai trianguliuota) geometrija ir dengiančių gretasienių hierarchija (AABB tree). Atstumo funkcijos gali būti saugomos scenos trikampių viršūnėse arba tekstūrose. Pirmuoju atveju reikia tankaus trikampių tinklelio (realaus dydžio scenoms viršūnės kas keliolika centimetrų), antruoju atveju reikia unikalaus scenos paviršiaus į plokštumą atvaizdavimo ir keleto tekstūrų SH koeficientams saugoti (paprastai tekstūros elementas yra keturmatis vektorius taigi 5 eilės SH (25 koeficientai) reikia 7 tekstūrų). 70

72 Minkšti dinaminiai šešėliai realiuoju laiku naudojant matomo atstumo funkcijas 3.3. Vaizdavimas Vaizdavimas atliekamas atskirai kiekvienam šviesos šaltiniui (kaip ir tradiciniuose metoduose), galutinis vaizdas yra atskirų šviesos šaltinių vaizdų suma. Kiekvienam vaizduojamam taškui: 1. Apskaičiuojama kryptis (x,y,z) ir atstumas d L tarp taško ir šviesos šaltinio. 2. Apskaičiuojamas iš taško matomas atstumas d p =D p (x,y,z). Matomo atstumo f-ja saugoma SH koeficientų pavidale, todėl pirma (x,y,z) kryptis projektuojama į SH bazines f-jas [14], ir apskaičiuojama skaliarinė sandauga tarp jų ir matomo atstumo f-jos koeficientų. 3. Matomas atstumas d p lyginamas su atstumu iki šviesos šaltinio d L. Jei d p <d L, tai taškas yra šešėlyje. 4. Atliekami įprasti BRDF skaičiavimai, galutinė spalva tamsinama priklausomai nuo 3 žingsnio rezultato. Šis metodas skirtas tik šešėlių apskaičiavimui, taigi leidžiama naudoti bet kokią medžiagos BRDF ar papildomus tiesioginio apšvietimo metodus (kaip kad mikro-nelygumų modeliavimas). Visus vaizdavimo metu atliekamus skaičiavimus įmanoma realizuoti moderniuose trimačio vaizdo spartintuvuose. 4. Realizacija ir rezultatai 4.1. Realizacijos detalės Metodas realizuotas C++ programa, naudojant DirectX9.0 biblioteką trimačio vaizdo spartintuvo panaudojimui. Matomo atstumo funkcijos aproksimuojamos 5 eilės sferinėmis harmonikomis, saugomos scenos modelio trikampių viršūnėse (testavimui naudotas modelis turėjo viršūnių). Viršūnių SH koeficientai laikomi viengubo tikslumo slankaus kablelio formatu (25 koeficientai užima 100 baitų). Tarp viršūnių (vaizduojamų trikampių viduje) SH koeficientai tiesiškai interpoliuojami, šešėlių skaičiavimai atliekami kiekvienam vaizdo taškui. Naudojami trys dinaminiai bekrypčiai šviesos šaltiniai. Visi laikai matuoti naudojant Intel Pentium4 3GHz procesorių, 1GB 400MHz DDR atminties ir ATI Radeon 9800Pro 256MB trimačio vaizdo spartintuvą. Matomo atstumo funkcijoms apskaičiuoti naudotas Monte Karlo integravimas, iš kiekvienos viršūnės trasuojant 2500 spindulių; apskaičiavimas ir funkcijų SH aproksimacija truko apie 6 minutes Vaizdavimo metu atliekami skaičiavimai Kiekvienam vaizduojamam taškui reikia apskaičiuoti SH aproksimuotos funkcijos reikšmę šviesos šaltinio kryptimi. Tam šviesos šaltinio kryptis projektuojama į bazines SH funkcijas; pirmi 4 koeficientai analitiškai [14], likusieji 21 iš specialiai sudarytų kubinių tekstūrų (po 4 koeficientus vienai tekstūrai, taigi reikia 6 kubinių tekstūrų). Naudojamos 64x64x6 dydžio ir Q16W16V16U16 formato (16 bitų vienos spalvos kanalui) tekstūros. Viršūnių SH koeficientai perduodami vaizduojamiems taškams septyniais 4D tekstūrų koordinačių interpoliatoriais. Aštuntajame interpoliatoriuje perduodama kryptis link šviesos šaltinio (xyz komponentėse) ir atstumas (w komponentėje). Spalvos interpoliatoriuje perduodamas apskaičiuotas tiesioginis difuzinis apšvietimas. 2 pav. Pristatomo metodo ir šešėlių gylio tekstūrų rezultatų palyginimas 71

73 A. Pranckevičius i Sukompiliuota vaizdavimo taškų apdorojimo programa (pixel shader) naudoja 6 tekstūros instrukcijas ir 19 aritmetinių instrukcijų. Vaizdavimui reikalingas modernus (DirectX9 lygio, t.y. palaikantis 2.0 versijos taškų apdorojimo programas) trimačio vaizdo spartintuvas Rezultatai Metodo gaunamų rezultatų ir spartos palyginimui greta buvo realizuotas tradicinis šešėlių gylio tekstūrų algoritmas (naudojant kubines 512x512x6 dydžio R32F formato tekstūras). Abu metodai skaičiavimus atlieka vien trimačio vaizdo spartintuve; gaunamų vaizdų palyginimas pateiktas 2 pav. (vaizdų poros kairėje naudojant matomo atstumo funkcijas, dešinėje šešėlių gylio tekstūras). Matosi, kad gylio tekstūromis gaunami šešėliai yra kieti, o matomo atstumo funkcijomis gaunami šešėliai labiau primena globalaus apšvietimo rezultatus. Vaizdavimo spartos rezultatai pateikiami 1 lentelėje (per sekundę atvaizduojamų kadrų skaičius, esant 1024x768 vaizdo raiškai). Scenos atitinka 2 pav. (1 viršutinė kairioji, 2 viršutinė dešinioji, 3 apatinė kairioji, 4 apatinė dešinioji). Daugeliu atvejų matomo atstumo funkcijų metodas yra šiek tiek lėtesnis (iki 20%). 1 lentelė. Vaizdavimo spartos rezultatai ir palyginimas Šešėlių apskaičiavimo metodas Per sekundę generuojamų kadrų skaičius (1024x768 raiška) Scena 1 Scena 2 Scena 3 Scena 4 Matomo atstumo funkcijos Šešėlių gylio tekstūros Išvados ir tolimesni darbai Apšvietimas naudojant matomo atstumo funkcijas leidžia imituoti globalaus apšvietimo rezultatus realiuoju laiku, naudojant statines scenas ir lokalius dinaminius šviesos šaltinius. Metodo sparta nedaug nusileidžia tradiciniams šešėlių apskaičiavimo metodams, priklauso tik nuo vaizduojamų taškų kiekio, tačiau reikalauja modernaus trimačio vaizdo spartintuvo. Ateityje planuojama optimizuoti pagrindinį metodo žingsnį - atstumo funkcijų reikšmių apskaičiavimą, išbandyti kitus atstumo funkcijų aproksimavimo būdus bei realizuoti atstumo funkcijų saugojimą tekstūrose. Literatūros sąrašas [1] U. Assarsson, T. Akenine-Möller. A geometry based soft shadow volume algorithm using graphics hardware. ACM Transactions on Graphics (SigGraph 2003), [2] F. Brebion. Soft shadows. ShaderX2, Wordware, 2003, p. [3] E. Chan, F. Durand. Rendering fake soft shadows with smoothies. Eurographics 2003, [4] F. C. Crow. Shadow algorithms for computer graphics. Computer Graphics (SigGraph 1977), 1977, p. [5] C. Everitt, A. Rege, C. Cebenoyan. Hardware shadow mapping. NVidia Developer Relations. [6] R. Green. Spherical harmonic lighting: the gritty details. Game Developers Conference, [7] J. M. Hasenfratz, M. Lapierre ir kt. A survey of real-time soft shadow algorithms. Eurographics 2003, [8] T. Heidmann. Real shadows, real time. Iris Universe, Silicon Graphics Inc., 1991, 18 tomas, 23-31p. [9] M. J. Kilgard. Improving shadows and reflections via the stencil buffer. NVidia Developer Relations, [10] R. Ng, R. Ramamoorthi, P. Hanrahan. All-frequency shadows using non-linear wavelet lighting approximation. ACM Transactions on Graphics (SigGraph 2003), [11] R. Ramamoorthi, P. Hanrahan. An efficient representation for irradiance environment maps. ACM Transactions on Graphics (SigGraph 2001), 2001, p. [12] W. T. Reeves, D. H. Salesin, R. L. Cook. Rendering antialiased shadows with depth maps. Computer Graphics (SigGraph 1987), 1987, p. [13] M. Segal, C. Korobkin ir kt. Fast shadows and lighting effects using texture mapping. Computer Graphics (SigGraph 1992), 1992, p. [14] P. Sloan. Efficient evaluation of irradiance environment maps. ShaderX2, Wordware, 2003, p. [15] P. Sloan, J. Hall, J. Hart, J. Snyder. Clustered principal components for precomputed radiance transfer. ACM Transactions on Graphics (SigGraph 2003), [16] P. Sloan, J. Kautz, J. Snyder. Precomputed radiance transfer for real-time rendering in dynamic, low-frequency lighting environments. ACM Transactions on Graphics (SigGraph 2002), 2002, p. 72

74 Minkšti dinaminiai šešėliai realiuoju laiku naudojant matomo atstumo funkcijas [17] M. Stamminger, G. Drettakis. Perspective shadow maps. ACM Transactions on Graphics (SigGraph 2002), 2002, p. [18] L. Williams. Casting curved shadows on curved surfaces. Computer Graphics (SigGraph 1978), 1978, p. [19] R. Zioma. Reverse extruded shadow volumes. ShaderX2, Wordware, 2003, p. Dynamic Shadows with Local Lights using Precomputed Visibility Distance Functions We present a new real-time method for rendering shadows in static scenes using precomputed visibility distance functions. Visibility distance functions are computed once for many points in the scene and are represented using low-order spherical harmonics. Our method supports local light sources (including omni directional lights) and executes entirely on modern graphics hardware (with complexity depending only on number of pixels rendered). Real-time fake soft shadows are obtained with rendering speed comparable to traditional shadow rendering methods 73

75 AVIACIJOS VARIKLIŲ BANDYMŲ INFORMACINĖ TECHNOLOGIJA Vincas Valavičius Vilniaus Gedimino technikos universitetas ir Vilniaus pedagoginis universitetas Saulėtekio al. 11, Vilnius, LT-2040 Atlikta aviacijos variklių įmonių bandymų duomenų trumpa analizė. Pasiūlyti informaciniai paketai, kaip aviacijos variklių bandymų ir diagnozavimo charakteristikų analizę automatizuoti ir tobulinti. Analizuojama aviacijos variklių bandymų charakteristikų skaičiavimo informacinė technologija taikant paketą Maple Įvadas Aviacinės transporto sistemos sėkmingam veikimui yra labai svarbus uždavinys didinti orlaivių ir aviacijos variklių patikimumą. Orlaivių ir aviacijos variklių patikimumas priklauso nuo įvairių oro uosto ir aviakompanijų tarnybų tampraus ir darnaus ryšio. Visa tai pasiekiama nuosekliai tobulinant orlaivių konstrukciją, diagnostiką, taip pat skrydžių ir inžinerinių techninių darbuotojų kvalifikaciją bei tobulinant jų bandymų kokybę. Orlaivių techninės priežiūros patirtis ir aviacijos įvykių priežasčių ir incidentų analizė parodo, kad orlaivis ir patikimumas, personalo kvalifikacija, taip pat aplinkos sąlygos yra pagrindas aprūpinant skrydžių saugą. Didelį poveikį orlaivių patikimumo lygiui sudaro techninės priežiūros ir patikimumo procesų automatizavimas taikant informacines technologijas, todėl tolimesniame tyrimo etape buvo parengta aviacijos variklių bandymų ir diagnozavimo technologija taikant kompiuterinius paketus. 2. Aviacijos variklių bandymų ir diagnozavimo trumpa analizė taikant kompiuterinius paketus Antžeminiai bandymais yra vadinami bandymai, kurie yra atliekami antžeminėse ir imitacinėse laboratorijose tam, kad nustatyti aviacijos variklių droselinių, aukštuminių ir greitinių charakteristikų atitikimą. Aukštuminių ir greitinių charakteristikų atitikimo greitinimui yra atliekami skrydžių bandymai skraidomosiose laboratorijose ir bandomuose orlaiviuose skrydžio metu. Bandymai yra skirstomi į mokslinius tiriamuosius ir serijinius. Moksliniai bandymai yra atliekami dėl variklio termodinaminių procesų tyrimo, atskirųjų mazgų veikimo ir dagalų bei jų degimo charakteristikų įvertinimo, variklio charakteristikų tyrimo ir nustatymo, variklio detalių atsparumo ir resurso nustatymo ir kt. [4, 6] Pagrindinis aviacijos variklių bandymų ir diagnozavimo tikslas yra jų techninės būklės nustatymas esamuoju laiko momentu. Parengti aviacijos varilių bandymų ir diagnozavimo algoritmus projektavimo metu yra labai sudėtinga, kadangi neįmanoma tiksliai prognozuoti, kaip eksploatavimo laikotarpiu kis matuojamieji parametrai ir funkcinės charakteristikos. Šios charakteristikos kinta, kai įvyksta aviacijos variklių tam tikri gedimai. Aviacijos variklių bandymų ir diagnozavimo tobulinimas galimas pritaikius kompiuterinius paketus funkcinėms charakteristikoms analizuoti ir gedimams variklių moduliuse nustatyti. Veiksmingiausia yra taikyti kompiuterinius paketus Maple9, Matlab6, MathCad7 ir Mathematika5. Kompiuterinis paketas Matlab6 turi daug modeliavimo ir programavimo privalumų, bet yra nustatyta, kad šis paketas geriausiai tinka AV duomenų matricoms skaičiuoti. Šis paketas daugiausia turi inžinerinių paketų, kurie tinka aviacijos varikliams diagnozuoti. Tai paketas Processing Toolboch tokioms komandoms organizuoti: geometrinės operacijos ir vaizdų analizė, statistika vienmatis ir dvimatis filtravimas. Taikant paketą Signal Processing galima lygiagrečiai pasinaudoti ir kitais paketais. Patogu yra taikyti paketą Image Processing dvimatėms funkcinėms charakteristikoms analizuoti ir klasifikavimo uždaviniams spręsti, panaudojant atpažinimo teoriją. Klasifikavimo charakteristikoms išskirti patogu lygiagrečiai taikyti Neural Network ir Fuzzy Logic paketus, o parametriniam modeliavimui laiko srityje naudotinas System Identification paketas. Funkcinių charakteristikų laiko dinaminėms sistemoms identifikuoti pradėta taikyti paketą Frequency Domain Sytem Identification Toolbox. Šiuo paketu galima atlikti aviacijos variklių modulių diagnozavimą, modeliuoti ir skaičiuoti charakteristikų pokyčius ir analizuoti atsitiktinių procesų funkcijas. Kompiuterinis paketas MathCad2001 buvo pritaikytas aviacijos variklių patikimumo rodikliams ir tiesinėms diagnostinėms matricoms skaičiuoti, bet šiam tikslui paketai Maple 9, Matlab6 ir Mathematica5 turi daugiau privalumų. 74

76 Aviacijos variklių bandymų informacinė technologija Kompiuterinis paketas Maple9 turi daugiausia privalumų lyginant su minėtais paketais. Šis paketas pritaikytas aviacijos variklių gedimų klasifikavimo uždaviniams spręsti, tiesinėms ir kvadratinėms lygtims spręsti bei ekonomiškiausiems AV režimams nustatyti [1, 2, 3, 7]. Pateikiamas aviacijos variklių bandymų charakteristikų skaičiavimo metodas taikant kompiuterinį paketą Maple9. 3. Aviacijos variklių bandymų metodas taikant paketą Maple9 Atliekant turboreaktyvinių variklių identifikacinius bandymus buvo gauta tam tikrų eksploatuojamųjų variklių droselinių charakteristikų informacija, kuri buvo panaudota tiesinėms diagnostinėms matricoms skaičiuoti pasgal sekančias sąlygas: Kiekvieno konkretaus variklio visi parametrai, kurie matuojami tuo pačiu režimu ir naudojami vienodomis eksploatavimo sąlygomis nekinta tol, kol variklyje oro ir dujų trakte neatsiranda gedimų. Todėl tikslinga diagnostiniais požymiais naudoti ne tam tikrus parametrus, o parametrų nuokrypius. Ypatingai didelę diagnostinę vertę turi šių parametrų nuokrypiai: dujų temperatūra už turbinos, vibracija, kompresorių spaudimo laipsnis ir santykinė degalų sanauda. Diagnozuojant aviacijos variklius tinka taikyti tik nežymius parametrų nuokrypius. Kai parametrų nuokrypiai yra gana dideli, tada reikalinga taikyti kitus lygiagrečius diagnozavimo metodus ir neardomąją kontrolę. Tikslinga taikyti tiesinių diagnostinių matricų metodą tik tuo atveju, kai labai nežymiai kinta kompresoriaus charakteristikos. Autorius ankstesniuose tiriamuose darbuose ir darbe [7] atliko aviacijos variklių naujus diagnozavimo metodus taikant kompiuterinius paketus: 3.1) funkcinių charakteristikų skaičiavimą ir analizę taikant kvadratinę diskriminantinę funkciją bei ekonomiškiausių veikimo režimų nustatymą; 3.2) tiesines diagnostines matricas; 3.3) identifikacinius bandymus; 3.4) gedimų klasifikavimą. Aviacijos variklio charakteristikų skaičiavimas taikant kompiuterinį paketą Maple9 parodytas 4 skyriuje. 4.Aviacijos variklio charakteristikų skaičiavimas taikant kompiuterinį paketą Maple9 Stendinių bandymų metu matuojami parametrai ir skaičiuojamos toliau išvardintos charakteristikos: 4.1. Variklio trauka Px [matavimo vienetas jėga: kiloniutonas (kn) arba kilogramas (kg)] Automatizuotos registravimo sistemos bei automatizuoto parametrų apdorojimo stenduose taikomi tenzorezistoriniai "S1" keitikliai [5]. Neautomatizuotose stendų sistemose taikoma svirtinė traukos nustatymo sistema. (pramonės projektas), kurioje trauka nustatoma vizualiai pagal indikatorių parodymus. > restart; > P[x],kH,kG; P x, kh, kg 4.2. Degalų sąnauda G[D] [matavimo vienetas - kg/val]. Norint nustatyti degalų sąnaudą taikoma svorio matavimo sistema su automatizuotu laiko matavimu, per kurį sunaudojamas tam tikras degalų kiekis. Taip pat taikomi ir tūrio sąnaudų matuokliai. Šiuo atveju norint nustatyti masės sanaudas reikia tiksliai išmatuoti degalų temperatūrą dėl degalų tankio nustaymo. > G[D],kg/val;, G D kg val 75

77 V. Valavičius 4.3. Santykinė degalų sanauda CP skaičiuojama formule, kg/n*val, > G[P]=G[D]/P[x],kg/(N*val),kg/(kG*val); G P = G D P x kg,, N val > restart; kg kg val > Kai,P[x]=6500,G[D]=500,tai,G[D]/P[x]=500/6500,kg/(kG*val); evalf(%); G D Kai, P x = 6500., G D = 500., tai, = , P x kg kg val 4.4. Rotoriaus arba rotorių apsisukimų dažnis n [matavimo vienetas - apsisukimai per minutę arba procentas nuo skaičiavimo režimo arba Hz] Rotoriaus apsisukimų dažnumui nustatyti naudojami elektriniai keitikliai (tachometrai) tipas DTE-2 arba D-3 arba dažnuminiai keitikliai tipas DCB Signalai nuo keitiklių patenka į antrinius prietaisus - dažnumo matuoklius arba įvedami į oscilografą. > n,ap/min;hz; n, ap min 4.5. Oro sanauda G[O] Nustatoma oro matavimo kolektoriumi, kuris [rengiamas prie variklio oro įvedimo vietos. Kolektoriaus pradinė dalis dėl hidraulinių sąnaudų sumažinimo turi aptakias briaunas ir pagamintas lemniskatų užlenktos formos 1. Tam tikrame atstume nuo įėjimo į kolektorių, kur srautas yra praktiškai vientisas, įrengtas matavimo įrenginys. Oro sanauda, praeinanti per variklį, nustatoma formule > G[O] = (m*p*f[o]*q(lambda)*sigma[i])/(t^(1/2)); mpf O q( λ) σ i G O = T čia m - koeficientas, priklausantis nuo dujų savybių, p* - pilnasis slėgis matavimo įrenginyje, Pa, q(lambda) - dujų dinaminė funkcija, T* - pilnoji temperatūra prie matavimo įrenginio, Ź, sigma[i] - pilnojo slėgio suderinimo koeficientas oro įvedimo kanale, lambda - santykinis greitis matavimo pjūvyje. > kai;m:= ; p:=2;f[o]:=2.5;q(lambda):=1;sigma[i]:=0.9;t:=600; kai m := p := 2 F O := 2.5 q( λ ):= 1 76

78 Aviacijos variklių bandymų informacinė technologija σ i := 0.9 T := 600 > tai;g[o] = (m*p*f[o]*q(lambda)*sigma[i])/(t^(1/2));evalf(%); tai G O = G O = Norint nustatyti oro sanaudą reikia išmatuoti: 1) barometrinį slėgį Bo (gyv. st. a. mm.); 2) aplinkos oro temperatūrą ( t); 3) pjezometro slėgio skirtumą DeltaH (vand. st. mm.) Oro temperatūra už kompresoriaus (kompresorių) Nustatoma termoparomis išvedus signalą į antrinį prietaisą, t[k], K. > t[k],k; t k, K 4.7. Slėgimas už kompresoriaus p^l[k] (kompresorių p^l[ksum]) Matuojama pilnojo slėgio keitikliu išvedus signalą į antrinį prietaisą. > (p[k])^l;(p[ksum])^l; p k l p ksum l 4.8. Kompresoriaus spaudimo laipsnis Randame pagal formulę > (Pi[k])^l=((p[ki])^l+B[0]*13600*g)/(p[m])^l; l l p ki B 0 g π k = l p m čia (p[ki])^l - visiškai pilnasis slėgimas už kompresoriaus (kompresorių), Pa; > (p[ki])^l,pa; p ki l, Pà kg/m3 - gyvsidabrio tankis Dujų temperatūra prieš turbiną - (T[d])^l Techninė įranga neleidžia tiesiogiai išmatuoti šį variklio parametrą. Todėl (T[d])^l nustatomas skaičiavimo būdu. Vieno kontūro variklyje pradžioje nustatoma santykinė degalų sanauda, čia G[O] - oro sanauda, kg/sek; G[D] - degalų sanauda, kg/sek. > q[d]=g[d]/g[o]; q D = G D G O 77

79 > G[O],kg/sek;G[D],kg/sek; kg G O, sek, G D kg sek V. Valavičius Pagal reikšmę q[t] ir oro temperatūrą už kompresoriaus taikant analizinę priklausomybę arba nomogramą nustatoma (T[D])^l. Dvisroviniuose varikliuose oro sanauda per vidinį kontūrą G[O1] nežinoma ir todėl pateiktas skaičiavimo būdas yra nepriimtinas. Šiuo atveju (T[D])^l nustatoma aukštojo slėgimo turbinos tūtos aparato pjūvyje. Šiam tikslui reikia žinoti tūtos aparato plotą, kuris nustatomas arba matuojant, arba taikomi etaloninio tūtos aparato duomenys. Be to, būtina žinoti oro parametrus už aukšto slėgio kompresoriaus: slėgimą (p[ast])^l ir temperatūrą T[ASK]^l, o taip pat degalų sanaudą pagrindinėje degimo kameroje G[D]. Dujų sanauda pagrindiniame aukšto slėgio turbinos tūtos aparate gali būti aprašyta sekančiu būdu: > G[D]=G[PDK]+G[D];G[PDK]+G[D]=G[PDK]*(1+q[D]);G[PDK]*(1+q[D])=(m[ D]*(p[K])^l*sigma[DK]*F[TA]*q(lambda[TA]))/sqrt((T[D])^l); G D = + G PDK G D G PDK + G D = G PDK ( 1 + q D ) G PDK ( + ) m D p K 1 q D = l σdk F TA ( ) q λ TA T D l čia m[d] - koeficientas, priklausantis nuo dujų savybių; sigma[dk] - degimo kameros pinojo slėgio sanaudų koeficientas; F[TA] - konkretaus variklio tūtos aparato plotas, m2; q(lambda[ta) - dujų dinaminė funkcija; G[PDK] - oro sanauda pagrindinėje degimo kameroje, kg/sek; p[k] - slėgimas už kompresoriaus, Pa. Šioje lygtyje dydžiai: G[D], m[d], (p[k])^l, G[PDK], F[TA], q(lambda[ta]) yra žinomi arba išmatuojami. > Duota;G[D], m[d], (p[k])^l, G[ADK], F[TA], q(lambda[ta]); Duota l G D, m D, p K, G ADK, F TA, q( λ TA ) Sąryšis tarp dujų temperatūos (T[D])^l ir degalų santykinio koeficiento q[d] gali būti išreikštas tokiu būdu: > q[d]=(c[p[d]]*(t[d])^l-c[p[o]]*(t[ź])^l)/(h[u]*eta[d]- C[p[D]]*(T[D])^l); q D l l C pd T D C po T Ê = l H u η D C pd T D čia Hu - degalų šilumos galimybė, kj/kg; eta[d] - degimo pilnumo koeficientas; C[p[O]] - oro santykinis šilumingumas, kj/(kg.laipsnis); (T[k])^l - oro tempetratūra už kompresoriaus arba prieš degimo kamerą, K; C[p[D]] - degimo produktų santykinis šilumingumas, kj/(kg.laipsnis). Tokiu būdu, įvertinus, kad q[d]=g[d]/g[o], turime dvi lygtis, kurių nežinomieji yra (T[D])^l ir G[PDK]. Išspredę šias lygtis iteracijų arba Maple9 metodu, randame (T[D])^l ir G[PDK]. Konstruojant variklius taikoma sudėtingesnės sąveikos lygtys, sudarančios šilumos pokyčio kitimą priklausomai nuo dujų sudėties ir temperatūros. > Cpd,kJ/kg;eta[D];C[p[O]],kJ/(kg.laipsnis);q[D]=G[D]/G[O];randame,(Ņ[D])^l,ir,G[PDK]; Cpd, kj kg 78

80 Aviacijos variklių bandymų informacinė technologija η D, C po q D = kj kg. laipsnis G D G O l randame, Ò D, ir, G PDK Oro pilnumo koeficientas > restart; > alpha[dk]=g[pdk]/(14.95*g[d]); G PDK = α DK G D > čia,14.95,1/14.95; cia, 14.95, > 14.95,stechemetrinis,koeficientas; 14.95, stechemetrinis, koeficientas Dujų slėgis prieš turbiną > (p[d])^l=(p[k])^l*sigma[dk]; p D l = p k l σdk Adiabatinis spaudimo darbas kompresoriuje > L[S]=C[p[O]]*(T[O])^l*((Pi[K]^(l*(k-1)/k)-1)); L S l = C po T O l ( k 1) k π K Kompresoriaus tikrasis spaudimo darbas > L=C[p[O]]*((T[K])^l-(T[O])^l); L = C po ( ) T K l T O l Turbinos slėgio sumažėjimo laipsnis ir variklio rotoriaus atraminio guolio ašinės apkrovos Dėl šių rodiklių nustatymo matuojama už turbinos pilnasis ir statinis slėgis naudojant pilnojo ir statinio slėgio keitiklių parodymus bei tikant pavyzdinių prietaisų tipo "Sapfir" antrinių prietaisų matuojamus parametrus Kompresoriaus nukreipiamųjų aparatų nuokrypio kampai Norint išmatuoti kampus naudojami kampų nuokrypio keitikliai išvedant signalą į antrinį prietaisą arba į oscilografą. 79

81 4.16. Dujų temperatūra už turbinos V. Valavičius Dėl temperatūros nustatymo taikomos įvairių tipų termoparos: T-28, T-80, T-99, T-142 ir kt. Temperatūros kontrolė nustatoma įvairiais antriniais prietaisais Variklio korpusų vibracija Taikant keitiklius ABC-11, MB-27 ir kitus matuojamas vibracijos greitis ir vibracijos pagreitis įvairiais variklio veikimo režimais. Šiam tikslui pasiekti yra išskyrus naudojamus keitiklius papildomai įrengiama daugiau 7 vibracijos keitiklių Tepalo slėgis spaudimo magistralėje Dėl slėgio kontrolės naudojami manometrai, signalinės lemputės, garsinės komandos Tepalo slėgis prieš ir už variklio Temperatūrai kontroliuoti naudojamos termoparos, strėliniai prietaisai, signalinės lemputės, garsinės komandos Tepalo sanauda per variklį Dėl sanaudos kontrolės naudojami tepalo sanaudos kontrolės įrenginiai. Šilumos pokyčio dydis nustatomas pagal formulę Q=G[Tep]*C[Tep]*(t[is]-t[i]), čia G[M] - tepalo sanauda variklyje, źg/min; Ń[M] - santykinis tepalo šilumos talpumas, J/(kg.laip.); t[is],t[i] - tam tikros tepalo temperatūros prieš ir už variklio, laip. Šilumos kiekiui nustatyti, išeinančiam iš variklio, tekant tepalui ir aušinamam degalų tepalo šilumos keitiklyje, egzistuoja leistinosios kiekvieno variklio tipo leistinosios normos. > Q=G[Tep]*C[Tep]*(t[is]-t[i]); Q = G Tep C Tep ( t is t i ) > G[Tep],kg/min; kg G Tep, min > C[Tep],J/(kg.laip); J C Tep, kg. laip > t[is],t[i],k; t is, t i, K Oro tepalo labirintų vietų slėgis Slėgiui kontroliuoti naudojami manometrai ir avarinio signalizavimo keitikliai, kurie veikia tik padidėjus tepalo slėgiui arba sanaudai daugiau normos dydžių Variklio įrenginių ir reduktorių apkrova Įrenginių kuriuose yra įrengiami agregatai, ruošiantys lėktuvo sistemų kondicionavimo reikmes. Bandymų metu apkrovos dydis turi atitikti lėktuvo vartojimo įrenginių lėktuvo galingumo ir sukimo momento įrenginiams. Tokiems vartotojams priklauso hidrauliniai siurbliai, kintamosios srovės elektros generatoriai su pastovių apsisulimų įrenginiais ir pastovios srovės elektros generatoriai. Pagrindiniai variklio parametrai yra užrašomi rankiniu ir automatizuotu būdu ir matomi ascilografuose. Bandymų metu turi būti registruojama daugiau 80 variklio ir jo sistemų parametrų. Parametrai užrašomi realaus laiko režime ir automatizuotai apdorojant rezultatus bet kuriuo bandymų metu gali būti spausdinami popieriaus ataskaitose. 80

82 Aviacijos variklių bandymų informacinė technologija Sekančiame tiriamajame darbe autorius atlieka kompiuterinių paketų taikymą ir optimizavimą tiksliausiems diagnozavimo sprendiniams surasti ir naudoja sukurtą informacinės technologijos metodą aviacijos įmonėse. Išvados 1. Pasiūlyti ir pritaikyti kompiuteriniai paketai aviacijos varikliams diagnozuoti. 2. Parengta aviacijos variklių bandymų automatizuoto charakteristikų skaičiavimo informacinė technologija taikant paketą Maple 9 Literatūros sąrašas [1] Richard O. Duda, Peter E. Hart. Pattern classification and scene analysis. - New York London Sydney Toronto [2] А. М. Ахмедзянов, Н.Г. Дубравский, А.П. Тунаков. Диагностика состояния ВРД по термогазодинамическим параметрам. Москва: Машиностроение, С [3] В. З. Аладьев, М.А. Богдявичюс. Maple 6: Решение математических, статистических и физико-технических задач. Москва: Лаборатория Базовых Знаний, с. [4] В. И. Городецкий, А. К. Дмитриев, В. М. Марков и др. Элементы теории испытаний и контроля технических систем. Ленинград: Энергия, с. [5] Ю. С. Елисеев, В. В. Крымов, К. А. Малиновский, В. Г. Попов. Технология эксплуатации, диагностики и ремонта газотурбинных двигателей. Москва: Высш. шк., с. [6] В. Климов, В. Борисов. Функциональные системы летательных аппаратов. Нормы. Требования. Схемы. Испытания. Москва: Моск. рабочий, с. [7] V. Valavičius. Skaitmeniniai kompiuteriniai techninių sistemų diagnostikos metodai // 4 osios tarptautinės konferencijos TRANSBALTICA-03, įvykusios Vilniuje 2003 m. balandžio d., MOKSLINIŲ PRANEŠIMŲ RINKINYS. Vilnius: Technika, P INFORMATION TECHNOLOGY of TESTS of Aviation ENGINES Vincas Valavičius The brief analysis of the given tests in the enterprises of aviation engines is executed. The information packages are offered how to automate and to improve the analysis of the characteristics of tests and diagnosing of aviation engines. The information technology of calculation of the characteristics of tests of aviation engines with the help of a package Maple 9 is analyzed. 81

83 DISKREČIŲJŲ TRANSFORMACIJŲ TAIKYMAS FRAKTALINĖJE VAIZDŲ KODAVIMO PROCEDŪROJE Tomas Žumbakis Kauno technologijos universitetas, Taikomosios matematikos katedra Straipsnyje nagrinėjamas diskrečiųjų transformacijų (kosinusinės bei Volšo ir Adamaro) panaudojimo, skaičiuojant vaizdo glodumo įverčius bei organizuojant fraktalinio vaizdų kodavimo etapą, efektyvumas. Pateikiamos teorinės laikinių sąnaudų apskaičiavimo išraiškos, komentuojami gauti eksperimento rezultatai. 1. Įvadas Vaizdų kodavimas (suspaudimas) tai procesas leidžiantis sumažinti informacijos, reikalingos grafinio vaizdo išsaugojimui kiekį. Pastaruoju metu yra sukurta daug ir įvairių vaizdo suspaudimo metodų, kuriuos galima suskirstyti į dvi grupes: suspaudimo metodai be informacijos praradimo ir suspaudimo metodai su informacijos praradimu. Pirmosios grupės metodai, tokie kaip RLE ir LZW, po atkodavimo etapo pilnai atkuria pradinį vaizdą, tačiau šių metodų pagalba duomenys suspaudžiami tik 2-3 kartus [3]. Antrajai grupei priklausantys metodai (JPEG, fraktalinis, BTC ir kiti) duomenis suspaudžia žymiai geriau, t.y. dešimtis kartų [5], tačiau tam tikslui yra aukojama vaizdo kokybė. JPEG standartas šiuo metu yra bene pats tobuliausias kodavimo metodas, nors didinant vaizdo suspaudimo laipsnį, efektyvumas krenta. Fraktalinis vaizdų kodavimo metodas [1] yra artimas JPEG standartui, leidžia suspausti vaizdą dešimtis kartų, tuo pačiu prarandant mažiau informacijos nei taikant JPEG. Tačiau fraktalinio vaizdų kodavimo metodo silpnoji vieta didelės laikinės kodavimo etapo sąnaudos. Šiame straipsnyje apžvelgiamas vienas iš galimų fraktalinio vaizdų kodavimo metodo optimizavimo, taikant vaizdo glodumo įverčius panašių vaizdo fragmentų paieškos procese, būdų. Glodumo įverčiams skaičiuoti siūloma naudoti diskrečiąją kosinusinę transformaciją (DKT) bei Volšo ir Adamaro diskrečiąją transformaciją (VAT w ). Eksperimento rezultatai rodo, jog pateikta fraktalinio vaizdų kodavimo etapo optimizavimo strategija, ženkliai sumažina laikines kodavimo sąnaudos, kartu mažai įtakoja atkurto vaizdo kokybę. 2. Vaizdo glodumas, būtina vaizdų panašumo sąlyga 2 Imkime baigtinę metrinę dvimačių skaitmeninių vaizdų erdvę ( S 2 ( n), δ ). Čia S ( n) = {[ X ( m)] m = ( m, m ) I }, kur I = {0,1,..., N 1}, N = 2, X ( m) {0,1,..., 2 1}, p 1. Parametras n nusako skaitmeninio vaizdo detalizacijos lygį (skiriamąją gebą), o parametras p vaizdo pikselių reikšmėms koduoti skirtų bitų skaičių. Atstumas δ tarp bet kurių dviejų S 2 ( n) erdvės taškų (vaizdų [ X 1 ( m)] ir [ X 2 ( m)] ) nusakomas formule: 1 2 δ = δ ( X1, X 2) = ( X 2( m) X1( m) ). (1) 2 N 2 m I Ši formulė naudojama, norint palyginti pradinio vaizdo ir atkurto vaizdo kokybę. Tarkime, kad vaizdas [ X ( m)] S 2 ( n), p > 1. Šio vaizdo dvimatis diskretusis spektras [ Y (k)] k = ( k1, k2) I apibrėžiamas formule: 1 T [ Y ( k) ] = T [ X ( m) ] T N 2 2 n, k = ( k, k I, (2) 1 2) kur T yra ortogonali diskrečiosios transformacijos (DT) matrica. Jei matrica T yra ortonormuota, tuomet koeficientą 2 1 N praleidžiame. Pradinis vaizdas [ X (m)] vienareikšmiškai atkuriamas, taikant atvirkštinę dvimatę diskrečiąją transformaciją, būtent: p 2 82

84 Diskrečiųjų transformacijų taikymas fraktalinėje vaizdų kodavimo procedūroje T [ X ( m) ] = T [ Y ( k) ] T ; (3) čia T yra kompleksinė jungtinė išraiška matricos T atžvilgiu. Iš Parsevalio sąryšių ortogonaliųjų funkcijų (išdėstytų pagal dažnį) eilutėms dvimačiu atveju išplaukia, jog diskrečiojo spektro [ Y (k)] elementų absoliutinėms skaitinėms reikšmėms būdinga mažėjimo, kai tų elementų numeriai (indeksai ir ) didėja, tendencija, t.y. egzistuoja hiperbolinis paviršius z k 1 k 2 C z( x1, x2) = ( C 0, α α X ( x x ) = x 1 2 0), (4) aproksimuojantis spektro koeficientų masyvą { Y ( k) k + k 0} vidutinės kvadratinės paklaidos 1 VKP( Y, z) = 2 N 1 2 k I 2 2 ( k1 + k2 0) prasme; k = max { k,1}, i = 1, 2 Y ( k) i i. ( k k ) 1 C α X 2 2 min; Hiperbolinį paviršių charakterizuojantis dydis, (5) α interpretuojamas kaip vaizdo [ X ( m)] S 2 ( n) glodumo X 2 n parametras (klasė, lygis). Iteracinė vaizdo [ X ( m)] S ( ) glodumo klasės nustatymo procedūra pateikta straipsnyje [2]. Esminis procedūros privalumas yra jos lankstumas, pasireiškiantis pakankamai laisvu iteracijų skaičiaus parinkimu, bei spektro koeficientų masyvo keitimo žemesnius dažnius atitinkančiu jo poaibiu galimybe. Abi šios aplinkybės įtakoja laikines glodumo įverčių skaičiavimo sąnaudas. Fraktalinio vaizdų kodavimo atveju, tikslinga imti pirmąją vaizdo glodumo reikšmės α X parametro aproksimaciją α 0. Dydžio α 0 apskaičiavimas remiasi dvimačio vaizdo spektro ištiesinimo procedūra bei mažiausiųjų kvadratų metodu, [3]: 1 α 0 = ( BN λ P( k) ) log Y ( k) ; (6) A N k I 2 ( k H) 2 čia: AN = λ CN BN ; BN = P( k) ; k H ; H 1 2 k I 2 ( k H) k I C = Q( k) ; P k) = log ( k 1 k ), Q k) = log ( k k ), su visais N 2 ( k H) ( 2 = { k = ( k, k ) Y ( k) 0, k k 0}. Atlikti eksperimentai rodo, jog α 0 [0; 3]. Vaizdo glodumo parametras savybes: 2 ( 1 2 α x tuo pačiu ir jo aproksimacijos turi dvi (praktiniu požiūriu) labai svarbias 1. Invariantiškumas. Vaizdo [X (m)] glodumo parametras α x yra invariantiškas vaizdą transformacijų (posūkis, veidrodinis atspindys, inversija) atžvilgiu. 2. Tolydumas. Maži pokyčiai vaizde [ X ( m)] sąlygoja mažus parametro α x pokyčius. [ X ( m)] veikiančių Skaitmeninių vaizdų, ar jų atskirų fragmentų (blokų) panašumas yra nusakomas metrikos δ pagalba ((1) išraiška), būtent: du vaizdai [ U ( m)] S 2 ( n) ir [ V ( m)] S 2 ( n) yra laikomi panašiais, jei δ = δ ( U, V ) δ0, kaiδ 0 yra iš anksto pasirinktas mažas teigiamas skaičius. Priešingu atveju δ > δ0, vaizdai [ U (m)] ir [ V (m)] yra nepanašūs. Būtina dviejų vaizdų [ U ( m)] ir [ V (m)] panašumo sąlyga tiesiogiai išplaukia iš tolydumo savybės: ( 0 U V ε0 δ ( U, V ) δ ) ( α α ), (7) kur α U ir α V yra skaitmeninių vaizdų [ U (m)] ir [ V (m)] glodumo parametro reikšmės. Vaizdų glodumo parametro invariantiškumo savybė leidžia būtiną vaizdų panašumo sąlygą (kriterijų) panaudoti fraktalinio vaizdų kodavimo procedūroje. Pačią fraktalinio kodavimo procedūrą (pagal A. Jacquin strategiją [1]) galimą išskaidyti į tris etapus: 1. Apdorojimas vaizdas skaidomas į nepersidengiančius (reikšmių srities) blokelius [ U ( m)] S 1 (3) S (3) ir persidengiančius (apibrėžimo srities) blokelius [ V ( m)] S 1 (4) S (4)

85 T. Žumbakis 2. Kiekvienam blokeliui [ U (m)] surandamas geriausiai jį atitinkantis blokelis [ V (m)], t.y. siekiama, kad δ = δ ( U, V ) būtų minimalus. Norint padidinti panašių blokelių vaizde aptikimo tikimybę, kiekvienam analizuojamam blokeliui [ V (m)] papildomai taikomos įvairios transformacijos (posūkio, veidrodinis atspindys, kontrastiškumo keitimas). 3. Geriausias poras apibūdinančių parametrų išsaugojimas. Laikinių sąnaudų prasme, labai imlus yra antrasis kodavimo procedūros etapas. Siekiant pagreitinti skaičiavimus, reikia apriboti apibrėžimo srities blokelių aibės ( baseino ), siejamos su konkrečiu reikšmių srities blokeliu, dydį, t.y. paieškos procese imti ne visus, o tik tam tikrus apibrėžimo srities blokelius. Kita vertus, mažinant baseiną galime nesurasti geriausios poros. Kaip to išvengti? Mes siūlome pasinaudoti būtiną vaizdų panašumo sąlyga ((7) išraiška), kuri leidžia ženkliai sumažinti apibrėžimo srities blokelių skaičių geriausių porų [U(m)] [V(m)] paieškos procese, tuo pačiu garantuoja geriausios poros suradimą. 3. DKT ir VAT w taikymas vaizdo glodumo įverčiams skaičiuoti Analizei parinkome dvi diskrečiąsias transformacijas (DT) DKT ir VAT w. Šių DT pasirinkimą įtakojo keletas priežasčių: 1. abi transformacijos lengvai realizuojamos programiniu būdu; 2. DKT plačiai naudojama vaizdų apdorojime, nes geriausiai (iš visų DT) supakuoja duomenis; 3. vaizdo glodumo įverčiams skaičiuoti reikia, jog DT baziniai vektoriai būtų išdėstyti pagal dažnį: šiuo atveju, DKT ir VAT w atitinka šį reikalavimą; 4. sukurtas greitas VAT w skaičiavimo algoritmas. Diskrečioji kosinusinė transformacija tai Furjė transformacijos variantas, pritaikytas realaus tipo duomenims. DKT transformacija (kaip ir kitos DT) yra tiesinė. DKT skaičiavimui, kai vaizdo blokelių (fragmentų) dydis 8x8, naudosime tokią formulę: [ Y ( k, k 1 2 )] = L ( k, k x 1 1 ) = C( k1) C( k ) m1, m2 = 0 1 2, kai k = 0 čia C ( k) = ir k 1, k 2 = 0,1,...,7. 1, kai k > 0 (2m1 + 1) k1π (2m2 + 1) k2π X ( m1, m2)cos cos ; (8) Kosinusinės funkcijos reikšmės yra apskaičiuojamos iš anksto (jos nepriklauso nuo apdorojamo vaizdo) ir saugomos matricoje, tuo pačiu sutaupant laiką tolimesniuose skaičiavimuose. Atlikus paprastą algebrinę optimizuoto DKT skaičiavimo algoritmo analizę, gauname tokią laikinėms sąnaudoms įvertinti skirtą išraišką: τ dkt = 4096τ s τ d, (9) čia τ s laiko intervalas, per kurį procesorius atlieka sumavimo operaciją; τ s laiko intervalas, per kurį procesorius atlieka sandaugos operaciją. Tarkime, kad τ s = τ d, tuomet τ dkt = 12416τ s. (10) Šiose išraiškose nėra vertinamas konstantų nuskaitymui, ciklų operatoriams ir priskyrimo operacijoms atlikti reikalingas laikas. VAT w tai diskrečioji Volšo ir Adamaro transformacija., kurios baziniai vektoriai išdėstyti pagal Volšą. Detalus greitos VAT w transformacijos skaičiavimo algoritmo aprašas pateiktas [4]. Atlikus algoritmo modifikaciją bei pritaikius ją blokelių 8x8 spektrams skaičiuoti, gauname tokią laikinių sąnaudų išraišką: τ vat = 2048τ s τ d. (11) Kaip ir DKT atveju, tarus jog τ s = τ d, gauname: τ vat = 3112τ s. (12) 84

86 Diskrečiųjų transformacijų taikymas fraktalinėje vaizdų kodavimo procedūroje Nesunku pastebėti, jog VAT w transformacijos apskaičiavimas skaitmeninio vaizdo blokeliui 8x8 yra 3,98 karto greitesnis nei naudojant DKT. Taigi, laikiniu požiūriu VAT w yra pranašesne už DKT, tačiau koks šių transformacijų efektyvumas, skaičiuojant vaizdo glodumo įverčius, bei kokia gaunama po kodavimo atkurto vaizdo kokybė (δ prasme), galime patikrinti tik eksperimentiškai. (a) δ δ (b) α u -α v (c) α u -α v δ δ α u -α v α u -α v (d) (e) 1 pav. Geriausių porų U V pasiskirstymo grafikai; (a) analizuojamas vaizdas 256x256; (b) geriausios poros (DKT, α U α V ); (c) geriausios poros (VAT w, α U α V ); (d) geriausios poros (DKT, α α 0. 1 ;) (e) geriausios poros (VAT w, α α 0. 1 ) U V U V 4. Eksperimento rezultatai Siekiant patikrinti teorinius rezultatus, buvo atlikti eksperimentai su nespalvotais dvimačiais vaizdais (1 pav. (a), 2 pav. (a)). Reikšmių srities blokeliams 8x8 buvo ieškomos geriausios poros iš apibrėžimo srities, esant (paieškos baseino ) apribojimams α α ir α α Blokelių glodumo įverčiams skaičiuoti U V U V 85

Design of an Optimal Nearest Neighbor Classifier Using an Intelligent Genetic Algorithm

Design of an Optimal Nearest Neighbor Classifier Using an Intelligent Genetic Algorithm Design of an Optimal Nearest Neighbor Classifier Using an Intelligent Genetic Algorithm Shinn-Ying Ho *, Chia-Cheng Liu, Soundy Liu, and Jun-Wen Jou Department of Information Engineering, Feng Chia University,

More information

Efficient Image Compression of Medical Images Using the Wavelet Transform and Fuzzy c-means Clustering on Regions of Interest.

Efficient Image Compression of Medical Images Using the Wavelet Transform and Fuzzy c-means Clustering on Regions of Interest. Efficient Image Compression of Medical Images Using the Wavelet Transform and Fuzzy c-means Clustering on Regions of Interest. D.A. Karras, S.A. Karkanis and D. E. Maroulis University of Piraeus, Dept.

More information

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization 2017 2 nd International Electrical Engineering Conference (IEEC 2017) May. 19 th -20 th, 2017 at IEP Centre, Karachi, Pakistan Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic

More information

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES 6.1 INTRODUCTION The exploration of applications of ANN for image classification has yielded satisfactory results. But, the scope for improving

More information

Using a genetic algorithm for editing k-nearest neighbor classifiers

Using a genetic algorithm for editing k-nearest neighbor classifiers Using a genetic algorithm for editing k-nearest neighbor classifiers R. Gil-Pita 1 and X. Yao 23 1 Teoría de la Señal y Comunicaciones, Universidad de Alcalá, Madrid (SPAIN) 2 Computer Sciences Department,

More information

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS NABEEL AL-MILLI Financial and Business Administration and Computer Science Department Zarqa University College Al-Balqa'

More information

Neural Network based textural labeling of images in multimedia applications

Neural Network based textural labeling of images in multimedia applications Neural Network based textural labeling of images in multimedia applications S.A. Karkanis +, G.D. Magoulas +, and D.A. Karras ++ + University of Athens, Dept. of Informatics, Typa Build., Panepistimiopolis,

More information

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm Dr. Ian D. Wilson School of Technology, University of Glamorgan, Pontypridd CF37 1DL, UK Dr. J. Mark Ware School of Computing,

More information

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding e Scientific World Journal, Article ID 746260, 8 pages http://dx.doi.org/10.1155/2014/746260 Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding Ming-Yi

More information

Sequential Nonlinear Mapping versus Simultaneous One

Sequential Nonlinear Mapping versus Simultaneous One INFORMATICA, 2002, Vol. 13, No. 3, 333 344 333 2002 Institute of Mathematics and Informatics, Vilnius Sequential Nonlinear Mapping versus Simultaneous One Algirdas Mykolas MONTVILAS Institute of Mathematics

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

Using Genetic Algorithms to optimize ACS-TSP

Using Genetic Algorithms to optimize ACS-TSP Using Genetic Algorithms to optimize ACS-TSP Marcin L. Pilat and Tony White School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, ON, K1S 5B6, Canada {mpilat,arpwhite}@scs.carleton.ca

More information

Image Classification Using Wavelet Coefficients in Low-pass Bands

Image Classification Using Wavelet Coefficients in Low-pass Bands Proceedings of International Joint Conference on Neural Networks, Orlando, Florida, USA, August -7, 007 Image Classification Using Wavelet Coefficients in Low-pass Bands Weibao Zou, Member, IEEE, and Yan

More information

NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION

NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION * Prof. Dr. Ban Ahmed Mitras ** Ammar Saad Abdul-Jabbar * Dept. of Operation Research & Intelligent Techniques ** Dept. of Mathematics. College

More information

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Necmettin Kaya Uludag University, Mechanical Eng. Department, Bursa, Turkey Ferruh Öztürk Uludag University, Mechanical Eng. Department,

More information

GRANULAR COMPUTING AND EVOLUTIONARY FUZZY MODELLING FOR MECHANICAL PROPERTIES OF ALLOY STEELS. G. Panoutsos and M. Mahfouf

GRANULAR COMPUTING AND EVOLUTIONARY FUZZY MODELLING FOR MECHANICAL PROPERTIES OF ALLOY STEELS. G. Panoutsos and M. Mahfouf GRANULAR COMPUTING AND EVOLUTIONARY FUZZY MODELLING FOR MECHANICAL PROPERTIES OF ALLOY STEELS G. Panoutsos and M. Mahfouf Institute for Microstructural and Mechanical Process Engineering: The University

More information

Comparative Study on VQ with Simple GA and Ordain GA

Comparative Study on VQ with Simple GA and Ordain GA Proceedings of the 9th WSEAS International Conference on Automatic Control, Modeling & Simulation, Istanbul, Turkey, May 27-29, 2007 204 Comparative Study on VQ with Simple GA and Ordain GA SADAF SAJJAD

More information

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CHAPTER 4 CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS 4.1 Introduction Optical character recognition is one of

More information

Unsupervised Learning

Unsupervised Learning Unsupervised Learning Unsupervised learning Until now, we have assumed our training samples are labeled by their category membership. Methods that use labeled samples are said to be supervised. However,

More information

Unsupervised Learning and Clustering

Unsupervised Learning and Clustering Unsupervised Learning and Clustering Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Spring 2009 CS 551, Spring 2009 c 2009, Selim Aksoy (Bilkent University)

More information

DERIVATIVE-FREE OPTIMIZATION

DERIVATIVE-FREE OPTIMIZATION DERIVATIVE-FREE OPTIMIZATION Main bibliography J.-S. Jang, C.-T. Sun and E. Mizutani. Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence. Prentice Hall, New Jersey,

More information

Towards Automatic Recognition of Fonts using Genetic Approach

Towards Automatic Recognition of Fonts using Genetic Approach Towards Automatic Recognition of Fonts using Genetic Approach M. SARFRAZ Department of Information and Computer Science King Fahd University of Petroleum and Minerals KFUPM # 1510, Dhahran 31261, Saudi

More information

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1

Cluster Analysis. Mu-Chun Su. Department of Computer Science and Information Engineering National Central University 2003/3/11 1 Cluster Analysis Mu-Chun Su Department of Computer Science and Information Engineering National Central University 2003/3/11 1 Introduction Cluster analysis is the formal study of algorithms and methods

More information

Genetic Algorithm based Fractal Image Compression

Genetic Algorithm based Fractal Image Compression Vol.3, Issue.2, March-April. 2013 pp-1123-1128 ISSN: 2249-6645 Genetic Algorithm based Fractal Image Compression Mahesh G. Huddar Lecturer, Dept. of CSE,Hirasugar Institute of Technology, Nidasoshi, India

More information

Neural Network Weight Selection Using Genetic Algorithms

Neural Network Weight Selection Using Genetic Algorithms Neural Network Weight Selection Using Genetic Algorithms David Montana presented by: Carl Fink, Hongyi Chen, Jack Cheng, Xinglong Li, Bruce Lin, Chongjie Zhang April 12, 2005 1 Neural Networks Neural networks

More information

A Hybrid Intelligent System for Fault Detection in Power Systems

A Hybrid Intelligent System for Fault Detection in Power Systems A Hybrid Intelligent System for Fault Detection in Power Systems Hiroyuki Mori Hikaru Aoyama Dept. of Electrical and Electronics Eng. Meii University Tama-ku, Kawasaki 14-8571 Japan Toshiyuki Yamanaka

More information

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances Minzhong Liu, Xiufen Zou, Yu Chen, Zhijian Wu Abstract In this paper, the DMOEA-DD, which is an improvement of DMOEA[1,

More information

Multi-objective pattern and feature selection by a genetic algorithm

Multi-objective pattern and feature selection by a genetic algorithm H. Ishibuchi, T. Nakashima: Multi-objective pattern and feature selection by a genetic algorithm, Proc. of Genetic and Evolutionary Computation Conference (Las Vegas, Nevada, U.S.A.) pp.1069-1076 (July

More information

Automata Construct with Genetic Algorithm

Automata Construct with Genetic Algorithm Automata Construct with Genetic Algorithm Vít Fábera Department of Informatics and Telecommunication, Faculty of Transportation Sciences, Czech Technical University, Konviktská 2, Praha, Czech Republic,

More information

An Application of Genetic Algorithm for Auto-body Panel Die-design Case Library Based on Grid

An Application of Genetic Algorithm for Auto-body Panel Die-design Case Library Based on Grid An Application of Genetic Algorithm for Auto-body Panel Die-design Case Library Based on Grid Demin Wang 2, Hong Zhu 1, and Xin Liu 2 1 College of Computer Science and Technology, Jilin University, Changchun

More information

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization J.Venkatesh 1, B.Chiranjeevulu 2 1 PG Student, Dept. of ECE, Viswanadha Institute of Technology And Management,

More information

Pattern Recognition ( , RIT) Exercise 1 Solution

Pattern Recognition ( , RIT) Exercise 1 Solution Pattern Recognition (4005-759, 20092 RIT) Exercise 1 Solution Instructor: Prof. Richard Zanibbi The following exercises are to help you review for the upcoming midterm examination on Thursday of Week 5

More information

The Genetic Algorithm for finding the maxima of single-variable functions

The Genetic Algorithm for finding the maxima of single-variable functions Research Inventy: International Journal Of Engineering And Science Vol.4, Issue 3(March 2014), PP 46-54 Issn (e): 2278-4721, Issn (p):2319-6483, www.researchinventy.com The Genetic Algorithm for finding

More information

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS In: Journal of Applied Statistical Science Volume 18, Number 3, pp. 1 7 ISSN: 1067-5817 c 2011 Nova Science Publishers, Inc. MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS Füsun Akman

More information

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM 20 CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM 2.1 CLASSIFICATION OF CONVENTIONAL TECHNIQUES Classical optimization methods can be classified into two distinct groups:

More information

Unsupervised Learning and Clustering

Unsupervised Learning and Clustering Unsupervised Learning and Clustering Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Spring 2008 CS 551, Spring 2008 c 2008, Selim Aksoy (Bilkent University)

More information

Some questions of consensus building using co-association

Some questions of consensus building using co-association Some questions of consensus building using co-association VITALIY TAYANOV Polish-Japanese High School of Computer Technics Aleja Legionow, 4190, Bytom POLAND vtayanov@yahoo.com Abstract: In this paper

More information

Fuzzy Segmentation. Chapter Introduction. 4.2 Unsupervised Clustering.

Fuzzy Segmentation. Chapter Introduction. 4.2 Unsupervised Clustering. Chapter 4 Fuzzy Segmentation 4. Introduction. The segmentation of objects whose color-composition is not common represents a difficult task, due to the illumination and the appropriate threshold selection

More information

European Journal of Science and Engineering Vol. 1, Issue 1, 2013 ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM IDENTIFICATION OF AN INDUCTION MOTOR

European Journal of Science and Engineering Vol. 1, Issue 1, 2013 ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM IDENTIFICATION OF AN INDUCTION MOTOR ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM IDENTIFICATION OF AN INDUCTION MOTOR Ahmed A. M. Emam College of Engineering Karrary University SUDAN ahmedimam1965@yahoo.co.in Eisa Bashier M. Tayeb College of Engineering

More information

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem etic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem R. O. Oladele Department of Computer Science University of Ilorin P.M.B. 1515, Ilorin, NIGERIA

More information

MODELLING DOCUMENT CATEGORIES BY EVOLUTIONARY LEARNING OF TEXT CENTROIDS

MODELLING DOCUMENT CATEGORIES BY EVOLUTIONARY LEARNING OF TEXT CENTROIDS MODELLING DOCUMENT CATEGORIES BY EVOLUTIONARY LEARNING OF TEXT CENTROIDS J.I. Serrano M.D. Del Castillo Instituto de Automática Industrial CSIC. Ctra. Campo Real km.0 200. La Poveda. Arganda del Rey. 28500

More information

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem An Evolutionary Algorithm for the Multi-objective Shortest Path Problem Fangguo He Huan Qi Qiong Fan Institute of Systems Engineering, Huazhong University of Science & Technology, Wuhan 430074, P. R. China

More information

IMPROVING THE PARTICLE SWARM OPTIMIZATION ALGORITHM USING THE SIMPLEX METHOD AT LATE STAGE

IMPROVING THE PARTICLE SWARM OPTIMIZATION ALGORITHM USING THE SIMPLEX METHOD AT LATE STAGE IMPROVING THE PARTICLE SWARM OPTIMIZATION ALGORITHM USING THE SIMPLEX METHOD AT LATE STAGE Fang Wang, and Yuhui Qiu Intelligent Software and Software Engineering Laboratory, Southwest-China Normal University,

More information

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm I. Bruha and F. Franek Dept of Computing & Software, McMaster University Hamilton, Ont., Canada, L8S4K1 Email:

More information

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS BERNA DENGIZ AND FULYA ALTIPARMAK Department of Industrial Engineering Gazi University, Ankara, TURKEY 06570 ALICE E.

More information

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS Jim Gasvoda and Qin Ding Department of Computer Science, Pennsylvania State University at Harrisburg, Middletown, PA 17057, USA {jmg289, qding}@psu.edu

More information

Genetic Model Optimization for Hausdorff Distance-Based Face Localization

Genetic Model Optimization for Hausdorff Distance-Based Face Localization c In Proc. International ECCV 2002 Workshop on Biometric Authentication, Springer, Lecture Notes in Computer Science, LNCS-2359, pp. 103 111, Copenhagen, Denmark, June 2002. Genetic Model Optimization

More information

ANALYSIS AND REASONING OF DATA IN THE DATABASE USING FUZZY SYSTEM MODELLING

ANALYSIS AND REASONING OF DATA IN THE DATABASE USING FUZZY SYSTEM MODELLING ANALYSIS AND REASONING OF DATA IN THE DATABASE USING FUZZY SYSTEM MODELLING Dr.E.N.Ganesh Dean, School of Engineering, VISTAS Chennai - 600117 Abstract In this paper a new fuzzy system modeling algorithm

More information

Simplicial Global Optimization

Simplicial Global Optimization Simplicial Global Optimization Julius Žilinskas Vilnius University, Lithuania September, 7 http://web.vu.lt/mii/j.zilinskas Global optimization Find f = min x A f (x) and x A, f (x ) = f, where A R n.

More information

Moving Object Segmentation Method Based on Motion Information Classification by X-means and Spatial Region Segmentation

Moving Object Segmentation Method Based on Motion Information Classification by X-means and Spatial Region Segmentation IJCSNS International Journal of Computer Science and Network Security, VOL.13 No.11, November 2013 1 Moving Object Segmentation Method Based on Motion Information Classification by X-means and Spatial

More information

ADAPTIVE TEXTURE IMAGE RETRIEVAL IN TRANSFORM DOMAIN

ADAPTIVE TEXTURE IMAGE RETRIEVAL IN TRANSFORM DOMAIN THE SEVENTH INTERNATIONAL CONFERENCE ON CONTROL, AUTOMATION, ROBOTICS AND VISION (ICARCV 2002), DEC. 2-5, 2002, SINGAPORE. ADAPTIVE TEXTURE IMAGE RETRIEVAL IN TRANSFORM DOMAIN Bin Zhang, Catalin I Tomai,

More information

International Journal of Scientific Research & Engineering Trends Volume 4, Issue 6, Nov-Dec-2018, ISSN (Online): X

International Journal of Scientific Research & Engineering Trends Volume 4, Issue 6, Nov-Dec-2018, ISSN (Online): X Analysis about Classification Techniques on Categorical Data in Data Mining Assistant Professor P. Meena Department of Computer Science Adhiyaman Arts and Science College for Women Uthangarai, Krishnagiri,

More information

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem Bindu Student, JMIT Radaur binduaahuja@gmail.com Mrs. Pinki Tanwar Asstt. Prof, CSE, JMIT Radaur pinki.tanwar@gmail.com Abstract

More information

CHAPTER 6 IDENTIFICATION OF CLUSTERS USING VISUAL VALIDATION VAT ALGORITHM

CHAPTER 6 IDENTIFICATION OF CLUSTERS USING VISUAL VALIDATION VAT ALGORITHM 96 CHAPTER 6 IDENTIFICATION OF CLUSTERS USING VISUAL VALIDATION VAT ALGORITHM Clustering is the process of combining a set of relevant information in the same group. In this process KM algorithm plays

More information

CT79 SOFT COMPUTING ALCCS-FEB 2014

CT79 SOFT COMPUTING ALCCS-FEB 2014 Q.1 a. Define Union, Intersection and complement operations of Fuzzy sets. For fuzzy sets A and B Figure Fuzzy sets A & B The union of two fuzzy sets A and B is a fuzzy set C, written as C=AUB or C=A OR

More information

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm Acta Technica 61, No. 4A/2016, 189 200 c 2017 Institute of Thermomechanics CAS, v.v.i. Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm Jianrong Bu 1, Junyan

More information

Cursive Handwriting Recognition System Using Feature Extraction and Artificial Neural Network

Cursive Handwriting Recognition System Using Feature Extraction and Artificial Neural Network Cursive Handwriting Recognition System Using Feature Extraction and Artificial Neural Network Utkarsh Dwivedi 1, Pranjal Rajput 2, Manish Kumar Sharma 3 1UG Scholar, Dept. of CSE, GCET, Greater Noida,

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

Robust Shape Retrieval Using Maximum Likelihood Theory

Robust Shape Retrieval Using Maximum Likelihood Theory Robust Shape Retrieval Using Maximum Likelihood Theory Naif Alajlan 1, Paul Fieguth 2, and Mohamed Kamel 1 1 PAMI Lab, E & CE Dept., UW, Waterloo, ON, N2L 3G1, Canada. naif, mkamel@pami.uwaterloo.ca 2

More information

Semi-Supervised Clustering with Partial Background Information

Semi-Supervised Clustering with Partial Background Information Semi-Supervised Clustering with Partial Background Information Jing Gao Pang-Ning Tan Haibin Cheng Abstract Incorporating background knowledge into unsupervised clustering algorithms has been the subject

More information

MODELING FOR RESIDUAL STRESS, SURFACE ROUGHNESS AND TOOL WEAR USING AN ADAPTIVE NEURO FUZZY INFERENCE SYSTEM

MODELING FOR RESIDUAL STRESS, SURFACE ROUGHNESS AND TOOL WEAR USING AN ADAPTIVE NEURO FUZZY INFERENCE SYSTEM CHAPTER-7 MODELING FOR RESIDUAL STRESS, SURFACE ROUGHNESS AND TOOL WEAR USING AN ADAPTIVE NEURO FUZZY INFERENCE SYSTEM 7.1 Introduction To improve the overall efficiency of turning, it is necessary to

More information

Shared Kernel Models for Class Conditional Density Estimation

Shared Kernel Models for Class Conditional Density Estimation IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 12, NO. 5, SEPTEMBER 2001 987 Shared Kernel Models for Class Conditional Density Estimation Michalis K. Titsias and Aristidis C. Likas, Member, IEEE Abstract

More information

Evolving SQL Queries for Data Mining

Evolving SQL Queries for Data Mining Evolving SQL Queries for Data Mining Majid Salim and Xin Yao School of Computer Science, The University of Birmingham Edgbaston, Birmingham B15 2TT, UK {msc30mms,x.yao}@cs.bham.ac.uk Abstract. This paper

More information

Available Online through

Available Online through Available Online through www.ijptonline.com ISSN: 0975-766X CODEN: IJPTFI Research Article ANALYSIS OF CT LIVER IMAGES FOR TUMOUR DIAGNOSIS BASED ON CLUSTERING TECHNIQUE AND TEXTURE FEATURES M.Krithika

More information

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

International Journal of Digital Application & Contemporary research Website:   (Volume 1, Issue 7, February 2013) Performance Analysis of GA and PSO over Economic Load Dispatch Problem Sakshi Rajpoot sakshirajpoot1988@gmail.com Dr. Sandeep Bhongade sandeepbhongade@rediffmail.com Abstract Economic Load dispatch problem

More information

Genetic Algorithm for Circuit Partitioning

Genetic Algorithm for Circuit Partitioning Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search A JOB-SHOP SCHEDULING PROBLEM (JSSP) USING GENETIC ALGORITHM (GA) Mahanim Omar, Adam Baharum, Yahya Abu Hasan School of Mathematical Sciences, Universiti Sains Malaysia 11800 Penang, Malaysia Tel: (+)

More information

Flexible-Hybrid Sequential Floating Search in Statistical Feature Selection

Flexible-Hybrid Sequential Floating Search in Statistical Feature Selection Flexible-Hybrid Sequential Floating Search in Statistical Feature Selection Petr Somol 1,2, Jana Novovičová 1,2, and Pavel Pudil 2,1 1 Dept. of Pattern Recognition, Institute of Information Theory and

More information

Robust Object Segmentation Using Genetic Optimization of Morphological Processing Chains

Robust Object Segmentation Using Genetic Optimization of Morphological Processing Chains Robust Object Segmentation Using Genetic Optimization of Morphological Processing Chains S. RAHNAMAYAN 1, H.R. TIZHOOSH 2, M.M.A. SALAMA 3 1,2 Department of Systems Design Engineering 3 Department of Electrical

More information

Pattern Recognition. Kjell Elenius. Speech, Music and Hearing KTH. March 29, 2007 Speech recognition

Pattern Recognition. Kjell Elenius. Speech, Music and Hearing KTH. March 29, 2007 Speech recognition Pattern Recognition Kjell Elenius Speech, Music and Hearing KTH March 29, 2007 Speech recognition 2007 1 Ch 4. Pattern Recognition 1(3) Bayes Decision Theory Minimum-Error-Rate Decision Rules Discriminant

More information

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used. 1 4.12 Generalization In back-propagation learning, as many training examples as possible are typically used. It is hoped that the network so designed generalizes well. A network generalizes well when

More information

Pattern Recognition Methods for Object Boundary Detection

Pattern Recognition Methods for Object Boundary Detection Pattern Recognition Methods for Object Boundary Detection Arnaldo J. Abrantesy and Jorge S. Marquesz yelectronic and Communication Engineering Instituto Superior Eng. de Lisboa R. Conselheiro Emídio Navarror

More information

Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms

Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms B. D. Phulpagar Computer Engg. Dept. P. E. S. M. C. O. E., Pune, India. R. S. Bichkar Prof. ( Dept.

More information

Short Survey on Static Hand Gesture Recognition

Short Survey on Static Hand Gesture Recognition Short Survey on Static Hand Gesture Recognition Huu-Hung Huynh University of Science and Technology The University of Danang, Vietnam Duc-Hoang Vo University of Science and Technology The University of

More information

Efficient Object Extraction Using Fuzzy Cardinality Based Thresholding and Hopfield Network

Efficient Object Extraction Using Fuzzy Cardinality Based Thresholding and Hopfield Network Efficient Object Extraction Using Fuzzy Cardinality Based Thresholding and Hopfield Network S. Bhattacharyya U. Maulik S. Bandyopadhyay Dept. of Information Technology Dept. of Comp. Sc. and Tech. Machine

More information

Train schedule diagram drawing algorithm considering interrelationship between labels

Train schedule diagram drawing algorithm considering interrelationship between labels Train schedule diagram drawing algorithm considering interrelationship between labels H. Izumi', N. Tomii',2 The University of Electro-Communications, Japan. 2Railway Technical Research Institute, Japan.

More information

Artificial Intelligence. Programming Styles

Artificial Intelligence. Programming Styles Artificial Intelligence Intro to Machine Learning Programming Styles Standard CS: Explicitly program computer to do something Early AI: Derive a problem description (state) and use general algorithms to

More information

The k-means Algorithm and Genetic Algorithm

The k-means Algorithm and Genetic Algorithm The k-means Algorithm and Genetic Algorithm k-means algorithm Genetic algorithm Rough set approach Fuzzy set approaches Chapter 8 2 The K-Means Algorithm The K-Means algorithm is a simple yet effective

More information

Hybrid Face Recognition and Classification System for Real Time Environment

Hybrid Face Recognition and Classification System for Real Time Environment Hybrid Face Recognition and Classification System for Real Time Environment Dr.Matheel E. Abdulmunem Department of Computer Science University of Technology, Baghdad, Iraq. Fatima B. Ibrahim Department

More information

COMPUTER AND ROBOT VISION

COMPUTER AND ROBOT VISION VOLUME COMPUTER AND ROBOT VISION Robert M. Haralick University of Washington Linda G. Shapiro University of Washington A^ ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California

More information

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague. Evolutionary Algorithms: Lecture 4 Jiří Kubaĺık Department of Cybernetics, CTU Prague http://labe.felk.cvut.cz/~posik/xe33scp/ pmulti-objective Optimization :: Many real-world problems involve multiple

More information

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms.

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms. Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms. Gómez-Skarmeta, A.F. University of Murcia skarmeta@dif.um.es Jiménez, F. University of Murcia fernan@dif.um.es

More information

Introduction to Mobile Robotics

Introduction to Mobile Robotics Introduction to Mobile Robotics Clustering Wolfram Burgard Cyrill Stachniss Giorgio Grisetti Maren Bennewitz Christian Plagemann Clustering (1) Common technique for statistical data analysis (machine learning,

More information

A Modified Spline Interpolation Method for Function Reconstruction from Its Zero-Crossings

A Modified Spline Interpolation Method for Function Reconstruction from Its Zero-Crossings Scientific Papers, University of Latvia, 2010. Vol. 756 Computer Science and Information Technologies 207 220 P. A Modified Spline Interpolation Method for Function Reconstruction from Its Zero-Crossings

More information

The Design of Pole Placement With Integral Controllers for Gryphon Robot Using Three Evolutionary Algorithms

The Design of Pole Placement With Integral Controllers for Gryphon Robot Using Three Evolutionary Algorithms The Design of Pole Placement With Integral Controllers for Gryphon Robot Using Three Evolutionary Algorithms Somayyeh Nalan-Ahmadabad and Sehraneh Ghaemi Abstract In this paper, pole placement with integral

More information

CORRELATION BASED CAR NUMBER PLATE EXTRACTION SYSTEM

CORRELATION BASED CAR NUMBER PLATE EXTRACTION SYSTEM CORRELATION BASED CAR NUMBER PLATE EXTRACTION SYSTEM 1 PHYO THET KHIN, 2 LAI LAI WIN KYI 1,2 Department of Information Technology, Mandalay Technological University The Republic of the Union of Myanmar

More information

Dimension Reduction of Image Manifolds

Dimension Reduction of Image Manifolds Dimension Reduction of Image Manifolds Arian Maleki Department of Electrical Engineering Stanford University Stanford, CA, 9435, USA E-mail: arianm@stanford.edu I. INTRODUCTION Dimension reduction of datasets

More information

ADVANCED IMAGE PROCESSING METHODS FOR ULTRASONIC NDE RESEARCH C. H. Chen, University of Massachusetts Dartmouth, N.

ADVANCED IMAGE PROCESSING METHODS FOR ULTRASONIC NDE RESEARCH C. H. Chen, University of Massachusetts Dartmouth, N. ADVANCED IMAGE PROCESSING METHODS FOR ULTRASONIC NDE RESEARCH C. H. Chen, University of Massachusetts Dartmouth, N. Dartmouth, MA USA Abstract: The significant progress in ultrasonic NDE systems has now

More information

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING International Journal of Latest Research in Science and Technology Volume 3, Issue 3: Page No. 201-205, May-June 2014 http://www.mnkjournals.com/ijlrst.htm ISSN (Online):2278-5299 AN EVOLUTIONARY APPROACH

More information

Handwritten Script Recognition at Block Level

Handwritten Script Recognition at Block Level Chapter 4 Handwritten Script Recognition at Block Level -------------------------------------------------------------------------------------------------------------------------- Optical character recognition

More information

Adaptive Training of Radial Basis Function Networks Based on Cooperative Evolution and Evolutionary Programming

Adaptive Training of Radial Basis Function Networks Based on Cooperative Evolution and Evolutionary Programming Adaptive Training of Radial asis Function Networks ased on Cooperative Evolution and Evolutionary Programming Alexander P. Topchy, Oleg A. Lebedko, Victor V. Miagkikh and Nikola K. Kasabov 1 Research Institute

More information

Fractional Discrimination for Texture Image Segmentation

Fractional Discrimination for Texture Image Segmentation Fractional Discrimination for Texture Image Segmentation Author You, Jia, Sattar, Abdul Published 1997 Conference Title IEEE 1997 International Conference on Image Processing, Proceedings of the DOI https://doi.org/10.1109/icip.1997.647743

More information

Active contour: a parallel genetic algorithm approach

Active contour: a parallel genetic algorithm approach id-1 Active contour: a parallel genetic algorithm approach Florence Kussener 1 1 MathWorks, 2 rue de Paris 92196 Meudon Cedex, France Florence.Kussener@mathworks.fr Abstract This paper presents an algorithm

More information

2. LITERATURE REVIEW

2. LITERATURE REVIEW 2. LITERATURE REVIEW CBIR has come long way before 1990 and very little papers have been published at that time, however the number of papers published since 1997 is increasing. There are many CBIR algorithms

More information

TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES

TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES TEXT DETECTION AND RECOGNITION IN CAMERA BASED IMAGES Mr. Vishal A Kanjariya*, Mrs. Bhavika N Patel Lecturer, Computer Engineering Department, B & B Institute of Technology, Anand, Gujarat, India. ABSTRACT:

More information

10-701/15-781, Fall 2006, Final

10-701/15-781, Fall 2006, Final -7/-78, Fall 6, Final Dec, :pm-8:pm There are 9 questions in this exam ( pages including this cover sheet). If you need more room to work out your answer to a question, use the back of the page and clearly

More information

PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director of Technology, OTTE, NEW YORK

PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director of Technology, OTTE, NEW YORK International Journal of Science, Environment and Technology, Vol. 3, No 5, 2014, 1759 1766 ISSN 2278-3687 (O) PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director

More information

Fabric Textile Defect Detection, By Selection An Suitable Subset Of Wavelet Coefficients, Through Genetic Algorithm

Fabric Textile Defect Detection, By Selection An Suitable Subset Of Wavelet Coefficients, Through Genetic Algorithm Fabric Textile Defect Detection, By Selection An Suitable Subset Of Wavelet Coefficients, Through Genetic Algorithm Narges Heidari azad university, ilam branch narges_hi@yahoo.com Boshra Pishgoo Department

More information

Chapter 14 Global Search Algorithms

Chapter 14 Global Search Algorithms Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.

More information

Document Text Extraction from Document Images Using Haar Discrete Wavelet Transform

Document Text Extraction from Document Images Using Haar Discrete Wavelet Transform European Journal of Scientific Research ISSN 1450-216X Vol.36 No.4 (2009), pp.502-512 EuroJournals Publishing, Inc. 2009 http://www.eurojournals.com/ejsr.htm Document Text Extraction from Document Images

More information