Proceedings of the 2019 eC 6th Student Computer Science Research oSR Conference C Stu University of Primorska Press StuCoSReC Preface Proceedings of the 2019 6th Student Computer Science Research Conference Computer science is now among the most popular study programmes worldwide. We live in a digital age where Edited by most industries rely on data and software programmes. Iztok Fister Jr., Andrej Brodnik, Matjaž Krnc From transport infrastructure to public health systems, and Iztok Fister banking and communications, computer science is everywhere. Technology has made the world better, Reviewers and Programme Committee Andrej Brodnik, Chair faster, and more connected. However, it is easy to miss ■ University of Primorska, Slovenia Iztok Fister, Chair an important component of this exciting success story. ■ University of Maribor, Slovenia Iztok Fister Jr., Chair ■ University of Maribor, Slovenia Such development was made possible thanks to the Matjaž Krnc, Chair ■ University of Primorska, Slovenia brilliant minds of IT graduates, who took their passion Nikolaj Zimic, Chair ■ University of Ljubljana, Slovenia for technology and used it to create ground breaking Amina Alić ■ University of Maribor, Slovenia Klemen Berkovič gadgets and computer programmes. Here in Slovenia, ■ University of Maribor, Slovenia Zoran Bosnić the three public universities share these values and ■ University of Ljubljana, Slovenia Borko Bošković ■ University of Maribor, Slovenia invest heavily in their computer science students. These Janez Brest ■ University of Maribor, Slovenia efforts facilitate collaboration among our departments, Lucija Brezočnik ■ University of Maribor, Slovenia resulting in joint events such as this StuCoSRec student Patricio Bulić ■ University of Ljubljana, Slovenia conference. Mojca Ciglarič ■ University of Ljubljana, Slovenia Jani Dugonik We are proud that, over the past five years, these ■ University of Maribor, Slovenia Matjaž Gams ■ Jozef Stefan Institute, Slovenia Student Computer Science Research Conferences Mario Gorenjak ■ University of Maribor, Slovenia have grown in several ways. In this 6th installment, we Andres Iglesias ■ Universidad de Cantabria, Spain received 24 full-paper submissions and one abstract Sašo Karakatič ■ University of Maribor, Slovenia submission. Among these, 21 papers were accepted Branko Kavšek ■ University of Primorska, Slovenia to these proceedings, and 22 talks are scheduled to Štefan Kohek ■ University of Maribor, Slovenia be presented during the conference, in three parallel Miklos Kresz ■ University of Szeged, Hungary sessions. The continued internationalization of our Niko Lukač ■ University of Maribor, Slovenia departments is also reflected with the authors of ten Marjan Mernik ■ University of Maribor, Slovenia Uroš Mlakar full-paper submissions originating from outside of ■ University of Maribor, Slovenia Eneko Osaba Slovenia. ■ University of Deusto, Spain Vili Podgorelec ■ University of Maribor, Slovenia The conference is dedicated to graduate and Jan Popič ■ University of Maribor, Slovenia undergraduate students of computer science and is Peter Rogelj ■ University of Primorska, Slovenia therefore free of charge. We gratefully acknowledge Damjan Vavpotič ■ University of Ljubljana, Slovenia Grega Vrbančič the support of the Faculty of Mathematics, Natural ■ University of Maribor, Slovenia Borut Žalik Sciences and Information Technologies (University of ■ University of Maribor, Slovenia Primorska). Published by University of Primorska Press Titov trg 4, si-6000 Koper Matjaž Krnc Editor-in-Chief Jonatan Vinkler Managing Editor Alen Ježovnik Koper, 2019 isBN 978-961-7055-82-5 (pdf) www.hippocampus.si/isBN/978-961-7055-82-5.pdf isBN 978-961-7055-83-2 (html) www.hippocampus.si/isBN/978-961-7055-83-2/index.html DOI: https://doi.org/10.26493/978-961-7055-82-5 © University of Primorska Press Kataložni zapis o publikaciji (CIP) pripravili v Narodni in univerzitetni knjižnici v Ljubljani COBISS.SI-ID=302029568 ISBN 978-961-7055-82-5 (pdf) ISBN 978-961-7055-83-2 (html) Contents Preface II Papers LSTM Network for Stock Trading ◆ Dušan Fister and Timotej Jagrič 5–8 Defining computational thinking framework for introductory programming in higher education 9–12 ◆ Boštjan Bubnič Passive Floating Probe ◆ Michele Perrone, Urban Knupleš, Mitja Žalik, Vid Keršič and Tadej Šinko 13–17 Efficient Collision Detection for Path Planning for Industrial Robots ◆ László Zahorán and András Kovács 19–22 Sensitivity analysis for p-median problems ◆ Ágnes Vida and Boglárka G.-Tóth 23–26 A two-stage heuristic for the university course timetabling problem ◆ Máté Pintér and Balázs Dávid 27–30 Detection of different shapes and materials by glasses for blind and visually impaired ◆ Urban Košale, Pia Žnidaršič and Kristjan Stopar 31–34 Comparison of clustering optimization for classification with PSO algorithms ◆ Klemen Berkovič, Uroš Mlakar, Borko Bošković, Iztok Fister and Janez Brest 35–42 Hierarchical Routing Algorithm for Industrial Mobile Robots by Signal Temporal Logic Specifications 43–47 ◆ Balázs Csutak, Tamás Péni and Gábor Szederkényi Decolorization of Digital Pathology Images: A Comparative Study ◆ Krishna Gopal Dhal, Swarnajit Ray, Arunita Das, Iztok Fister Jr. and Sanjoy Das 49–52 Solving multi-depot vehicle routing problem with particle swarm optimization ◆ Matic Pintarič and Sašo Karakatič 53–56 Recognizing the subject exposure from the EEG signals with artificial neural networks ◆ Sašo Pavlič and Sašo Karakatič 57–60 Transfer Learning Tuning Utilizing Grey Wolf Optimizer for Identification of Brain Hemorrhage from Head CT Images 61–66 ◆ Grega Vrbančič, Milan Zorman and Vili Podgorelec System for remote configuration and over the air updates in restricted environments ◆ Marko Zabreznik and Jernej Kranjec 67–70 Covering problems and Influence maximization ◆ Gyöngyvér Vass and Boglárka G.-Tóth 71–74 StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October III Strong deep learning baseline for single lead ECG processing ◆ Csaba Botos, Tamás Hakkel, Márton Áron Goda, István Z. Reguly and András Horváth 75–83 Primerjava osnovnega algoritma po vzoru obnašanja netopirjev in njegove hibridne različice HBA 85–90 ◆ Žan Grajfoner and Lucija Brezočnik Nadgradnja algoritma FLORS za besednovrstno označevanje slovenskih besedil ◆ Domen Kavran, Robi Novak, Jan Banko, Rok Potočnik, Luka Pečnik and Borko Bošković 91–99 Analiza igralnih strategij v iterativni zaporniški dilemi ◆ Klemen Kac and Bor Praznik 101–106 Napovedovanje nogometnega zmagovalca z rekurentno nevronsko mrežo LSTM ◆ Nejc Planer and Mladen Borovič 107–110 Izboljšanje zaznave sovražnega in zlonamernega govora s pomočjo slovarja besed ◆ Sašo Kolac, Aljaž Soderžnik, Simon Slemenšek and Borko Bošković 111–114 Investigating patterns using cellular automata ◆ László Tóth 115 StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October IV Online Long Short-Term Memory Network for Stock Trading Dušan Fister Timotej Jagrič Univerza v Mariboru, Ekonomsko-poslovna Univerza v Mariboru, Ekonomsko-poslovna fakulteta, fakulteta, Razlagova 14, Razlagova 14, SI-2000 Maribor, Slovenia SI-2000 Maribor, Slovenia dusan.fister1@um.si timotej.jagric@um.si ABSTRACT sive trading strategy. LSTMs are found usable in broad ar- Economic theory teaches that it is impossible to earn higher- eas, such as sentence classification [2], trajectory prediction than-normal returns on trading stocks, and that the only of autonomous vehicles [9], flood forecasting [8] and malware chance to earn higher profits is to take higher risk. Often, detection [15]. Furthermore, LSTM are used in engineering the practice reveals that higher-than-normal stock returns for estimating remaining useful life of systems [17] and in may indeed be earned, which is a hypothesis we would like medicine for automated diagnosis of arrhythmia [11]. The to empirically test. In this way, we design so-called mechan- structure of the paper is as follows: chapter two outlines ical trading system, which focuses on the technical analysis the fundamentals of LSTM networks. Chapter three lists of past stock data, and perform daily trading for the Ger- the information about the dataset and explains methodol- man stock from period 2010-2019. Long short-term memory ogy. Chapter four shows the experiments and results, while network is taken as a basis of the mechanical trading sys- chapter five concludes the paper. tem. Obtained results show that higher-than-normal returns are easily obtainable, which polemicizes the efficiency of the 2. LONG SHORT-TERM MEMORY observed stock. Long short-term memory networks (LSTMs) are a kind of artificial neural networks, specifically designed to deal with Keywords sequential and dynamic data [6]. LSTMs are recurrent neu- ral networks (RNN) with an agile structure that attempt LSTM networks, mechanical trading system, stock trading to remember long-term dependencies and prevent both the usual RNN problems: exploding and vanishing gradients.The 1. INTRODUCTION benefit of the LSTM lies in a memory cell, i.e. central el- Efficient market hypothesis (EMH) states that asset prices ement of the network, and the three kinds of gates which fully reflect all information available [3] and that asset prices control the flow of information. Memory cell accumulates quickly incorporate any new information without delay. Con- the internal state by supplying the sequences of data. Each sequently, higher-than-normal returns cannot be achieved gates constitutes of weights, which are adapted during the and predictions of future prices cannot be valuable [10]. learning process [5]. Figure 1 shows the structure of the Stocks strictly follow a random walk (are unpredictable) and usual LSTM. The common LSTM structure consists of the it is impossible to beat the market. Malkiel [10] reports op- posite opinion, where he states that market inefficiencies and MEMORY CELL arbitrage opportunities to earn higher-than-normal returns indeed exist. A sample of these includes market bubbles, FORGET INPUT OUTPUT GATE GATE GATE market crashes and other irrational pricing. Pedersen [12] x + even outlines common investment strategies to detect arbi- trage opportunities. To investigate any market inefficien- tanh cies for a case study of Germany, we employ a single-stock x x automated mechanical trading system (MTS). As a bench- mark, we choose the stock Daimler AG. We implement the sigmoid sigmoid tanh sigmoid MTS trading strategy using the long short-term memory network (LSTM) and compare its performance to the pas- Figure 1: LSTM structure. forget, input and output gate. Forget gate, which is a sim- ple sigmoid function, is used to filtrate past information to be brought into following time step. Input gate, which is a combination of sigmoid and tanh functions, is used to enter new information into the memory cell. Output gate, StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference StuCoSReC DOI: https://doi.org/10.26493/978-961-7055-82-5.5-8 Koper, Slovenia, 10 October 5 which is also a combination of sigmoid and tanh function, writing. It is one of the blue-chip stocks, listed in the index is used to output relevant information from the memory of 30 most prominent German companies DAX30. The stock cell and transfer the information into following time step. data is obtained from Yahoo Finance website1, during the LSTM layer can be single, or stacked into multi-layered net- period from 4 Jan 2010 - 7 Jun 2019 on a daily basis. Fol- works. Figure 1 shows the individual LSTM layer, which lowing data is downloaded: the highest daily price (High), is sufficient for many cases. For more comprehensive (e.g. the lowest daily price (Low), open price (Open), close price non-stationary) data, [1] suggests the use of stacked LSTM (Close), daily volume (V olume) and adjusted close price network, e.g. two individual LSTM layers composed into a (AdjClose). The data is downloaded for the Daimler AG single network. stock and DAX30 industrial index. Composing those two into a dataset, several other variables are derived from. In Table 1: Dataset variables, used during trading. this way, a more expanded, detailed and concrete dataset is Explanatory variables Vars. built. Table 1 lists the dataset variables. There are 12 stock 1. Stock and market data: and market data variables, 5 variables which symbolize the open, close, high, low, adj. close, volume 12 date and 8 technical indicators. 10 stock returns (RET) are extracted, ranging from 1-day returns to 10-day returns. 2 2. Date data: stock differences (DIFF) are obtained as differences between month, day, day of week, days to next today and yesterday’s price and today’s price and price 2 5 trading day, days from previous trading day days ago. Difference of returns (DIFF RET) is calculated by subtracting the stock returns. Relative strength indicator 3. Technical indicators: (RSI) and moving average convergence divergence (MACD) RET: n = {1, 2, 3, ..., 10}-day period 10 are common trading indicators. Inclination (INCL) is ob- DIFF: n = {1, 2}-day period 2 tained by calculating the regression coefficient over n pe- DIFF RET: n = {1, 2}-day period 2 riods of stock prices. Inclination change (INCL CHG) is RSI: 14-day period RSI 1 calculated from the 5-day inclination and the 5-day inclina- MACD: 12-day short, 26-day long tion five days ago and current 5-day inclination to current 1 and 9-day signal period 10-day, 15-day and 20-day inclinations. Relative differences INCL: n = {5, 10, 15, 20}-day period 4 (REL DIFF) are obtained as ratio between close and open INCL CHG: 4 prices, and high and low prices. Response variable (y) is REL DIFF: 2 generated by deriving the 1-day stock returns. If the under- lying stock return overcomes the fixed threshold, set at 0.01 Sum 43 (1%) in our case, the response variable is marked as Buy. Furthermore, if the stock return exceeds the negative value 3. MECHANICAL TRADING SYSTEM of threshold, it is marked as Sell. If it does not exceed any LSTMs can be applied to diverse problems and domains of of the two, it is marked as Hold. These signals are encoded sequential data. In this paper, we apply the LSTM for clas- in binary form to fulfill the requirements of the dense layer. sification problem, which drives the MTS. MTS follows the underlying daily stock prices and outputs the three common 3.2 Methodology trading decisions respectively: buy, hold and sell. Accord- The work with LSTM is divided into two samples, i.e. train- ing to the trading decisions, stocks are bought, sold or held ing and prediction, since LSTM is a modeling tool and thus in the portfolio. Since the movement of stock prices affects needs some data to be trained from. Initially, the train- the portfolio value, it is desired that the current and final ing sample of the LSTM is used for offline training and is value of portfolio (and thus profit), is maximized. For imple- intended to capture general long-term stock dependencies. mentation of MTS, we assume (1) perfect liquidity of stocks It is performed only once. Additionally, an online learning and (2) close price trading. Perfect liquidity means that and regular re-train of the LSTM is applicable to update the stocks can be sold or bought instantly. Close price trading pre-built LSTM model with the latest information, i.e. lat- means that stocks are traded at the close price, just after est stock price movements. The procedure of training and the market close. The MTS trades with stocks daily. Here, prediction samples is explained in Algorithm 1. First the only the relevant historic daily trading data is supplied. No stock data (dataset) is normalized in range(0,1) and batch additional information, such as company’s financial reports size b is defined. Dataset is split into two samples. In- and other statements, are taken into account, since these sample is used for the offline training and after, the memory are available for longer time periods only, e.g. a quarter cell is reset. The LSTM is used to predict the in-sample of a year. The LSTM is thus able to extract daily trad- and establish a stable memory cell. Predictions on the in- ing patterns and identify trading opportunities that arise by sample are biased and are not used for real trading. After behavioural acting of ordinary investors. These are often the internal state is established, the out-of-sample is used for psychologically-affected and subjected to phenomena, such prediction. Since stacked LSTMs require the batch size to as panicking and following the herd instinct. Those two be divisible from the number of samples, the first b-samples largely drive the price of a stock and forecasting them may from out-of-sample are only used for prediction each time. be beneficial to earn higher-than-normal returns. Its solutions are appended into a vector, to be evaluated later. The iterative online training comes next, where each 3.1 Dataset time, the b-samples are transferred from out-of-sample to Daimler AG is a German automotive company, with approx- in-sample. By expanding the in-sample for b-samples, out- imately 50 B Eur of market capitalization, 1.07 B of shares outstanding and almost 4.6 M of trades daily, at the time of 1https://finance.yahoo.com StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 6 Algorithm 1 Algorithm of online LSTM training. the rest 30% to out-of-sample. Framework is implemented 1: procedure Online LSTM training in the Python programming language, using the Keras Deep 2: NORMALIZE(dataset); Learning Library2. A two layered stacked LSTM and Adam 3: DEFINE b . define batch size optimizer are used [7]. Figure 2 outlines the structure of the 4: in-sample,out-of-sample=SPLIT(dataset); used network, while the table 2 the algorithm setup. Trad- 5: for no. of epochs do . number of epochs ing costs of 1% are adopted, according to literature [13, 14, 6: model ← TRAIN(in-sample); . offline training 16], which come into play when buying or selling stocks. 7: end for 8: RESET STATE(model) . reset memory cell state YAHOO 9: PREDICT(in-sample) . establish memory cell state Finance 10: decision ← PREDICT(out-of-sample[0:b]) 11: while out-of-sample do DENSE DATASET 12: in-sample=APPEND(out-of-sample[0:b]) Buy 13: out-of-sample=REMOVE(out-of-sample[0:b]) in-sample LSTM LSTM Hold y 14: RESET STATE(model) out-of- 15: for no. of epochs / 100 do sample Sell 16: model ← RETRAIN(in-sample); . online training 17: end for Figure 2: Structure of the network. 18: RESET STATE(model) Experiments are conducted using the out-of-sample back- 19: PREDICT(in-sample) testing. The higher the final portfolio value, the better the 20: decision ← PREDICT(out-of-sample[0:b]) . trading strategy. Results are reported graphically. Figure 3 append first b predictions presents the flow of trading, where the x-axis shows the trad- 21: end while ing days and the y-axis shows the portfolio value. Dashed 22: results ← BACKTEST(decision) line equates to passive trading strategy, while the solid line 23: INTERPRET RESULTS to MTS using the LSTM trading strategy. The greater the 24: end procedure difference of solid line, compared to dashed line, the higher the excess profit. Passive trading strategy implements a single transaction and single transaction costs. From the of-sample is simultaneously reduced for the same amount. day 450, passive strategy starts losing portfolio value below The LSTM pre-built model is then retrained using the ex- the initial amount of cash. In the end it scores 25.28% of panded in-sample, which practically means that b trading loss. Although the LSTM on the other hand implements days need to (physically) pass prior any LSTM online re- 6 transactions and thus increases transaction costs signifi- train occurs. For retraining, a lower number of the number cantly, it behaves much more beneficially. When the MTS of epochs is taken. The memory cell is next reset and the detects that the stock price is about to rise, it buys stocks, expanded in-sample predicted to establish internal state of and when detects the price to fall, it sells them. The LSTM the memory cell. Next, the first b-samples of the remaining scores the 16.02% of profit and thus overcomes the passive out-of-sample are predicted and its solutions appended in trading strategy for more than 55%. the decision vector. Table 2: Algorithm setup. The quality of the MTS trading strategy, i.e. decision vec- Parameter Value tor, is evaluated using the back-testing approach. By back- Batch size b 15 testing, the MTS is put into history and is given an ini- No. of epochs 1000 tial amount of cash, which is used to buy stocks during the Learning rate 0.001 trading. MTS follows underlying movement of stock prices Optimizer Adam day-by-day and trades with stocks in a continual trading No. of units LST M1 10 process. If the LSTM supposes that tomorrow’s close price No. of units LST M2 10 of a stock will increase over the preset threshold, it gives the signal to buy. Alternatively, if the price is expected to drop below the threshold, the MTS gives the signal to sell. 5. CONCLUSIONS Once the signal to buy (buy) is classified, maximum number Efficient market hypothesis states that technical analysis is of stocks, reduced for transaction costs, are bought for the worthless for predicting the stock market performance. To current amount of money. Similarly, when the signal to sell test the validity of this hypothesis, we have applied the (sell) is classified, all the stocks are sold and the amount stacked long short-term memory network for trading the is lowered for transaction costs. No information about any German stock Daimler AG from year 2010 to 2019. Back- forthcoming stock prices is specified at any time. testing approach was used to evaluate the quality of trad- ing decisions. Implemented trading strategy significantly 4. EXPERIMENTS AND RESULTS outperformed the passive trading strategy and found many arbitrage opportunities and other inefficiencies. Obtained The goal of the experimental work is to show that auto- results coincide with the results from a more detailed study mated MTS using the LSTM trading strategy can be used in [4]. Results show that it is possible to generate higher- to catch excess profits (higher-than-normal returns) on trad- than-normal returns by relying on the technical analysis ing stocks. Daimler AG stock is taken as a benchmark. Its dataset is split 70%-30%, where 70% goes to in-sample and 2https://keras.io StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 7 14000 600 LSTM 12000 PASSIVE 500 10000 400 cks value 8000 sto 300 ofer 6000 b ortfolioP 200 Num 4000 2000 100 0 0 0 100 200 300 400 500 600 700 Trading days Figure 3: Comparison between the automated MTS with LSTM trading strategy and passive trading strategy. only. We conclude that either stock is inefficient, or the flood forecasting. Water, 11(7):1387, 2019. technical analysis is indeed a very efficient tool. We agree [9] L. Lin, S. Gong, T. Li, and S. Peeta. Deep that arbitrage opportunities are partly conditional to the learning-based human-driven vehicle trajectory level of volatility of stock prices, since the higher the volatil- prediction and its application for platoon control of ity, the higher the arbitrage opportunities. Volatility to its connected and autonomous vehicles. In The nature comes with constant reception of new information – Autonomous Vehicles Symposium, volume 2018, 2018. the EMH states that stock prices quickly adjust to new infor- [10] B. G. Malkiel. The efficient market hypothesis and its mation. If new information is constantly received, volatility critics. Journal of economic perspectives, 17(1):59–82, is necessarily implied as well. For future work, we would like 2003. to implement a multi-stock MTS with LSTMs. Instead of [11] S. L. Oh, E. Y. Ng, R. San Tan, and U. R. Acharya. single-stock returns, we would like to examine the portfolio Automated diagnosis of arrhythmia using combination returns. For example, German stocks in stock index DAX30 of cnn and lstm techniques with variable length heart would be suitable for such an analysis. beats. Computers in biology and medicine, 102:278–287, 2018. 6. REFERENCES [12] L. H. Pedersen. Efficiently inefficient: how smart [1] J. Brownlee. Long Short-term Memory Networks with money invests and market prices are determined. Python: Develop Sequence Prediction Models with Princeton University Press, 2015. Deep Learning. Jason Brownlee, 2017. [13] H. Shin and S. Y. Sohn. Segmentation of stock trading [2] Z. Ding, R. Xia, J. Yu, X. Li, and J. Yang. Densely customers according to potential value. Expert systems connected bidirectional lstm with applications to with applications, 27(1):27–33, 2004. sentence classification. In CCF International [14] V. Šonje, D. Alajbeg, and Z. Bubaš. Efficient market Conference on Natural Language Processing and hypothesis: is the croatian stock market as (in) Chinese Computing, pages 278–287. Springer, 2018. efficient as the us market. Financial theory and [3] E. F. Fama. Efficient capital markets: A review of practice, 35(3):301–326, 2011. theory and empirical work. The journal of Finance, [15] R. Vinayakumar, K. Soman, P. Poornachandran, and 25(2):383–417, 1970. S. Sachin Kumar. Detecting android malware using [4] D. Fister, J. Mun, V. Jagrič, and T. Jagrič. Deep long short-term memory (lstm). Journal of Intelligent learning for stock market trading: A superior trading & Fuzzy Systems, 34(3):1277–1288, 2018. strategy? Neural Network World, 29(3):151–171, 2019. [16] B. W. Weber. Screen-based trading in futures [5] F. A. Gers, J. Schmidhuber, and F. Cummins. markets: recent developments and research Learning to forget: Continual prediction with lstm. propositions. In Proceedings of the 32nd Annual 1999. Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full [6] S. Hochreiter and J. Schmidhuber. Long short-term Papers, pages 10–pp. IEEE, 1999. memory. Neural computation, 9(8):1735–1780, 1997. [17] Y. Wu, M. Yuan, S. Dong, L. Lin, and Y. Liu. [7] D. P. Kingma and J. Ba. Adam: A method for Remaining useful life estimation of engineered systems stochastic optimization. arXiv preprint using vanilla lstm neural networks. Neurocomputing, arXiv:1412.6980, 2014. 275:167–179, 2018. [8] X.-H. Le, H. V. Ho, G. Lee, and S. Jung. Application of long short-term memory (lstm) neural network for StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 8 Defining computational thinking framework for introductory programming in higher education Boštjan Bubnič University of Maribor Faculty of Electrical Engineering and Computer Science bostjan.bubnic@student.um.si ABSTRACT drawing on the concepts fundamental to CS [25]. She also Computational thinking (CT) is gaining recognition as an argued that computational thinking is a fundamental skill important skill set for the general problem solving. Altho- for everyone, not just for the computer scientists. The shift ugh CT has its origin in computer science and program- from the CS to the general problem solving domain increased ming, there is a great interest of researchers and educators attention among researchers, educators and practitioners in to explore how to include CT in all scientific and engineering exploring how to include CT across the educational spec- disciplines, as well as in kindergarten to 12th grade educa- trum and in everyday life. However, the broad spectrum of tion (K-12) curriculum. To determine the effective methods perspectives on CT also presents challenges to teaching, le- for teaching, learning and assessing CT, a definition and its arning and assessing CT. The diverse spectrum of concepts, scope is needed. To date there is no consensus in terms of skills and practices under the umbrella of CT resulted in formal CT definition as well as the definitive or necessary the lack of clarity as to what computational thinking should components of CT. However, our study builds upon the con- be. In this regard, to date there is no consensus concerning sensus that multiple skills are involved in CT. The result of the definition and the scope of CT, nor there is a consensus this study is the CT framework proposal to be used in in- about the definitive or necessary components that consti- troductory programming courses in higher education. The tute CT. Nevertheless, it is generally agreed that multiple framework is an intersection of previous research that has skills are involved in CT [18]. Moreover, researchers have identified basic, domain independent components of CT and begun to characterize computational thinking by means of domain specific programming practices. We hope that the CT taxonomies and frameworks, where particular concepts framework will encourage the future research on teaching and practices were observed. and assessing CT in the higher education. This work expanded upon our previous work where general, Keywords domain independent components of CT were identified [4]. Moreover, the aforementioned study motivated this work. Computetional thinking, Framework, Introductory program- The main contribution of this paper is the definition of com- ming, Higher education putational thinking framework that was sourced from the general, domain independent CT components. It is inten- 1. INTRODUCTION ded to be used in the higher education institutions. We Computational thinking (CT) has a long history within com- envision this work to serve as a foundation for designing CT puter science (CS). It was known under the terms ”algori- instruments and course materials to assess and foster com- thmizing” and ”algorithmic thinking” in the 1950s and 1960s, putational thinking for CS majors and non-CS majors. The when it was considered as a mental practice for problem proposed framework is also aligned with the particular CS conceptualization, for inventing formalisms and concepts to curriculum categories [17]. solve problems [22]. In the educational context, the CT phrase was introduced by Seymour Papert in the 1980s, when he was teaching Logo, an educational programming 2. RELATED WORK language, to improve students’s ability to think procedurally When computational thinking was reintroduced by Wing [12]. Recently, the term was reintroduced and popularized [25], abstraction and decomposition were the fundamental by Wing who described CT as a way of solving problems, components. The initial set of components were later refi- designing systems, and understanding human behavior by ned with automation. After initial component conceptuali- zation, researchers have begun to characterize computatio- nal thinking by means of CT taxonomies and frameworks. This section presents a brief description of related work with the focus on the frameworks and taxonomies that are appli- cable to higher education with the emphasis on CS domain. Gouws et al. [7] defined a framework of six distinct skills and practices that served as the foundation for the asses- sment design, where the intervention was applied to intro- ductory computer science course (CS1) students. Billion- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.9-12 Koper, Slovenia, 10 October 9 niere [1] assessed CS1 students’ comprehension within ab- within our previous study, while only algorithm, abstrac- straction, arrays of objects, and inheritance. The results tion and decomposition appeared to be relevant, domain in- of the assessment were categorized into five computational dependent CT components. The relevance was evaluated thinking concepts. Romero et al. [16] proposed a framework according to the frequency identified in a literature review. for evaluating CT in creative programming activities. The Within our CTF, they are represented on the vertical axis. intervention was applied to undergraduate students of a ba- Algorithms can be generally defined as procedural building chelor’s degree in elementary school education. Peteranetz blocks of a computer programming, of a human thought and et al. [14] report on fostering computational thinking thro- of a general problem solving [4]. In the theoretical computer ugh computational creativity based on an online course that science, an algorithm is defined as a procedure that satisfies was tailored for non-CS majors. Rambally [15] proposed a the criteria of finiteness, input, output, effectiveness, and framework of CT skills and practices that were integrated definiteness [8]. However, in our framework an algorithm into discrete structures course, which was a required course is associated with constructing an algorithmic solution to a for all Information Technology majors. Finally, the two most problem to be solved. In educational context, this practice cited papers in context of CT frameworks appear to be Bren- is referred as algorithmic thinking. nan and Resnick [3] and Weintrop et al. [24]. Although none Abstraction can generally be characterized as the conceptual of the papers was aimed for the CT within higher education, process of eliminating specificity by ignoring certain featu- there are studies that build on these particular papers in the res. Abstraction is closely related to the modeling concept context of higher education. and to the concept of generalization. The model is abstrac- tion of a real or a conceptual complex system. Abstraction 3. PROPOSED FRAMEWORK levels and the hierarchy of abstraction are important aspects in the models design practice. In software engineering, ab- Algorithm, abstraction and decomposition, previously iden- straction involves the extraction of properties of an object tified as the uppermost general, domain independent CT according to some focus: only those properties are selected components, served as a starting point for this study. Af- which are relevant with respect to the focus [5]. In com- terwards, each of the CT concepts were further examined puter programming abstraction practices can be observed within the computer programming domain. This was a two- within two categories: by mechanisms or by programming step process. Fundamental programming concepts and prac- constructs. Abstraction by specification and abstraction by tices were grouped into four categories within the first step. parametrization are the two mechanisms that make abstrac- The initial corpus of computer programming concepts was tions explicit and tangible. Furthermore, these two powerful sourced from the results of research conducted by Luxton- methods for constructing computer programs contribute to Reilly et al. [10]. Within the literature review they identified the definition of the following important programming con- more than sixty different computer programming concepts structs: procedural abstraction, data abstraction, iteration that were grouped into twelve master categories. To extract abstraction and type hierarchy. only concepts relevant to algorithm, abstraction and decom- Decomposition deals with breaking down a problem into position, each particular concept from [10] was further ana- smaller, more manageable components where each compo- lysed with the relevant sections of the Computer Science nent can be managed independently. Levels of abstraction Curricula 2013 [17] and chapters concerning the software need to be utilized to successfully decompose a problem into engineering [2]. The aims of the second step were the in- smaller components. In computer science, distinct variants tersection points between particular fundamental computer of decomposition can be observed. Parnas [13] investiga- programming concepts and the CT concepts. Computer Sci- ted hierarchical decomposition in the context of modularity ence Curricula 2013 [17] and the dissertation reporting on in order to decompose complex information system into a the process of developing validated CS assessment [23] were number of smaller, manageable modules. Moreover, decom- the primary sources for the aligning process. position is the crucial part of structured, object-oriented and functional programming paradigms. Generally, the aim is to The proposed framework of computational thinking for in- decompose a computer program into modules, which are set troductory programming in higher education (CTF) is pre- of smaller programs to solve sub problems. Smaller pro- sented in the Table 1. The CTF is envisioned to serve as the grams interact with one another in a simple, well defined foundation for designing CT instruments and course mate- way. rials to assess and foster computational thinking for CS ma- jors and non-CS majors. The visual representation of the As a discipline, computer programming incorporates seve- CTF is represented as a two dimensional grid. The axis of ral processes, skills and practices. However, our aim at this this framework describes the main components that make up point was to identify computer programming skills and prac- CT, as well as programming practices that are part of com- tices that correlate with particular CT concepts. The pri- puter programming. Each grid element incorporates com- mary source for identifying programming skills and practices puter programming concepts that are aligned with particu- was the Computer Science Curricula’s sections Fundamen- lar CS curriculum category [17]. We envision each of these tal Programming Concepts, Development Methods, Algori- programming concepts to be implemented as programming thms and Design [17]. Furthermore, to observe the broadest artefacts within the specific programming methodology or spectrum, software engineering skills and practices were also as a pseudocode. included within our study [2], [9]. Finally, problem concep- tualization, implementation, debugging and evaluation were Algorithm, abstraction and decomposition are the relevant, included in the framework. They are represented on hori- domain independent CT components that were identified in zontal axis in the Table 1. We define problem conceptuali- our previous study [4]. It should be noted that thirty-six zation as an algorithmic solution to the observed problem. different CT concepts, skills and practices were identified StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 10 Table 1: Computational thinking framework for introductory programming in higher education Components of Problem concep- Implementation Debugging Evaluation CT tualization • Debugging of • Diagram or algorithmic solution • Correctness • Algorithmic flowchart Algorithm solution to a • Algorithmic • Error detec- • Efficiency problem notions of flow tion strategies • Simplicity control • Code compre- hension • Mechanisms of • Error detec- • Abstraction levels • Relevance abstraction tion strategies Abstraction • Abstraction • Efficiency • Programming • Code compre- hierarchy constructs hension • Simplicity • Components • Error detec- identification tion strategies • Correctness Decomposition • Modularization • Components • Code compre- • Simplicity modeling hension It is a part of requirements engineering process that assures Results within the paper has revealed that higher education the problems are properly defined, understood and framed level was the second most frequently investigated category in a way that allows algorithmic solution. Domain specific within CT. Furthermore, computer science was the most fre- knowledge is required within the requirement engineering quent subject of research in context of CT [21]. On contrary, process [2]. Implementation is a practice of programming within our previous study we have found only a few studies the algorithmic solution within specific programming langu- investigating on the CT frameworks or taxonomies in higher age. The programming language constructs principally relay education [4]. In this context, our study tried to fill the gap on the programming methodology that is applied, such as between CT concepts and computer programming concepts structured programming, modular programming, abstract and practices by proposing the CTF. data type programming or object-oriented programming. The relevancy of the proposed CTF in context of CT is fun- Moreover, the algorithmic solution can be implemented as damentally different from previous studies, because only re- a pseudocode. Debugging is the process of understanding, levant, domain independent components of CT were used as finding and correcting errors. While various error detection a starting point of our study. It should be noted that thirty- strategies exist, systematic debugging strategy has proven six different CT concepts, skills and practices were identified to be the most effective [26]. To effectively locate and fix within our previous study, while only algorithm, abstraction an error within a computer program, code comprehension and decomposition appeared to be the prospects for achie- skills are required. Donaldson and Cutts [6] proposed seve- ving the relevancy consensus [4]. The primary aim of this ral activities to develop the code comprehensions skills. The study was the alignment process between these CT concepts evaluation process normally involves some identification of and computer programming concepts. The mapping of the relevant standards of worth, merit or value. Moreover, the programming concepts to programming code artifacts is yet process is also concerned with some investigation of the per- to be the subject of further research. On the contrary, previ- formance of the evaluands on these standards [19]. Smith ous studies that had proposed CT frameworks and taxono- and Cordova [20] propose several traits to be used for com- mies [3], [24] had mainly focused on computer programming puter program evaluation, such as correctness, efficiency and artifacts and mapped them directly to various CT skills and completeness. practices. Nevertheless, the major result of this work are the CTF grid elements that incorporate computer programming concepts, 4. DISCUSSION aligned with CS curriculum and their associated CT con- The motivation for this work arose whilst working on previ- cepts. In this regard, the CTF is envisioned to serve as the ous work, where we were identifying general, domain inde- foundation for teaching and evaluating core CT skills and pendent components of CT [4]. During the literature review, practices within computer programming. the paper from Tang et al. [21] reporting on content ana- lysis of computational thinking research has been examined. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 11 5. CONCLUSIONS study of assessment of programming skills of first-year The result of this work is a framework proposal for CT in cs students. volume 33, pages 125–180, USA, 2001. introductory programming in higher education. The fra- ACM New York. mework provides a useful starting point for further research. [12] S. Papert. Mindstorms: children, computers, and The future work should be oriented toward implementing powerful ideas. Basic Books, Inc, USA, 1980. computer programming artefact based on proposed CTF. [13] D. Parnas. On the criteria to be used in decomposing The envisioned outcome of further research might be the systems into modules. volume 15, pages 1053–1058, CT instrument suited for implicitly assessing CT based on USA, 1972. ACM. computer programming tasks within the higher education [14] M. S. Peteranetz, L.-K. Soh, and E. Ingraham. level. Building computational creativity in an online course for non-majors. pages 442–448, Minneapolis, USA, Furthermore, the proposed CTF should stimulate further 2019. ACM New York. research in the context of success or failure of novices in in- [15] G. Rambally. Integrating computational thinking in troductory programming in higher education, often referred discrete structures. pages 99–119, Switzerland, 2017. as “CS1 dropout rate”. The researchers observed that the Springer International Publishing AG. dropout rate problem can be divided to the following two [16] M. Romero, A. Lepage, and B. Lille. Computational categories: language problem and design problem [11]. If thinking development through creative programming these categories could be mapped into the computational in higher education. volume 14, pages 1–15, 2017. thinking context, then the proposed CTF could serve as a [17] M. Sahami, A. Danyluk, S. Fincher, and K. Fisher. foundation for CT assessment, a potential predictor for the Computer Science Curricula 2013. The Joint Task CS1 dropout rate. Force on Computing Curricula Association for Computing Machinery (ACM) IEEE Computer 6. REFERENCES Society, USA, December 2013. [1] E. Billionniere. Assessing Cognitive Learning of [18] C. Selby and J. Woollard. Refining an understanding Analytical Problem Solving. Doctoral dissertation, of computational thinking. University of Southampton Arizona State University, December 2011. Institutional Repository, 2014. [2] D. Bjørner. Software Engineering 3 - Domains, [19] I. Shaw, J. Greene, and M. Mark. The SAGE Requirements, and Software Design. Springer-Verlag, Handbook of Evaluation. SAGE Publications Ltd, Heidelberg, 2006. USA, 2013. [3] K. Brennan and M. Resnick. New frameworks for [20] L. Smith and J. Cordova. Weighted primary trait studying and assessing the development of analysis for computer program evaluation. pages computational thinking. pages 1–25, Vancouver, BC, 14–19. Consortium for Computing Sciences in Canada, 2012. Colleges, 2005. [4] B. Bubnic and T. Kosar. Towards a consensus about [21] K. Y. Tang, T. L. Chou, and C. C. Tsai. A content computational thinking skills: Identifying agreed analysis of computational thinking research: An relevant dimensions. Newcastle, UK, 2019. international publication trends and research typology. Proceedings of the 30th Annual Workshop of the pages 1–11, USA, 2019. Springer Nature. Psychology of Programming Interest Group - PPIG [22] M. Tedre. The long quest for computational thinking. 2019 - submited for publication. pages 120–129. Koli, Finland, Koli Calling ’16 [5] K. Czarnecki. Generative Programming: Methods, Proceedings of the 16th Koli Calling International Tools, and Applications. Addison-Wesley Professional; Conference on Computing Education Research, 1 edition, June 2000. November 2016. [6] P. Donaldson and Q. Cutts. Flexible low-cost activities [23] A. E. Tew. Assessing Fundamental Introductory to develop novice code comprehension skills in schools. Computing Concept Knowledge in a Language pages 1–4, Potsdam, Germany, 2018. ACM New York. Independent Manner. Doctoral dissertation, Georgia [7] L. Gouws, K. Bradshaw, and P. Wentworth. First year Institute of Technology, December 2010. student performance in a test for computational [24] D. Weintrop, E. Beheshti, and M. Horn. Defining thinking. pages 271–277, East London, South Africa, computational thinking for mathematics and science 2013. ACM New York. classrooms. volume 25, pages 127–147, February 2016. [8] D. Knuth. The Art of Computer Programming: [25] J. Wing. Computational thinking. volume 49, pages Volume 1: Fundamental Algorithms, Third Edition. 33–35, USA, March 2006. ACM New York. Addison-Wesley, USA, 1997. [26] A. Zeller. Why Programs Fail: A Guide to Systematic [9] A. J. Ko, R. Abraham, L. Beckwith, A. Blackwell, and Debugging 2nd Edition. Morgan Kaufmann, USA, M. Burnett. The state of the art in end-user software June 2009. engineering. volume 43, USA, April 2011. ACM New York. [10] A. Luxton-Reilly, B. A. Becker, Y. Cao, and R. McDermott. Developing assessments to determine mastery of programming fundamentals. pages 47–69, July 2017. [11] M. McCracken, V. Almstrum, D. Diaz, and M. Guzdial. A multi-national, multi-institutional StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 12 Passive Floating Probe ∗ Authors: Vid Keršič Urban Knupleš Michele Perrone University of Maribor University of Maribor University of Maribor Faculty of Electrical Faculty of Electrical Faculty of Electrical Engineering and Computer Engineering and Computer Engineering and Computer Science Science Science Koroška cesta 46, Maribor Koroška cesta 46, Maribor Koroška cesta 46, Maribor vid.kersic@ urban.knuples@ michele.perrone@ student.um.si student.um.si student.um.si Tadej Šinko Mitja Žalik University of Maribor University of Maribor Faculty of Electrical Faculty of Electrical Engineering and Computer Engineering and Computer Science Science Koroška cesta 46, Maribor Koroška cesta 46, Maribor tadej.sinko@ mitja.zalik@ student.um.si student.um.si ABSTRACT vice or the accuracy of sensor data. To overcome these prob- This paper illustrates a student project design of an au- lems, we propose a design for a passive floating probe, which tonomous passive floating probe, which gathers data from is accessible due to its consumer-available components. its on-board sensors. The data are subsequently transmit- ted via the Iridium satellite network to a dedicated server The proposed design follows a modular architecture, which which then displays the information on the web. Once as- allows faster prototyping and more advanced future itera- sembled, the probe is planned to be deployed into the At- tions based on this outline. lantic Ocean. The main features of the probe are a solar panel with a rechargeable battery, a GPS module, an Irid- The main difference between a passive and an active floating ium satellite modem, a vast set of sensors and an ARM- probe is in the way it interacts with its surrounding environ- based microcontroller running a custom firmware based on ment. A passive probe only listens and gather information FreeRTOS. through its sensors and move along with the ocean currents, while an active probe is equipped with a propulsion system Keywords that would allow it to change its course by itself based on sensor data and parameters or remotely by an operator. Remote sensing, data gathering, real-time systems The goal of this project is the acquisition of real-world mea- 1. INTRODUCTION surements for analysis and distribution. A dedicated website Remote sensing and data retrieval is a challenging task be- [1] is planned to show project progress, visualize received cause physical access to the equipment is limited or impos- data once deployed and enable distribution of collected data sible; more so, if executed in a harsh environment such as to interested parties. the oceans. Operating in such an enviroment brings ad- ditional challenges concerning protection from water, salt 2. RELATED WORK corrosion, plaque, or waste build-up. Furthermore, unpre- dictable weather can affect the energy autonomy of the de- Before discussing the proposed design, this paper outlines a handful of projects which had been the primary source ∗Listed in alphabetical order of inspiration for the authors. The main inspiration comes from the Maker Buoy project [2]. Its features are a modular building design powered by solar energy, communication via the Iridium satellite network and the use of a floating exte- rior design, which is the basis of this paper’s proposed design (discussed in Sec. 3). A project called OMNI (Ocean Moni- toring Network Initiative) uses a similar hardware approach to the Maker Buoy [3]. The ZL1SIX Ocean Floater is a floating buoy powered by a battery pack which uses an Amateur radio transmitter to StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.13-17 Koper, Slovenia, 10 October 13 transmit data on a 10 MHz Amateur Radio band [4]. Passive Floating Probe The international project Argo is an initiative that uses thousands of battery-powered floats around the world to measure the temperature, salinity, and velocity of the ocean currents. The floats collect data by staying submerged un- derwater and transmit data by coming up to the surface Case energy inner sensors GSI Gear Box (Medium) and sending it via a satellite antenna. As of this writing, subsystem 1554U2GYCL the project has 3869 floats active across all the oceans [5]. The main difference between the outlined design and other similar projects is the presence of a Geiger counter, a gas sensor, a microphone 1, a camera 2, and the use of a more ca- communication Microcontroller image capture pable additional microcomputer system in the form of Rasp- subsystem STM32L476xx and processing berry Pi for processing extensive data and ease of develop- ment of such processing software. 3. PROPOSED DESIGN This section outlines the design of the probe, the software, hatch with data storage and the communication between them. Because the pro- outer sensors subsystem posed design is not necessarily final, minor changes can hap- pen to individual modules while components are sourced. 3.1 Hardware design Figure 1: Subsystems are shown in rectangles. The For its operation, the probe must accomplish different tasks. microcontroller synchronizes the work of all the sen- Modules that contribute to the same task are classified into sors. The case is not part of any subsystem, since it a subsystem. All proposed subsystems are shown in Fig. 1. is a passive element and therefore not controlled by Modules inside these subsystems will be presented later. the microcontroller. The core of the probe will be a SensiBLE SIMBA-PRO development board. Besides various sensors, which are in- Data storage cluded in the inner sensors subsystem, it will feature an STM32L476xx microcontroller with an ARM Cortex M-4 m processor. The microcontroller will retrieve data from the subsystem sensors and send them to the data storage subsystem. The most critical data will be sent to our server daily using the communication subsystem. When the system has access to enough power, advanced operations, such as image capture, Data storage sound recording, and advanced data processing will be exe- cuted on an external Raspberry Pi module (which is part of micro SDHC 16GB the image capture and processing subsystem). KINGSTON The data storage subsystem shown in Fig. 2 consists of a micro SD card that will store the raw collected data and an adapter for the storage device. Since satellite communica- Micro SD card adapter tion is expensive, not all data will be sent to the server (e.g., only average or extreme measurements during the day). Nev- MicroSD card ertheless, every measurement will be saved to the data stor- breakout board+ age device. This way, if the probe is ever recovered, much more data could be analyzed. Even with low chances for recovery event, it was decided to include this system due to its low cost. Figure 2: Modules in the data subsystem The inner sensors subsystem shown in Fig. 3 consists of the sensors which operate from inside the probe. Some of them dicate that the watertight case is damaged). Other sensors gather engineering information about the environment in- can detect and measure outside sources (GPS signal, Beta side the casing and can, therefore, reveal some problems and Gamma radioactive rays, sound, vibration, and light – with the probe (e.g., increased temperature of the proces- since the case is transparent). sors, change in inner pressure or humidity which could in- 1possible detection of nearby ships or wildlife for imaging The outer sensor subsystem shown in Fig. 4 consists of sen- purpuses sors that cannot perceive outside environmental changes from 2in order to visually detect plastic debris the interior of the airtight probe. As such they are places StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 14 Communication Image capture and processing subsystem 360° camera lense Image processing unit assembly RPI4-MODBP-2GB Satellite internet modem Kogeto DOT360 IRIDIUM module RockBLOCK 9603 Data storage Camera micro SDHC 16GB RPI4-MODBP-2GB KINGSTON Figure 3: Modules in the communication subsystem Figure 5: Modules in the image processing subsys- tem Outer sensors troller. For capturing an image, the module will also feature a camera and 360◦ lens assembly, which makes it possible to take panoramic photos. compute module STM32F103C8T6 3.2 Firmware design The software on the probe is separated into three standalone modules. Their physical execution flow and physical loca- servomotor hatch tion in microcontroller flash is shown in Fig. 6. This design will enable data gathering, over the air updates and possible recovery of essential functions in the event of an unforeseen error in programming or damage to the microcontroller flash. Temperature, humidity CO and NO2 and pressure sensor sensor Bootloader BME680 MICS-4514 Can Boot if Boot after reboot error off or after Failsafe firmware flash TVOC and eCO2 Ammonia sensor sensor MICS-5914 SGP30 Firmware partitioned into blocks Firmware for easier update Water temperature Ozone sensor sensor MHM400-01 Waterproof DS18B20 Figure 6: The outline of the firmware. The bootloader module will be responsible for deciding and Figure 4: Modules in the outer sensors subsystem booting the appropriate firmware. This feature will enable the probe to turn itself off due to the lack of power. An ad- ditional feature will be the ability to flash prepared firmware outside of the probe casing. To protect the sensors, when from an external storage, enabling it to restore a previous they are not in use, an additional standalone module with a firmware or to perform firmware updates prepared by the hatch will be used. Connection to the probe will be through full firmware. In case of a fatal error during the booting waterproof connectors. The primary purpose of the outer of the full firmware, the failsafe version of firmware will be sensors is the detection of air pollution. loaded. The image capture and processing system shown in Fig. 5 wil The failsafe firmware will support only essential functions contain a processing unit (a Raspberry Pi 4) separated from such as communicating with the GPS sensor, the Iridium the microcontroller, which is capable of various image pro- modem, and the external storage. Its purpose is the con- cessing methods (e.g., pattern recognition, image compres- tinuation of the highest priority task and a last resort for sion). Since running the processing unit uses more power, recovering from critical errors. When booted, it will period- it will be working only in short time intervals in order to ically send a package with GPS coordinates, requested diag- process and transfer the needed data to the main microcon- nostic messages and possible direct flash commands. This StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 15 operation will allow it to try and recover the functionality unexpected failures with firmware updates. The data from of the probe or at least receive the most critical data. the additional sensors will be used for the analysis of the surroundings of the probe (e.g., water pollution). For data The full firmware will feature FreeRTOS with tasks to read visualization, Grafana will be used due to its supported in- data from all of the sensors, process and save the data and tegration with InfluxDB. Different visualization techniques communicate through the Iridium satellite network. It will will help the authors in monitoring the probe and improve be able to receive new settings (e.g., a new task schedule) the research. The dataflow is presented in Figure 7. or differential updates, which will be processed and a new version of the firmware prepared on the external storage device. Server (2) Raw Iridium (3) data This modular firmware design allows for the flash memory Raw satellite network data to be partitioned into sections. The bootloader and failsafe Web service Decompression sections will be read-only, so it will not be possible to change (11) their content. Instead, they will be less complicated and ex- Raw data (4) (1) tensively tested. There will be a section after that which Data Raw data (5) can be changed by the first two modules. Also, the prepa- Queried ration of the full firmware allows the tasks to be compiled data Analysis InfluxDB and linked into predetermined sized blocks, which will allow for more efficient and partial upgrades since a change in one (8) (6) task should not require to change or move compiled code Evaluated (7) Queried data Grafana data from every other task. visualizing Developer metrics Visualization dashboard 3.3 Software design The mediator of the communication between the users and (9) (10) (12) Grafana the probe has the most significant role in supporting the Critical Raw data visualizing updates proposed architecture. For this purpose, custom software metrics is implemented. To accommodate the need for adaptability Compression and accessibility of the software being developed, a dedi- Website Probe cated server is necessary. As of the writing of this paper, the server has an Intel R CoreTM i7 930 CPU with a base frequency of 2.80 GHz and Figure 7: A high-level depiction of the data flow four physical cores, 12 GB random access memory (RAM), in the communication between the probe and the two 1 TB hard disk drives (HDDs) and a 128 GB solid- server. state drive (SSD). For the purpose of data redundancy and reliability, a Redundant Arrays of Inexpensive Disks (RAID) The analyzed and visualized data will be available to the au- 1 is set up on the two used HDDs [6]. The server runs a thors on the web-based developer dashboard, hosted on the Linux operating system Debian Gnu/Linux 9 (stretch). server. The server also hosts a custom-made public website, which shows only data relevant to the general public [1]. For The tasks, running on the server, are divided into three main both websites, Nginx, Node.js and MongoDB are used. Be- groups: two-way communication with the probe, data han- cause of the growing scale of the project and its codebase, dling, and hosting services and websites. the server also features GitLab for source code management and OpenProject for project management. All services run As already mentioned, the probe will send data using expen- in separate Docker containers for easier management. Daily sive satellite communication. The cost is calculated based backups are implemented to prevent unexpected loss of data. on the number of sent messages [7], therefore the data are compressed to decrease the number of messages. The pack- ages in the Iridium satellite network will be transmitted from 4. CONCLUSION the sending device to the predefined web service, which will The release of the probe into the ocean is planned for late run on the described server. The received data must be de- February 2020. compressed before it can be used. Communication can also occur in the other direction – from the server to the probe. The main project’s goal is to gather various types of infor- In this case, only the critical updates are sent (e.g., firmware mation about the ocean, such as temperature and currents. updates). Based on other explored projects, the expected battery life Data handling refers to storing, analyzing, and visualizing of the probe is around 300 to 400 days, but the authors received data. The received data are planned to be stored in will try to extend that life by utilizing its smart battery the InfluxDB database, which is designed for the time-series management. data. This way, data can be efficiently queried for analysis and visualization. Data analysis is necessary for controlling The collected data may prove useful to large scale initiatives the probe and research. Based on the data received from such as the Ocean Cleanup [8] and Argo [5], therefore giving the core of the probe, we can inspect its state and act upon a further incentive to the support of the project. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 16 Technical difficulties related to different electrical and me- chanical aspects of the probe are to be expected, such as its water tightness, the lifespan of its various sensors and the battery, and electrical failures due to increased humidity and temperature. As far as the software side of the project is concerned, complications related to the maintenance and setup of the services running on the server may arise, such as data handling, data visualization, security and so forth. 5. ACKNOWLEDGMENTS The authors acknowledge the financial support from the In- stitute of Computer Science of the Faculty of Electrical En- gineering and Computer Science and would like to thank mag. Jernej Kranjec for his guidance and assistance. 6. REFERENCES [1] ZZZ. Our homepage. http://zzz.feri.um.si/, July 2019. Accessed on 2019-5-9. [2] M. Buoy. Homepage. https://www.makerbuoy.com/, May 2019. Accessed on 2019-5-8. [3] designlab.ac. Omni - ocean monitoring network initiative. https://hackaday.io/project/165963-omni- ocean-monitoring-network-initiative, July 2019. Accessed on 2019-5-9. [4] B. Sutton. Zl1six ocean floater build and voyage archive page. https://www.qsl.net/zl1rs/oceanfloater1.html, July 2016. Accessed on 2019-5-9. [5] Argo. Homepage. http://www.argo.ucsd.edu/, July 2019. Accessed on 2019-5-9. [6] P. M. Chen, E. K. Lee, G. A. Gibson, R. H. Katz, and D. A. Patterson. Raid: High-performance, reliable secondary storage. ACM Comput. Surv., 26(2):145–185, June 1994. [7] R. Seven. Rock seven | truly global gps tracking and messaging systems using iridium satellite | rockblock. https://www.rock7.com/products-rockblock, 2014. Accessed on 2019-7-28. [8] T. O. Cleanup. Homepage. https://theoceancleanup.com/, July 2019. Accessed on 2019-5-9. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 17 Efficient Collision Detection for Path Planning for Industrial Robots László Zahorán András Kovács EPIC Center of Excellence in Production EPIC Center of Excellence in Production Informatics and Control, Informatics and Control, Inst. Comp. Sci. & Control, Hun. Acad. Sci., and Inst. Comp. Sci. & Control, Hun. Acad. Sci. Dept. Measurement and Information Systems, andras.kovacs@sztaki.mta.hu Budapest Univ. Technology and Economics laszlo.zahoran@sztaki.mta.hu ABSTRACT Efficient collision detection is crucial for the success of auto- mated process planning and path planning for robotic ma- nipulation and assembly. Yet, collision detection for articu- lated industrial robots holds various challenges. This paper gives an overview of these challenges, and presents an ef- ficient implementation of collision detection techniques for such robots. The applicability of the developed techniques to support path planning in an industrial test case is also illustrated. 1. INTRODUCTION A crucial requirement towards automated process planning and path planning methods for robotic operations is that they must guarantee the geometric feasibility of the com- puted plans, by ensuring that no collisions occur during the movement of the robot and the manipulated objects. At the same time, collision detection is typically the computa- Figure 1: Work cell with a UR5 robot and a Robotiq tionally most challenging sub-problem of path planning [1, gripper. 3]. Particular challenges in collision detection for industrial robots lie in the following: lision detection must be reduced to an appropriately defined series of queries on static configurations. • Collision detection methods must be able to find all potential collisions of every moving and static object • The kinematic chain of typical articulated industrial in the work cell, including the robot, the gripper, the robots consists of 6 or more robots links. The mo- workpiece, the fixture, as well as all static elements of tion of these links can be characterized in the joint the cell. configuration space of the robot, i.e., by the vector of joint angles. At the same time, effective tasks must be • The above objects are all characterized by complex planned and collisions must be detected in the Carte- free-form geometries. sian space. Hence, the mapping between the two rep- resentations must be maintained at all times. For this • While the continuous motion of the robot must be purpose, forward kinematic transformation calculates checked for collisions, nearly all approaches in com- the position of the robot links and the grasped objects putational geometry focus on checking static configu- in the Cartesian space from the joint angles, whereas rations. To overcome this discrepancy, continuous col- inverse kinematics search for the joint angles that re- alize a given position in the Cartesian space. Yet, for many kinematic structures, the inverse kinematic cal- culation is a challenging computational problem with non-unique solutions. • Certain types of contact between objects are allowed, e.g., between neighboring robot links or between the gripper and the workpiece. Moreover, the allowed types of contact may vary over time, e.g., a workpiece can touch the fixture when the robot inserts the workpiece StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.19-22 Koper, Slovenia, 10 October 19 into the fixture, but the same contact is forbidden collision object for each robot link), the gripper (with in- during other motions. Hence, collision rules must be terchangeable geometric models corresponding to different maintained dynamically. degrees of opening), the workpieces, as well as all other ob- jects in the cell. While the geometry of each collision object • The configuration of the robot and the work cell may is characterized by a triangle mesh representation, given in vary over time, e.g., when the robot grasps or releases an STL file, a configuration is described by a homogeneous the workpiece. These configuration changes must be transformation matrix for each collision object. This ma- managed, and pre-computation techniques must be han- trix can be computed by forward kinematics from the robot dled with care. configuration. • Since process planning and path planning methods Collision rules between pairs of collision objects define whe- rely on iteratively checking a vast number of candidate ther the contact of the two objects is considered as a collision robot motions, the computational efficiency of collision or not. By default, the contact of the neighboring robot detection is crucial. links, as well as the contact between the robot base and the static work cell elements are allowed. These default rules can be overridden dynamically depending on the task executed Various generic-purpose libraries are available today for col- by the robot. lision detection, such as the Proximity Query Package (PQP) [2] or the Flexible Collision Library (FCL) [4]. These li- 2.1 Sampling-based Collision Detection braries offer collision and distance queries for static configu- Sampling-based collision detection is the most common ap- rations of free-form 3D solid objects (although FCL handles proach in robotics to check robot movements. The contin- some restricted forms of continuous collision queries as well). uous movement c(t) is sampled by looking at a finite set of Hence, they must be extended substantially to respond to static configurations c(t the above challenges. i), with i = 1, ..., n. Since the mo- tion is given in the joint configuration space, the sampling rate is controlled by angle δ that specifies the maximum dis- This paper presents a library for efficient collision detection tance between neighboring samples c(t for industrial robots. The library is built on the top of the i) and c(ti+1), using the maximum norm over different joints. The movement is generic-purpose PQP collision detection engine, and extends classified as collision-free if and only if every static sample it with various kinematic and geometric calculation methods is collision-free. to serve the needs of robotic process planning and path plan- ning. On the top of these collision detection techniques, the A critical issue is the choice of parameter δ: using a low library contains an implementation of the Rapidly-exploring value is computationally demanding, whereas increasing δ Random Trees (RRT) single-query probabilistic path plan- also increases the risk of missing a collision. The proper ning algorithm [3], as well as the Probabilistic Roadmaps value must be determined for each application individually. (PRM) multi-query path planner [1], which use the continu- ous collision queries as a so-called local planner (i.e., check- Since typical path planning algorithms cannot exploit any ing the direct movement of the industrial robot between two information on the location of collisions, the checking of con- configurations). The paper gives an overview of the im- tinuous movements can be interrupted upon finding the first plemented collision detection techniques and demonstrates collision. This implies that the performance of the algorithm their computational efficiency in industrial case studies. on colliding motions can be improved significantly by the proper ordering of the collision queries. 2. COLLISION DETECTION FOR ARTIC- ULATED INDUSTRIAL ROBOTS As a heuristic, the probability of collision rises with the dis- As pointed out above, collision detection for industrial robots tance from known collision-free configurations. Accordingly, requires extending general-purpose collision libraries in two the implemented algorithm checks the start and end con- main directions: (1) robot motions specified in the joint con- figurations first, whereas in the iterative step, it bisects the figuration space must be mapped into the Cartesian space previous motion sections until the distance decreases below using forward kinematic calculations; and (2) continuous the given threshold δ. Furthermore, when checking a given collision detection for the robot motion must be reduced to static configuration, collision queries for different pairs of checking an appropriate series of static robot configurations. collision objects are ordered by the probability of collision, estimated based on historic records. In contrast, all collision A static configuration c of an m-axis industrial robot can be queries must be executed on collision-free movements. characterized by a vector of m joint angles in the form of c = (α 2.2 Conservative Advancement 0, ..., αm) ∈ C , where C is the configuration space of the robot, defined by its joint limits. As usual, we focus on Instead of the above heuristic method for checking contin- linear movements in the joint configuration space. Accord- uous movements, another approach that provides a formal ingly, the movement between start configuration c0 and end guarantee of collision-free continuous movements is strongly configuration c1 is interpolated by c(t) = c0(1−t)+c1t, t ∈ preferred. Such an approach is the so-called Conservative [0, 1]. This movement is considered free of collisions if every Advancement (CA) method [6], which achieves this by us- static configuration c(t) is collision-free for t ∈ [0, 1]. ing distance queries on static configurations. The approach exploits that if, in a collision-free configuration c1, the dis- Collision detection must capture every so-called collision ob- tance between two collision objects is d, and the relative ject in the work cell, including the robot (with a separate displacement of these objects in configuration c2 compared StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 20 to c1 is at most d, then these object do not collide in c2 either. The key difficulty with applying CA to industrial robots is that robot movements are defined in the joint configu- ration space, whereas the distance queries compute the al- lowed displacement in the Cartesian space. To overcome this discrepancy, an upper estimation of the Cartesian displace- ment caused by any given joint motion is required. This paper compares two implementations of this upper bound: the original bound from [6] and an improved bound. The Figure 2: Conservative Advancement. bounds use the following information: 2.3 Comparison of the Two Approaches • ϕ = (ϕ0, ϕ1, ..., ϕm): for an m axis industrial robot, The boolean collision queries used by the sampling-based the difference of joint angles between the start and approach are an order of magnitude faster than distance end configurations of the motion. queries. CA can balance this difference by taking larger steps, and therefore executing less queries, especially in large • d open spaces. A crucial qualitative difference between the two i, ai: Denavit-Hartenberg parameters of the ith robot link (joint offsets in z and y). approaches is that CA gives a formal guarantee of the geo- metrical feasibility of continuous robot movements. More- • l over, CA can be naturally extended to maintain a specified i: length of ith link from the lower joint node to the farthest point of the robot link geometry. safety distance between the objects in the work cell. • r 3. COMPUTATIONAL EXPERIMENTS i: distance of upper and lower joints of the ith robot link. The presented algorithms were implemented in C# in MS Visual Studio. The solution contains separate projects for PQP (a native C++ project with C# wrapper), CollisionLi- Based on these input data, an upper bound of δi,j = (Pj ((r brary (a C# class library including UR5, UR10 robot mod- x=i x+ lx) Px (ϕ els, RobotiQ and other grippers, implementations of collision y=i y ))) can be given on the relative displacement of the ith and jth element of the kinematic chain. detection, path planning, and path smoothing algorithms), CellVisualizer (a WPF application for the graphical anima- Again, the appropriate choice and ordering of distance queries tion of the work cell and the computed paths), as well as a is crucial for computational efficiency. For this purpose, the console application for executing tests and measurements. proposed algorithm maintains a queue of so-called CA tasks, each CA task consisting of a pair of collision objects, as well A reference solution was developed in the commercial robot as a start and end configuration of the motion. At every simulation and off-line programming software called RoboDK point in time, the queue is ordered by the length of the mo- [5] for verifying the correctness of the results and for com- tion and the historic likelihood of collision between the two paring the computational performance to the state-of-the- objects. Initially, the queue contains one CA task for each art. RoboDK has a Python API to implement custom al- relevant object pair with the original start and end configu- gorithms, and offers high-level functionality for simulating rations of the motion. robot movements and collision detection. In the presented experiments, the Move_JTest(configA, configB, samplFreq) In each iterative step, the first CA task is taken from the method of RoboDK was used, which implements a sampling- queue, and the distance of the two collision objects is com- based approach for checking robot movements. It should be puted in the mid-point of the motion, i.e., configuration noted that this method finds every colliding object pair (al- c( 1 ). If the query returns with a positive distance, then con- though this information is not used later), whereas our im- 2 − + figurations c( 1 ) and c( 1 ), i.e., the first and last proven plementation looks for the first collision only. Some differ- 2 2 collision-free configurations before and after the mid-point ence in the performance of the two approaches may also stem are determined according to the above bound. If these are from the difference of the publicly available UR5 robot ge- different from the start and end configurations of the orig- ometry adopted in our implementation and the robot model inal CA task, then two new CA tasks corresponding to applied in RoboDK. All experiments were performed on an − + [c(0), c( 1 )] and [c( 1 ), c(1)] are created and inserted into Intel i5-4200M 2.5GHz dual-core CPU and 8GB RAM. 2 2 the queue. The process is terminated when a collision is encountered or the queue is empty, where the latter means 3.1 Experiment Design that the original movement is proven to be collision-free. The work cell used in the experiment contains a UR5 robot equipped with a Robotiq gripper, as well as a robot stand The accuracy of the upper bounds on the displacement greatly and a work table with fixtures for assembling a ball valve. influences the number of distance queries executed. The The number of collision objects is 10, with 165 000 triangles original bound of [6] uses the bound for most distant ob- altogether, resulting in 27 active collision rules. The exper- jects in the kinematic chain for every pair of collision objects. imental workspace has large collision-free spaces as ca. 80% The proposed minor improvement is to apply the bound δi,j of checked movements are collision-free. The rate of col- corresponding to the specific objects. liding and non-colliding movements greatly affects perfor- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 21 mance, since the checking of colliding movements can be 4. CONCLUSIONS interrupted upon finding the first collision. The paper gave an overview of the computational challenges in continuous collision detection for articulated industrial Computational experiments were performed on a set of 5000 robots, and presented alternative approaches to tackling this continuous robot movements arising when building a PRM challenge. An efficient implementation of the sampling and on the above work cell with 1000 random robot configura- the conservative advancement approaches was introduced, tions and 5 neighbors per node. The average length of the with various improvements compared to earlier algorithms in robot movements was 45–50◦ in each robot joint. the literature. In computational experiments, the proposed sampling-based algorithm achieved a 23 times speedup com- Four different collision detection techniques were compared: pared to a similar algorithm of a commercial software, whereas sampling in RoboDK and in the proposed implementation, an improved displacement bound for conservative advance- as well as CA in the proposed implementation with the orig- ment resulted in a nearly three times speedup w.r.t. using inal displacement bound of [6] and its improved version. the earlier bound from the literature. 3.2 Experimental Results The presented collision detection library is a key compo- The computational results are displayed in Table 1, which nent of a process planning and path planning toolbox for displays the key parameters, as well as the results achieved industrial robots under development. Future work will fo- by the four algorithms. Both sampling-based approaches cus on the completion of the robotic path planning algo- used a 1◦ sampling rate for the joint movements, without rithms, especially PRM and RRT, on top of the presented giving a formal guarantee of the geometrical feasibility of the collision detection library. We plan to apply this library to checked motions or maintaining a safety distance. With this process planning in various industrial applications, includ- sampling rate, our implementation classified 2 out of 5000 ing a camera-based robotic pick-and-place work cell and the colliding robot motions incorrectly as collision-free. A higher assembly of electric components. A research challenge is number of mistakes by RoboDK probably stems from the dif- the handling of constraints and performance measurements ferent geometrical models used.The efficient implementation defined in the Cartesian task space, such as linear motions resulted in a 23 times speedup compared to RoboDK. or Cartesian speed limits, while planning in the robot joint configuration space. In contrast, the two CA implementations both provided a guarantee of geometrical feasibility and could maintain a 5. ACKNOWLEDGMENTS safety distance. At the same time, in order to facilitate This research has been supported by the ED 18-2-2018-0006 a comparison between CA and sampling, a safety distance grant on “Research on prime exploitation of the potential of 0 mm was used in the experiments. Moreover, allowing provided by the industrial digitalisation” and the GINOP- a relative tolerance of 3% in the PQP distance queries re- 2.3.2-15-2016-00002 grant on an “Industry 4.0 research and sulted in a considerable speedup of the algorithm, without innovation center of excellence”. A. Kovács acknowledges any incorrect classifications on this test set. As a result, the support of the János Bolyai Research Fellowship. the two CA implementations returned correct and identi- cal classifications. The improved displacement upper bound 6. REFERENCES resulted in a 2.89 times speedup compared to the original [1] L. E. Kavraki, P. Svestka, J. C. Latombe, and M. H. upper bound, and computation times only 19% higher than Overmars. Probabilistic roadmaps for path planning in for sampling. We regard this as a favorable tradeoff for the high-dimensional configuration spaces. IEEE formal guarantee on the feasibility of the robot motions. Transactions on Robotics and Automation, 12(4):566–580, 1996. Table 1: Experimental Results [2] E. Larsen, S. Gottschalk, M. C. Lin, and D. Manocha. Fast proximity queries with swept sphere volumes. In Sampling Sampling CA CA Proc. IEEE Int. Conf. Robot. Autom., pages 3719–3726, (RoboDK) (own) (orig.) (impr.) 2000. Sampling 1◦ 1◦ - - [3] S. M. Lavalle and J. J. Kuffner. Rapidly-exploring Safety dist. - - 0 mm 0 mm random trees: Progress and prospects. In Algorithmic Guarantee - - X X and Computational Robotics: New Directions, pages Time [mm:ss] 38:08 01:41 05:47 02:00 293–308, 2000. [4] J. Pan, S. Chitta, and D. Manocha. FCL: A general purpose library for collision and proximity queries. In IEEE International Conference on Robotics and Automation, pages 3859–3866, 2012. [5] RoboDK. Simulation and OLP for robots, 2019. https://robodk.com/. [6] F. Schwarzer, M. Saha, and J.-C. Latombe. Exact Collision Checking of Robot Paths, pages 25–41. Springer, 2004. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 22 Sensitivity analysis for p-median problems Ágnes Vida Boglárka G.-Tóth Institute of Informatics Institute of Informatics University of Szeged University of Szeged Vida.Agnes.1@stud.u-szeged.hu boglarka@inf.u-szeged.hu ABSTRACT 1. INTRODUCTION Network location problems are commonly associated with Locating facilities is a common problem when we want to real world situations such as locating a new facility in a work with networks such as communication networks or traf- city or setting up a new server in a computer network. In fic flows. In order to work with these networks in a math- these real world situations changes can come up quite often, ematical aspect, we use an abstract model, a finite (often such as a closed road because of an accident, or a broken weighted, non-oriented) graph G which has a set of vertices connection in the network. These kind of problems give the (V ) and connecting edges (E ⊆ {V, V }). Weights are com- motivation of this paper. Our aim was to inspect, how an monly attached to the edges, which represent the cost of the existing network operates, when something has changed and transportation or the length of the road. Network locating how sensitive a p-median solution is to the same changes. problems include several different questions, such as abso- During our research we concentrated on deleting edges and lute center and median problems or p-center and p-median solving p-median problem. In the p-median problem we try problems. For a good introduction in facility location prob- to locate p facilities so the sum of the distances between lems on networks, see [2]. the facilities and the demand points is minimal. During the sensitivity analysis we deleted different amounts of the edges In this paper we will concentrate on the p-median problem. and we also tested the problem by locating 1, 2 or 3 medians The aim of the p-median problem is to find the optimal to get a complex picture about the computational results. placement of p facilities on the network. The optimal lo- During our work, we concentrated on how the solution and cation of the medians means that the sum of the distances the location of the medians change. To get a complex picture between the vertices and the closest facility is minimal. To about the results we used two different graphs. After the find the optimal location of the facilities, we must complete tests we saw, that according to the shape of the graph, the the following constraints: one demand point can be assigned number of the changes can be quite different. On the one to only one facility and maximum one facility can be placed hand, when we worked with a graph which is easy to cut, at one vertex. We also have to provide that exactly p me- the changes of the solution was unstable, and relatively big, dians are located. To understand the p-median problem we while with a well-balanced graph, the changes were not that studied the article by Hakimi [3]. significant. On the other hand, the location of the facilities did not change too much with either graph. During our research we always worked with non-oriented n-vertex graphs with edge weights, which can also be rep- Categories and Subject Descriptors resented with a square matrix, called weight matrix. Since we are working on a graph, distance is always understood G.2.2 [Mathematics of Computing]: Graph TheoryNet- as shortest path on the graph. From the weight matrix we work problems; G.1.6 [Mathematics of Computing]: Op- need to determine the distance matrix with some methods timization computing shortest paths on a graph. General Terms The aim of this paper is to find out how sensitive a p-median Theory, application solution is when we delete edges from the graph. The moti- vation is the use of traffic networks, to inspect how the traffic Keywords and the optimal locations of the p-medians change if some- p-median, sensitivity analysis, Mixed Integer Programming thing happens in the network. In this paper we concentrated on deleting edges with different likelihood, to inspect how the cost and the optimal location of the p-medians change. During our research we tested every case on two different graphs to get a more complex picture about the computa- tional results. Similar works has been done investigating the effect of changing network density in [4], and also studying facility reliability issues in Berman et al. [1]. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.23-26 Koper, Slovenia, 10 October 23 Figure 1: Graph of Italy with cities on the islands (left), graph of Germany (right) 2. THE P -MEDIAN PROBLEM Our aim is to minimize the sum of the distances between The aim of solving a p-median problem is to locate exactly p the demand points and the closest facility, but we do not medians by minimizing the sum of the distances between the have any direct constraint for that. That is because the demand points and the located facilities and also completing model minimizes the sum of dij yij , and so in this way the a few constraints mentioned below. In order to solve the model automatically chooses the best solution, which is the problem we used the following model which is based on a minimal distance between a demand point and the assigned non-oriented weighted n-vertex graph. We worked with the facility. graph as a set of vertices (V ) connected by weighted edges (E ⊆ {V, V }). 3. METHODS Our choice to get the computational results was AMPL, X which is A Mathematical Programming Language. First we min dij yij (1) implemented the model to solve the p-median problem. In i,j∈V order to obtain the optimal solution of this Mixed Integer X s.t. yij = 1 ∀i ∈ V (2) Programming (MIP) problem we used a commercial solver j∈V called CPLEX. X zi = p; (3) Our goal was to inspect how the solution reacts to changes, i∈V especially deleting edges. At first, we always ran the algo- yij ≤ zj ∀i, j ∈ V ; (4) rithm with no changes to inspect the original solution, than we modified it with different amounts. We increased the number of deleted edges always by 10%. After deleting 40% To represent the distances between the vertices we used a of the edges we decided to stop, because we noticed that the parameter dij , which is a squared matrix. The j-th column graph fell apart. We also checked how the solution operates of the i-th row represents the length of the shortest path when we want to locate 1, 2 or 3 medians with the different between the i-th and j-th vertex. number of deleted edges. In every variation of the number of deleted edges and the number of located medians we made We also used two set of variables: yij and zi. The binary 20 test runs. variable yij is to sign that the i-th demand point is sup- plied by the j-th facility and zi is a binary variable to sign In order to delete edges, first we made a mapping, so we if we locate a facility on vertex i. The aim of the model is could work with the edges like an ordered set. Then we ran- to minimize the sum of the distances between the demand domly choose the right number of edges to delete from the points and the facilities. The optimal solution must com- graph. To implement this random choose, we used some of plete three constraints: (2) gives the condition, that exactly the built-in functions of AMPL. Deleting the desired amount one facility has to be assigned to one vertex; the number of of edges was done uniformly. In a cycle we have generated a located facilities must be p which is required by constraint random integer value k from 1 to the number of still exist- (3); and finally, that a demand point can only be assigned ing edges and removed the kth edge, until we removed the to a facility, that is located, see (4). required number of edges. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 24 After deleting the chosen edges, we determined the dis- When we used the graph of Germany, the results were dif- tance matrix on the modified graph. In order to get the ferent. The tendency was the same, but the amount of the distances, we used the definition of shortest path, and the rise of the solution was much lower. First we located only Ford-Fulkerson algorithm. one facility. By deleting 10% of the edges and locating one facility the cost increased by 10% (minimum 1% and maxi- mum 23%). By deleting more edges, the solution increased 4. RESULTS AND ANALYSIS slightly, but not as much as with the Italian graph. When The algorithm was tested on two data files, modeling the we deleted 40% of the edges, the cost increased with 84% largest cities and roads of Italy and Germany. In order to on average (minimum 57%, maximum 124%). As with the have a better view on the results, we draw the graphs using previous graph, we repeated the test by locating two and the real coordinates of the cities in Figure 1. We segmented then three facilities. The results were not that different, by the tests according to how many medians are located (1, deleting 10% of the edges the increase of the cost was 10% 2 or 3) and the number of the deleted edges (0, 10%, 20%, with 2 medians and 9% with 3 medians. Even by deleting 30% and 40%). We made 20 test runs for every segment and 40% of the edges the increase of the cost was around 117%. reported the average, the minimum and maximum changes. In this case, the changes compared for the number of medi- The tests show that the shape of the graph influences the ans is quite balanced, as opposed to the Italian case. During results a lot. the tests we could see, that there are vertices where facilities are more likely to be placed. The results for the comparison of the solutions in changes of the cost, as well as in the changes in the locations for both the Italian and German networks can be seen in Table 1. 4.2 Changes of the locations Next we discuss the results that can be read from the table. We also paid attention to the location of the medians. We have made a ranking on the number of times a vertex was selected as a median in the 20 runs. When we had to lo- 4.1 Changes of the cost cate only one facility with the Italian graph, we saw that In the Italian graph, when we deleted 10% of the edges, the the original location was only the 11th most likely place to solution increased by 309% on average. This is quite huge put the facility at. With the German graph the result was change as in the German graph this increase was only 10%, much better: the original placement of the median was the and all changes was smaller than 134%. But let us concen- 4th in the ranking. When we solved a 2-median problem, trate first the results for the Italian graph. We have found the results were the same with the two graphs: the original that the solution was very unstable for this graph. When we locations of the medians were in the 5 most likely vertices located 1 median, by deleting 10% of the graph the minimal to put a facility at. With 3-median problem the results were increase was by 22% while the maximal increase was around also similar. The original location of the medians were still 1086% and the average increase was 309%. By deleting the in the top 5 vertices to locate a facility on. All in all we can double amount of the edges, the average increase of the ob- say, that the location of the facilities can change according jective function was also about double (615%), the minimal to the number of deleted edges, but the original locations and maximal increase was 82% and 1314%, respectively. We are almost always in the top 5 vertices. also tested the results during deleting 30% and 40% of the edges. With a 30% loss, the average increase of the objective During our research we also made computations to inspect, value was 1275%. After deleting 40% percent of the edges how far the new locations from the old ones are. To get an we stopped increasing the number of deleted edges, because objective picture about the results we always used the orig- we found that the increase of the objective value is too high inal graphs and the shortest distances between the old and (1387% on average), and we have seen that this happened the new locations of the medians. When we located more because the graph fell apart. We can see a big jump in the than 1 median, we choose the smallest change between the minimum changes in costs from 20% to 30%, when from old and the new locations in pairs. Although the values 82% it grew to 737%. Similar, but not so evident jumps can were higher with the German graph, the tendency was the be seen in the minimum change when 2 or 3 medians are same. With the Italian graph when we located only one located. facility and deleted 10% of the edges the distance between the old and the new one was 16.6 on average (minimum 4, When we located two medians, the results were quite similar. maximum 51). Even with deleting 40% of the edges the av- The main difference showed, when we deleted only 10% of erage distance was 61.1 (minimum 8, maximum 81). This the edges. In this case the cost increased by only 51%. By small amount of change is interesting if we see, that the cost deleting 20% of the edges the average increase of the cost increased much more under these conditions. When we lo- was around 345%, by deleting 30% of the edges, the cost cated 2 medians, the changes were even smaller. With a increased by 925% on average, and next to a 40% loss of the 10% loss, the distance between the old and the new facilities edges, the objective value increased by 1421%. was 3.9. When we deleted 40% of the edges the distance was still around 9%. When we located 3 medians, the new loca- The problem of locating 3 medians showed similar results tions were farther than with the 2- and 3-median problems. as the 2-median problem. The average increase of the cost In this case the minimal change was around 10 (by deleting was 79% when we only deleted 10% of the edges and 1352% 10% of the edges) and the maximal change was about 44 (by when we deleted 40% of the edges. Altogether, we can see deleting 30% of the edges). that locating more medians makes less changes in cost in general for this graph (except 40% deleted edges), although With the German graph we did not see significant differ- not significantly. ences. During 1-median problem and a 10% loss the dis- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 25 Table 1: Results for the comparison of the solutions in changes of the cost, as well as in the changes in the locations for both the Italian and German networks. tance between the old and the new location of the facilities 6. ACKNOWLEDGMENTS was 81.6 on average (minimum 0, maximum 247). Even This research was supported by the European Union and with a 40% loss of the edges the distance was 188.35 on av- co-financed by the European Social Fund (EFOP-3.6.3- erage (minimum 178, maximum 264). When we located 2 VEKOP-16-2017-00002). medians, the average change was around 40 (minimum 0, maximum 195) with deleting 10% of the edges and 105,2 (minimum 0, maximum 276) with a 40% loss. With the 3- 7. REFERENCES median problem, the minimal change was about 70 and the [1] O. Berman, D. Krass, and M. B. C. Menezes. Facility maximal change was about 132. reliability issues in network p-median problems: Strategic centralization and co-location effects. Operations Research, 55(2):332–350, 2007. [2] M. S. Daskin. Network and Discrete Location: Models, 5. CONCLUSION AND FUTURE PLANS Algorithms and Applications. John Wiley and Sons, By the results we can see that the change of the solution New York, 1995. during deleting edges highly depends on the shape of the [3] S. L. Hakimi. Optimum locations of switching centers graph we work with. If the graph has just a few connections and the absolute centers and medians of a graph. between two main parts, deleting of the edges can cause Operations Research, 12(3):450–459, 1964. very high costs. If we work with a well-balanced graph, [4] X. Zhao, K. Carling, Z. Dan, and J. H ˜ Aěkansson. even by deleting 40% of the edges the solution changes just Network density and the p-median solution. Technical a little. We also could see that the location of the facilities report, Högskolan Dalarna, Borlänge, 2013. do not change too much. In the future we are planning to inspect how a non-oriented weighted graph reacts to p- median problem when we change the weights of edges, like when traffic changes or when we add new edges. We also would like to check if we can make clusters according to how likely that a facility is located in a vertex. Furthermore we want to inspect how a non-oriented weighted graph reacts to other problems such as p-center problem during similar conditions. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 26 A two-stage heuristic for the university course timetabling problem ∗ Máté Pintér Balázs Dávid University of Szeged, Institute of Informatics InnoRenew CoE Árpád tér 2 Livade 6 Szeged, Hungary, 6720 Izola, Slovenia, 6310 pmate955@gmail.com balazs.david@innorenew.eu University of Primorska, FAMNIT Glagoljaška ulica 8 Koper, Slovenia, 6000 balazs.david@famnit.upr.si ABSTRACT Timetabling Competition. These instances are based on real This paper presents a two-stage solution method for the world timetables of the University of Udine, Italy. curriculum-based university course timetabling problem. First, an initial solution is created using a recursive search algo- 2. COURSE TIMETABLING rithm, then its quality is improved with a local search heuris- Course timetabling is an optimization problem, where re- tic. This method utilizes a tabu list of forbidden transfor- sources (courses, rooms, teachers) are allocated to create mations, as well as a destructive step at the end of each a timetable that satisfies given constraints. The problem iteration. The algorithm is tested on datasets of the 2007 schedules courses and teachers into available time-slots, while International Timetabling Competition. trying to avoid the different types of conflicts that can arise. Many variations exist for the course timetabling problem, Keywords but the most important ones are the following: University course timetabling; Local search; Heuristic • Curriculum-based Course Timetabling: courses belong 1. INTRODUCTION to one of several curricula, and courses of the same Creating the timetable of employees is a crucial task for curriculum cannot be scheduled in overlapping time- any organization, and educational institutions are no excep- slots. tions. While timetabling problems can sometimes be ex- tremely hard, they are still solved manually in many cases. • Post Enrollment based Course Timetabling: the prob- This process can take a long time, and the efficiency of the lem also considers the students enrolled to the courses, resulting timetables is not guaranteed. and introduces several constraints connected to their attendance. There are several different types of timetabling problems • Examination Timetabling: similar to the general time- that have to be solved in academia, mainly connected to tabling problem, but considers exam committees in- the students or the employees. This paper will cover such a stead of teachers, and also deals with the availability specific problem, namely university course timetabling. of the students for their required exams. The first section of this paper will introduce the field of course timetabling, and present the curriculum-based uni- This paper will give a solution algorithm for the curriculum- versity course timetabling problem in detail. After this, we based course timetabling problem. The following sections present a two-stage heuristic for the solution of the problem, will define the problem, present its necessary resources and which is then tested on datasets of the 2007 International constraints, and give a short literature overview of the field. ∗Supervisor 2.1 Problem definition The curriculum-based university course timetabling problem schedules a set C of courses over a horizon of d days to cre- ate a timetable. Each day is divided into s time-slots, and a course has to be assigned to one or more consecutive slots (depending on its length). A room has to be selected where the course will take place, and a teacher is also assigned as the instructor. Courses can belong to different curricula, in- troducing additional constraints to the assignment. Courses of the same curriculum usually cannot overlap, or should be StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.27-30 Koper, Slovenia, 10 October 27 scheduled close to each other in time. The constraints of the by Lach et al. [9], where only courses and time-slots are as- problem belong into two different groups. signed using a binary variable, and the possible rooms for each time-slot are described by an undirected graph. This Hard constraints should always be respected, and a timetable approach reduces the model size, and is able to provide so- is not allowed to violate any of them. The most common lutions for significantly bigger instances. hard constraints are the following: As mathematical approaches can result in a large model even for relatively small instances, various heuristic methods were • Course assignment: The timetable must contain all also developed for the problem. Different variations of the courses, and every course has to be assigned to exactly local search were presented, such as the tabu search of Lü one room, time-slot and teacher. and Hao [10] or the simulated annealing of Bellio et al. [3]. • Improved versions of Dueck’s Great Deluge algorithm [7] - Room availability: A given room cannot have more a genetic algorithm with a philosophy close to local search - than one assigned course at the same time-slot. were also been published [5]. Hybrid algorithms with multi- • Teacher availability: A given teacher cannot be as- ple stages are also available, like Müller [11] or Shaker et al. signed to more than one course at the same time-slot. [12], both of which are modifications of the Great Deluge. • Room capacity: A course cannot be scheduled to a 3. A TWO-STAGE HEURISTIC room with less capacity than the number of students on the course. Some papers consider this as a soft In this section, we propose a two-stage heuristic for solving constraint. the curriculum-based university course timetabling problem. First, an initial feasible solution is created using a greedy • Teacher availability: Teachers can have time-slots when recursive algorithm, then a local search heuristic is utilized they are not available. Naturally, no course can be as- to improve its quality. signed to a teacher at a time-slot where they are not available. Some papers consider this as a soft con- We apply the following soft constraints from Section 2: Com- straint. pactness, Room capacity, Room stability, Minimum number of days. The reason for this is that we use the datasets of the Curriculum-based Course Timetabling track of the Interna- Soft constraints can be violated, but they come with a penalty. tional Timetabling Competition 2007 (ITC) [6] as evaluation The typical soft constraints are the following: for the method, and this competition also considers the same constraints. • Compactness: Isolated courses in a curriculum should The initial solution is created using a recursive search, which be avoided. A course is isolated, if no other course only considers the hard constraints of the problem. The of the same curriculum is scheduled in its previous or pseudo-code of this can be seen in Algorithm 1. next time-slot. • Room stability: Courses of the same curriculum should Algorithm 1 Recursive algorithm for initial solution. be assigned to the same room, if possible. Funct recSol(course, node, list) 1: if All courses are assigned then • Minimal number of days: Courses of the same curricu- 2: return TRUE lum should be spread out over the week: they should 3: end if be scheduled to a given d amount of days. 4: if No more assignment possibilities then • As it was mentioned above, some of the hard constraint 5: return FALSE (room capacity, unavailability of teachers) can also be 6: end if considered as a soft constraint. 7: if (course, node) assignment is invalid then 8: node := next (timeslot,room) pair 9: return recSol(course, node, list) The objective of the problem is to create a timetable that 10: end if does not violate any hard constraint, and has a minimum 11: if course.teacher is available az node.timeslot then penalty associated to the violations of its soft constraints. 12: list ← (course,node) assignment 13: node := next (timeslot,room) pair 2.2 Literature overview 14: course := next free course 15: return recSol(course, node, list) University course timetabling has been researched inten- 16: else sively in the past decades. The problem itself is NP-complete, 17: node := next (timeslot,room) pair which was proven by Even et al. [8], and as a result, many 18: return recSol(course, node, list) different solution methods were considered for its solution. 19: end if A good overview of these is given by Bettinelli et al. [4] and Babaei et al. [2]. In the following, we will present some the most important of the approaches. An early mathematical The function requires 3 input data: the course to be consid- model was given by [1], who consider it as a 3-dimensional ered (course), the proposed time-slot and room pair (node), assignment problem between courses, time-slots and rooms. and a list of nodes corresponding to the partial solution that A more efficient, two-phase mathematical model is presented is already built (list). Initially, list is empty, and course and StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 28 node are randomly chosen. If the assignment of the current • Swap: The timeslot of a (course, timeslot,room) as- course is not possible to this node, then another one is cho- signment is swapped with the slot of another assign- sen and a recursive call is made. If the course is compatible ment. with the node, and the teacher of the course is also available at the time-slot in question, then the assignment is saved, • Move: A (course,timeslot,room) assignment is moved and the next recursive call will feature a new course. The al- to another (timeslot,room) position. gorithm terminates if all the courses are assigned, or if there are no more possible nodes to choose from. The process examines all possible neighborhood moves for As the initial solution is built without considering any soft a given timetable, and applies the one with the smallest constraints, it will have a high penalty. A local search penalty. If the resulting timetable is better than the cur- method is then used to decrease this penalty by also tak- rently stored best one, then it becomes the new best solu- ing the soft constraints of the problem into consideration. tion, and the neighborhood move that was used to produce The outline of the algorithm can be seen in Algorithm 2. this solution is saved to the tabu list of forbidden moves. If a local optimum is found, the algorithm switches to the Algorithm 2 Local search algorithm. destructSearch phase. In this phase, a set number of neigh- Funct localSearch(tt, tabu, n) borhood moves are applied to the solution, strictly decreas- 1: i := 0 ing the quality with each step. After this destruction phase, 2: bestSol := tt the local search part of the algorithm is executed again, 3: while n > 0 do searching for a new local optimum, while also using the exist- 4: while f oundBetter = TRUE do ing tabu list to avoid certain transformations. The number 5: bestCost = cost(tt) of these destruction steps is given by the parameter n in the 6: for Each a := (course,timeslot,room) in tt do input. 7: for Each b := (timeslot,room) in tt do 8: if (a,b) ∈ tabu then 4. TEST RESULTS 9: CONTINUE 10: end if As it was mentioned in the previous Section, the algorithm 11: neighbor := tt.swap(a,b) was tested on the instances of the 2007 International Time- 12: if neighbor violates hard constraints then tabling Competition. These instances are based on real-life 13: CONTINUE input from the University of Udine. The competition pro- 14: end if vided three sets of input: Early, Late and Hidden datasets. 15: if cost(neighbor) < bestN eighCost then Due to space limitations, we will only present the first two 16: bestN eighCost := cost(neighbor) of these datasets. The most important information about 17: bestN eigh := neighbor these can be seen in Table 1. 18: tabutCand := (b,a) 19: end if Table 1: Input characteristics 20: end for Inst. Day Slot Room Course Curr. Unav. 21: end for Early Datasets 22: if bestN eighCost < bestCost then Comp01 5 6 6 30 14 53 23: bestCost := cost(bestN eigh) 24: bestSol := bestN eigh Comp02 5 5 16 82 70 513 25: tabu ← tabuCand Comp03 5 5 16 72 68 382 26: f oundBetter := TRUE Comp04 5 5 18 79 57 396 27: else Comp05 6 6 9 54 139 771 28: f oundBetter := FALSE Comp06 5 5 18 108 70 632 29: end if Comp07 5 5 20 131 77 667 30: if i > x then Late Datasets 31: tabu(0).erase() Comp08 5 5 18 86 61 478 32: i := 0 Comp09 5 5 18 76 75 405 33: end if Comp10 5 5 18 115 67 694 34: i := i+1 Comp11 5 9 5 30 13 94 35: end while Comp12 6 6 11 88 150 1368 36: destructSearch(bestSol, tabu) Comp13 5 5 19 82 66 468 37: n := n-1 Comp14 5 5 17 85 60 486 38: end while 39: return bestSol For each instance, the table gives the number of days, time- slots per day, rooms, courses, curricula and unavailability The input of the algorithm is the tt timetable of assignments constraints for the teachers. The following penalty values from the first stage, the empty list tabu for forbidden neigh- were used for the soft constraints: borhood transformations, and a parameter n that gives the number of destruction steps. The algorithm considers two different neighborhood transformations: • Compactness: Every isolated course is worth 2 ponts. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 29 • Roomy capacity: The capacity of a room can be vio- 6. ACKNOWLEDGMENTS lated, but every student above the capacity is worth 1 Máté Pintér was supported by ”Integrated program for train- point. ing new generation of scientists in the fields of computer science”, no EFOP-3.6.3- VEKOP-16-2017-0002 (supported • Room stability: If lectures of a course are scheduled by the European Union and co-funded by the European into more than one room, then the penalty for each Social Fund). Balázs Dávid acknowledges the European room beyond the first is 1 point. Commission for funding the InnoRenew CoE project (Grant Agreement #739574) under the Horizon2020 Widespread- • Minimum number of days: If a course is scheduled Teaming program and the Republic of Slovenia (Investment on less days than the minimum required number, 5 funding of the Republic of Slovenia and the European Union penalty points are given for missing each day. of the European regional Development Fund), and is thank- ful for the support of the National Research, Development Test results of the algorithm are presented in Table 2. The and Innovation Office - NKFIH Fund No. SNN-117879. algorithm was executed ten times for each instance, and the rounded average of these solutions is give by the table. The 7. REFERENCES destructive search ran for 30 steps in each iteration. [1] E. A. Akkoyunlu. A linear algorithm for computing the optimum university timetable*. The Computer Journal, 16(4):347–350, 1973. Table 2: Test results [2] H. Babaei, J. Karimpour, and A. Hadidi. A survey of Instance Runningtime Penalty approaches for university course timetabling problem. Early Datasets Computers & Industrial Engineering, 86:43–59, 2015. Comp01 32s 51 [3] R. Bellio, S. Ceschia, L. D. Gaspero, A. Schaerf, and Comp02 16M26s 328 T. Urli. Feature-based tuning of simulated annealing Comp03 9M16s 314 applied to the curriculum-based course timetabling Comp04 8M25s 348 problem. ArXiv, abs/1409.7186, 2014. Comp05 7M32s 423 [4] A. Bettinelli, V. Cacchiani, R. Roberti, and P. Toth. Comp06 14M54s 503 An overview of curriculum-based course timetabling. Comp07 15M46s 592 TOP: An Official Journal of the Spanish Society of Late Datasets Statistics and Operations Research, 23(2):313–349, Comp08 10M31s 361 2015. Comp09 12M3s 285 [5] E. Burke, Y. Bykov, J. Newall, and S. Petrović. A Comp10 16M17s 536 time-predefined approach to course timetabling. Comp11 43s 37 Yugoslav Journal of Operations Research, Comp12 11M4s 525 13(2):139–151, 2003. Comp13 9M42s 331 [6] I. T. Competition. International timetabling Comp14 7M32s 434 competition 2007. http://www.cs.qub.ac.uk/itc2007/index.htm, 2007. The table presents the total running time of both stages Accessed: 2019-07-30. for each instance, as well as the total penalty of the best [7] G. Dueck. New optimization heuristics: The great achieved solution. It can be seen from the results that while deluge algorithm and the record-to-record travel. the running times are acceptable, the penalties in some cases Journal of Computational Physics, 104(1):86 – 92, are a bit high. This means that there is still room for the 1993. improvement of the algorithm. [8] S. Even, A. Itai, and A. Shamir. On the complexity of time table and multi-commodity flow problems. In 5. CONCLUSIONS AND FUTURE WORK 16th Annual Symposium on Foundations of Computer Science, pages 184–193, 1975. In this paper, we examined the curriculum-based univer- [9] G. Lach and M. E. L sity course timetabling problem, and developed a two-stage übbecke. Curriculum based course timetabling: new solutions to udine benchmark heuristic algorithm for its solution. This algorithm uses a instances. Annals of Operations Research, greedy recursive approach to construct an initial solution, 194(1):255–272, 2012. then increases its quality with the help of a local search method. While the local search itself is not fully a tabu [10] Z. Lü and J.-K. Hao. Adaptive tabu search for course search algorithm, it utilizes a tabu list to store forbidden timetabling. European Journal of Operational transformations. A destructive step is also executed to es- Research, 200(1):235–244, 2010. cape local optima at the end of each iteration. [11] T. Müller. Itc2007 solver description: a hybrid approach. Annals of Operations Research, 172(1):429, The algorithm was tested on the datasets of the 2007 Inter- 2009. national Timetabling Competition. While feasible solutions [12] K. Shaker, S. Abdullah, A. Alqudsi, and H. Jalab. were found for all instances, both their running time and Hybridizing meta-heuristics approaches for solving quality can be improved. We would like to implement faster university course timetabling problems. In P. Lingras, approaches for creating the initial solution, as well as im- M. Wolski, C. Cornelis, S. Mitra, and P. Wasilewski, plementing a proper tabu search algorithm instead of the editors, Rough Sets and Knowledge Technology, pages current local search. 374–384. Springer Berlin Heidelberg, 2013. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 30 Detection of different shapes and materials by glasses for blind and visually impaired Urban Košale Pia Žnidaršič Kristjan Stopar Faculty of Electrical Faculty of Electrical Faculty of Electrical Engineering and Computer Engineering and Computer Engineering and Computer Science Science Science University of Maribor University of Maribor University of Maribor Maribor, Slovenia Maribor, Slovenia Maribor, Slovenia urban.kosale@student.um.si pia.znidarsic@student.um.si kristjan.stopar@student.um.si ABSTRACT 1. INTRODUCTION Glasses for blind and visually Impaired were built to help Glasses for Blind and Visually Impaired is a device built to blind and visually impaired to navigate around diverse range help blind and visually impaired to navigate around diverse of obstacles. range of obstacles. This device consists of two parts. First part is a head mounted sensor assembly whereas the second In this study, we tested how well the glasses detect different is a haptic feedback device, worn as a belt. Detection of everyday shapes and materials. The results are crucial for obstacles is performed by 10 VL53L1X Time of Flight (ToF) further development, because this device has to able to de- sensors [1], whose ranging data is then processed with an tect wide variety of shapes and materials in order to be safe on-board ESP-WROOM-32 microcontroller [2] and send via and reliable for everyday usage. Bluetooth connection to the belt. The belt is equipped with a second ESP-WROOM-32 on-board microcontroller, which For this purpose, we set glasses on a stationary stand and po- interprets the data and presents it to the wearer with 15 inted them directly into the obstacle centre. Obstacles made vibration motors arranged in a square grid. The glasses are of different materials were attached on a moving stand. The worn on the head, whereas the belt is attached around the results showed that the sensors discriminate the shapes at stomach area. the distances between 30 and 90 cm from the glasses. At the distance of 60 cm the triangle was successfully discriminated The motivation behind this work is the desire for this de- from circle and rectangle, whereas the latter two were not vice to work in as many circumstances as possible. Rapid easy to discriminate. The second experiment showed that technological development brings new materials and shapes plexi glass and glass present a substantial detection chal- in our everyday living space. If we add fast lifestyle to the lenge. On the other hand, aluminium foil, white paper and mix, we get the need for a device that can reliably detect micro polyester are easily detected. different shapes and materials in close to real time. Performance of the device was already tested on specifically designed polygon with 12 test subjects. The results are writ- ten in the next section. Expanding on these results, in this study, we focus on testing and quantifying device’s ability to detect different shapes and materials. 2. POLYGON TEST RESULTS Keywords Test took place in the main lobby of the Faculty of Electri- glasses for the blind and visually imapred, detection, sensor, cal Engineering and Computer Science, Maribor. This area obstacle, material, shape was used because it is big and open so the glasses detected the obstacles only. It also provided room lighting conditions and flat surface. Polygon seen on Figure 1 consisted out of 4 obstacles made out of polystyrene foam. They simula- ted everyday objects such as tables, poles and doors. Fifth obstacle which simulated hanging obstacle was tested indi- vidually. Every participant had two attempts. Test focused on the number of detected obstacles, number of steps and time necessary to finish the walk through the polygon [3]. All participants detected the fifth, hanging obstacle, but only one out of 12 participants detected an obstacle which simulated the table. On average 2.8 ± 0.39 out of 4 obstacles were detected in the first run and 2.92 ± 0.29 out of 4 in StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.31-34 Koper, Slovenia, 10 October 31 the second run. Average time required for participants to The device was designed in the shape of wearable glasses and finish the walk through the polygon was 80 ± 31.5 seconds 3D printed from Polylactic Acid plastic [4]. This technique in the first and 56 ± 18.3 seconds in the second run. On was used to achieve special shape which allows sensors to be average, participants made 56.2 ± 15.7 steps in the first and mounted in a way seen on Figure 3 48.3 ± 10.7 in the second run [3]. From increased walking speed on the second attempt we can conclude that participant certainty with the device increa- sed over time. This was also reflected in improved obstacle detection. [3] Figure 1: test polygon, set up in the main lobby of the Faculty of Electrical Engineering and Computer Science, Maribor. Figure 3: Fields of view for TOF sensors, mounted on the 3D printed glasses. 3. DETECTION ZONE Detection of obstacles is implemented using ToF sensors VL53L1X. They provide a maximum range of 4 m and a typical field of view of 27◦. These sensors were selected because they are relatively affordable, offer long range de- tection, are power efficient, support I2C interface and are small enough to enable slim design [1]. Detection zone of the device is constructed by an array of 10 4. OBSTACLE DETECTION sensors, providing 150◦ wide and 50◦ tall coverage as seen on We designed a special experiment to test how well the glas- Figure 3. Sensors are divided into three groups. First group ses detect obstacles of various shapes and materials. Shapes consists of two sensors which are oriented straight in the used were circle, triangle and square. Their surface me- direction of view. One sensor is oriented horizontally and the asured 2116 cmˆ2. Materials used were grey polystyrene other is oriented 30 degrees below the horizon. Second group foam, white paper, aluminium foil, glass, polyester, plexi- consists of 6 sensors, 3 on the left side and 3 on the right side. glass, ABS, wood, micro polyester and cotton. Left group is vertically tilted for 22◦ to the left, whereas right group is vertically tilted for 22◦ to the right. The upper Experiment took place in closed environment under dim li- two and the lower two sensors in this group are horizontally ghting conditions. Controlled light conditions for this test tilted for 10◦ away from the central sensor which is oriented are important as they effect sensors performance. Device straight into direction of view. Third group consists of 2 was mounted on a 176 cm high stationary wooden stand sensors which are oriented straight into direction of view which pointed directly into the obstacle centre. Obstacles and vertically tilted for 44◦ [4]. were placed 30, 60 and 90 cm away from the glasses. Quality of detection was determined with data output consisting of 10 integers, ranging from 0 to 4096. Here, value 0 denotes the minimal and value 4096 the maximal distance. In order to increase the accuracy, every distance was calculated by averaging ten measurements. Shape discrimination ability was assessed by counting the number of sensors that detected the obstacle. Here, we also considered the distance of obstacle from the glasses. The initial testing session consisted of recognizing different shapes at the distance of 30 cm (Figure 4). The sensors could not recognize the shape at all. This suggests that the Figure 2: Groups of TOF sensors. distance is too small for sensors to reach their full potential. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 32 Figure 4: Results of obstacle detection at the dis- Figure 6: Results of obstacle detection at the dis- tance of 30 cm. tance of 90 cm. In the next testing session, the obstacles were positioned at In the last experimental session we tested the detectability the distance of 60 cm from the sensors (Figure 5). This time of different materials. For this purpose, we put the square the circle and the square were not differentiated, but the obstacle with surface area of 2116 cm2 encased with the cho- triangle was. Sensors 6 and 7 have pointed out a difference. sen material at the maximum detection distance, which was determined by moving the obstacle away from the glasses until it was no longer detected. The results demonstrated (Figure 7) that the aluminium foil has the best detection potential while ABS has the worst. Glass was also tested, but was excluded from the results in Figure 7, because its detection depends on the sensor angle. Under the specific angle glasses could detect it up to the distance of 1.5 m, but in most cases glass wasn’t detected. Plexi glass was also interesting because it was consistently detected, but only by one or two sensors, even on a 30 cm distance. Figure 5: Results of obstacle detection at the dis- tance of 60 cm. In the third testing session, the obstacles were positioned 90 cm away from the sensors (Figure 6). In this case, the recognizability was again poor. The distance turned out to be too great, since only one (the middle) sensor detected Figure 7: Maximum detection distances for tested any of the shapes. materials. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 33 5. CONCLUSIONS 7. REFERENCES The glasses detected all the obstacles, but the number of [1] STMicroelectronics ht- sensors detecting the obstacle decreased with the distance. tps://www.st.com/resource/en/datasheet/vl53l1x.pdf. Circle and square were detected better than triangle. This [2] Adafruit HUZZAH32 - ESP32 Feather. suggests that different shapes trigger different responses of https://cdn-learn.adafruit.com/downloads/pdf/adafruit- sensors on glasses. huzzah32-esp32-feather.pdf. May 2019. We have also demonstrated that the optimal distance for the [3] K. Stopar. Naprava za vizualno-kinestetično sensors to recognize the shapes is somewhere between 30 and navigacijoslepih in slabovidnih. September 2019 90 cm. At the distance of 60 cm the triangle was successfully (submitted for review). discriminated from circle and rectangle, whereas the latter [4] C. M. Bauer, G. V. Hirsch, L. Zajac, B. Koo, O. two were not easy to discriminate. The biggest discrimina- Collignon, L. B. tive power of glasses likely lies at the distances between 30 Merabet Multimodal MR-imaging reveals large-scale and 60 cm. However, additional tests are required to ana- structural and functional connectivity changes in lyse the performance at different points in this interval (for profound early blindness PLOSjONE. March 22, 2017. example at 40 and 50 cm). The problem with misdetection of more distant obstacles is a consequence of detection principle used in our design. Emit- ted light cone is 27◦ wide and it expands with the distance. As a result, the obstacle takes up smaller part of the cone and that affects its detection. There are two solutions of this problem. The first one is to narrow the emitted light cone width by software or hardware. The second one includes adding the video camera for better object recognition. Our experiments further showed that some of the materials are poorly detected. For example plexi glass and glass pre- sent a substantial detection challenge. On the other hand, aluminium foil, white paper and micro polyester are easily detected. In conclusion, the more reflective the material, the more sensors detect it. Further tests are required to analyse whether or not the problem of glass detection could be ad- dressed by the use of video camera. As an alternative, an ultrasonic sensor could also be used. At the moment our glasses perform best in open enviro- nments while detecting materials which are better at reflec- ting infrared light. The test justifies that the glasses could be used in everyday environments, because materials tested make up most of potential obstacles, glass and other similar materials being the exception. Plasticity of the brain allows blind and visually impaired people to have significantly increased perception of touch [4]. Because of that, we would like to additionaly test if they can feel the difference between various shapes. 6. ACKNOWLEDGMENTS We thank prof. dr. Aleš Holobar (University of Maribor) and M.S. Jernej Kranjec (University of Maribor) for their as- sistance in writing the article and all the professional advises they provided. We also thank Tomaž Ferbežar (Secondary school of electronics and technical gymnasium) and Boris Plut (Secondary school of electronics and technical gymna- sium) for their help in the early stages of development. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 34 Comparison of clustering optimization for classification with PSO algorithms Klemen Berkovič Uroš Mlakar Borko Bošković University of Maribor, Faculty University of Maribor, Faculty University of Maribor, Faculty of Electrical Engineering and of Electrical Engineering and of Electrical Engineering and Computer Science Computer Science Computer Science Koroška cesta 46 Koroška cesta 46 Koroška cesta 46 Maribor, Slovenia Maribor, Slovenia Maribor, Slovenia klemen.berkovic uros.mlakar@um.si borko.boskovic@um.si @student.um.si Iztok Fister Janez Brest University of Maribor, Faculty University of Maribor, Faculty of Electrical Engineering and of Electrical Engineering and Computer Science Computer Science Koroška cesta 46 Koroška cesta 46 Maribor, Slovenia Maribor, Slovenia iztok.fister@um.si janez.brest@um.si ABSTRACT 1. INTRODUCTION In this paper, we compare Particle Swarm Optimization In many fields, including physics, bioinformatics, engineer- (PSO) algorithms for classification based on clustering. Clus- ing and economics, we can encounter problems, where from tering is presented within the proposed PSO algorithms as a plethora of solutions we are interested in finding the most an optimization problem, and captured in a so called fitness suitable. These so called optimization problems (OPs) can function. Clusters are presented with centers that should be sub-categorized into: discrete, continuous, and/or mixed- represent the classes hidden in data. With the help of PSO variable problems [18]. The difference between three men- algorithms and proper fitness function, we optimize centers tioned groups of OPs are the type of variables in their solu- of the clusters. Because clustering belongs to a field of unsu- tion space. Discrete problems work with discrete variables pervised learning methods, we redefine the clustering prob- that are elements of + N set, continuous problems have vari- lem to supervised learning with a new fitness function that ables with elements of R set, while the mixed-variable prob- helps PSO algorithms in finding clusters centers that can lems can capture variables of both aforementioned sets. classify instances of data to the right class. Two experiments are performed in our study. In the former, various fitness Since we are usually limited by various computational re- functions for classification based on clustering are tested. sources (e.g., computational power and space, problem’s The latter measures the performance of PSO algorithms us- constraints), the complexity of OPs are increased and there- ing the best fitness function from the first experiment. For fore we are forced to be satisfied with a ”good enough” so- testing the PSO algorithms, we use three different datasets. lutions for the real-world application. Definition of a ”good Friedman non-parametric statistical test, and Nemenyi and enough” depends exclusively on the type of a problem. Ma- Wilcoxon post-hoc tests are conducted to properly compare jority of the OPs have a huge, yet finite solution spaces, the PSO algorithms. which can be solved approximately using meta-heuristics. In our work we are focused on meta-heuristics algorithms Categories and Subject Descriptors that are inspired by nature and are a part of Swarm Intel- I.5.3 [Pattern recognition]: Clustering; G.1.6 [Numerical ligence (SI) algorithms [4]. From the field of SI algorithms, analysis]: Optimization we use be using PSO algorithms. Keywords In this work, we are focused on minimization of single-objective clustering optimization, classification, particle swarm opti- OPs that can be defined mathematically, as follows: mization, statistical comparison f x∗ ≤ min f (x) , (1) x∈Ω where f : D R 7→ R represents the fitness function of the problem to be solved, x is D dimensional vector consisting of problem variables and x∗ is a global minimum or the best solution of the problem. The fitness function f is realized as a mathematical formula or a set of empirical data that refer to the problem of interest. In order to make the problem simpler, we demand that the solutions should be in some StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.35-42 Koper, Slovenia, 10 October 35 feasible space, written mathematically as x ∈ Ω. In our ticle x0i as follows: case, the feasible space Ω is determined by the upper and x0 lower bounds of their corresponding problem variables. i = xmax + xmin − xi. (4) Opposition-based learning phase in OVCPSO consists of Classification is a process of labeling data based on some at- calculating opposite particles swarm X0 then creating an tributes to the right type of information or to the right class. union between original and opposite swarm of particle as Clustering is a process of searching for centers of groups so X00 = X ∪ X0. And the last step of opposition-based learn- called clusters that have very similar data instances. With ing phase is to select N best particles based on the fitness clustering, we can find cluster centers that can be used for values of particles in X00 that will present our new swarm classification. The K-means algorithm is one of the most of particles. The OVCPSO algorithm has velocity clamping well known algorithms for clustering [9]. Unfortunately, it operator that repairs the velocity of particles if the velocity has two major defects: (1) the number of clusters must be exceeds some maximum velocity. known in advance, and (2) bad initial centers of clusters can degrades the performance. Because of those defects, many One of the the variations of PSO algorithm that we used meta-heuristic algorithms have been used for clustering, like in our work is Mutated Centered Unified Particle Swam Big Bang–Big Crunch Algorithm (BBBCA) [8], Black Hole Optimization (MCUPSO) algorithm described in [20]. The (BH) [7], Gravitational Search Algorithm (GSA) [6], and MCUPSO algorithm uses two additional operators that are many others. centering and mutation. Centering operator was described in the CPSO algorithm [12] and mutation operator was de- The rest of the paper is organized as follows: In Section 2 fined in Mutated Particle Swarm Optimization (MPSO) al- PSO algorithms used in our work are presented. Section 3 gorithm [17]. Both operators are executed at the end of the defines the clustering problem and presents some fitness algorithm generation. The MCUPSO algorithm has a new function suitable for clustering with PSO algorithms. Sec- equation for velocity updating defined as: tion 4 shows the results of two experiments: The former based on usage of various fitness functions, while the lat- v(t+1) = ω(t+1) × v(t) i i ter compares different algorithms for classification based on + c1 × r1 ⊗ x(t) − x(t) ⊗ r3 (5) clustering. Finally, in Section 5, we conclude our paper with pb,i i summarizing the performed work and provide some direc- + c2 × r2 ⊗ x(t) − x(t) ⊗ (1 − r i 3) , tions for feature work. gb where r3 is a D component vector with uniform random 2. PARTICLE SWARM OPTIMIZATION numbers ∈ [0, 1]. PSO is an optimization algorithm for solving problems which solutions variables are elements of Because of the bad performance of the PSO algorithm on R. The basic PSO algo- rithm was presented by Kennedy and Eberhart in 1995 [10]. multi-modal OPs, authors in [11] developed a PSO algo- Individual in PSO algorithms is presented as a particle that rithm called Comprehensive Learning Particle Swarm Op- has current position, personal best position and velocity. In timizer (CLPSO) algorithm which overcomes this problem. each generation the PSO algorithm goes over the whole pop- The CLPSO algorithm uses the basic PSO algorithm with ulation and for each particle first updates it’s velocity based additional comprehensive learning phase, where comprehen- on the following expression: sive learning phase uses all personal best positions for up- dating particles velocity. Particle velocity is update based v(t+1) = ω(t+1) × v(t) + c x(t) − x(t) on: i i 1 × r1 ⊗ pb,i i (2) v(t+1) = ω(t+1) × v(t) + c × r ⊗ z − x(t) , (6) + c i i i 2 × r2 ⊗ x(t) − x(t) , gb i where c is user defined value, r is randomly uniform dis- where ⊗ represents element wise multiplication, r1 and r2 tributed vector with number of components equal to num- have uniform random distributed values with D components ber of components in the solution and z is vector that is ∈ [0, 1], ω(t+1) is an inertia weight, v(t) is a vector represent- i composed from different personal best positions. ing i-th particle velocity at time t and v(t+1) represents new i velocity for particle i. Factors c In our implementation, we added solution repairing opera- 1 and c2 represent social and cognitive learning rates respectively. After the velocity up- tor that is executed after the position of particle in updated. dating is done, the updating of particle position takes place Solution repairing is done based on mirroring back the com- as follows: ponents of the solution that are out of the allowed search space back into the search space. Mirroring of bad compo- x(t+1) = x(t) + v(t+1) . (3) i i i nents is based on modulo operation. After particle updates its position, the personal best po- sition, and the global best positions are update based on 3. CLUSTERING OPTIMIZATION fitness value. Clustering is one of the most important data analysis tech- niques that involves analysis of multivariate data. It is a Opposition-base learning and velocity clamping are two fun- method of unsupervised machine learning for pattern recog- damental phases of Opposition-Based Particle Swarm Opti- nition, data mining, supervised machine learning, image anal- mization with Velocity Clamping algorithm (OVCPSO) de- ysis, bioinformatics, prediction, etc. Result of clustering fined in [16]. In the OVCPSO algorithm, opposition-based optimization is centers of clusters, where instances of one learning phase [19] is used for calculating the opposite par- cluster have maximum similarity between each other and StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 36 minimum similarity from instances of the other groups [13]. If we have a dataset as presented in Figure 1, we can use the In Figure 1, a simple clustering problem is presented, where basic clustering function, expressed as: we can simply find the centers of the clusters. In Figure 2, K −1 N −1 X X f (O, Z) = wi,j ×koi − zj k , (7) 2 0 Class 0 j=0 i=0 Class 1 2 Class 2 where O is a dataset without data labels, Z represents cen- ters of clusters, W is a matrix with weights for instances for 4 a 2 each cluster, N is a number of instances in data set O, K represents a number of clusters in Z and ko is the 6 i − zj k2 Euclidean distance between instance oi and cluster center 8 zj . In paper [7] authors added weights W which are in ba- sic clustering function set to one. Through weights, we can 10 provide additional information to the PSO algorithms. One 7.5 5.0 2.5 0.0 2.5 5.0 example of weights usage can be with setting the weight wi,j a 1 to one if the instance i belong to cluster j else the weight is set to zero. Second example of weights usage can be for fuzzy clustering where weight w Figure 1: Example of simple clustering dataset i,j has the value ∈ [0, 1]. The second fitness function for clustering optimization is the harder clustering problem is shown, where the centers defined, as follows: for clusters representing Class 0 and Class 2 are not so triv- ial to find. Clustering problem defined in Figure 2 is quite N −1 K−1 X f (z, O) = p (z) + min w i,j ×koi − zj k , (8) 2 j=0 2 Class 0 i=0 Class 1 where p denotes a penalty function [1]. Optimization func- 0 Class 2 tion from Eq. (8) is used for evaluating clusters in the K- means algorithm [9], where penalty function is not used. a 2 2 The third fitness function for clustering optimization takes into account intra-cluster distances, in other words: 4 A−1 ! X X rj rj p (z) = min , max 0, − ze , (9) K K 0 ,j − ze1 ,j 0 2 4 6 8 ∀e∈I j=0 a 1 where rj is calculated with |uj − lj | and presents the intra- cluster distance between j attributes upper uj and lower lj Figure 2: Example of hard clustering dataset limit, A is the number of attributes in one instance and I is a set containing vectors with two components, that repre- hard to solve with K-means algorithm because mean values sents indexes of clusters. Set I is generated with the help of of attributes a1 and a2 are very close for both classes. Even Alg. 1 which gives pairs of cluster indexes that need to be instances of class 0 and class 2 overlap for both attributes. checked for intra-cluster distances. The penalty function 1 Therefore we use optimization to solve the problem of clus- tering for all three classes represented in Figure 2. For clus- tering optimization we will need a fitness function that will Algorithm 1: Creating set I for calculating penalty of in- guide our PSO algorithms toward optimal solutions in the dividual Z based on cluster distances search space. In this study, we propose the following fitness Input: K functions for clustering: Output: I 1 I ← {}; 2 for i ← 0 to K − 1 do • basic clustering function, 3 for j ← 1 to K − i − 1 do 4 if i 6= K − j − 1 then • K-means clusters evaluation function, 5 I ← {i, K − j − 1}; 6 end • K-means clusters evaluation function with penalty func- 7 end tion 1, and 8 end • K-means clusters evaluation function with penalty func- 9 return I; tion 2. adds penalty based on intra-clusters distances, which means In the remainder of this section, the proposed fitness func- if the intra-clusters distance is to small then based on that tions for clustering optimization are described in more detail. distance the solution gets its penalty. The maximum penalty StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 37 that a solution can get is equal to: distances determining, that the results of two algorithms are significantly different, when their critical distance intervals A−1 X uj − lj do not overlap. To be really confident that the difference be- , (10) K tween the results is significant, we ran a Wilcoxon 2-paired i=0 signed-rank test [22]. We present the result of Wilcoxon test where the search space is divided into K partitions and every in tables, where character ”+” denotes that the results of two cluster should be in partition occupied only by one cluster. algorithms are statistically significantly different, while the character ”∼” shows that the difference between the results In our paper, we introduce the penalty function 2 for clus- is not statistically significant. For better accuracy of sta- tering, defined as: tistical testing, we used 51 runs. To get a better accuracy of Friedman tests, we used more then five classifiers in our p (Z, O, c) = 1 − a (Z, O, c) ×ku − lk × 2, (11) 2 second experiment as a rule described in [2]. where u represents upper limits of the search space, l repre- sents lower limits of the search space, c represents a vector For comparing the results of our two experiments we used of class or class labels of an instances in dataset O, and a is error rate calculated as: a function for calculating the accuracy of a given centers Z. a (Z, O, c) In Eq. (11) we added multiplication factor of two, because e (Z, O, c) = 1 − , (12) N we want to give this penalty a higher weight. Eq. (11) rede- fines the problem from unsupervised to supervised learning where O is a dataset, Z represents centers of clusters, N method, because we added the information of how the in- represents number of instances in a dataset O, c hold the stance is classified to the learning method. labels that represent classes for each instance in a dataset O and a is the function that returns the number of cor- rectly classified instances of the dataset O based on centers 4. EXPERIMENTS AND RESULTS Z. Before the experiment runs we divided the dataset into In our work, we performed two separate experiments. The training and validation sets, where the validation set con- first experiment, compares the fitness functions for classifi- tained 30% of samples of the original dataset. The error cation based on clustering. The second experiment, presents rates that we compared where taken from the validation set statistical comparison of used PSO algorithms for classifica- after the optimization process finished. Because of using the tion based on clustering with the best fitness function from error rate for statistical analysis with a combination of the our first experiment. Python code of implemented algo- Friedman test ranks, we can say that the best algorithm has rithms can be accessed at GitHub 1 and Python code of the smallest mean rank. experiments can be accessed at GitHub 2. In our experiments we had to adjust the representation of 4.1 Fitness function comparison the individual so that all operators of PSO algorithms could The first experiment that we conducted was for testing per- work properly. Figure 3 shows an example of an individual formance of the fitness functions used for classification. In in a population, where z this test, we used four different fitness functions described 1, · · · , zk represents clusters. Cen- ters have K components which represent center points for in Section 3 with the standard PSO algorithm [10] and the each attribute of the dataset. Figure 3 shows attributes K-means algorithm. The K-means algorithm was initialized centers in form of symbols z with random centers of clusters. For the experiment we gen- 1,1, · · · , z1,n for cluster one and z erated a random dataset with four different classes and 500 k,1, · · · , zk,n for cluster k. For all PSO algorithms used in samples that had nine components or so called attributes. For dataset generation we used scikt-learn’s [15] function make_blobs. In the generated dataset each class had 125 in- stances. Figure 4 is showing significant differences between a0 Class 0.0 1.0 2.0 3.0 a1 a2 Figure 3: Example of solution coding a3 a4 our work, we used 1, 000 solution evaluations as an stopping attribute criteria. a5 a6 In our experiments, we used the Friedman non-parametric statistical test [5], where the hypothesis H a7 0 asserts that there is no significant statistical differences between algo- a8 rithms. If the Friedman test rejected H0, then we used the 10 5 0 5 10 Nemenyi post-hoc statistical test [14] for calculating critical value 1https://github.com/kb2623/NiaPy 2https://github.com/kb2623/NiaPy-examples/tree/ Figure 4: Samples grouped by class with mean val- master/clustering_datasets ues for each attribute in generated dataset StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 38 intervals of data values for each class. In some cases mean values are quite far away form each other. So based on this Table 2: The Wilcoxon test showing statistical dif- information, the generated dataset should not be a hard ferences for qα = 0.05 for all clustering methods used problem for clustering. KMeans C CM CMP CC KMeans ∞ + + + + C / ∞ ∼ + + Table 1: Time of execution for one function evalua- CM / / ∞ + + tion based on selected optimization function CMP / / / ∞ + Label Clustering fitness Mean execution Time complexity CC / / / / ∞ function time (worst) C Eq. (7) 11.8 µs ± 73.3 ns O (NKA) CM Eq. (8) with penalty 12 µs ± 56.3 ns O KA (N + 1) Eq. (11), since it showed the best performance in our first set to 0 experiment. CMP Eq. (8) with penalty 46.3 µs ± 270 ns O KA N + K −1 2 based on Eq. (9) CC Eq. (8) with penalty 76.9 ms ± 510 µs O NA (2K + 1) We measured the performance of algorithms used on three based on Eq. (11) different datasets, which are: 4.5 • Iris: Dataset has 150 instances with four attributes 4.0 where instances are labeled with three different classes. All attributes in the dataset are elements of + R . Each 3.5 class in the dataset has 50 instances. 3.0 • Breast Cancer Wisconsin (BCW): Dataset has 2.5 569 instances distributed into two classes and each in- Mean rank stance has 30 attributes. All attributes in the dataset 2.0 are elements of + R numbers set. The first class con- 1.5 tains 212 instances, while the second class contains 357 instances. 1.0KMeans C CM CMP CC • Wine: One of the hardest dataset used in our second Optimization functions experiment is the Wine dataset. The dataset has 178 instances with 13 attributes. All attributes except one are elements of + R set. Only attribute Proline is an Figure 5: The Friedman test mean ranks with the element of + N set. The dataset has three classes. The Nemenyi post-hoc test with qα = 0.05 for optimiza- dataset contains 59 instances which belong to the first tion functions and K-means algorithm class, 71 instances of the second and 48 instances of the third class. Table 1 shows a time complexity for each optimization func- tion used in our first experiment. The experiment was ran on computer with Intel’s i5-4570 processor on one thread with All datasets where obtained form the Machine learning repos- 16 GB of main memory. It can be seen from the results, that itory [3]. The performance was measured based on the error the last fitness functions labeled CC is the best function for rates from 51 runs for each dataset. classification based on clustering. This fitness function has the highest time complexity and consequently the longest Table 3: PSO algorithms parameters execution time, but gives the best results compared to other fitness functions used as seen on Figure 5. Friedman test PSO CLPSO OVCPSO MPSO CPSO MCUPSO gave us the statistic value of 151.82682 and p-value of 8.264 NP 25 25 25 25 25 25 69e−32, so for qα of 0.05 we can say that K-means and PSO c1 2.0 2.0 2.0 2.0 2.0 2.0 algorithm with different fitness functions work significantly c2 2.0 2.0 2.0 2.0 2.0 2.0 different on generated dataset. In Figure 5, we can observe ω / 0.7 / 0.7 0.7 0.7 that the Nemenyi post-hoc test detected some statistical in- v significant differences between two groups of used methods. min / -1.5 / / / / First group with C, CM and CMP and second group with vmax / 1.5 / / / / K-means and CC. From Table 2, we can observe that sec- m / 10 / / / / ond group has statistically significant difference, but for the ω0 / 0.9 / / / / first group only methods C and CM do not have statistically ω1 / 0.4 / / / / significant differences. c / 1.49445 / / / / p0 / / 0.3 / / / 4.2 Comparison of PSO algorithms wmin / / 0.4 / / / In our second experiment we measured the performance of wmax / / 0.9 / / / six different PSO algorithms and the basic K-means algo- δ / / 0.1 / / / rithm labeled as KM. For the fitness function of PSO algo- rithms we used Eq. (8) with penalty function described in µ / / / 10 / 10 StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 39 Table 3 shows all the parameter values used by PSO algo- rithms. Some parameters are used for all PSO algorithms, Table 5: Detected significant statistical differences while some are algorithm specific. If a parameter is not used with the Wilcoxon test with qα = 0.05 on Iris dataset for a specific algorithm the symbol “/“ is used. KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO KM ∞ + + + + + + From Table 4, we can see that the best classifiers are K- PSO / ∞ ∼ + ∼ ∼ ∼ means and original PSO algorithm, because they got the CLPSO / / ∞ ∼ + ∼ + best minimum error rates. The CLPSO algorithm has the OVCPSO / / / ∞ + + + best mean value and the MPSO algorithm has the smallest MPSO / / / / ∞ ∼ ∼ standard deviation. One major setback of the OVCPSO al- CPSO / / / / / ∞ ∼ gorithm was its worst found centers for clusters, that’s clas- sification accuracy was only 29%. Friedman test gave the MCUPSO / / / / / / ∞ Table 4: Basic statistics of used algorithms for 51 obtained good results, it had the best median value and runs on Iris dataset the best accuracy in the worst run in all of the 51 runs. KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO Friedman test gave the statistics value of 174.63646 with mean 0.0588 0.0553 0.0544 0.0644 0.0505 0.0579 0.0562 p-value of 4.66982e−35. For qα value of 0.05 we can say std 0.0376 0.0305 0.0356 0.0954 0.0274 0.0424 0.0380 that the Friedman test rejected the H0 hypothesis. We can min 0.0000 0.0000 0.0222 0.0222 0.0222 0.0222 0.0222 see from the Figure 7, that the MCUPSO algorithm ob- median 0.0444 0.0444 0.0444 0.0444 0.0444 0.0444 0.0444 tained the smallest rank, because of the average standard max 0.1777 0.1333 0.2000 0.7111 0.1555 0.2444 0.1777 deviation and smallest error rate on the worst run of the algorithm. On the Figure 7, we can see that MCUPSO, statistic value of 104.81 with p-value of 2.48215e−20. For qα value of 0.05 we can say based on the Friedman test that used algorithms work significantly different. Mean ranks of Table 6: Basic statistics of used algorithms for 51 algorithms from Figure 6 fit the results in the Table 4. Fig-runs on BCW dataset ure 6 shows that the MCUPSO algorithm holds the smallest KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO rank, despite not having the best accuracy. We can see that mean 0.1606 0.1552 0.1643 0.1479 0.1598 0.1672 0.1536 std 0.0768 0.0686 0.0779 0.0697 0.0728 0.0892 0.0723 7 min 0.0818 0.0818 0.0760 0.0818 0.0818 0.0877 0.0877 median 0.1345 0.1345 0.1403 0.1345 0.1345 0.1345 0.1169 6 max 0.3567 0.3684 0.3567 0.3567 0.3567 0.3684 0.3333 5 7 Mean rank 4 6 3 5 KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO 4 Algorithm Mean rank 3 Figure 6: Friedman mean ranks and Nemenyi post- 2 hoc test with qα = 0.05 for PSO algorithms and the KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO K-means algorithm on Iris dataset Algorithm Nemenyi test implies that MCUPSO is not significantly dif- ferent from CPSO, MPSO, CLPSO and PSO algorithms. Figure 7: Friedman mean ranks and the Nemenyi Based on results in Table 5 we can reject the the hypothesis post-hoc test with qα = 0.05 for PSO algorithms and of Nemenyi test. The Wilcoxon test detected insignificant the K-means algorithm on BCW dataset difference only between MCUPSO, CPSO, MPSO and PSO algorithms. Form the Wilcoxon test we can observe that MPSO, CPSO and PSO algorithms do not show significant the MCUPSO algorithm is significantly different compared differences based on the Nemenyi test, but the Wilcoxon to OVCPSO, CLPSO and K-means algorithms. MCUPSO, test found insignificant differences only between MCUPSO, CPSO and MPSO algorithms performed the best based on CPSO and MPSO. If we check the PSO algorithm com- Friedman mean rank and the Wilcoxon post-hoc test. pared to MCUPSO, MPSO and CPSO algorithms, then we can observe that the Wilcoxon test detected significant From the Table 6, we can observe that the best accuracy ob- differences only between PSO and MCUPSO algorithms. tained the CLPSO algorithm, the best mean value obtained MPSO, CPSO, MCUPSO algorithms based on Friedman the OVCPSO algorithm, while the PSO algorithm recorded mean rank and the Wilcoxon post-hoc test work the best the smallest standard deviation. The MCUPSO algorithm for this dataset. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 40 Table 7: Detected significant statistical differences 6 with the Wilcoxon test with qα = 0.05 on BCW dataset 5 KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO KM ∞ + + + + + + 4 PSO / ∞ + + ∼ ∼ + Mean rank CLPSO / / ∞ + + + + OVCPSO / / / ∞ + + + 3 MPSO / / / / ∞ ∼ ∼ CPSO / / / / / ∞ ∼ KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO MCUPSO / / / / / / ∞ Algorithm Figure 8: Friedman mean ranks and the Nemenyi In Table 8, we can see that two algorithms, namely MPSO post-hoc test with q and CPSO algorithms, obtained the best cluster centers for α = 0.05 for PSO algorithms an the K-means algorithm on Wine dataset classification on the Wine dataset. We can see that the MPSO algorithm got the best and the worst clusters cen- ters, and the best median and standard deviation values on this algorithm is the winner for this dataset. Because of in- this dataset. Table 8 is showing that not only the MPSO significant differences between CPSO, MPSO and MCUPSO algorithm but CPSO and CLPSO algorithms got the best algorithms we can say that this three algorithms work best clusters centers for classification. Best median values where for for this dataset. obtained with MPSO, OVCPSO and CLPSO algorithms. The Friedman test gave us the statistic value of 58.06224 5. CONCLUSIONS In our work, we used clustering optimization for classifica- Table 8: Basic statistics of used algorithms for 51 tion. We proposed a new fitness function that has two com- runs on Wine dataset ponents. The first component is a clustering function that KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO is used in the K-means algorithm for clusters evaluation and mean 0.3151 0.3111 0.2977 0.2970 0.2930 0.3122 0.3162 the second component is a penalty function, which is the std 0.0490 0.0515 0.0519 0.0495 0.0457 0.0594 0.0510 basis for supervised learning. Our proposed fitness function min 0.2222 0.2037 0.1851 0.2037 0.1851 0.1851 0.2407 is a weighted sum of this two components. First component median 0.3148 0.3148 0.2962 0.2962 0.2962 0.3148 0.3148 has weight equal to 0.25 and second component has weight max 0.4814 0.4259 0.4259 0.4074 0.3703 0.4444 0.4629 equal to 0.75. As it turns out, on used datasets, this fitness function works well. In our work we tried to eliminate initial with p-value of 1.1131e−10. For qα of 0.05 we can say that clusters defect of the K-means algorithm, which makes the the Friedman test detected significant differences between K-means algorithm converge fast to some local optimum. used algorithms. From the results seen in Table 8 we would suspect that the MPSO algorithm would have the small- One of the options for feature work is to use more func- est mean rank, but the results from Figure 8 show that the tion evaluations with an additional archive, because as we CPSO algorithm has the smallest mean rank. As we can have seen in our experiments, good solutions can be found see from Figure 8 there is no significant differences between only after 1, 000 function evaluations. Because evolution- PSO, MPSO, CPSO and MCUPSO algorithms, which can ary computation is a large research area, we would look for be confirmed with results collated in Table 9. For the basic other optimization algorithm. In our work, we did not found PSO algorithm the Wilcoxon test detected only two signif- the solution for detecting the number of clusters in dataset. icant differences. As seen from Figure 8 the CPSO algo- This is a challenging task for currently known algorithms and would be a good option for feature work. A multi- objective optimization algorithm would be a good stating Table 9: Detected significant statistical differences point for detecting a number of optimal clusters hidden in with the Wilcoxon test with qα = 0.05 on Wine data. dataset KM PSO CLPSO OVCPSO MPSO CPSO MCUPSO 6. ACKNOWLEDGMENTS KM ∞ + ∼ + + + + Authors would like to thank the contributors of nature in- PSO / ∞ + ∼ ∼ ∼ ∼ spired framework for Python, called NiaPy [21], for they CLPSO / / ∞ ∼ + + + efforts in the development of the framework. The authors OVCPSO / / / ∞ + + + acknowledge the financial support from the Slovenian Re- MPSO / / / / ∞ ∼ ∼ search Agency (research core funding No. P2-0041). CPSO / / / / / ∞ ∼ MCUPSO / / / / / / ∞ 7. REFERENCES [1] A. Chehouri, R. Younes, J. Perron, and A. Ilinca. A rithm has the smallest mean rank, but we can not say that constraint-handling technique for genetic algorithms StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 41 using a violation factor. arXiv preprint [17] Y. Shi and R. Eberhart. A modified particle swarm arXiv:1610.00976, 2016. optimizer. In 1998 IEEE International Conference on [2] J. Demšar. Statistical comparisons of classifiers over Evolutionary Computation Proceedings. IEEE World multiple data sets. Journal of Machine learning Congress on Computational Intelligence (Cat. research, 7(Jan):1–30, 2006. No.98TH8360), pages 69–73, May 1998. [3] D. Dua and C. Graff. UCI machine learning [18] K. Socha. Ant Colony Optimization for Continuous repository, 2017. and Mixed-Variable Domains. PhD dissertation, [4] R. C. Eberhart, Y. Shi, and J. Kennedy. Swarm Universite Libre de Bruxelles, 2014. intelligence. Elsevier, 2001. [19] H. R. Tizhoosh. Opposition-based learning: a new [5] M. Friedman. The use of ranks to avoid the scheme for machine intelligence. In International assumption of normality implicit in the analysis of Conference on Computational Intelligence for variance. Journal of the American Statistical Modelling, Control and Automation and International Association, 32(200):675–701, 1937. Conference on Intelligent Agents, Web Technologies [6] X. Han, L. Quan, X. Xiong, M. Almeter, J. Xiang, and and Internet Commerce (CIMCA-IAWTIC’06), Y. Lan. A novel data clustering algorithm based on volume 1, pages 695–701. IEEE, 2005. modified gravitational search algorithm. Engineering [20] H.-C. Tsai. Unified particle swarm delivers high Applications of Artificial Intelligence, 61:1 – 7, 2017. efficiency to particle swarm optimization. Applied Soft [7] A. Hatamlou. Black hole: A new heuristic Computing, 55:371 – 383, 2017. optimization approach for data clustering. Information [21] G. Vrbančič, L. Brezočnik, U. Mlakar, D. Fister, and Sciences, 222:175 – 184, 2013. Including Special I. Fister Jr. NiaPy: Python microframework for Section on New Trends in Ambient Intelligence and building nature-inspired algorithms. Journal of Open Bio-inspired Systems. Source Software, 3, 2018. [8] A. Hatamlou, S. Abdullah, and M. Hatamlou. Data [22] F. Wilcoxon. Individual comparisons by ranking clustering using big bang–big crunch algorithm. In methods. In Breakthroughs in statistics, pages International Conference on Innovative Computing 196–202. Springer, 1992. Technology, pages 383–388. Springer, 2011. [9] A. K. Jain. Data clustering: 50 years beyond k-means. ”Pattern Recognition Letters”, 31(8):651 – 666, 2010. Award winning papers from the 19th International Conference on Pattern Recognition (ICPR). [10] J. Kennedy and R. Eberhart. Particle swarm optimization. In Proceedings of IEEE International Conference on Neural Networks, volume 4, pages 1942 – 1948 vol.4, 12 1995. [11] J. J. Liang, A. K. Qin, P. N. Suganthan, and S. Baskar. Comprehensive learning particle swarm optimizer for global optimization of multimodal functions. IEEE Transactions on Evolutionary Computation, 10(3):281–295, June 2006. [12] Y. Liu, Z. Qin, Z. Shi, and J. Lu. Center particle swarm optimization. Neurocomputing, 70(4-6):672–679, 2007. [13] S. J. Nanda and G. Panda. A survey on nature inspired metaheuristic algorithms for partitional clustering. Swarm and Evolutionary Computation, 16:1 – 18, 2014. [14] P. Nemenyi. Distribution-free multiple comparisons (doctoral dissertation, princeton university, 1963). Dissertation Abstracts International, 25(2):1233, 1963. [15] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12:2825–2830, 2011. [16] F. Shahzad, A. R. Baig, S. Masood, M. Kamran, and N. Naveed. Opposition-based particle swarm optimization with velocity clamping (ovcpso). In Advances in Computational Intelligence, pages 339–348. Springer, 2009. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 42 Hierarchical Routing Algorithm for Industrial Mobile Robots by Signal Temporal Logic Specifications [Extended Abstract] Balázs Csutak Tamás Péni Gábor Szederkényi Faculty of Information Systems and Control Faculty of Information Technology and Bionics, Laboratory, Institute for Technology and Bionics, Pázmány Péter Catholic Computer Science and Pázmány Péter Catholic University Control University H-1083 Práter u. 50/a, H-1111 Kende u. 13-17., H-1083 Práter u. 50/a, Budapest, Hungary Budapest, Hungary Budapest, Hungary csutak.balazs@hallgato. peni.tamas@sztaki.mta.hu szederkenyi@itk.ppke.hu ppke.hu ABSTRACT space (e.g. in an industrial plant), assuming a microscopic A two-level route planning algorithm based on model predic- routing environment (i.e., the size of the vehicles is not neg- tive control (MPC) is proposed in this paper for industrial ligible compared to the available space). This environment mobile robots, executing tasks in an environment specified can be modeled as a directed graph, with only one agent using the methodology of signal temporal logic (STL). STL allowed at a time in a given node or edge [1], which is suit- is applied to describe various conditions like collision-free able for a physically large setting, but might prove to be and deadlock-free operation, followed by the transforma- ineffective in a more crowded location. As another possible tion of the formulas into a mixed integer linear program- approach, the plant can be modeled as a coordinates sys- ming (MILP) problem, solved using dedicated software. To tem, in which agents can move freely with the exception of achieve real-time operation, the route planning is divided a number of obstacles or restricted zones. into two distinct phases using different underlying vehicle models. The correctness of the approach is guaranteed by Some of the solutions concentrate on giving suboptimal but the applied formal design method. real-time solution for the problem, using greedy iterative al- gorithms or heuristics. In the simplest case, the route plan- Categories and Subject Descriptors ning of the agents is carried out in a completely independent manner: knowing the location of the obstacles, each agent [Embedded and cyber-physical systems]: Robotics— computes a path locally, and avoids collision with other vehi- Robotic control ; [Applied computing]: Physical sciences cles in real-time. This approach however is neither optimal and engineering—Engineering regarding the completion time of the movements, nor has any guarantee to prevent situations like a deadlock forma- Keywords tion. More complex solutions feature distributed calcula- mobile robots, route planning, signal temporal logic, opti- tion, but with a centrally accessible resource (like already mization planned paths of the other vehicles) [1, 2]. 1. INTRODUCTION It is also possible to model route planning tasks as opti- Optimal route planning based on transport demands is an mization problems [3]. These algorithms are indeed capable intensively investigated topic in engineering fields. Depend- of giving the truly optimal solution regarding completion ing on the applied model and assumptions, the computa- time, guarantee the collision-free and deadlock-free opera- tional complexity of such tasks and the effectiveness of the tion on the price of high computational complexity which solution moves on a wide scale. might hamper real-time application. The problem itself generally consists of numerous autonomous Linear Temporal Logic (LTL) is a formalism originally de- guided vehicles (AGV) moving along given routes in a closed veloped for the formal design and verification of computer programs. In essence, LTL extends the set of operators fa- miliar from Boolean logic with tools to describe time depen- dencies between the statements (such as ’always’, ’never’, ’eventually’, ’next step’, etc.). Signal Temporal Logic (STL) further extends the possibilities offered by LTL by introduc- ing quantitative operators regarding time in LTL formulas. STL has been successfully used for describing traffic-related systems, due to its ability to express complex rule sets or complicated time dependencies [4, 7, 8]. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.43-47 Koper, Slovenia, 10 October 43 T N One of the first results on the successful application of LTL X X J (x, u) = (|x in vehicle routing is [9], where the computation task is writ- i(k) − xti| + |yi(k) − yti|), subject to ten as a network flow problem with constraints. In [10], an k=1 i=1 the collision, obstacle-avoidance and possible additional con- incremental algorithm is given for the complex path plan- straints, where xti and yti denote the prescribed target co- ning of a single robot, where the specifications are given ordinates corresponding to agent i. using LTL. A motion planning method for multiple agents is presented in [11], where STL is used for describing specifi- cations, taking into consideration imperfect communication 3. ONLINE ROUTE PLANNING BY TEM- channels, too. PORAL LOGIC CONSTRAINED OPTI- MIZATION The above results motivated us to use STL in our work for Based on the problem formulation above, it can be clearly route planning. The main novelty of our approach is the seen, that solving the routing problem requires at least 4N T division of the computation into two levels which allows us variables, with O(2N 2) + O(4N M ) constraints, resulting to handle a relatively long prediction horizon with a singifi- from vehicle-vehicle collisions and obstacle avoidance respec- cantly reduced computation time. tively. Feasibility of obtaining solution in real-time is highly dependent on the applied solver, and on the constraints themselves. 2. PROBLEM FORMULATION The problem is to plan and track routes for multiple AGVs, Our experiments showed that the problem scales badly when each of which is assumed to move in a two dimensional closed the number of agents or the number of obstacles is increased. space, independently in the x and y directions. All agents To overcome the issue, a two phase planning is proposed. have upper bounds for speed and velocity, respectively. Each agent has a target point assigned before running the plan- The double-integrator model is used only in the second phase, ning algorithm. The objective for each agent is reaching its when a O(2 ∗ N 2) part of the constraints can be omitted. target point in minimal possible time, without colliding with Moreover, the second phase can be run individually for all obstacles or with each other. agents, each having only 4T state variables and only 4M con- straints resulting from obstacle avoidance (although some Let N be the number of agents. On the low level, we model constraints for following the first-phase must be added, as the agents as simple mass-points in a two dimensional carte- described below). sian coordinates system. Therefore, the motion of each agent can be described in continuous time as two double integra- 3.1 First phase planning tors with acceleration command inputs, resulting in 4N state In the first phase, a coarse route is designed with a relatively variables (coordinates and velocities), and 2N inputs. This model is discretized in time using a uniform sampling time large sampling time t(1) s to have as short prediction horizon t as possible. Moreover, only the coordinates of the agents s. Let xi(k) and yi(k) denote the x and y coordinates of the ith robot at time step k, respectively. The inputs for agent are taken into consideration, and the computed input (¯ uxi, i at time step k are denoted by u ¯ uyi) is the required coordinate change in each direction for xi(k) and uyi(k) along the x and y coordinates, respectively. agent i in each time step. This results in simpler dependency between the input and the desired output, and considerably The borders of the environment, as well as the rectangle- reduces the required computation time. shaped obstacles can be introduced as simple constraints xi(k + 1) = xi(k) + ¯uxi(k) for the x  i and yi state variables. Let the number of obsta-   y cles be M , each obstacle being defined by its lower-left and i(k + 1) = yi(k) + ¯ uyi(k) i = 1...N | upper-right corners (a(l), b(l)) and (a(l), b(l)). This means ¯ u  xi(k)| < K 1 1 2 2   that avoiding obstacles can be written as a set of linear con- |¯ uyi(k)| < K straints: where K is an upper bound for coordinate changes which is determined using the maximum speed of the vehicle and the {xi < a(l) or x or y or y , ∀ i, l} 1 i > a(l) 2 i < b(l) 1 i > b(l) 2 sampling time ts. Collision-aviodance between agents is realized using a thresh- The description of the rules for such a simple system is old value δ and the constraints |xi(k) − xj (k)| > δ ∀ i 6= quite straightforward using temporal logic. Given a rect- j. Note that due to the discrete-time model, this thresh- angle shaped obstacle as defined above, the STL formula for old must be carefully chosen considering maximum vehicle avoidance looks like: speed. [0,T ] xi < a(l) or x or y or y 1 i > a(l) 2 i < b(l) 1 i > b(l) 2 The planning itself is run on a finite time horizon, consisting of T steps. It is assumed, that all vehicles can reach their . For avoiding collisions between the vehicles, we use: goal state within this time (given a reasonably large T ). [0T ] (|yi(t) − yj(t)| > dist or |xi(t) − xj(t)| > dist) However, the computation should work even if some of them is not able to fulfil this constraint. . (Here, the notation is the so-called always operator, which means, that the formula must be true in all time in- The optimization problem is minimizing the following ob- stants in the interval [1, T ] - which is the whole time of the jective function: planning in our case.) StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 44 3.2 Second phase planning 5 The double-integrator model for the agents is used in the second phase, where we assume, that agent i has a source < K and a target point, as well as a set of intermediary route 4 points Pi = {(xpi, ypi)|p = 1...T − 1} known from the pre- vious phase. The planning is done using a rolling horizon 3 . < K approach, using a smaller sampling time t(2) s = t(1) s /k, k > 1. In the simplest case this means that at route point p, the p + 2-th point is set as a target. We use a temporal logic 2 formula to ensure that the agent will be in the prescribed proximity of the point p + 1, and planning is done on a hori- zon of T 1 2 = 2 · k. This can be easily extended to include more intermediary route points. This planning step is re- 1 2 3 4 5 peated when the agent reaches the route point p + 1. It can be shown, that by choosing this ∆ proximity correctly, we Figure 1: Distances kept by the agents during the can guarantee, that no collision between the agents can oc- first and second phase planning cur. The concept of the proof is that if the distance threshold from the first phase is equal to the half of the distance, an agent can move in the rough plan in one step (δ = K/2), and taking into consideration the obstacles and vehicle-vehicle we restrict the agents to remain in the ∆ = δ/2 proximity interactions as well. The algorithm calculates a set of con- of the given point for the respective time interval, then the secutive intermediary route points for each agent, ensuring agents are always located inside different non-overlapping conflict-free behavior provided that agents are in the given δ × δ-sized squares. The concept is illustrated in Figure 1. proximity of the points for the respective time interval. In the second phase, each agent computes its own path, con- sidering the points and intervals given in the first phase. 4. ILLUSTRATIVE EXAMPLE Thus, vehicle-vehicle interactions need not to be checked on In order to illustrate the concept, a case study containing the detailed planning level, only smooth maneuvering and ten agents was carried out. As it is visible in Fig. 2, we obstacle avoidance between the points are required. have a 16 × 10 units floorplan, containing 7 obstacles that must be avoided. The first-phase planning is running on a Acknowledgements 40 step long horizon, which means at least 10 × 40 × 2 = 800 This work has been supported by the research program titled continuous variables (x and y directions for all agents and ”Exploring the Mathematical Foundations of Artificial In- all discrete time points). The number of temporal logic for- telligence” (2018-1.2.1-NKP-00008). The partial support of mulas is 10 × 7 (obstacles) + 10 × 9/2 (collisions) = 115, the projects GINOP-2.3.2-15-2016-00002 and EFOP-3.6.3- resulting in approximately 400 × 40 constraints for the opti- VEKOP-16-2017-00002 is also acknowledged. T. Péni is the mization problem. The exact number of variables in our sim- grantee of the Bolyai János Research Scholarship of the Hun- ulation (produced by the STL parser) was 10660 continuous garian Academy of Sciences. The work has been also sup- and 33110 integer variables. The solution of the problem on ported by the UNKP-19-4-BME-29 New National Excellence an average consumer-grade laptop using two processor cores Program of the Ministry of Human Capacities. was 217.7 seconds. To illustrate the detailed (second-phase) planning, we show 6. REFERENCES the planned routes and the generated input signals for only [1] Gawrilow, E., Köhler, E. and Möhring, R. and Stenzel, B. Dynamic Routing of Automated Guided Vehicles in one agent corresponding to obstacle avoidance. The situa- Real-time (2008). In: Krebs HJ., Jäger W. (eds) tion is shown in Fig. 3. Here, we have the first-phase plan Mathematics – Key Technology for the Future. Springer, generated for the agents, and we use the second phase com- Berlin, Heidelberg DOI: 10.1007/978-3-540-77203-3 12. putation to calculate the detailed plan. The discretization [2] B. Csutak, T. Péni and G. Szederkényi. An optimization time for the second phase was t(2) based algorithm for conflict-free navigation of autonomous s = t(1) s /10, with a horizon of T = 50 steps. The rough plan is marked by the blue guided vehicles In Pannonian Conference on Advances in Information Technology (2019), pp. 90-97. circles and consists of 5 intermediary points. The detailed [3] T. Nishi, M. Ando and M. Konishi. Distributed route plan is marked by red stars. As it is visible in the figure, the planning for multiple mobile robots using an augmented agent remains in the prescribed proximity of the first-phase Lagrangian decomposition and coordination technique In plan. It must be noticed, that the agent correctly avoids IEEE Transactions on Robotics, vol. 21, no. 6, pp. the obstacle’s corner, which was to be hit following directly 1191-1200, Dec. 2005. the first phase rough route. The input signals (acceleration [4] E. S. Kim, S. Sadraddini, C. Belta, M. Arcak and S. A. commands) generated for the agent are displayed in Fig. 4 Seshia. Dynamic contracts for distributed temporal logic control of traffic networks In 2017 IEEE 56th Annual Conference on Decision and Control (CDC), Melbourne, 5. CONCLUSION VIC, 2017, pp. 3640-3645. In this paper, we presented a possible way for describing [5] Raman, V. and Donzé, A. and Maasoumy, M. and Murray, R. and Sangiovanni-Vincentelli, A. and A Seshia, S. (2014). route planning problems as optimisation problems, using Model Predictive Control with Signal Temporal Logic the formalism offered by signal temporal logic. The plan- Specifications In 53rd IEEE Conference on Decision and ning phase is divided into two parts: in the first phase, Control (2014): 81-87. we use a low-complexity model for creating a rough plan, [6] A. Donzé and V. Raman. BluSTL Controller Synthesis from StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 45 Signal Temporal Logic Specifications In 1st and 2nd International Workshop on Applied verification for Continuous and Hybrid Systems, 2015 [7] S. Coogan and M. Arcak. Freeway traffic control from linear temporal logic specifications In 2014 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS), Berlin, 2014, pp. 36-47. [8] N. Mehr, D. Sadigh, R. Horowitz, S. S. Sastry and S. A. Seshia. Stochastic predictive freeway ramp metering from Signal Temporal Logic specifications In 2017 American Control Conference (ACC), Seattle, WA, 2017, pp. 4884-4889. [9] S. Karaman, and E. Frazzoli. Linear temporal logic vehicle routing with applications to multi-UAV mission planning. International Journal of Robust and Nonlinear Control, 21:1372–1395, 2011. [10] C. I. Vasile, and C. Belta. Sampling-Based Temporal Logic Path Planning. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 4817-4822, 2013. [11] Z. Liu, J. Dai, B. Wu, and H. Lin. Communication-aware Motion Planning for Multi-agent Systems from Signal Temporal Logic Specifications. In Proceedings of the 2017 American Control Conference, 2516-2521, 2017. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 46 Figure 2: Paths created by the coarse first-phase planning for 10 agents The start and target positions of the agents are marked by stars and diamonds, respectively. Figure 3: The first- and second phase plans for one agent Figure 4: Input signals computed for the agent StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 47 Decolorization of Digital Pathology Images: A Comparative Study Krishna Gopal Dhal1, Swarnajit Ray2, Arunita Das3, Iztok Fister Jr.4, Sanjoy Das5 1Dept. of Computer Science and Application, Midnapore College (Autonomous), Paschim Medinipur, West Bengal, India. Email: krishnagopal.dhal@midnaporecollege.ac.in 2Learningmate Solutions Pvt. Ltd., Kolkata, West Bengal, India. Email: swarnajit32@gmail.com 3Dept. of Information Technology, Kalyani Govt. Engineering College, Kalyani, Nadia, India. Email: arunita17@gmail.com. 4Faculty of Electrical Eng. and Computer Sc., University of Maribor, Slovenia, Email: iztok.fister1@um.si. 5Dept. of Eng. and Technological Studies, University of Kalyani, Kalyani, India, Email: dassanjoy0810@hotmail.com ABSTRACT reduced to the order M×N with each pixel as a single scalar value, then the computation for applying these techniques reduces The major demerit of color to gray conversion is the loss of drastically. Another benefit is that this conversion facilitates the visually important image features. Digital pathology images are application of single-channel algorithms on color images, like treated as the gold Standard for detection of various diseases, Canny operator for edge detection [4]. In literature, this dimension especially for the different types of cancer. Digital pathology reduction is considered as color to gray scale image conversion, or images are color in nature, i.e. each pixel is a color vector decolorization. represented by three values. Thus, the processing of these images Several color to gray scale conversion techniques have been requires high computational time. If these color images are developed by following the human perception of brightness and converted into one dimensional gray images, then processing time contrast, and they proved their efficiency in the traditional color can be reduced, which will help the Computer-Aided Diagnosis (CAD) system significantly for accurate classification and image decolorization field [5-12]. However , the utilization of detection of different types of diseases. Therefore, this study decolorization techniques in the Digital Pathology domain is a focuses on the fast conversion of color digital pathology images little bit different. Information loss minimization for a specific into gray images. In order to do that, seven well established color image is the main aspiration. Therefore, this study utilizes these to gray conversion, techniques have been employed for producing developed color to gray conversion techniques for the gray images with salient features. The outcomes have been decolorization of pathology images to prove their efficacy in this validated visually and numerically. medical image domain. All color to gray conversion techniques are categorized into three classes, namely Local, Global, and KEYWORDS Hybrid. In local processing based techniques [5, 6], the same Digital Pathology Images, Decolorization, Color to Gray color pixel within an image can be mapped into different gray Conversion, Gray Scale, RGB2GRAY. values, depending on the local distributions of colors, which is generally not desired. Compared to local, global processing methods [4, 7-12] are able to produce natural looking images. 1. Introduction Several hybrid methods have also been developed by considering Computer assisted pathology and microscopy image analysis, global and local contrast or features for conversion [13, 14], but, it assist the decision making for automated disease diagnosing, as is also true that local processing and utilization of local they provide digital images related to certain kinds of disease information based statistics take large computational time. using Computer-Aided Diagnosis (CAD) systems, which Therefore, this letter considers only global processing based facilitates quantitative and qualitative medical results with a high techniques [4, 7-12], which are discussed in the next Section. throughput processing rate [1, 2, 3]. At present, automated The paper is organized as follows: Section 2 discusses medical diagnosing has attracted the attention of several all the global color to gray conversion techniques. Section 3 pathologists in research and clinical practice , since CAD systems describes the experimental results and the paper is concluded in reduce human error, false positive results and time complexity, section 4. while pathology imaging provides more accurate results, faster and reproducible image analysis. Digital pathology images are stored as high-resolution color images, i.e. each pixel is 2. Decolorization Models represented as a three-dimensional vector, namely R, G, and B, The existing global decolorization, methods have been presented and, due to that, they are of the order M×N×3, where M and N in this Section. indicate the number of row and column respectively. Therefore, several image processing techniques, like enhancement, 2.1. MATLAB Procedure (rgb2gray) segmentation, require high computational effort. In order to overcome this issue, if these high dimensional images can be StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.49-52 Koper, Slovenia, 10 October 49 Generally, global mapping techniques convert a color image 2.7. Parametric ratio-based method for (𝑅𝐺𝐵) into a grayscale image (𝐺) by a linear weighting of the 𝑅, efficient contrast preserving 𝐺 , and 𝐵 channels, i.e. G(i, j) = ∑c=R,G,B 𝑤c𝑅𝐺𝐵c (i, j), where decolorization (PrDecolor) ∑c=R,G,B 𝑤𝑐 = 1. Here, the three linear weighting parameters w, This PrDecolor was proposed by Xiong et. al. in 2018 [12]. The should be estimated on the basis of some models. method is a contrast preserving multivariate parametrical In the MATLAB (Matrix Laboratory) software, developed by constraint based decolorization model. MathWorks [11], an RGB image converts into gray-scale by the following weighting formula: 𝐺 = 0.2989 × 𝑅 + 0.5870 × 𝐺 + 0.1140 × 𝐵 (1) 3. Experimental Results The experiment was performed over 40 color hematopathology 2.2. Color2Gray and histopathology images with MatlabR2016a and a Windows- This decolorization model was developed by Gooch et. al. in 10 OS, x64-based PC, RIZEN CPU, 3.6 GHz with 8 GB RAM. 2005 [7]. The proposed model uses CIELAB color space, and The proposed methods were tested on images taken from the ALL maintains color contrast between pixel pairs by optimizing an IDB dataset [15] and UCSB Bio-Segmentation Benchmark objective contrast function. dataset [16, 17]. 2.3. Real-Time Contrast Preserving Decolorization (RTCPD) It has previously been said that G(i, j) = ∑ 𝑤c𝑅𝐺𝐵c (i, j) c=R,G,B . In 2009, Lu et. al. [8] also developed a decolorization model called Real-Time Contrast Preserving Decolorization (RTCPD) by optimizing the linear weights 𝑤c by minimizing the gradient error energy function. 2.4. Gradient Correlation Similarity for Decolorization (GcsDecolor) (a) (b) The GcsDecolor [9] model was proposed by Liu et. al. in 2015, Fig.1. (a) Original image of Acute Lymphoblastic Leukemia which is the variant of RTCPD. Gradient correlation similarity (b) Original image of Breast histopathology (Gcs) measure were utilized in GcsDecolor. Two variants of The decolorization efficacy of the proposed models has been GcsDecolor have been developed by the authors. The first one is judged by computing three quality parameters, namely the Color- iterative GcsDecolor and the other is discrete searching to-Gray Structural Similarity (C2G-SSIM) index (C2G-SSIM) GcsDecolor. Discrete searching based GcsDecolor is utilized here, [10, 20], Edge based Contrast Measure (EBCM) [18], and Entropy due to its simplicity and run time efficiency. [19]. C2G-SSIM [10, 20] is a color to gray evaluation metric 2.5. Semi-Parametric Decolorization based on the popular image quality assessment metric SSIM. It (SPDecolor) model demonstrates higher correlation with human subjective evaluations. It is expected that the efficient color to gray This Semi-Parametric Decolorization technique is another variant conversion technique preserves the edge information. Therefore, of RTCPD proposed by Liu et. al. in 2016 [4]. SPDecolor has the EBCM has been utilized to measure the edge information, as it is strength of the parametric contrast preserving method and the less sensitive to digitization effects and noise. Entropy [19] value non-parametric rgb2gray method. reveals the information content in the image. If the distribution of the intensities is uniform, then it can be said that a histogram is 2.6. Color to Gray Conversion by Correlation equalized and the entropy of the image is more. (CorrC2G) The CorrC2G [10] technique was proposed by Nafchi et. al. in 2017, where the linear weighting parameters (w) have been estimated using the correlation information between each band of RGB image and a contrast image. This method also does not require any edge information or any optimization. (a) (b) StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 50 (c) (d) (e) (f) Fig.3. Results of decolorizarion for Fig.1(b): (a) rgb2gray [11] (b) Color2Gray [7] (c) RTCPD [8] (d) GcsDecolor [9] (e) SPDecolor [4] (f) CorrC2G [10] (g) PrDecolor [12]. (e) (f) (g) Fig.2. Results of decolorizarion for Fig.1(a): (a) rgb2gray [11] (b) Table 1. Average Quality parameters over 40 images Color2Gray [7] (c) RTCPD [8] Method C2G-SSIM EBCM Entropy (d) GcsDecolor [9] (e) SPDecolor rgb2gray [11] 0.8912 183.24 7.19 [4] (f) CorrC2G [10] (g) PrDecolor [12]. Color2Gray [7] 0.8314 172.13 6.98 RTCPD [8] 0.8914 183.57 7.19 GcsDecolor [9] 0.8598 174.90 7.11 SPDecolor [4] 0.9030 187.38 7.23 (g) CorrC2G [10] 0.9032 187.98 7.25 PrDecolor [12] 0.9035 188.74 7.25 /* Best results obtained are given in bold*/ Table 2. Computational time of decolorization methods Method Fig.1(a) Fig.1(b) 257x257 896x768 rgb2gray [11] 0.0086 0.0221 Color2Gray [7] 157.01 263.23 RTCPD [8] 0.0721 0.0636 (a) (b) GcsDecolor [9] 0.0397 0.0723 SPDecolor [4] 0.0942 1.0967 CorrC2G [10] 0.0187 0.0385 PrDecolor [12] 2.9678 27.8316 /* Best results obtained are given in bold*/ 3.1. Analysis of Experimental Results Performance analysis of the considered seven decolorization models was performed by using three image quality parameters (c) (d) and computational time. Figs. 2 and 3 demonstrate the outcomes of the seven decolorization models over pathology images, represented as Fig. 1. Values of the quality parameters and computational times are given in Tables 1 and 2 respectively. Visual analysis of Figs. 2 and 3 shows clearly that SPDecolor [4], CorrC2G [10], and PrDecolor [12] produce better outcomes compared to other decolorization methods. However, when we compare these methods based on quality parameters, it can be seen that PrDecolor [12] outperforms the other methods. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 51 SPDecolor [4] and CorrC2G [10] provide nearly the same results Transactions on Graphics (TOG) (Vol. 24, No. 3, pp. 634-639). as PrDecolor [12], as their corresponding numerical values of the ACM. quality parameters are almost the same. It can also be seen that 8) Lu, C., Xu, L., & Jia, J. (2012, November). Real-time contrast these three methods, namely, SPDecolor [4], CorrC2G [10], and preserving decolorization. In SIGGRAPH Asia 2012 Technical PrDecolor [12] outperform the other four methods significantly in Briefs (p. 34). ACM. terms of quality parameters. When we consider computational 9) Liu, Q., Liu, P. X., Xie, W., Wang, Y., & Liang, D. (2015). time, it can be seen that the MATLAB based rgb2gray [11] GcsDecolor: gradient correlation similarity for efficient contrast method is the best method. However, among the SPDecolor [4], preserving decolorization. IEEE Transactions on Image Processing, 24(9), 2889-2904. CorrC2G [10], and PrDecolor [12] methods, CorrC2G is 10) Nafchi, H. Z., Shahkolaei, A., Hedjam, R., & Cheriet, M. associated with the lowest computational time. (2017). CorrC2G: Color to gray conversion by correlation. IEEE Signal Processing Letters, 24(11), 1651-1655. 4. Conclusion 11) MATLAB and Image Processing Toolbox Release 2012b, The MathWorks, Inc., Natick, Massachusetts, United States. This paper presents a comparative study among seven existing 12) Xiong, J., Lu, H., Liu, Q., & Xu, X. (2018). Parametric ratio- decolorization methods in the case of digital pathology images. based method for efficient contrast-preserving The visual and decolorization quality parameters prove clearly decolorization. Multimedia Tools and Applications, 77(12), that PrDecolor [12], proposed by Xiong et. al., provided the best 15721-15745. outcomes compared to the other six methods. Computational time 13) Du, H., He, S., Sheng, B., Ma, L., & Lau, R. W. (2014). shows that the MATLAB based rgb2gray method outperformed Saliency-guided color-to-gray conversion using region-based the others, although CorrC2G [10] produced nearly the same optimization. IEEE Transactions on Image Processing, 24(1), outputs as the PrDecolor [12] method, but within the second less 434-443. computational time. One challenging future direction of this study 14) Jin, Z., Li, F., & Ng, M. K. (2014). A variational approach for can be the application of nature-inspired optimization algorithms image decolorization by variance maximization. SIAM Journal to set the parameters of the parametric decolorization methods by on Imaging Sciences, 7(2), 944-968. considering different objective functions. 15) Labati, R. D., Piuri, V., & Scotti, F. (2011, September). All- IDB: The acute lymphoblastic leukemia image database for REFERENCES image processing. In 2011 18th IEEE International Conference on Image Processing (pp. 2045-2048). IEEE. 1) Gurcan, M. N., Boucheron, L. E., Can, A., Madabhushi, A., 16) Dhal, K. G., Ray, S., Das, S., Biswas, A., & Ghosh, S. Hue- Rajpoot, N. M., & Yener, B. (2009). Histopathological image Preserving and Gamut Problem-Free Histopathology Image analysis: A review. IEEE reviews in biomedical engineering, 2, Enhancement. Iranian Journal of Science and Technology, 147-171. Transactions of Electrical Engineering, 1-28. 2) Irshad, H., Veillard, A., Roux, L., & Racoceanu, D. (2014). 17) Dhal, K. G., Fister Jr, I., Das, A., Ray, S., & Das, S (2018) Methods for nuclei detection, segmentation, and classification Breast Histopathology Image Clustering using Cuckoo Search in digital histopathology: a review—current status and future Algorithm. StuCoSReC. 5th Student Computer Science potential. IEEE reviews in biomedical engineering, 7, 97-114. Research Conference, 47-54. 3) Hinojosa, S., Dhal, K. G., Elaziz, M. A., Oliva, D., & Cuevas, 18) Beghdadi, A., & Le Negrate, A. (1989). Contrast enhancement E. (2018). Entropy-based imagery segmentation for breast technique based on local detection of edges. Computer Vision, histology using the Stochastic Fractal Graphics, and Image Processing, 46(2), 162-174. Search. Neurocomputing, 321, 201-215. 19) Dhal, K. G., Ray, S., Das, A., & Das, S. (2018). A Survey on 4) Liu, Q., Liu, P. X., Wang, Y., & Leung, H. (2016). Nature-Inspired Optimization Algorithms and Their Semiparametric decolorization with Laplacian-based perceptual Application in Image Enhancement Domain. Archives of quality metric. IEEE Transactions on Circuits and Systems for Computational Methods in Engineering, 1-32. Video Technology, 27(9), 1856-1868. 20) Ma, K., Zhao, T., Zeng, K., & Wang, Z. (2015). Objective 5) Neumann, L., Čadík, M., & Nemcsics, A. (2007, June). An quality assessment for color-to-gray image conversion. IEEE efficient perception-based adaptive color to gray Transactions on Image Processing, 24(12), 4673-4685. transformation. In Proceedings of the Third Eurographics conference on Computational Aesthetics in Graphics, Visualization and Imaging (pp. 73-80). Eurographics Association. 6) Smith, K., Landes, P. E., Thollot, J., & Myszkowski, K. (2008, April). Apparent greyscale: A simple and fast conversion to perceptually accurate images and video. In Computer Graphics Forum (Vol. 27, No. 2, pp. 193-200). Oxford, UK: Blackwell Publishing Ltd. 7) Gooch, A. A., Olsen, S. C., Tumblin, J., & Gooch, B. (2005, July). Color2gray: salience-preserving color removal. In ACM StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 52 Solving multi-depot vehicle routing problem with particle swarm optimization Matic Pintarič Sašo Karakatič University of Maribor, Faculty University of Maribor, Faculty of Electrical Engineering and of Electrical Engineering and Computer Science Computer Science Koroška cesta 46 Koroška cesta 46 Maribor, Slovenia Maribor, Slovenia matic.pintaric@student.um.si saso.karakatic@um.si ABSTRACT Yao et al. [18] proposed custom particle swarm optimization Multi-depot vehicle routing problem (MDVRP) is an optimization algorithm for carton heterogeneous vehicle routing problem. problem with practical real-world applications in the commercial Kumar et al. [19] proposed a PSO for vehicle routing problem transportation sector. It deals with the optimization of the time with time window constraint. More recently, Norouzi et al. [20] and cost of the transportation of goods from and to customers extended VRP with time window problem with additional fuel from numerous predefined serving depots. The multi-depot variant consumption constraint and solved the problem also with PSO. adds constraints of multiple serving depots and variable customer All these approaches treat routing problem as a discreet problem. serving capacity and is a NP hard problem. In this paper, we As we used optimization framework, which only works with present an application of Particle Swarm Optimization (PSO) for continuous optimization problem, the approaches from the continuous optimization to MDVRP, where nature-inspired referenced papers could not be used and a transformation was optimization framework NiaPy is used. As MDVRP is a discreet necessary. optimization problem, but NiaPy is suited to work only with The remaining of the paper is structured as follows. Second continuous optimization problems, a transformation with the section presents and formulates MDVRP and PSO. Next section repairing mechanism must be used. Our proposed approach is presents our proposed approach and its implementation with presented in detail and is tested on several standard MDVRP NiaPy framework. Fourth section presents the results of the benchmark sets to provide a sufficient evidence of usability of the experiment of the proposed approach on the standard benchmark approach. sets. Last section discusses the results of the experiments and Keywords finishes with the concluding remarks. Multi-depot Vehicle Routing Problem, Continuous optimization, 2. SOLVING MDVRP Particle Swarm Optimization Logistic companies and other carriers, tasked with transporting or picking up shipments, face with route optimization on a daily 1. INTRODUCTION level. The well-optimized route, taken by their fleets of vehicles, Optimization is a daily problem we face with in an increasing means saving fuel and thus reducing overall daily cost. From this number of different logistics services, such as for example mail we can see that similar scenarios are present in in everyday life delivery, passenger transportation and other transportation of and present a problem worth solving well. goods [1], [2], [4]. Because solving such problems is - due to restrictions on the route often quite difficult, we mostly rely on The described problem is called VRP and was first addressed by computer intelligence. By this we mean different algorithms that George Dantzig and John Ramser in 1959, as a solution to have some heuristics rules, which result in good solutions. They optimize fuel delivery. It is a NP hard combinatorial optimization are classified as metaheuristic algorithms and often also referred problem, generalized from travelling salesman problem, so there to as nature-inspired or evolutionary algorithms (EA) [6], [9]. is no polynomial time solution known to it [1], [3]. The result of the problem is the optimal set of routes for multiple vehicles, In order to execute the experiment of a comparison between transporting goods to or from customers, subject to restrictions different EA, we firstly developed a system that allows along the routes. We also need to keep in mind that only one application of any EA to the vehicle routing problem (VRP). Then vehicle can visit specific customer at a time [1], [7]. we tackled the VRP using five different evolutionary algorithms, which are genetic algorithm (GA), evolution strategy (ES), Over time, different classifications of the problem have formed differential evolution (DE), particle swarm optimization (PSO) due to differences in constraints. The most common versions of and harmony search (HS). Considering the obtained results, we the problem are VRP with capacity constraints (CVRP), multi- decided to pay more attention to the PSO algorithm. depot VRP (MDVRP) and VRP with time windows constraints (VRPTW). In addition, just about every problem classification PSO is a popular algorithm for solving many complex also has a certain distance limit of the individual vehicle [1], [4]. optimization problems, including routing problems. In 2008 Mohemmed et al. [16] used PSO for simple routing problem with We focused on solving MDVRP classification of the problem, custom priority-based encoding and heuristic operator to prevent which is also less frequently referred to as multi-depot capacitated loops in the path construction. Next in 2009, Ai and vehicle routing problem (MDCVRP) [4]. The version of the Kachitvichyanukul [17] presented PSO with multiple social problem, in addition to multiple customers, consists of multiple structures to solve VRP with simultaneous pickup and delivery. depots and thus more predefined vehicles - each vehicle can carry StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.53-56 Koper, Slovenia, 10 October 53 a certain payload, travel a certain distance and must eventually programming language, installation is possible on all systems, return to its starting depot [3], [11]. If any of the restrictions is which have the support for the language and installed PIP package violated, penalty function is used to punish the vehicle with a manager. Due to further development, new algorithms are being certain mark-up value. Because MDVRP is represented as a added to the framework and the previously implemented directed graph, every node of customer and depot has its own x algorithms are being further improved [13]. and y coordinate pair [4], [5]. When looking for a solution to the One of the algorithms implemented in NiaPy is also PSO, which problem, we usually divide it into three phases, collectively is a population stochastic optimization algorithm and belongs to referred to as decision making or decision hierarchy in MDVRP. the EA group. The algorithm, which is based on the behavior of We call them the merging phase, the routing phase and the the swarms of animals such as fish and birds was first developed scheduling phase. In the first phase, we try to allocate customers by James Kennedy and Russel Eberhart in the mid-90s of the 20th to the individual depots according to the distance, which is present century. It was created as a by-product of the desire to graphically between them. The second phase, with previously divided represent various flight patterns of animals [6], [8], [14], [15]. customers, draws up several routes, which vehicles will take. After that, each path is sequenced in the third phase [3], [11]. The PSO population is referred to as a swarm and instances inside of it flying particles, which are constantly moving inside of a Figure 1 is an example of MDVRP problem, where letters A and hyperdimensional search space. The position between particles is B represent depots or vehicles with a maximum capacity of 10 determined with social-psychology tendency to be better and to units of weight, and circles with numbers represent different imitate other, closer instances [6], [8]. Each particle is moving customers. There are four paths between depots and customers, with its own speed, knows its previous locations and never goes based on genotype numbers that are converted to phenotype extinct, because there is no selection, mutation or recombination numbers by the first conversion method. The routes were [10]. Velocity is changed in every generation/iteration. For determined according to the previously mentioned MDVRPs changing velocity, we have three different parts, namely previous decision hierarchy. velocity, cognitive component and social component First component represents the memory of the previous direction motion and prevents the current flight direction from drastically changing. Second component expresses the performance of the current particle with respect to past results. Lastly, third component expresses the performance of the current particle with respect to some group of particles or neighbors around it [8]. During the operation, we need to store some other information like information about the best found location of each particle (pbest), information about the best found location of the currently selected part of the swarm (lbest) and information about the best found location of the particle of any swarm (gbest). When finding new top locations, current values need to be updated [6], [8]. The PSO algorithm uses fitness function for guidance of the search over the search space. When the stopping condition is meet, algorithms returns global best solution found [10]. Figure 1. MDVRP example. 3. IMPLEMENTATING PSO FOR MDVRP 2.1 Particle Swarm Optimization for MDVRP For the purpose of the experiment we used programming language The system we developed for experiment purposes, supports Python to develop a system, which allows application of any EA importing any EA from the library or microframework called from NiaPy library to the different MDVRP examples. The NiaPy. It was developed by researches from the Faculty of system can handle CSV cases of VRP made by Cordeau [12]. Electrical Engineering and Computer Science and the Faculty of Economics and Business from University of Maribor. Main The system consists of several different classes, one of which is purpose for developing the framework was lack of easy and fast class Evaluation, which is responsible for solving the problem. In use of EA, since the own implementation of a single algorithm is the class we firstly convert given genotype from imported EA to often difficult and time-consuming. The library architecture is an appropriate phenotype, which can be then used to tackle the divided into two parts, which we call algorithms and benchmarks. problem. First genotype to phenotype conversion assigns In addition to the developed normal EA versions, we can also find ascending index number to each gene, according to its value in the hybrid variants, such as hybrid bat algorithm and self-adaptive array. Second conversion assigns genes, representing nodes or differential evolution algorithm. The framework supports EA customers, to specific vehicles based on the value scale, made of startup and testing with predefined and generated comparisons, number of depots. while also allowing the export of results in three different formats, The fitness function of the program itself is quite simple, since it which are LaTeX, JSON and Excel [13]. only adds up all the paths made to the total distance. This then Although some similar frameworks for managing nature-inspired represents the fitness value of the current instance. It is also algorithms already exist, NiaPy differs mainly in minimalism and important to add penalty to the result, if solution violated any of ease of use. Its main functions are weak coupling, good the limitations of the MDVRP. This is done by checking the limits documentation, user friendliness, fair comparison of algorithms, during the program operation and in case of a violation, send the quick overview of results and friendly support community. NiaPy current result into the penalty function, which then adds a certain project is designated as open source and licensed under an MIT distance unit to the distance already completed. license. Because the framework is developed in Python StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 54 Another important class is Graph, which is responsible for drawing different graphs and connecting nodes of customers and Table 2. Test results of solving the example pr04 depots on it with paths. Each customer and depot object have its own coordinate pair x and y, which is then plotted on a graph and Fitness Run time Algorithm connected to paths, obtained from the current result object. The (unit of distance) (seconds) final graph thus illustrates all the paths made by vehicles between GA 13282.01 3906.96 all the customers and depots. The class can also draw a final bar ES 13640.05 3808.14 graph of all fitness values across generations, received through the DE 13476.95 3713.49 objects of all solutions. Image Class on the other hand, captures PSO 13603.86 3714.37 an image from a drawn graph and saves it to the appropriate HS 13573.96 3865.54 directory. It can also use previously stored images to generate animated gifs that show the composition of the found route. PSO achieved the second-best fitness value when solving the third The program itself starts in its main function, where we specify MDVRP case - pr08 (6 depots/vehicles and 144 customers), desired parameters, such as population size, number of which is interesting because the example was a bit easier that he generations to be made, number of instances inside one previous one. It also solved the problem as the fastest generation, seed value and genotype to phenotype conversion. optimization algorithm of all tested. Overall, the algorithm proved Results are displayed on the console at the end of the solving. to be a good choice for solving the specific case. Test results are 4. RESULTS OF THE EXPERIMENT recorded in Table 3. The experiment we conducted was performed on five MDVRP cases and with five competitive evolutionary algorithms (Particle Table 3. Test results of solving the example pr08 Swarm Optimization PSO, Evolutionary Strategy ES, Genetic Algorithm GA, Differential Evolution DE and Harmony Search Fitness Run time Algorithm HS), using settings of 10 generations, 5 instances and 20 units of (unit of distance) (seconds) distance as the penalty value. Each of five test cases was run with GA 13282.01 3906.96 a random seed value between 1.000 and 10.000 and with first ES 13640.05 3808.14 genotype to phenotype conversion. Unfortunately, the testing was DE 13476.95 3713.49 only performed once due to poor hardware capabilities, which PSO 13603.86 3714.37 were processor Intel Core i5-6267U 3.300Ghz, graphic card Intel HS 13573.96 3865.54 Iris Graphics 550, Kingston 8Gb RAM and Liteon 250Gb SSD. The experiment was performed on the Linux operating system Ubuntu 18.04. The fourth MDVRP case pr14 (4 depots/vehicles and 192 customers) was similar in complexity to the second, but with one The exact NiaPy algorithms, which were used in the testing are depot less. PSO solved the problem well again, with its fitness GeneticAlgorithm for GA, EvolutionStrategyMpL for ES, result reaching second place, and ES reaching last place. With DifferentialEvolution for DE, ParticleSwarmAlgorithm for PSO 3709.32 seconds, PSO solved the problem fastest once again. All and HarmonySearch for HS. Settings of individual evolutionary the results can be seen in Table 4. algorithm were left at default values from the NiaPy framework. When testing on the first and simplest example of the problem pr00 (2 depots/vehicles and 10 customers), PSO fund the fourth Table 4. Test results of solving the example pr14 best route, which is not exactly good. It was overtaken by all the Fitness Run time algorithms except the ES, which achieved an even worse fitness Algorithm (unit of distance) (seconds) result. Comparing on the execution time of the algorithms, the GA 13723.88 3896.00 PSO achieved the best value, although it was quite like the DE ES 13885.56 3732.49 and HS values. All the results described are shown in Table 1. DE 13494.85 3755.60 PSO 13500.67 3709.32 Table 1. Test results of solving the example pr00 HS 13873.96 3950.66 Fitness Run time Algorithm (unit of distance) (seconds) The toughest test case pr20 (6 depots/vehicles and 288 customers) GA 688.02 168.59 was with 21085.43 units of distance best resolved by PSO – the ES 774.52 155.93 rest of the algorithms were left behind by about 200 units of DE 711.88 148.61 distance or more. It achieved the third-best computing time, and interestingly GA achieved first, although its fitness value wasn’t PSO 749.02 148.43 very good. All the test results are shown in Table 5. HS 679.10 148.78 GA achieved the best fitness value in solving the second MDVRP Table 5. Test results of solving the example pr20 case pr04 (4 depots/vehicles and 192 customers). Again, the PSO Fitness Run time found the fourth best route with 13603.86 units of distance, and Algorithm (unit of distance) (seconds) the worst path was found by the ES. This time, PSO solved the GA 21610.55 7341.09 problem with the second fastest time, as it was overtaken by the ES 21397.89 7345.13 DE for only one second. Results are shown in Table 2. DE 21224.04 7487.69 StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 55 PSO 21085.43 7461.45 [3] W. Ho, G. T.S. Ho, P. Ji, and H. C.W. Lau, “A hybrid genetic HS 21293.09 7656.94 algorithm for the multi-depot open vehicle routing problem,” Eng. Appl. Artif. Intell., vol. 21, pp. 401–421, 2008. If we look at Table 6, we can see the rankings of the PSO [4] S. Karakatič and V. Podgorelec, “A survey of genetic algorithm in fitness scores and runtime relative to the other algorithms for solving multi depot vehicle routing problem,” algorithms. The PSO reached an average of 2.6 for fitness Appl. Soft Comput. J., vol. 27, pp. 519–532, 2015. rankings and 1.6 for the runtime, and thus solved MDVRP cases [5] G. Laporte, M. Gendreau, J.-Y. Potvin, and F. Semet, the best of all the tested algorithms. It handled more difficult cases “Classical and modern heuristics for the vehicle routing problem,” better but achieved the fastest resolution times for all of the Int. Trans. Oper. Res., vol. 7, pp. 285–300, 2000. MDVRP examples. [6] S. Luke, Essentials of Metaheuristics, Second Edi. 2013. We ran the test cases again with second conversion of genotype to [7] B. M. Baker and M. A. Ayechew, “A genetic algorithm for the phenotype but did not get any different results – all fitness scores vehicle routing problem,” Comput. Oper. Res., vol. 30, no. 5, pp. and running times have overall deteriorated. 787–800, 2003. [8] A. P Engelbrecht, “Computational Intelligence.” p. 597, 2007. Table 6. The PSO algorithm ranks [9] A. Shukla, R. Tiwari, and R. Kala, Real Life Applications of Order of pr00 pr04 pr08 pr14 pr20 Soft Computing. 2012. place [10] R. Storn and K. Price, “Differential Evolution – A Simple Fitness 4 4 2 2 1 and Efficient Heuristic for Global Optimization over Continuous Run time 1 2 1 1 3 Spaces,” J. Glob. Optim., pp. 341–359, 1997. 5. CONCLUSIONS [11] P. Surekha, Sumathi, and Dr.S., “Solution To Multi-Depot In this paper we present the application of particle swarm Vehicle Routing Problem Using Genetic Algorithms,” World optimization algorithm with the usage of NiaPy optimization Appl. Program., vol. 1, no. 3, pp. 118–131, 2011. framework on the multi-depot capacitated vehicle routing [12] N. and E. O. G. University of Málaga, “Multiple Depot VRP problem. Our approach differs from the similar relevant with Time Windows Instances,” 2013. [Online]. Available: approaches in the way we represent the optimization problem. In http://neo.lcc.uma.es/vrp/vrp-instances/multiple-depot-vrp-with- the literature it is normal to treat routing problems as discreet time-windows-instances. [Accessed: 31-Aug-2019]. optimization problems. As this was not possible with the usage of [13] G. Vrbančič, L. Brezočnik, U. Mlakar, D. Fister, and I. Fister NiaPy optimization framework, we presented a method on how to Jr., “NiaPy: Python microframework for building nature-inspired solve MDVRP as the continuous optimization problem. algorithms,” J. Open Source Softw., vol. 3, p. 613, 2018. The proposed method was tested on several standard MDVRP [14] X.-S. Yang, “Firefly algorithms for multimodal benchmark sets and the results of PSO were compared with optimization,” Springer-Verlag Berlin Heidelb., vol. 5792 LNCS, several evolutionary algorithms. The results of the experiment pp. 169–178, 2009. show that PSO of continuous optimization is a viable and competitive method for solving MDVRP, especially in the speed [15] X.-S. Yang and X. He, “Firefly algorithm: recent advances and applications,” Int. J. of the optimization – it was the fastest in three cases out of five Swarm Intell., vol. 1, no. 1, pp. 36–50, sets. Our proposed PSO reached the best (shortest) route in only 2013. one case and it resulted with second shortest routes in two other [16] Mohemmed, A.W., Sahoo, N.C. and Geok, T.K., 2008. cases. Thus, we can conclude that PSO can effectively solve Solving shortest path problem using particle swarm optimization. MDVRP problem with competitive solutions in fastest run times Applied Soft Computing, 8(4), pp.1643-1653. out of all five included algorithms. [17] Ai, T.J. and Kachitvichyanukul, V., 2009. A particle swarm Future work includes the implementation of advanced PSO optimization for the vehicle routing problem with simultaneous operators from the referenced literature and customizing them for pickup and delivery. Computers & Operations Research, 36(5), the continuous optimization. Also, there are numerous other VRP pp.1693-1702. variants, which should be tested with our proposed approach. [18] Yao, B., Yu, B., Hu, P., Gao, J. and Zhang, M., 2016. An improved particle swarm optimization for carton heterogeneous 6. ACKNOWLEDGMENTS vehicle routing problem with a collection depot. Annals of The authors acknowledge financial support from the Slovenian Operations Research, 242(2), pp.303-320. Research Agency (Research Core Funding No. P2-0057). [19] Kumar, R.S., Kondapaneni, K., Dixit, V., Goswami, A., 7. REFERENCES Thakur, L.S. and Tiwari, M.K., 2016. Multi-objective modeling of [1] W. Cao and W. Yang, “A Survey of Vehicle Routing production and pollution routing problem with time window: A Problem,” MATEC Web Conf., vol. 100, pp. 1–6, 2017. self-learning particle swarm optimization approach. Computers & Industrial Engineering, 99, pp.29-40. [2] I.-M. Chao, E. Wasil, and B. L. Golden, “A new heuristic for the multi-depot vehicle routing problem that improves upon best- [20] Norouzi, N., Sadegh-Amalnick, M. and Tavakkoli- known solutions,” Am. J. Math. Manag. Sci., vol. 13, no. 3–4, pp. Moghaddam, R., 2017. Modified particle swarm optimization in a 371–406, 1993. time-dependent vehicle routing problem: minimizing fuel consumption. Optimization Letters, 11(1), pp.121-134. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 56 Recognizing the subject exposure from the EEG signals with artificial neural networks Sašo Pavlič Sašo Karakatič University of Maribor, Faculty University of Maribor, Faculty of Electrical Engineering and of Electrical Engineering and Computer Science Computer Science Koroška cesta 46 Koroška cesta 46 Maribor, Slovenia Maribor, Slovenia saso.pavlic@student.um.si saso.karakatic@um.si ABSTRACT gather, they fail to reduce it. It is for this reason that the phenomena The paper presents the analysis of Electroencephalography (EEG) limit their ability to direct concentration and learning. In this state, brain waves from the Emotiv Insight device with machine learning, we find the brain in a locked-in repetitive state, because in that state more specifically neural networks. The captured EEG data we dream or are drowsy. represents the input data into a machine learning model, which was Theta (3−8 Hz) used to determine when and where the required patterns appear. The experiment of the developed method of capturing data and Also classified as slower brain activity. The connection can be model usage was carried out by exposing the test subject to the made with creativity, intuition, daydreaming and fantasy. It also alternating selected images and capturing the EEG brain waves covers memories, emotions and feelings. Theta waves can be with the Emotiv Insight device. The captured EEG data served as a expressed through prayer, meditation and spiritual capture. It can dataset from which the artificial neural network classification be said to occur between waking consciousness and sleeping. When model learnt to successfully recognize when a test subject was theta wave is optimal, it allows for flexible and complex behavior exposed to one type of image and when to another. Convolutional structures such as learning and remembering. The imbalance of and recurrent neural network models were constructed and tested these waves may indicate illness or stress present. to evaluate the performance of recognition of subject exposal. Alfa (8–12 Hz) Keywords Normal alpha status allows for fast and efficient task management. Electroencephalography, Neural Networks, Machine Learning, In this condition, most people feel relaxed and calm. You could say EEG signals that this wave is like a bridge between the conscious and the unconscious. The alpha state is associated with extraversion, 1. INTRODUCTION creativity (when solving a problem or listening), and having mental Recently the analysis of Electroencephalography (EEG) data has work. When the alpha waves are at the optimum range, we gained much attention with the development of new measuring experience well-being, see the world positively, and feel a sense of techniques and the advancement of the machine learning calm. This situation is one of the most important when learning and algorithms and methods. Simpraga et al. [1] proposed a machine using information already learned, such as work and education. learning technique for detection of cholinergic and Alzheimer’s disease. Boashash and Ouelha presented a method with machine Beta (12–38 Hz) learning for detection of seizures of newborns [2]. Vanegas et al. The ripple is typical of "fast" activities. This wave is taken as a presented a machine learning method for detecting of Parkinson’s normal rhythm and is the dominant wave when the person is disease [3]. In the same manner, our research was focused on the collected or upset with the eyes open. Waves also occur in listening, analysis of EEG data and recognition of subject exposures based on thinking, analytical problem solving, decision making, information the EEG data with machine learning. Recognizing the simple processing, etc. Because of its relatively wide range, this wave is subject visual exposures can be used in various fields, from user divided into low, medium and high beta waves. experience, marketing and numerous psychology experiments [4], but there is a lack of research demonstrating the usage of neural Gama (38–42 Hz) networks for this case. This paper intends to fill in this gap. It is a unique frequency wave that is present in all parts of our 1.1 Overview of EEG brains. When they have to process certain information from There are four different EEG frequency bands. different parts, it is precisely the 40 Hz frequency that combines the necessary brain regions for simultaneous processing of data. When Delta (0.5−3 Hz) we remember something well, it's at 40 Hz activity. The lowest frequency of brain waves moving below 3 Hz occurs 2. READING EEG AND ANALYSIS primarily in deep sleep. This frequency is prevalent in infants up to one year of age. It is also present between the 3rd and 4th stages of For recording the brainwaves we have been using BCI Emotiv sleep. Delta waves are reduced in very intense concentration and Insight, which has the excellent API for accessing that data directly when we use our thinking processes very actively. Interest is found from the device using Bluetooth protocol. With the API we in individuals who have problems with comprehension and managed to get the raw EEG values for each sensor out of five. That learning. They naturally magnify delta waves; when they want to data was received in JSON format. Next, to the values from the device, we have been also adding the marker which was the StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.57-60 Koper, Slovenia, 10 October 57 indicator for us to know which type of the image was user looking We repeated the recordings on the same user for multiple hours for when specific values from the channel were recorded. In the end, each type of dataset. Our recording room was isolated from the our recorded dataset had the following structure: outside noise and with the constant lighting and minimalism of the • objects in the room. We knew that we have to eliminate as much as ID, • possible distractions to get reliable recordings from the consumer- TIMESTAMP, • based device. All that data was saved in a CSV format per RAW_CQ (raw value of the quality of the signal), • recording, on the interval of 100ms (this is the interval of each read Values from the electrodes in mV for each location on the head of data made by the device). (Af3, T7, P7, T8, Af4) (semanticscholar, 2019), • EXPOSURE (0 = nature images, 1 = food images). First, we created the desktop version of the application, which was ID Timestamp Raw_value Af3 T7 P7 T8 Af4 Marker used as a bridge between the connecting the device with the PC and 0 115 500 4279.487 4250.256 4254.872 4225.641 4291.795 0 the presentation media to display the images to the user. 1 230 500 4252.821 4209.231 4249.231 4165.641 4246.667 0 2 345 1023 4267.692 4235.897 4192.308 4167.179 4249.231 0 Application's basic workflow was that first, we established the 3 460 500 4253.333 4229.744 4276.41 4169.744 4240.513 0 connection between the device and the PC, we had to choose the 4 575 1023 4262.564 4203.077 4183.077 4165.641 4246.154 0 type of image dataset, and the interval of the presentation. Table 1. Collected dataset of EEG signals 3. IMPLEMENTATING THE EEG from Emotive Insight device. ANALYSIS FRAMEWORK It was a mixture of the recorded values from different datasets. Our With all that set we run the recording and first displayed to the user entire dataset with the length about 50.000 rows. This was the result the blank screen, just for calibrating the data when a user is having of almost 2 hours of recording the brainwaves. We split the list into closed/open eyes and watching the monitor. two groups for having the data for testing and learning process in ML. The ratio was 80:20 for the learning process. With all that ready we continued our work, with creating the artificial neural network model. 3.1 Analysis with Neural Network Python framework Keras helped us to create the following neural model. The type of model we have created is called the sequential model and allows you to create multiple levels one by one. It is limited in that it does not allow you to create models that share layers or have multiple inputs or outputs In the input level it is required to define the dimension of the data in the first level, because at the beginning the model cannot know Figure 1. The experimental setup. what data will come to the input. Input data in our case were the After 30 sec of each, the pictures (Figure 2) from the selected values from the electrodes (Af3, T7, P7, T8, Af4). dataset started to switch in the selected interval. Our recordings lasted maximum to 30 minutes, depending on the calmness, relaxation of the user. It was really hard to stay concentrated for a while, just looking at the pictures, without thinking and moving much. Figure 3. Construction of neural network model with three layers. Normal distribution was used to initialize the weights, which initialized the weights according to the function results. The activation parameter was defined with a well-established and relatively simple Relu function in the input and hidden levels of the model. For the output level, however, we had to define a sigmoid function that allows us to get a result between 0 and 1. Figure 2. The picture sets for the experiment. We also added a so-called level dropout among the individual levels, which serves to ensure that randomly selected neurons are omitted during the learning phase. This means that the results of the forward pass activation function are removed, as well as any weight StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 58 change is not applied to the backward pass. All these procedures Once we had the data in the required type and form, we started help to make the model generalizable. building the RNN model. We used again as a input data values from When we had finished defining the model, we still had to compile the electrodes (Af3, T7, P7, T8, Af4). the model with a function that would define a loss (optimizer) that For which we defined the model type as sequential. We added a would be able to update the weights according to the result and a SimpleRNN level with 32 dimensions and two Dense levels to function that would return us the result, with what precision in the model, the first with 8 dimensions and the output with one. For percent, the model predicted the result with given parameters simplicity, we used activation function Relu. (weights and bias). Finally, when we built the model, we further defined the model.compile(loss="binary_crossentropy", optimization function as RmsProp which is designed for RNN optimizer="adam", models and the loss function as the average squared error. metrics=['accuracy']) model = Sequential() Algorithm 2. Compilation of neural network model. model.add(SimpleRNN(units=32, input_shape=(1, 5), In the next step, we still had to set the parameters for how the model activation="relu")) would learn. model.add(Dense(1)) model.compile(loss='mse', model.fit(x_train, optimizer='rmsprop', y_train, metrics=['accuracy']) batch_size=124, epochs=1000, Algorithm 6. Construction of recurrent validation_data=(x_test, y_test)) neural network model. Algorithm 3. Fitting of the neural network model. After learning the model, we got a good start (approx. 62% accuracy), which was a good starting point for optimizing our As the first two parameters, we sent the data to be provided for model. We have added another Dense level to our model, which learning along with the results, and we also defined the size of the should help with the intermediate learning steps, since we want to data packets in one epoch. In practice, this meant more or less that get better results with the RNN model than with the previous NN, we repeatedly started learning with different values of the size of but we need to know that there are many more factors (parameters, the batch and epoch. hidden levels, understanding the flow of data) that make it difficult To determine how well our neural model performed, we used the to understand and refine the model. evaluate function, which returns the loss and metric values for the In the end, we obtained an accuracy that defines the accuracy of the model under test. result of 80%, which in our case is a satisfactory result, but in We obtained a result from the results, which showed that our model practice, unfortunately, it would not be enough to use the model for predicted the result to reach an accuracy of 55%, which was not an commercial purposes or for research. Therefore, we decided to impressive result. change our model by removing the second last level with eight 3.2 Analysis with Recurrent Neural Network neurons, as it improved the learning result compared to the previous model but still did not succeed in getting a better result. What We can more easily imagine this type of neural model by thinking happened here was that the model became too complex and because about how our thoughts work, they always relate to our previous of this, the activation functions failed, leading the learning phase to thoughts, we could say that we never start thinking from scratch. better weight adjustments that would give better learning results. This is also how the recurrent-type neural model (RNN) works, which does not restart at every iteration. Traditional NNs do not do In the end, our model looked the same as it did at the beginning of this, which is a disadvantage. defining the model. Here, we then started from the beginning and, before SimpleRNN, inserted a new entry level (Embeding), Our brainwaves data read on a given image is like a list in which at which transforms positive data with numbers into dense vectors, for a given moment, through different positions (Af3, T7, P7, T8, Af4), example: we can find out which image was shown to the user. However, these values cannot provide us with high reliability of the result, as there [[4], [20]] → [[0.25, 0.1], [0.6, - 0.2]] were significantly too many factors present when recording data This level therefore does not require 3D data at the beginning, so such as electrode reliability, deconcentrating of the user, sudden we also removed the line from our code for converting 2D data into movements of the user's head, physiological processes in the body, 3D. The output type from Embeding layer is in 3D, which suited etc. For these reasons, it might be better to want to get that search us in passing the data to our SimpleRNN layer. result across multiple data records, because within those records we can define a pattern in our data that could give us a more reliable model = Sequential() model.add(Embedding(10000, 124)) result. Because even in the presence of external factors that model.add(SimpleRNN(32)) interfere with our data reliability, through a large amount of records model.add(Dense(1, activation='sigmoid')) these values are limited to a given stock of values. model.compile(loss = "mse", optimizer = "rmsprop", We also used the Keras API to build the RNN model, using the metrics=['accuracy']) SimpleRNN layer, which is a fully connected RNN, where the output from the previous step is sent back to the input for a new Algorithm 8. The final RNN model. learning step. The RNN model accepts a 3-dimensional input type for the input, and our data is in the 2-dimensional type, the third 4. RESULTS OF THE EXPERIMENT AND data will represent the step here. Data transformation was achieved CONCLUSION by the numpy.reshape method. In our scenario, we had a collection of data that represented the read values from the BCI device per channel and a marker to indicate StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 59 which image the user observed while reading the values. So we had learned state from the previous output to the input, which 6 properties that we split into two lists. The first with values from contributes to the "current" learning. Due to all the running factors, the device and the second with the marker that represented the this model performed great compared to a regular NN. result. All of this information was further divided into a learning We can also see the loss in the Figure 6 as it declined over time, and test list. which meant that our model was getting better at telling the result We used two different machine learning models in our process. or the user was looking at pictures of nature or food. With the classic NN model, we got worse results because it was obvious that we had too little data despite recording data for hours on the user. Also for this reason NN performed worse because it only changes weights at the end of learning. Meanwhile, the RNN changed weights during the learning step itself, eventually making significantly better predictions, despite the small amount of learning data, as it used internal memory to use the result from the previous output to improve the new one. Figure 6. The loss the epochs of the training process for the RNN model. All these results were still highly dependent on all the external factors that were present in the initial data capture. Initially, the quality and precision of the BCI device must be considered, as it is intended for commercial users and not for professional use, then we must know that user recording is very demanding, and a special gel must be present on the device to help increase electrode Figure 4. Accuracy through the epochs of the training conductivity to capture electromagnetic waves, the electrodes process for the first simple NN model. should be also as close to the scalp as possible and with as large Figure 4 shows how the first simple NN model learned over training surface as possible. Another factor is, the mood of the user himself process. We can see that the model improved its accuracy in the when scanning whether he was always asleep, steady, relaxed, first half of learning, but towards the end more or less came closer focused are all arguments that should always be the same. All these to the same values. If we significantly increased the number of factors influence the quality of the data and the later classification epochs, the result did not improve over time. with machine learning. 5. ACKNOWLEDGMENTS The authors acknowledge financial support from the Slovenian Research Agency (Research Core Funding No. P2-0057). 6. REFERENCES [1] Simpraga, S., Alvarez-Jimenez, R., Mansvelder, H.D., Van Gerven, J.M., Groeneveld, G.J., Poil, S.S. and Linkenkaer-Hansen, K., 2017. EEG machine learning for accurate detection of cholinergic intervention and Alzheimer’s disease. Scientific reports, 7(1), p.5775. [2] Boashash, B. and Ouelha, S., 2016. Automatic signal abnormality detection using time-frequency features and machine learning: A newborn EEG seizure case study. Knowledge-Based Systems, 106, pp.38-50. [3] Vanegas, M.I., Ghilardi, M.F., Kelly, S.P. and Blangero, A., Figure 5. Accuracy through the epochs of the training 2018, December. Machine learning for EEG-based biomarkers in process for the RNN model. Parkinson’s disease. In 2018 IEEE International Conference on However, when learning the RNN model (Figure 5), we can see that Bioinformatics and Biomedicine (BIBM) (pp. 2661-2665). IEEE. the accuracy of the model has increased dramatically from the [4] Subha, D.P., Joseph, P.K., Acharya, R. and Lim, C.M., 2010. beginning of learning. This change was aided by a new type of data EEG signal analysis: a survey. Journal of medical systems, 34(2), in which the learning process then had a better ability to adjust pp.195-212. weights during learning, as well as the RNN model sending the StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 60 Transfer Learning Tuning Utilizing Grey Wolf Optimizer for Identification of Brain Hemorrhage from Head CT Images Grega Vrbančič Milan Zorman Vili Podgorelec University of Maribor, Faculty University of Maribor, Faculty University of Maribor, Faculty of Electrical Engineering and of Electrical Engineering and of Electrical Engineering and Computer Science Computer Science Computer Science Koroška cesta 46 Koroška cesta 46 Koroška cesta 46 SI-2000 Maribor, Slovenia SI-2000 Maribor, Slovenia SI-2000 Maribor, Slovenia grega.vrbancic@um.si milan.zorman@um.si vili.podgorelec@um.si ABSTRACT by a naked eye [3]. Most commonly, diagnosing the brain hemorrhage - a con- dition caused by a brain artery busting and causing bleed- With the expansion of deep learning field and with the great ing is done by medical experts identifying such pathologies achievements of deep convolutional neural networks (CNN) from the computer tomography (CT) images. With great for the image and video recognition tasks [26, 27] are such advancements in the domain of deep learning, utilizing deep approaches and methodologies also being used for addressing convolutional neural networks (CNN) for such tasks has al- various medical areas such as medical image analysis [1] and ready proven to achieve encouraging results. One of the ma- classification [31, 12], biomedical signal segmentation [23] jor problems of using such an approach is the need for big and detection of various human organ activities [30]. labeled datasets to train such deep architectures. One of the efficient techniques for training CNNs with smaller datasets In recent studies [12, 4, 11], the authors have already ad- is transfer learning. For the efficient use of transfer learning, dressed the problem of identifying various kinds of brain many parameters are needed to be set, which are having a hemorrhages utilizing different kinds of more or less com- great impact on the classification performance of the CNN. plex deep CNNs. However, the problem with the training Most of those parameters are commonly set based on our of such deep CNN architectures remains the same. In or- previous experience or by trial and error. The proposed der to achieve acceptable performance, the training of such method addresses the problem of tuning the transfer learn- networks requires a lot of resources in terms of time and pro- ing technique utilizing the nature-inspired, population-based cessing power. Additionally, a big dataset of images, hand- metaheuristic Grey Wolf Optimizer (GWO). The proposed labeled by experts is also required. Given the fact that such method was tested on a small head CT medical imaging high-quality big datasets of biomedical images are hard to dataset. The results obtained from the conducted experi- obtain, researchers are trying various approaches and tech- ments show that the proposed method outperforms the con- niques to overcome this problem. One of the most popular ventional approach of parameter settings for transfer learn- techniques for training deep CNNs on small datasets is trans- ing. fer learning, which has already proven to achieve great re- sults [4, 14]. But the transfer learning techniques also comes Keywords with the downsides. Most commonly, the biggest problems when utilizing the transfer learning approaches are finding Convolutional Neural Network, Transfer Learning, Optimiza- out which and how many layers to fine-tune and how to set tion, Biomedical images, Classification the training parameters for the fine-tuning of the CNN in order to obtain the acceptable outcome. 1. INTRODUCTION Most commonly used medical imaging technique to assess Based on the encouraging results of transfer learning tech- the severity of brain hemorrhage, also termed as a cere- nique being used to train CNNs for the task of classification bral hemorrhage, intracranial hemorrhage or intracerebral of biomedical images and our previous experience on opti- hemorrhage is the computer tomography or shortly CT. As mizing various training parameters [32], we set our goal to reported in [24], each year intracerebral hemorrhage (ICH) develop a method for an automatic optimization of trans- affects 2.5 per 10,000 people worldwide and is associated fer learning utilizing nature-inspired population-based Grey with high mortality that only 38% of ICH patients could Wolf Optimizer (GWO) algorithm named GWOTLT. survive over one year. Besides, more than 80% of people are suffering due to being born with a weak spot in their The rest of the paper is organized as follows. In Section major brain arteries. However, the early diagnosis of the 2, we briefly describe methods which were used. In Sec- condition and receiving immediate and relevant treatment tion 3, we present the proposed GWOTLT method, while in can be a lifesaver for the affected patient. Traditionally, the Section 4 we describe the experimental setup of conducted tools helping in diagnosing such conditions are CT images experiments, the results of which are presented in Section 5. obtained from the CT scan, which are then examined by the Conclusions and final remarks are gathered in Section 6. expert such as an experienced doctor, who has the ability to identify important symptoms of the disease from the image StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.61-66 Koper, Slovenia, 10 October 61 2. METHODS approaches work especially well if we have a small, insuffi- In this section, the methods utilized in our proposed GWOTLT cient dataset. method are briefly presented. Transfer learning is most commonly used in two ways [2, 21]: 2.1 Convolutional Neural Network In the 1980s, the CNNs were first presented in Fukushima’s • Fine-tuning in which the weights of the pre-trained paper [10]. The author proposed a deep learning approach CNN base model are preserved (frozen) on some of for visual recognition, called neocognitron, which was based the layers and fine-tuned (trained) in remaining layers on the hierarchical layers trained with the utilization of the of CNN. stochastic gradient descent algorithm. The major break- through with CNNs occurred in 1998 with the LeCun’s LeNet5 • CNN as a feature extractor, where the general idea is [17] proposed architecture which is considered to be one of to access features of any layers and using those encoded the key factors that started the enormous expansion of the features to train a classifier of your choice. deep learning field. Initially, the deep CNNs were defined as 2-dimensional con- Generally, the first (top) layers of the CNN preserve more strained neural networks with alternating convolutional and abstract, generic features applicable to other tasks, while subsampling or pooling layers which are fully connected at the layers closer to the bottom provide more specific fea- the end, combining three architectural ideas [17]: tures that can benefit from fine-tuning as they will be ad- justed specifically for the targeted task. For the fine-tuning approach to transfer learning, there is no general recipe or • local receptive fields, rule to follow on selecting which layers to tune and which ones to preserve as they are. Also, another challenge uti- • shared weights, and lizing the fine-tuning approach is deciding how many layers to add to the bottom of the pre-trained convolutional base, • spatial and temporal subsampling. and which optimizer and learning rate to use in the process of fine-tuning. Most commonly the convolutional layer is composed of sev- eral so-called feature maps. Those feature maps are calcu- 2.3 Grey Wolf Optimizer lated with different weight vectors, which enable us to ex- In recent years, swarm intelligence and bio-inspired algo- tract multiple features from each location. The results of the rithms for solving the optimization problems are quite pop- convolutional calculation are obtained from a convolutional ular and proven to be very efficient in solving real-world operation performed between feature maps of the previous problems [9]. layer and convolution kernel of the current layer in addition to the activation function. A subsampling layer or pooling One of the most popular representatives of such optimization layer reduces the dimension of feature maps, while preserv- algorithms is a Grey Wolf Optimizer or simply GWO [19]. ing the important extracted features, usually performing lo- The inspiration of GWO is adapted from a strict leader- cal averaging and subsampling. The fact, that extracted ship hierarchy and hunting mechanisms of grey wolfs (Canis features’ real locations are not important as long as their lupus). The grey wolf leadership hierarchy is divided into approximate positions relative to others remain the same, is four dominance groups, i.e. alpha, beta, delta and, omega. making subsampling possible [17]. Besides the leadership hierarchy, group hunting is also an in- teresting social behavior of grey wolfs. As defined by authors Although the researchers have through the years developed in [20] main phases of grey wolf hunting are as follows [19]: various complex CNN architectures which proven to be highly successful in the large-scale image and video recognition such as Krizhevsky’s AlexNet [15], Szegedy’s GoogleNet [27] and • Tracking, chasing and approaching the prey. Simonyan’s VGG16 [26], the challenges regarding image and • Pursuing, encircling, and harassing the prey until it video recognition still exist. Such major challenges are pri- stops moving. marily the need for large datasets in order to train the CNNs and the time complexity of the training process. • Attack towards the prey. 2.2 Transfer Learning One of the most popular approaches to address the time The GWO algorithm implementation is mathematically mod- complexity of deep CNN training process as well as the prob- eling the mentioned hunting technique and the social hierar- lem of not having large dataset is known as a transfer learn- chy in order to perform optimization. The basic pseudo-code ing. Transfer learning can be defined as the improvement of of GWO algorithm is presented in Algorithm 1. learning a new task through the transfer of knowledge from a related task that has already been learned. In machine 3. PROPOSED METHOD learning terms, the transfer learning roughly translates to The basic concept of our proposed method for tuning of transferring the weights of already trained deep neural net- transfer learning approach based on the GWO algorithm, work model for one task, to the model tackling second re- named as GWOTLT is presented in Figure 1. The GWO lated task [13]. Based on previous work [16, 2, 25], such algorithm is used to find the optimal parameters for the StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 62 Algorithm 1 Pseudo code of the GWO algorithm. probability, y3 optimization function and y4 learning rate. 1: Initialize the grey wolf population X Each y i (i = 1, 2, ..., n) 1 value is mapped to the particular member of the 2: Initialize a, A, and C population N = {64, 128, 256, 512, 1024} according to the 3: Calculate the fitness of each search agent members position in the population, which represents a group 4: X of available numbers of neurons in last fully connected layer. α = the best search agent 5: X All of the y β = the second best search agent 3 values are mapped to the specific member of 6: X population O = {adam, rmsprop, sgd}, which represents a δ = the third best search agent 7: while i < Maximum iterations do group of available optimizer functions, while each y4 values 8: for each search agent do are mapped to the member of population L = {0.001, 0.0005, 9: Update the position of the current search agent 0.0001, 0.00005, 0.00001}, which represents a group of learn- 10: end for ing rate choices. 11: Update a, A, and C 12: Calculate the fitness of all search agents 13: Update Xα, Xβ, and Xδ (bx[i] ∗ 5 + 1c; y 14: i = i + 1 1 ∈ [1, 5] x[i] < 1 y1 = (2) 15: end while 5 otherwise, 16: return Xα y2 = x[i] ∗ (0.9 − 0.5) + 0.5; y2 ∈ [0.5, 0.9] (3) fine-tuning transfer learning process. In our case, the goal is to find a number of neurons in the last fully connected layer, dropout probability of dropout layer and the most suitable optimizer and learning rate value. (bx[i] ∗ 3 + 1c; y3 ∈ [1, 3] x[i] < 1 y3 = (4) 3 otherwise, (bx[i] ∗ 5 + 1c; y4 ∈ [1, 5] x[i] < 1 y4 = (5) 5 otherwise, To evaluate each solution produced by GWOTLT the fitness function was defined as follows: f (x) = 1 − AU C(x) (6) where f (x) is the fitness value for solution x and the AU C(x) is an area under the ROC curve calculated on test split of the search dataset sub-sample. 4. EXPERIMENT SETUP To evaluate the performance of our proposed method, we Figure 1: The conceptual diagram of the proposed conducted two experiments. The experimental settings, data- GWOTLT method. set, evaluation methods and metrics used are in-depth pre- Given the number of optimized parameters for fine-tuning sented in the following subsections. of the transfer learning process, the GWOTLT is producing the solution with the dimension of 4. The individuals of The proposed method was implemented in Python program- GWOTLT produced solutions are presented as real-valued ming language with the following external libraries: Numpy vectors: [28], Pandas [18], scikit-learn [22], NiaPy [29], Keras [5] and Tensorflow [7]. All of the conducted experiments were performed using the x(t) = (x(t), . . . , x(t) ), for i = 0, . . . , Np − 1 , (1) i i,0 i,n Intel Core i7-6700K quad-core CPU running at 4 GHz, 64GB of RAM, and three Nvidia GeForce Titan X Pascal GPUs each with dedicated 12GB of GDDR5 memory, running the where each element of the solution is in the interval x(t) ∈ i,1 Linux Mint 19 operating system. [0, 1]. In next step, the real-valued vectors (solutions) are mapped 4.1 Dataset as defined in equations 2, 3, 4 and 5, where y1 presents the Given the task - identification of brain hemorrhage from CT number of neurons in last fully connected layer, y2 dropout images, we used a publicly available dataset of manually StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 63 collected head CT scan images called Head CT - hemor- classifying images into two target classes - images with and rhage [8]. The dataset contains in total of 200 images of images without brain hemorrhage present. various sizes. Of those 200 images, half of them are images of normal head CT slides without any brain pathologies, and For the baseline experiments, we have set the parameters the other half are the images containing some kind of brain which are we optimizing to the values presented in Table 2. hemorrhage. Also, each image is collected from a different person. Parameter Value Number of neurons on the 256 last fully connected layer Dropout probability 0.5 Optimizer function RMSprop Learning rate 10−5 Table 2: Baseline experiment parameter settings for transfer learning fine tuning. With the presented parameter settings, we trained the CNN for 50 epochs utilizing an efficient mini-batch training, with batch size set to 32. As presented in the dataset section, the collected image sizes vary from 100 x 100 px to 300 x 300 Figure 2: Example images of head CT scans, where px, thus we have decided to resize all images to the VGG16 a) represents normal head CT scan image. while default input size of 224 x 224 px. b) represents the head CT scan image with brain hemorrhage present. 4.4 GWOTLT settings As presented in the previous section, the GWOTLT fine- 4.2 Grey Wolf Optimizer settings tuning transfer learning parameters are set based on the To initialize the GWO algorithm, tackling the problem of produced GWO solution. The overall architecture of the finding the best suitable set of parameters to achieve the convolutional base and the appended classification layers at best performance of transfer learning fine-tuning, the GWO the bottom are the same as in the baseline experiment. Due parameter settings presented in Table 1 were used. to the iterative nature of our proposed method, we had to split the given train set in ratio 80:20, where we used the Parameter Value larger subset for training different GWOTLT produced so- Dimension of the problem 4 lutions and evaluating them - calculating the AUC on the Population size 10 remaining smaller subset of the initial training set. In each run of the GWOTLT, 50 evaluations of produced possible Number of function evaluations 50 solutions are conducted, from which the best - the one with Lower bound 0.0 the highest fitness value is selected. To evaluate each solu- Upper bound 1.0 tion, we train each solution for 10 epochs and then evaluate its performance. The selected solution is then trained for Table 1: The initial GWO parameter settings. full 50 epochs on the whole given train dataset and finally evaluated on the given test set. 4.3 Baseline Convolutional Neural Network For the convolutional base of our proposed method, we uti- 4.5 Evaluation method and metrics lized the VGG16 [26] CNN architecture presented in Fig- Using the described experimental setup, we conducted two ure 3, pre-trained on the imagenet [6] dataset. As we can experiments, one using the CNN transfer learning approach observe from the figure, the VGG16 CNN is comprised of without any optimization reported as a Baseline and one uti- 5 convolutional blocks, which together form a convolutional lizing the presented GWOTLT method reported as GWOTLT. base. At the bottom of the convolutional base a flatten For each of the experiments, we obtained six performance layer, two fully connected layers and one fully-connected metrics: time - reported in seconds, AUC, F − 1 score, pre- layer with softmax activation function forming a classifier cision, and recall, reported in percents and kappa coefficient layer are chained. By default, VGG16 CNN on the input presented as a real value on the interval between 0 and 1. receives an image of size 224 x 224 pixels and at the bot- tom classifies fed images into 1000 classes, while each of the To objectively evaluate the performance of the proposed convolutional layers of VGG architecture utilizes the ReLU method, we adapted the gold standard 10-fold cross-validati- activation function. on methodology, where a dataset is divided into train and test sets in a ratio 90:10. Using the images from 9 out of 10 Performing the transfer learning based on the VGG16 CNN folds for the training and performing the performance eval- convolutional base, we have persisted the top four convolu- uation on the remaining one fold. In the same manner, we tional blocks and enabled for fine-tuning only last convolu- repeated the whole process in total 10 times, each time leav- tional block. At the bottom of this convolutional base, we ing different fold out for the performance evaluation. The have then chained a flatten layer, a dropout layer, fully con- reported values are presented as average values over 10 folds nected layer and classifier with softmax activation function, if not specified otherwise. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 64 K 4096 4096 25088 1 224 1 1 Fully 14 Connected 3 512 512 512 Fully Fully + Softmax 28 Connected 1 Connected 2 56 512 512 512 Block 5 112 224 256 256 256 Block 4 1 128128 Block 3 Flatten 6464 Block 2 Block 1 Figure 3: The architecture of the VGG16 convolutional neural network. 5. RESULTS Metrics Baseline GWOTLT The obtained performance results from the conducted ex- Time [s] 49.10 ± 1.85 759.10 ± 59.67 periments are summarized in Table 3. Focusing on the time AUC [%] 87.00 ± 9.19 91.00 ± 7.75 metrics, the reported results are expected, with the lowest F − 1 [%] 86.27 ± 11.03 91.45 ± 6.81 time complexity being achieved by the Baseline method. On the other side, the proposed GWOTLT method is expected Precision [%] 88.62 ± 10.37 90.89 ± 11.36 to have a higher time complexity in general due to the it- Recall [%] 86.00 ± 17.13 93.00 ± 6.75 erative nature of the proposed method. In our case, the Kappa 0.74 ± 0.18 0.82 ± 0.15 GWOTLT method performed worse in the aspect of time complexity, roughly by a factor 15. Table 3: Comparison of average times, accuracies, AUCs, F − 1 scores, precisions, recalls and kappa Analyzing presented classification performance metrics, the coefficients with standard deviations over 10-fold GWOTLT method is standing out with achieved best results cross-validation. on all of the reported performance metrics. The AUC, F −1, precision and recall metrics are higher by a margin of 4%, 5.18%, 2.27%, 7% respectively in comparison to the baseline In the future, we would like to expand our work to include method. Focusing on the kappa coefficient values, we can ob- various CNN architectures as a convolutional base for our serve that the GWOTLT achieved a near-perfect agreement GWOTLT method and also evaluate the performance of the with kappa coefficient at 0.82 and outperformed the base- proposed method against various medical imaging datasets. line method by a margin of 0.08. Looking at the standard deviations of the reported classification average metric val- Acknowledgments ues, we can observe that for all classification metrics, except The authors acknowledge the financial support from the for the precision, the best performing GWOTLT method is Slovenian Research Agency (Research Core Funding No. P2- showing the smallest standard deviation. The greatest im- 0057). provement of lowering the standard deviation the GWOTLT achieved for the recall metric by a margin of 10.38%, while the worst standard deviation is obtained for the precision 7. REFERENCES metric where the GWOTLT lacks behind just by 0.99%. [1] S. U. Akram, J. Kannala, L. Eklund, and J. Heikkilä. Cell segmentation proposal network for microscopy image analysis. In Deep Learning and Data Labeling for Medical Applications, pages 21–29. Springer, 2016. 6. CONCLUSIONS [2] E. Al Hadhrami, M. Al Mufti, B. Taha, and In this paper, we presented the GWOTLT method which is N. Werghi. Transfer learning with convolutional neural a nature-inspired, population-based metaheuristics method networks for moving target classification with for tuning the transfer learning approach of training the deep micro-doppler radar spectrograms. In 2018 CNN. The GWOTLT method was implemented utilizing the International Conference on Artificial Intelligence and GWO optimization algorithm and applied to the problem of Big Data (ICAIBD), pages 148–154. IEEE, 2018. identification of brain hemorrhage from the head CT scan [3] U. Balasooriya and M. Perera. Intelligent brain images. The results obtained from the conducted exper- hemorrhage diagnosis system. In 2011 IEEE iments have proven that the proposed GWOTLT method International Symposium on IT in Medicine and seems to be very promising for the task of transfer learning Education, volume 2, pages 366–370. IEEE, 2011. tuning achieving higher classification performance for all of [4] P. Chang, E. Kuoy, J. Grinband, B. Weinberg, the measured classification metrics. M. Thompson, R. Homo, J. Chen, H. Abcede, StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 65 M. Shafie, L. Sugrue, et al. Hybrid 3d/2d [20] C. Muro, R. Escobedo, L. Spector, and R. Coppinger. convolutional neural network for hemorrhage Wolf-pack (canis lupus) hunting strategies emerge evaluation on head ct. American Journal of from simple rules in computational simulations. Neuroradiology, 39(9):1609–1616, 2018. Behavioural processes, 88(3):192–197, 2011. [5] F. Chollet et al. Keras, 2015. [21] K. Nogueira, O. A. Penatti, and J. A. dos Santos. [6] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and Towards better exploiting convolutional neural L. Fei-Fei. Imagenet: A large-scale hierarchical image networks for remote sensing scene classification. database. In 2009 IEEE conference on computer vision Pattern Recognition, 61:539–556, 2017. and pattern recognition, pages 248–255. Ieee, 2009. [22] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, [7] M. A. et al. TensorFlow: Large-scale machine learning B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, on heterogeneous systems, 2015. Software available R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, from tensorflow.org. D. Cournapeau, M. Brucher, M. Perrot, and [8] Felipe Kitamura. Head CT - hemorrhage, 2018. E. Duchesnay. Scikit-learn: Machine learning in Available at Python. Journal of Machine Learning Research, https://www.kaggle.com/felipekitamura/head-ct- 12:2825–2830, 2011. hemorrhage, Accessed: [23] R. Rouhi, M. Jafari, S. Kasaei, and P. Keshavarzian. 2019-02-21. Benign and malignant breast tumors classification [9] I. Fister Jr, X.-S. Yang, I. Fister, J. Brest, and based on region growing and cnn segmentation. Expert D. Fister. A brief review of nature-inspired algorithms Systems with Applications, 42(3):990–1002, 2015. for optimization. arXiv preprint arXiv:1307.4186, [24] L. Shi, S. Xu, J. Zheng, J. Xu, and J. Zhang. Blood 2013. Pressure Management for Acute Intracerebral [10] K. Fukushima. Neocognitron: A self-organizing neural Hemorrhage: A Meta-Analysis. Scientific Reports, network model for a mechanism of pattern recognition 7(1):14345, 2017. unaffected by shift in position, BioL Cybem. 36 (1980) [25] H.-C. Shin, H. R. Roth, M. Gao, L. Lu, Z. Xu, 193-202. S. Shiotani et al./Neurocomputing 9 (1995) I. Nogues, J. Yao, D. Mollura, and R. M. Summers. Ill-130, 130, 1980. Deep convolutional neural networks for [11] M. Grewal, M. M. Srivastava, P. Kumar, and computer-aided detection: Cnn architectures, dataset S. Varadarajan. Radnet: Radiologist level accuracy characteristics and transfer learning. IEEE using deep learning for hemorrhage detection in ct transactions on medical imaging, 35(5):1285–1298, scans. In 2018 IEEE 15th International Symposium on 2016. Biomedical Imaging (ISBI 2018), pages 281–284. [26] K. Simonyan and A. Zisserman. Very deep IEEE, 2018. convolutional networks for large-scale image [12] A. Helwan, G. El-Fakhri, H. Sasani, and recognition. arXiv preprint arXiv:1409.1556, 2014. D. Uzun Ozsahin. Deep networks in identifying ct [27] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, brain hemorrhage. Journal of Intelligent & Fuzzy D. Anguelov, D. Erhan, V. Vanhoucke, and Systems, (Preprint):1–1, 2018. A. Rabinovich. Going deeper with convolutions. In [13] M. Hussain, J. J. Bird, and D. R. Faria. A study on Proceedings of the IEEE conference on computer cnn transfer learning for image classification. In UK vision and pattern recognition, pages 1–9, 2015. Workshop on Computational Intelligence, pages [28] S. Van Der Walt, S. C. Colbert, and G. Varoquaux. 191–202. Springer, 2018. The numpy array: a structure for efficient numerical [14] K. Jnawali, M. R. Arbabshirani, N. Rao, and A. A. computation. Computing in Science & Engineering, Patel. Deep 3d convolution neural network for ct brain 13(2):22, 2011. hemorrhage classification. In Medical Imaging 2018: [29] G. Vrbančič, L. Brezočnik, U. Mlakar, D. Fister, and Computer-Aided Diagnosis, volume 10575, page I. Fister Jr. NiaPy: Python microframework for 105751C. International Society for Optics and building nature-inspired algorithms. Journal of Open Photonics, 2018. Source Software, 3, 2018. [15] A. Krizhevsky. One weird trick for parallelizing [30] G. Vrbancic, I. J. Fister, and V. Podgorelec. convolutional neural networks. arXiv preprint Automatic Detection of Heartbeats in Heart Sound arXiv:1404.5997, 2014. Signals Using Deep Convolutional Neural Networks. [16] D. Larsen-Freeman. Transfer of learning transformed. Elektronika ir Elektrotechnika, 25(3):71–76, jun 2019. Language Learning, 63:107–129, 2013. [31] G. Vrbancic and V. Podgorelec. Automatic [17] Y. LeCun, L. Bottou, Y. Bengio, P. Haffner, et al. Classification of Motor Impairment Neural Disorders Gradient-based learning applied to document from EEG Signals Using Deep Convolutional Neural recognition. Proceedings of the IEEE, Networks. Elektronika ir Elektrotechnika, 24(4):3–7, 86(11):2278–2324, 1998. aug 2018. [18] W. McKinney. Data structures for statistical [32] G. Vrbančič, I. Fister, Jr., and V. Podgorelec. Swarm computing in python. In S. van der Walt and intelligence approaches for parameter setting of deep J. Millman, editors, Proceedings of the 9th Python in learning neural network: Case study on phishing Science Conference, pages 51 – 56, 2010. websites classification. In Proceedings of the 8th [19] S. Mirjalili, S. M. Mirjalili, and A. Lewis. Grey wolf International Conference on Web Intelligence, Mining optimizer. Advances in engineering software, 69:46–61, and Semantics, WIMS ’18, pages 9:1–9:8, New York, 2014. NY, USA, 2018. ACM. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 66 System for remote configuration and over the air updates in restricted environments Marko Zabreznik Jernej Kranjec University of Maribor University of Maribor Faculty of Electrical Engineering Faculty of Electrical Engineering and Computer Science and Computer Science Koroška cesta 46, Maribor Koroška cesta 46, Maribor marko.zabreznik@student.um.si jernej.kranjec@um.si ABSTRACT over task execution based on external parameters (e.g., avail- This paper illustrates a system for configuring, updating, able power or sensor activity), remote configuration, and command execution, and data retrieval via limited com- software updates. Presented solution would provide for more munication links of restricted embedded real-time operating straightforward creation of such systems as it would allow system. A custom domain-specific language design and ref- for modular hardware components to be assembled into var- erence implementation are proposed, which would simplify ious configurations while only require to produce missing the creation of custom program tasks while keeping data software from module templates, the behavior of which is transfers low and facilitating differential updates to any soft- controlled by a known set of parameters. To accomplish ware component. The proposed implementation extends the this, we propose a domain-specific language extension for FreeRTOS real-time operating system running on an ARM- a widely supported real-time operating system FreeRTOS based microcontroller and connects to a remote command to define scenarios that have associated tasks, conditions, server via a limited network connection. External factors and priorities. The same scenario definition is also used to such as power shortage, component failure, and connection partition the software into blocks, allowing for over-the-air loss are anticipated and handled by preset priority-based updates and the addition of new scenarios remotely. Fur- scenarios. thermore, the scenario definition is also used to prioritize the limited connection and system resources, and to allow for direct control. Keywords real time operating system, remote control, domain specific 2. PROPOSED DESIGN language for remote task execution, data structures, remote sensing The proposed design incorporates many dynamic compo- nents and thus vulnerable to corrupt, misconfigured, or buggy software. For that reason, the software is divided into a safe, 1. INTRODUCTION minimal system (Bootstrap), and the schedule based con- In recent years, the cost and accessibility of world-wide com- figurable (Operating System) with the Meta-Scheduler (see munication channels, low cost of sensor equipment, and ac- Figure 1). cessible computer modules have given researchers new sources of data acquisition. Systems used for such applications need Both the Bootstrap and the Operating System can under- to operate autonomously, are remote or completely inacces- stand the basic programming instructions that work in all sible while also potentially under limited power, intermit- cases. Once an error in execution or corruption of the soft- tent network connection, harsh or unpredictable weather, ware is detected and can not be recovered from, the micro- and other environmental hazards. Depending on those con- controller reboots into the safe Bootstrap mode sends out a ditions, the objective or priorities might change during the distress signal and waits for commands. lifetime of the mission. 2.1 Scenario The goal of this paper is to introduce a solution for embed- A Scenario (see Figure 1) is the basic unit of the design that ded systems that require executing multiple different tasks is independent of any other generic task, carries its configu- (e.g., collecting data from various sensors, data processing, ration, and takes up any predefined blocks on the flash. The information storage and transmission), autonomous control scenario can define a schedule and period of execution, the priority it needs, and the power it requires. We use those parameters to decide when and if the task is to run. The parameters are defined using a domain-specific language at compile-time but can change in the runtime with configura- tion stored in the microcontroller flash for each scenario. 2.1.1 Settings The settings parameter defines the size of the binary blob the scenario can use for configuration data and is generally StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.67-70 Koper, Slovenia, 10 October 67 Modem Flash storage Schedule and period descriptor OTE Flash Module Week Hour Repetitions / period Bootstrap Priority OS priority Operating System Run Report 00 - off 01 - when free 00 - off 01 - pad 10 - n/a 11 - always 10 - force pad 11 - force Meta-scheduler SD storage Power Can override power Needs bettery mutex % of power per run Can run on battery Can run on solar Battery Scenario Settings pointer Task handler Last run Reporter Logger Task Task Timestamp Repeats Queue Queue Figure 2: Scenario configuration (read-only vari- ables in gray and runtime variables in white blocks) Figure 1: Overview of main logical software compo- nents and example hardware modules budgets. The power budget for a task is defined in the per- only read from the scenario it belongs to. The settings are centage of the total power available to the probe. stored in the microcontroller flash and are accessed when a task requires them. The action of writing settings is done 2.1.5 Task Notifications only via server commands. A task is based on the FreeRTOS task [1] and its notification variable that has, by default 4 bytes. The first 3 bytes are 2.1.2 Schedule and period used for custom messages send to the task, and the last byte The basis for the schedule is time intervals in which the sce- is used as flags to set repeats (timeouts) that the task should nario runs and repetitions that happen in those defined in- run. Zero repeats mean the task will only run once in that tervals. The Meta-Scheduler uses the configuration to wake time-frame and put themselves into infinite sleep mode after up the tasks at the specified hours and gives the task a time- that. One or more repeats places the task into a timeout out that co-responds with the set period. In this way, we can of 60 minutes divided by the repeat rate, at a minimum run the meta-scheduler in periods not more than one hour. of 5-minute interval. More granular repeats can be made The meta-scheduler is idempotent, so running it multiple within the task itself and are not registered with the Meta- consecutive times will not affect the running tasks. Scheduler. Any task with an interval will run until the next time the Meta-Scheduler is run, and it stops the execution. 2.1.3 Priorities Priorities are the way the Meta-Scheduler decides if a task 2.1.6 Logger should run at all, or if it should only run when there is The Logger is a special scenario, available to all tasks for enough power in the budget or always in the case of critical logging purposes. It runs in a best-effort manner, using mul- tasks. The report priority is used for reporting and is there tiple queues with messages grouped by severity. The logs are to keep a budget on power availability and network traffic. handled with the notification variable of the header. 2.1.4 Power The logs can be optionally saved on the SD card and only if The power setting is a way to tell the Meta-Scheduler how there is enough power and enough time has passed since the much power a task needs to be able to run so that significant last write. Since the queue could have been filled up since power-consuming tasks will only run when there is enough the last write, the queue is cycled with the oldest messages energy available. Specific scenarios can execute depending being reused. In the event of a hardware failure, the Logger on power status. Configuration assumes the following condi- is disabled. tions: the battery is full, the solar array produces power, the battery is charging, or when the battery is almost drained, Each entry has a timestamp, a scenario id, and a fixed size but we still want the task to run regardless of any power data blob to store the log message or data. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 68 Generic scenario Generic task Logger task Flash Command Conditions fail 0 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 … Location Length Binary data Conditions match Action Settings Command Conditions match 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 … Log action Scenario ID Binary data (length of scenario data) Conditions fail Action Enqueue Logger scenario Control Command Log action 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 … Enqueue Scenario ID Notification binary data (3 bytes) Template report Conditions match 0 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 … Report scenario Store to SD Conditions match Scenario 1 data Scenario 2 data Key-value report 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 1 … Report Time Scenario 1 ID Binary data 0 - Scenario data 10 - Error report (4bytes) 11 - Stream to the end of the message Figure 3: Timeline of an example generic task, log- ger, and reporter Custom report 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 … 2.2 Communication Custom binary data Communication size is reduced to a minimum with compres- sion based on common-knowledge. Since the server has the same template, we can use that to avoid sending headers Figure 4: Command and report encoding format before each data blob in some cases. The packet size, in our example, the Iridium satellite network, is limited to 360 bytes from the probe and 270 bytes to the probe with charge has nothing to report. This method will not apply if there intervals of 50 bytes [2]. We use those limits to optimize ex- are any scenarios with errors to report. If there is enough penses on low-value data. space at the end of the packet, we fill the rest of the 50-byte section with key-values, as explained in the next section. 2.2.1 Reporting The reporter is a special scenario, available to all tasks for 2.2.3 Key-Value Reporting reporting purposes. Each priority level has a queue, and The Key-Value is the most basic report used when there repeat entries are overwritten. Scenarios send notifications are errors or unknown data type in the templated report. to the Reporter task using the notification variable and are The scenarios are again listed one after the other, prefixed saved to the queue, awaiting packet construction. At prede- with the scenario key and the type of data prefix. Unlike fined intervals, the packet is constructed using the available the templated report, the type of data can denote if the reports (see figure 1). Critical reports can be sent and are following bytes are fixed width or if a length follows. flushed to the modem instantly using a special flag in the report command. 2.2.4 Custom Report The custom report is a special report that can be only sent To save space, we encode the reports into several kinds of on demand from a scenario and has no structure beyond the formats, denoted by the first few bits in the message. first bit. This type of report is intended for crash reports and critical errors and is not meant to be automatically handled. 2.2.2 Templated Report The primary way to report is to use the section arrangement 2.3 Commands on the microcontroller flash and the priority values to order Commands are packets sent from the server to configure or the scenarios. The first bit in the stream of each scenario run scenarios and to update any part of the microcontroller reports if the bits that follow are from the scenario. The flash. domain-specific language denotes the length of the data the scenario will report. If the report bit is zero, we skip to the next scenario with only 1 bit used to determine the scenario 2.3.1 Flash Commands StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 69 Flash commands (prefix 00) are simple write commands that Modem Flow Read/Write can be used either in the Bootstrap or the full Operating Flash storage System mode. The predefined nature of the flash allows us to overwrite any scenario and core software. The command Restart Flash Procedure Original rom image starts with a location in the microcontroller flash, followed by the length of the data to be written and the binary data Write raw data into sector itself. The structure can repeat to the end of the packet. Write raw data into sector 2.3.2 Settings Commands … The settings command (prefix 01) is attached to a scenario Mutable rom image Verify hashes and therefore used with the Scenario id to find the location of the settings block in microcontroller flash. The predefined length provides safety from overflows. This structure can Restart and Flash repeat to the end of the packet. Re-Initialize settings 2.3.3 Control Commands Schedule settings Control commands are used to control task using their no- Restart and run new rom tification variable directly and can, in most cases, be only Time run within the full operating system mode. This structure is composed of 3 bytes that are available as parameters sent to the task. Figure 5: Timeline of a ota flash and re-initialization 2.3.4 System Control Commands (left) with the flash layout (right) System control commands use the same pattern as sim- ple control commands, but they use the predefined system namespace. These commands can be used in either Boot- block is initialized. Finally, the tasks of the scenario are run strap or Operating System mode and are used for tasks like and placed into a infinite wait state. flashing, rebooting, and other non-scenario tasks. 2.6 Conclusion 2.4 Over-the-air flash procedure The inspiration for designing such a system derives from a separate student project designing a floating sensor device, Changing any part of the software, including the Bootstrap, intended for data gathering in the ocean. As such, proposed system procedures, and scenarios can is accomplished with implementation centers around the need for an embedded the flash procedure using system control commands. autonomous system with the primary goal of collecting data depending on detected conditions, available energy reserves, The procedure should be started by resetting the mutable and network availability or cost. The lifetime of such a de- image on the flash storage with an exact copy of the original vice is expected to exceed a year. Therefore the system also software in the microcontroller flash. The next steps are takes into account the need for remote over the air system done using the flash commands to write changes into the updates and changing of execution parameters. mutable image. The last step is sending the flash system command with the hash of the image that we want to write Current anticipated technical difficulties, regarding a work- into the boot storage. ing implementation on an actual microcontroller, revolves around physical memory or flash partitioning for remote up- If the prepared image hash does not match the provided dates, memory allocation and number of tasks being able value, a critical message is sent to the server, and the pro- to run or ques being able to exist as buffers and operating cedure is broken off. If the hash does match, the system is data storage, and the ability to correctly estimate the power rebooted, the new image is written to the appropriate sector, available to the system for proper task execution. and the bootstrap procedure started. In the event of a critical failure, the server can send a com- 3. REFERENCES mand that flashes the original image to the appropriate lo- [1] R. Goyette. An analysis and description of the inner cation and repeats the bootstrap procedure. Alternatively, workings of the freertos kernel. Carleton University, 5, if desired, a complete custom image cand be sent at the 2007. expense of increased network data usage. [2] J. Hutcheson and M. Laurin. Network flexibility of the iridium (r) global mobile satellite system. 1995. 2.5 Bootstrap Bootstrapping the system involves loading all the scenarios into memory. All the generic scenarios are stored in consec- utive fixed width blocks with a header. The loader reads the header of each block for a magic number to see if the block contains a scenario and tests the checksum. If successful, the settings pointer is checked and if needed, the settings StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 70 Covering problems and Influence maximization Gyöngyvér Vass Boglárka G.-Tóth Institute of Informatics Institute of Informatics University of Szeged University of Szeged Szeged, Hungary Szeged, Hungary Vass.Gyongyver@stud.u-szeged.hu boglarka@inf.szte.hu ABSTRACT Covering models, Influence maximization, Mixed Integer Influence maximization is a very popular problem in the Programming social sciences. It seeks a given number of seed points (ver- tices) in a network to maximize the number of influenced ver- tices starting from the seeds. Influencing may occur trough 1. INTRODUCTION the edges, which indicate the connection between people The influence maximization problem explores that from a (vertices). There are different ways to define influence, but given seed point how many other individuals can be reached up to our knowledge, finding the seeds from which maximal by the information in a social network. The transmitting influence can be reached is a difficult task in general. of the information and the terms of the transmitting can be different, but usually, the capability of the influencing is Coverage models belong to facility location problems, where impressed by the weight or strength of the edge between two centers are to be located such that the covered demand points. Influence maximization is also known as information points (vertices in a graph within a given distance) are maxi- diffusion. For a survey on the subject see [2, 3]. mized. These models are motivated by problems where some services are only available within a fixed radius, like ambu- In facility location, the covering problem explores the point lances or fast food delivery. These problems are solvable for or points that can cover other points in a demand network large graphs, and our long term aim is to use the most appro- within a given covering distance. For a good introduction priate and/or adjusted covering models for solving influence to facility location problems, see [1]. maximization problems. As a first step, in this paper, we compare influence maximization and coverage models and Up to the knowledge of the authors, these models have not analyze their differences. yet been compared in the literature, thus results in this pa- per are completely novel. As covering models are well stud- As we will show, there are many similarities between the ied and efficient algorithms exist to solve large scale prob- models, however, the main difference is that covering is a lems, it is interesting to investigate if the influence maxi- static action while influencing is dynamic. We show when mization problem (or its slight modification) can be solved this difference can be resolved, and how different are the by any approach made for covering models. Thus, we aim results when not. to compare influence maximization and covering models as a first step. Categories and Subject Descriptors G.2.2 [Mathematics of Computing]: Graph TheoryNet- 2. INFLUENCE MAXIMIZATION work problems; G.1.6 [Mathematics of Computing]: Op- Formally, the influence maximization problem can be de- timization fined as follows. There is a simple graph G = (V, E), where the vertices of the graph v ∈ V represent the individuals and General Terms the edges represent the connections between them. Here- after we can regard as |V | = n and |E| = m, thus, in the Theory, application social network there are n people, and m connections be- tween them. We assign a weight to each edge e ∈ E, which Keywords will give us a probability: f (e) : E → [0, 1] the probability that information can spread trough a given edge e, also it can be seen as the strength of the relationship. For the influence maximization model, there is a set S ⊂ V , from which the information will start, called seed set. The cardinality of the set S is fixed, we will denote it with s (s < n). This gives us a general diffusion model, where the diffusion function is: σ(S) : V → [s, n], that is, the number of vertices influenced by the seed set S. We seek for the seed set maximizing the influence, i.e. maxS⊂V σ(S). StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.71-74 Koper, Slovenia, 10 October 71 In the general model described above the processing of the points as possible. Distance between two vertices is defined influencing can be differently modeled. The most known by the length of the shortest path between the two points, models are the linear threshold model and the independent where edge lengths may be given or considered unit length. cascade model, see [3], however for our purposes the so-called The covering distance or covering radius is also given to the triggering model is the most appropriate. problem, which tells us in what distance the new facility can cover the demand points. In real life, it may depend on the 2.1 Triggering Model ”size” of the facility, for example, in hospitals, its floor area affects how many beds can be laid out and thus how many In the triggering model, for each v ∈ V we independently patients can be accommodated, or on the maximal distance choose a random Tv triggering set according to some distri- a service can be realized (ambulance, fast food delivery for bution over subsets of its incoming neighbours. The Tv set example). Formally, we consider a simple graph G = (V, E) is a subset of the neighbours of vertex v. At the beginning with the usual notation. The concept of coverage can be de- of the process, the seed set S will be active. An inactive fined as follows. Our goal is either to maximize the covered point becomes active at time instant t, if any element of the demand by a fixed number of companies or to cover the en- selected triggering set Tv becomes active at time instance tire network minimizing the number of centers, or building t − 1. Formally, for v ∈ V \S if exists v0 ∈ Tv such that costs. We will only discuss the first model, called maximal v0 ∈ At−1, then v ∈ At. covering. It can be seen that in this model, probability and threshold, used in the threshold model and the independent cascade model [3], are replaced by an influencer set that represents 3.1 Maximal Covering the way information is spread. This also means that this In this model, we aim to maximize the number of covered model is deterministic from the point where the triggering demand points locating a fixed number of facilities at the sets are chosen. vertices of the network. The number of facilities to be lo- cated is s, and the covering radius R should also be known We have designed a mathematical model for this problem for the problem. Formally, we can write the model as fol- so that it can be solved with a Mixed Integer Programming lows. (MIP) solver. As a parameter, we need the maximum num- ber of steps of the influencing process, tmax. It is not known Parameters: beforehand but can be taken as the diameter of the graph, which is a good upper bound for the run time. The rest of 1, if point i can cover point j, i.e. d(i, j) ≤ R aij = the data is the graph itself and the triggering set for each 0, otherwise vertex Tj , which includes a subset of the neighbours of j and also j. Decision variables: Decision variables: 1, if a company at point j is located, Xj = 0, otherwise 1, if point j is active at step t, Zjt = 0, otherwise 1, if point j is covered, Yj = 0, otherwise X max Zjt (1) Having these parameters and decision variables, the objec- max j tive function and constraints can be written in the following X way. s.t. Zj0 = s (2) j X Zit ≥ Zj,t+1 ∀j ∈ V, 0 ≤ t < tmax (3) X i∈Tj max Yj (4) j X Variables Zjt gives us the resulting influenced nodes af- s.t. X max j = s (5) ter tmax steps, thus the objective function is to maximize j their sum. Condition (2) sets the number of initial seeds to X a s, while in (3) the influencing is defined. Namely, a vertex j ij Xi ≥ Yj ∀j (6) i is influenced if its neighbours in Tj are influenced. By max- imizing the influence, the objective guarantees that Zj,t+1 will always take value 1 if the left-hand side of (3) allows it, The objective of the model described in (4) is to maximize so no lower bounding condition on Zj,t+1 is necessary. coverage, which is the number of covered demand points. Constraint (5) ensures that exactly s facilities are located. 3. COVERING PROBLEMS Each demand point j has a constraint that ensures that Covering problems belong to the field of facility location. demand point j is covered only if there is a facility located We interpret it on a network and consider vertices as de- within the given distance, see (6). Knowing the coverage mand points. Our goal is to place facilities or service units at distance, we can determine the locations which could cover some vertices of the network that can cover as many demand the demand point j. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 72 Table 1: Comparison of the models Covering problem Influence maximization graph of demand points and roads 3 social network (graph) we want to locate facilities at demand points (vertices) 3 we want to find the seed points (vertices) cover other demand points 3 influence other points Covering: a demand point is covered if there is a company 7 Influencing: a point is influenced, if any neighbour could for which their distance is less than the coverage distance influence it with the probability of the edge static, only facilities can cover 7 dynamic, anyone can influence edge weights are distances 7 edge weights are probabilities deterministic 7 stochastic 4. COMPARISON OF THE MODELS The modified triggering model can be solved by the opti- Let’s first look at the similarities and differences between mization problem in (1-3) where the maximum number of the two models in general, summarized in Table 1. steps is set to R, and Tj is the triggering set for each vertex, being the set of all the neighbours of j. Both models work with simple graphs and choose vertices based on the weights of the edges. None of the models need Let us show that the model (1-3) is equivalent to the max- to add any new point, just choose one or more from the ex- imal covering model (4-6). As a first step, let us rewrite isting vertices (these are going to be the seeds or centers), the condition (6) without the parameter aij , only relying on and either spread the information to the neighbours or be d(i, j), the distance of vertices i and j. the location for the new facilities. The aim of both models is to reach as many points as possible. However, the definition and the way the seeds reach the other vertices are different. X X We count a point as covered if there is at least one facility i ≥ Yj ∀j (7) where their distance, that is the total weight of the shortest i∈V :d(i,j)≤R path between the demand point and the new company, is less than the given covering distance. We count a point as influ- Now, in order to show the equivalence, we write the models enced if at least one of its neighbours influence it with the side by side, where in each line the corresponding parts are edge probability between them. Thus, one of the largest dif- given. ference is that the maximal covering problem is static, while the information diffusion is dynamic.You: Besides these, an- other difference is, that in the covering model only the new X X facility or facilities can cover the demand points, while in max Yj max ZjR (8) the influence maximization problem every influenced point j j can further influence its neighbours. In the first case, there X X s.t. X Z is a concrete distance, whilst in the second case, there are j = s s.t. j0 = s (9) j j only probabilities for the spreading, where the spreading can X X take any number of steps. It also means that covering is Xj ≥ Yi Zit ≥ Zj,t+1 (10) deterministic, as the coverage is always the same, while in- j∈V :d(i,j)≤R i∈Tj formation diffusion is stochastic, as every time we generate ∀i ∀j, 0 ≤ t < R random values to simulate the spreading. For the variables, Yj ≡ ZjR, and Xj ≡ Zj0, which makes the equivalence in lines (8-9) obvious. In order to see that 4.1 Comparison of a modified triggering the conditions in (10) are defining the same constraints, let model and the maximal covering model is rewrite the influence condition as follows. A modified triggering model may provide a solution to over- come these differences. To repeat, in the triggering model, Aggregating P Z Z k∈T k,t−1 ≥ Zit and P it ≥ Zj,t+1 we i i∈Tj each point independently selects a random set (triggering obtain set Tj ) based on the distribution of subsets of the neigh- X X bours. If one point in Tj becomes active, so does the point Zk,t−1 ≥ Zj,t+1 j. This will result in two types of edges, ”live” and ”blocked” k∈Ti i∈Tj as they belong to the triggering set or not. Now, considering the sub-graph with only the ”live” edges, and restricting the and following this for all the R steps, the condition becomes run time of the triggering model to R number of steps, the X X X problem equivalent to the maximal covering problem on the · · · Zi0,0 ≥ Zj,R sub-graph with covering radius R. i0∈Ti i i 1 1 ∈Ti2 R−1 ∈Tj Therefore, we propose to modify the triggering model by Now, if we take into account, that the above sums are only setting a maximum time for the spread of information, that adding those Zi , i , . . . , i 0 ,0 , where i0 ∈ Ti1 1 ∈ Ti2 R−1 ∈ Tj , is the number of steps. the requirement is actually the same as d(i0, j) ≤ R. There- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 73 fore the condition can be written as Table 2: Computational result for the modified trig- X Zi,0 ≥ Zj,R ∀j (11) gering model with different number of seeds |S| and j∈V :d(i,j)≤R run time R. which is equivalent to (7) changing the names of the vari- |S| = 1, R = 4 |S| = 2, R = 3 |S| = 3, R = 2 ables. Rate Avg Dev Avg Dev Avg Dev 0.3 9.1 2.0 14.3 2.0 15.8 1.9 4.2 Computational comparison of the models 0.4 11.1 2.4 15.7 1.8 17.6 1.6 To compare the models we implemented them in AMPL, 0.5 14.8 2.0 20.6 2.2 20.7 1.7 a mathematical programming language. We use (1-3) to 0.6 16.6 2.2 24.4 2.5 24.8 2.0 define the triggering model and (4-6) for the maximum cov- 0.7 17.9 1.7 26.7 2.2 26.1 1.6 ering model. The problems were solved by the commercial 0.8 20.8 0.8 32.9 2.8 29.8 1.4 optimization solver CPLEX. 0.9 22.0 0.0 35.9 0.5 31.9 0.3 1.0 22.0 0.0 36.0 0.0 32.0 0.0 Let us show the results on an example graph drawn in Figure 1. We run the maximum covering problem on this graph and empirically showed that the same result is obtained when we include all neighbours in the triggering sets. are long chains in the graph, like the paths 2-7 or 9-37, from which any edges become blocked, the influenced set In order to generate the triggering sets for the general model, can change easily. This also means that the seed is very we use a selection rate r, which gives the proportion of the unstable between the different runs, even for high selection neighbours to be selected to the triggering sets. If the se- rates. lection rate r = 1, we take every neighbours of each vertex to its triggering set. If r < 1, we select randomly from the In the next columns we report the results for |S| = 2 and neighbouring edges until we have the required number of R = 3, and also for |S| = 3 and R = 2. The obtained results edges in the triggering sets. are quite similar as before, although we can see that the deviation of the results is smaller for the last case (|S| = 3, R = 2). From these results, we can see that for high selection rates the models give quite similar results in terms of the objective value, but we have seen the seed sets are quite different except for rate 1. 5. CONCLUSIONS It has been intuitively shown that maximal covering and influence maximization deal with a similar problem. The research revealed to us what similarities and differences are. In both cases, we start from a very similar problem and have a similar goal. However, we also show that one of the largest differences is the static nature of facility location and the dynamic nature of information diffusion. We have seen a solution to this by using the modified triggering model. It is planned to compare the results of the models for a large set of networks and to analyze more information diffusion models in the near future. 6. ACKNOWLEDGMENTS The project was supported by the European Union, co-financed by the European Social Fund (EFOP-3.6.3- VEKOP-16-2017-00002). 7. REFERENCES [1] M. S. Daskin. Network and Discrete Location: Models, Figure 1: Example graph with 39 nodes. Algorithms and Applications. John Wiley and Sons, New York, 1995. We summarized the results in Table 2. We set the selection [2] V. Homolya. Analysis of information diffusion in rate from 0.3 to 1 per 0.1. First, we set the cardinality of the networks (in hungarian), 2017. Hungarian Conference seed set |S| to 1 and the run time R to 4, and reported the for Students (OTDK). average of the objective value after 50 runs together with the [3] G. D. Nittis and N. Gatti. How to maximize the spread standard deviation for each selection rate. Not surprisingly, of social influence: A survey. CoRR, abs/1806.07757, decreasing the rate, the average number of influenced points 2018. is also decreasing. The standard deviation is rather high, which can be explained by the structure of the graph. There StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 74 Strong deep learning baseline for single lead ECG processing BOTOS Csaba HAKKEL Tamás Pázmány Péter Catholic Pázmány Péter Catholic University University 1083 Práter utca 50/A 1083 Práter utca 50/A Budapest, Hungary Budapest, Hungary botos.csaba@hallgato.ppke.hu hakkel.tamas@hallgato.ppke.hu ∗ † ‡ GODA Márton Áron REGULY István Z. HORVÁTH András Pázmány Péter Catholic Pázmány Péter Catholic Pázmány Péter Catholic University University University 1083 Práter utca 50/A 1083 Práter utca 50/A 1083 Práter utca 50/A Budapest, Hungary Budapest, Hungary Budapest, Hungary goda.marton.aron@itk.ppke.hu reguly.istvan@itk.ppke.hu horvath.andras@itk.ppke.hu ABSTRACT 1. INTRODUCTION Objective: Atrial fibrillation (AF) is one of the most common Cardiovascular diseases are responsible for the highest per- serious abnormal heart rhythm conditions, and the number centage of fatal outcomes among health problems in the of deaths related to atrial fibrillation has increased by an modern world. One of the most common and serious ab- order of magnitude in the past decades. We aim to create a normal heart rhythm conditions is atrial fibrillation, which system, which can provide help for cardiologist, classifying affects about 2% to 3% of the population in Europe and and highlighting important segments in recordings. North America [1]. It is associated with an increased risk of heart failure, dementia, and stroke. Additionally, the num- Approach: In this paper, we propose a novel approach for ber of deaths related to atrial fibrillation has increased by an AF detection using only a deep neural architecture with- order of magnitude in recent decades: growing from 29,000 out any traditional feature extractor for real-time automated in 1990 up to 193,300 in 2015. Researchers project that suggestions of possible cardiac failures that can detect class by 2030 cardiovascular diseases will account for more than invariant anomalies in signals recorded by a single channel three-quarters of deaths worldwide [2]. portable ECG device. While it is essential to develop efficient algorithms to autom- Results: Detecting the four categories: Normal, AF, Other atize detection for monitoring patients with small portable and Noisy in terms of the official, F1 metric of hidden dataset or wearable devices, and promising methods [3, 4] are al- maintained by the organizers of PhysioNet Computing in ready available, there is still no completely satisfying solu- Cardiology Challenge 2017, our proposed algorithm has scored tion due to the low signal-to-noise ratio of portable ECG 0.88, 0.80, 0.69, 0.64 points respectively, and 0.79 on average. devices, as well as the multiple types and the episodic man- ner of atrial fibrillation. Unfortunately, detecting atrial fib- rillation poses a significant challenge even for the most ex- Keywords perienced cardiac exerts. As a result, a larger time window deep learning, residual network, fully convolutional network, has to be recorded and examined by experts to arrive at a time-series, signal processing, ECG, atrial fibrillation, AF diagnosis. detection To promote the solution and draw the attention of the scien- ∗Corresponding author. tific community to this problem, a challenge was introduced †Corresponding author. by PhysioNet [5], which targets the algorithmic classification ‡ of atrial fibrillation signals. In this challenge, 8528 short, Corresponding author. single-channel recordings were provided produced by a low- cost, portable device called KardiaMobile, manufactured by AliveCor Inc. [6]. The length of the recordings ranged from 9.0 seconds to 61.0 seconds with an average of 32.5 seconds. These samples were divided into four different classes: atrial fibrillation, normal, noisy signals, and recordings from pa- tients with other cardiac diseases, consisting of 771, 5154, 46, and 2557 samples, respectively. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.75-83 Koper, Slovenia, 10 October 75 2. RELATED WORKS 3. METHODS Using clinically meaningful features, good quality ECG mea- 3.1 Extending Dataset with Alternative Anno- surements could be flawlessly classified by simply applying traditional machine learning techniques (i.e. logistic regres- tation sion, random-tree, support-vector-machines). On the other We compete with human performance; however, we do not hand, real-life samples often pose too much noise and high know much about that. There is no better reference cur- variance that could mislead handcrafted rules, and yet state- rently than human annotation (possibly by experts). Atrial of-the-art approaches are still relying heavily on feature en- fibrillation is a human category, there is no mathematically gineering for AF detection. Accordingly, three of the four exact definition for it, thus we need humans to define its winners of the CinC Cardiology 2017 challenge combined characteristics. Unfortunately, these definitions are vague only medically relevant feature-extractors and did not in- and fuzzy from the algorithmic point of view as there is al- corporate any neural network-based features [7, 8, 9]. ways an inherent ambiguity in all applications when we try to approximate human definitions using mathematical mod- Only one of the four winner approaches fused expert fea- els. To come around this problem we have created a dataset tures with other descriptors extracted by a neural network. in which every sample was annotated by multiple (in our Hong et al.[10] proposed an algorithm concerning 64 fea- case two) experts to allow us measuring the variation of the tures learned by a Deep Neural Architecture, namely a time- annotations as well. invariant hierarchical feature extractor network with 4 resid- ual blocks [11] combined with a Bi-directional Long Short- We asked two doctors to help us: Dr Sz. Herczeg PhD stu- term Memory network (LSTM [12]) resulting in a 32 dimen- dent in the field of cardiac arrhythmia (Expert-1), and Dr I. sional continuous descriptor and a Uni-directional LSTM Osztheimer cardiologist consultant (Expert-2), both work- trained separately using centerwave input to extract 32 time ing at the Heart and Vascular Center of Semmelweis Uni- related features. While the final classifier was applied on a versity, in Budapest. Our goal was to examine the difference feature space with more than 600 dimensions, after ranking between the decisions of experts of the Challenge, our doc- by importance, the top 20 were made up of 17 deep learned tors, and a model trained on this dataset. By this, we aimed features and only the 3 remaining were clinically relevant or to have an approximation of the accuracy of human perfor- external statistical features. mance. Then we wanted to explore which features are the most important ones our model is looking for. Finally, we At the same time, many other participants of the Challenge made some efforts to highlight these important features to also used neural networks [13, 14, 15, 16] as feature detector help human specialists. in addition to their traditional feature extractors. One of them was Andreotti et al. [17], who compared their feature- To solve that task, we developed a website that displays the based classifiers to residual neural networks. They con- recordings and provides a graphical user interface to anno- cluded that their neural networks outperform their feature- tate the currently displayed recording. Asking our doctors based classifiers, showing the strength of the purely neu- to use that website, we obtained an alternative annotation ral network-based approach. Parvaneh et al. [18] improved that helped us to validate the data set, i.e. which the obvi- a dense convolutional network by signal quality index and ous cases are and which samples are too ambiguous to make by the transformation of signal to the frequency domain. a clear diagnosis. The website picks recordings randomly, se- Their approach was similar to ours as they applied a neural lecting recordings from the four different classes uniformly. network to extract frequency-domain features. Xiong et al. [19] tried multiple methods with success, which we utilized 3.2 Neural Network Architecture as well, including skip connections, and a neural network Based on empirical evidence in the field of computer vision, trained on the spectrogram. to reduce training time and to make the resulting detector more robust, we applied recently published methods such as ADAM[20], SELU[21], dilated convolutions [22], resid- ual blocks[23] - for which we will provide a quick overview in this section, and a more detailed description and sum- Normal AF Other Noise Avg. mary of resulting improvements in appendix A. While sev- eral image recognition baseline NN architectures (such as Teijeiro et al. 0.90 0.85 0.74 0.56 0.83 ResNet and VGG) could be re-designed to fit the AF detec- Datta et al. 0.92 0.82 0.75 0.52 0.83 tion task, we developed domain-specific ensembles from core Zabihi et al. 0.91 0.84 0.73 0.50 0.83 building blocks of the aforementioned baseline architectures. Hong et al. 0.91 0.81 0.75 0.57 0.83 Alongside with the proposed networks, we have applied pre- ours 0.88 0.80 0.69 0.64 0.79 and post-processing steps: forked feature extraction on both temporal and spectral domain, and merging encoded feature Table 1: F1 scores on the hidden test set of the vectors from different domains directly under the final clas- CinC Challenge 2017. The winner algorithms (first sifier layer. 4 rows) excel in different tasks, since they utilize different pools of features. An important note is Despite the moderate improvements on the temporal and that in order to reduce prediction uncertainty many spectral domains by the application of the advanced build- have submitted ensembles which improve the overall ing blocks (Figure 1), the extension of the logistic regression accuracy; however, does not reveal the true gener- on multi-domain feature representations resulted in an archi- alizing capabilities of the underlying algorithm. tecture that could significantly outperform the most robust StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 76 256 256 256 3 7 95 4 0 5 22 2 25 0 1 19 32 64 128 256 + + + 104 70 43 102 F1=0.76 10 12 23 4 73 5 36 6 1 1 6 4 preprocess Multi-domain concat features Normal AF Other Noisy F1=0.79 concat concat pool 32 ~ 2 32 ~ 4 64 ~ 1 64 ~ 2 64 ~ 4 128 ~ 1 128 ~ 2 128 ~ 4 256 ~ 1 256 ~ 1 256 ~ 1 Figure 2: Venn diagrams showing the overlap be- pool pool tween the 3 annotations: the official labels created F1=0.77 by the cardiologists of the Challenge (green circle), Expert-1’s annotation (blue circle) and the classifi- Figure 1: Learning representations from raw time- cation of the neural network (red circle). series and equal length spectrogram. that were unambiguous for cardiologists (i.e., the classifi- networks on individual domains. We performed hyperpa- cation of Expert-1 and the cardiologists of the Challenge rameter tuning in each domain separately, and then we se- was the same). It is clearly visible that for the vast major-lected the best performing models for the joint optimization. ity of these evident samples, the neural network predicted the same class as the cardiologists did. Additionally, only a The upper branch operating on the raw signal is inspired by tiny fraction of samples (their number is colored to green) EncodeNet [24] and uses consecutive residual blocks, which were classified by our model in such a way that none of the operate with high numbers of channels on the downscaled cardiologists agrees with its prediction. Unfortunately, it sample. The lower branch operating on spectral-domain is is obvious that no statistical analysis is possible due to the the SkipFCN [25], which connects the early low-level rep- low number of evaluated samples (500 compared to 8, 528 resentations to latent layers to reduce over-fitting while sta- available samples) and because only one expert completed bilizing gradient flow. that evaluation. However, these numbers strongly suggest that our results might have some medical relevance as our More importantly, we wanted our research to give valu- algorithm appears to mimic diagnosis of doctors. able feedback to doctors. Therefore, we inspected features that our trained AF detector has learned from samples pro- vided by the Challenge to check whether these features were 4.3 Confidence of The Classifier matching with ones recognized by professionals. These re- We created another web page to show recordings which were sults are analyzed in the next section. For a more detailed the easiest or the hardest to classify for our algorithm. To description of the network architecture, see appendix A. measure the ”confidence” of the decision, we used the out- put of the last layer of our network (also called soft-max 4. RESULTS layer) which has three neurons and each neuron produces a number that correlates with the assumed probability of 4.1 Main Results belonging to the normal, AF, or other classes, respectively. Detecting the four categories: Normal, AF, Other and Noisy The fourth, noisy class is predicted by a separate network. in terms of the official, F1 metric of the challenge, our pro- We fed all recordings to the model and picked the top 10 posed algorithm has scored 0.88, 0.80, 0.69, 0.64 points re- recordings which produced the highest value from the neu- spectively, and 0.79 on average. The fact that our F1 score ron responsible for the normal class, and we repeated that 0.64 on Noise detection was even higher then the same score experiment for the AF class. We assumed that those record-of winning teams (see 2) shows that one is capable of reach- ings can also be interesting that were difficult to decide for ing performance close to the state of the art methods without our model, and therefore we selected the worse 10-10 record- professional feature-engineering. ings that resulted in the lowest value from the neurons of the normal and AF class. The reason why we excluded other 4.2 Ambiguity of Annotations and noisy classes from examination are that these classes Using the website we designed for the alternative annotation, are only technically necessary for defining the problem, but Expert-1 annotated 500 recordings. Comparing that anno- they have no medical relevance regarding AF detection. tation to the annotation of the cardiologists of the Challenge, we found that the two annotations showed matching only in Then, we asked our experts to try to find some common fea- 65% of cases, underlining the fact that classification of data tures of the samples classified into the same classes by our set we worked on is challenging even for experts. Moreover, model, and tell whether recordings classified ”confidently” it turned out that considering only those recordings when (i.e. with high output value) by our model were also evi- both Expert-1 and the cardiologists of the challenge agreed dent for them. Similarly, we wanted to know whether they on the classification (i.e., in case of the ”evident recordings”) found the least ”confidently” classified recordings obscure, the model also presented an almost identical (97.35%) clas- too. They answered independently from each other, but sification. their remarks were very similar in most aspects. To visualize the overlap between the 3 annotations we also They both agreed that in the case of most confident pre- drew Venn diagrams, see Figure 2. We created diagrams for dictions recordings had low noise contamination and this each class and marked with red the number of the samples contamination could be easily distinguished from the signal. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 77 Also, they both mentioned that the main difficulty of clas- sifying recordings classified with the lowest confidence was the high amplitude noise and the irregular baseline changes as it made P-wave detection very difficult. In case of hardly detectable P-waves, they both would rather look at RR in- tervals to inspect whether they are regular or not. In addition, Expert-2 noted that the model appeared to rec- ognize the regularity of RR-intervals and used it as a strong evidence of normal class (doctors also consider it as a sign of healthy heart rhythm). Unfortunately, it was misleading sometimes because some recordings exhibited both unusu- ally regular RR-intervals and also some clear signs of AF, and thus the model predicted normal class (with low confi- Figure 3: Example graph with colored background. dence) instead of AF. Besides, Expert-1 noticed that all of Sections with green background are detected as nor- the confidently classified AF recordings have arrhythmia ab- mal rhythm sections, red indicates AF, and other soluta (i.e., the RR intervals are always changing), and most arrhythmias are highlighted with blue. of these recordings have high BPM value, while recordings of low confidence prediction have much lower BPM on aver- age. She mentioned that arrhythmia absoluta and BPM are 5. CONCLUSION two of the most common features cardiologists are looking While it is clear that current conditions demand expertise for in real-life clinical practice (along with the absence of in both domains of cardiology and machine learning, the P-wave). Thus, she acknowledged that our model appeared emergence of cheap hand-held devices creates a niche for to learne some medically relevant feature without explicitly approaches capable of utilizing larger amount of data, and programming to do so. that gives rise to adaptive and scalable algorithms, such as Deep Neural Networks. 4.4 Most relevant segments of recordings We carried out an extensive architecture and hyperparame- We divided the signal to 50ms long segments and calculated ter search, and reported our findings on the Computing in the output of the neural network for each of them. As we did Cardiology 2017 Challenge. To contribute to the field, we previously when we measured the ”confidence” of the deci- have open-sourced our project providing a general training sion of the model, we took again the output of the three neu- environment for practitioners to quickly evaluate baseline rons of the soft-max layer, responsible for Normal, AF and performances on their dataset. Other classes, respectively. For each 50 ms long segment, the neuron that produced the highest value determined the Our proposed algorithm provides visual reasoning and feed- color of the background behind the current section. When back for decision making that can significantly boost effi- the neuron responsible for the normal class produced the ciency of AF detection in collaboration with experts. For highest value, then the background was colored to green. deeper analysis of the performance, see appendix B. The Similarly, the blue background indicated that the neuron of website of our project is available at http://physionet. the other class had the highest output value, and red in- itk.ppke.hu/ dicated atrial fibrillation. Additionally, higher values are translated to darker colors, so the darkness of background Lastly, to help doctors to analyze long ECG recordings easily indicates the ”confidence” of the prediction at a certain seg- and quickly, we designed a tool that colors the background ment. An example of these graphs can be seen in Figure 3. of the ECG plot highlighting the segments according to the By implementing that algorithm, we aimed to help doctors prediction of the model. by highlighting the most relevant regions of ECG recordings. While our algorithm cannot substitute doctors, it might be a good tool to speed up the evaluation of long ECG record- 6. REFERENCES ings while unburdening physicians drawing their attention [1] C. A. Morillo, A. Banerjee, P. Perel, D. Wood, and to the most important parts of the signal. X. Jouven, “Atrial fibrillation: the current epidemic,” Journal of geriatric cardiology: JGC, vol. 14, no. 3, p. 4.5 Computational Complexity 195, 2017. [2] B. B. Kelly, V. Fuster et al., Promoting cardiovascular From the perspective of practical applicability in real-life health in the developing world: a critical challenge to medicine, our method is not just designed for classification, achieve global health. National Academies Press, but performs well as a real-time detector by the nature of 2010. Fully Convolutional Networks: after the initial warm-up de- lay of 1.2 sec, we can generate new responses in less than [3] G. H. Tison, J. M. Sanchez, B. Ballinger, A. Singh, 2 msec taking the last 20 second history into consideration. J. E. Olgin, M. J. Pletcher, E. Vittinghoff, E. S. Lee, If the evaluation is centralized and we allow to compute re- S. M. Fan, and R. A. e. a. Gladstone, “Passive sponses in batches, the time required per sample is less than detection of atrial fibrillation using a commercially 0.5 msec. available smartwatch,” JAMA Cardiology, vol. 3, no. 5, p. 409, 2018. [4] S. P. Shashikumar, A. J. Shah, Q. Li, G. D. Clifford, and S. Nemati, “A deep learning approach to StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 78 monitoring and detecting atrial fibrillation using networks and signal quality analysis to detect atrial wearable technology,” 2017 IEEE EMBS International fibrillation using short single-lead ecg recordings,” Conference on Biomedical & Health Informatics 2017 Computing in Cardiology Conference (CinC), (BHI), 2017. 2017. [5] “AF Classification from a short single lead ECG [19] Z. Xiong, M. Stiles, and J. Zhao, “Robust ecg signal recording: the PhysioNet/Computing in Cardiology classification for the detection of atrial fibrillation Challenge 2017.” [Online]. Available: using novel neural networks,” 2017 Computing in https://physionet.org/challenge/2017/ Cardiology Conference (CinC), 2017. [6] 2019. [Online]. Available: [20] D. Kingma and J. Ba, “Adam: A method for https://store.alivecor.com/products/kardiamobile stochastic optimization,” arXiv preprint [7] T. Teijeiro, C. A. Garc´ıa, D. Castro, and P. Félix, arXiv:1412.6980, 2014. [Online]. Available: “Arrhythmia classification from the abductive https://arxiv.org/abs/1412.6980 interpretation of short single-lead ECG records,” [21] G. Klambauer, T. Unterthiner, A. Mayr, and CoRR, vol. abs/1711.03892, 2017. [Online]. Available: S. Hochreiter, “Self-Normalizing Neural Networks,” http://arxiv.org/abs/1711.03892 arXiv:1706.02515 [cs, stat], Jun. 2017, arXiv: [8] S. Datta, C. Puri, A. Mukherjee, R. Banerjee, A. D. 1706.02515. [Online]. Available: Choudhury, R. Singh, A. Ukil, S. Bandyopadhyay, http://arxiv.org/abs/1706.02515 A. Pal, and S. Khandelwal, “Identifying normal, af [22] F. Yu and V. Koltun, “Multi-Scale Context and other abnormal ecg rhythms using a cascaded Aggregation by Dilated Convolutions,” binary classifier,” 2017 Computing in Cardiology arXiv:1511.07122 [cs], Nov. 2015, arXiv: 1511.07122. (CinC), pp. 1–4, 2017. [Online]. Available: http://arxiv.org/abs/1511.07122 [9] M. Zabihi, A. B. Rad, A. K. Katsaggelos, S. Kiranyaz, [23] K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual S. Narkilahti, and M. Gabbouj, “Detection of atrial learning for image recognition,” in Proceedings of the fibrillation in ecg hand-held devices using a random IEEE Conference on Computer Vision and Pattern forest classifier,” in 2017 Computing in Cardiology Recognition, 2016, pp. 770–778. (CinC), Sept 2017, pp. 1–4. [24] L. A. Gatys, A. S. Ecker, M. Bethge, A. Hertzmann, [10] S. Hong, M. Wu, Y. Zhou, Q. Wang, J. Shang, H. Li, and E. Shechtman, “Controlling perceptual factors in and J. Xie, “Encase: An ensemble classifier for ecg neural style transfer,” in IEEE Conference on classification using expert features and deep neural Computer Vision and Pattern Recognition (CVPR), networks,” in 2017 Computing in Cardiology (CinC), 2017. Sept 2017, pp. 1–4. [25] J. Long, E. Shelhamer, and T. Darrell, “Fully [11] K. He, X. Zhang, S. Ren, and J. Sun, “Deep Residual convolutional networks for semantic segmentation,” in Learning for Image Recognition,” arXiv:1512.03385 Proceedings of the IEEE Conference on Computer [cs], Dec. 2015, arXiv: 1512.03385. [Online]. Available: Vision and Pattern Recognition, 2015, pp. 3431–3440. http://arxiv.org/abs/1512.03385 [Online]. Available: http://www.cv-foundation.org/ [12] S. Hochreiter and J. Schmidhuber, “Long short-term openaccess/content cvpr 2015/html/Long Fully memory,” Neural computation, vol. 9, pp. 1735–80, 12 Convolutional Networks 2015 CVPR paper.html 1997. [26] A. v. d. Oord, S. Dieleman, H. Zen, K. Simonyan, [13] P. Warrick and M. N. Homsi, “Cardiac arrhythmia O. Vinyals, A. Graves, N. Kalchbrenner, A. Senior, detection from ecg combining convolutional and long and K. Kavukcuoglu, “WaveNet: A Generative Model short-term memory networks,” 2017 Computing in for Raw Audio,” arXiv:1609.03499 [cs], Sep. 2016, Cardiology Conference (CinC), 2017. arXiv: 1609.03499. [Online]. Available: [14] F. Plesinger, P. Nejedly, I. Viscor, J. Halamek, and http://arxiv.org/abs/1609.03499 P. Jurak, “Automatic detection of atrial fibrillation [27] F. N. Iandola, M. W. Moskewicz, K. Ashraf, S. Han, and other arrhythmias in holter ecg recordings using W. J. Dally, and K. Keutzer, “Squeezenet: rhythm features and neural networks,” 2017 Alexnet-level accuracy with 50x fewer parameters and Computing in Cardiology Conference (CinC), 2017. <1mb model size,” CoRR, vol. abs/1602.07360, 2016. [15] M. Limam and F. Precioso, “Atrial fibrillation [Online]. Available: http://arxiv.org/abs/1602.07360 detection and ecg classification based on convolutional [28] K. Simonyan and A. Zisserman, “Very Deep recurrent neural network,” 2017 Computing in Convolutional Networks for Large-Scale Image Cardiology Conference (CinC), 2017. Recognition,” arXiv:1409.1556 [cs], Sep. 2014, arXiv: [16] M. Zihlmann, D. Perekrestenko, and M. Tschannen, 1409.1556. [Online]. Available: “Convolutional recurrent neural networks for http://arxiv.org/abs/1409.1556 electrocardiogram classification,” 2017 Computing in [29] P. Rajpurkar, A. Y. Hannun, M. Haghpanahi, Cardiology Conference (CinC), 2017. C. Bourn, and A. Y. Ng, “Cardiologist-Level [17] F. Andreotti, O. Carr, M. A. F. Pimentel, A. Mahdi, Arrhythmia Detection with Convolutional Neural and M. De Vos, “Comparing feature based classifiers Networks,” arXiv:1707.01836 [cs], Jul. 2017, arXiv: and convolutional neural networks to detect 1707.01836. [Online]. Available: arrhythmia from short segments of ecg,” 2017 http://arxiv.org/abs/1707.01836 Computing in Cardiology Conference (CinC), 2017. [30] I. Goodfellow, Y. Bengio, and A. Courville, “Deep [18] S. Parvaneh, J. Rubin, R. Asif, B. Conroy, and learning,” 2016, book in preparation for MIT Press. S. Babaeizadeh, “Densely connected convolutional [Online]. Available: http://www.deeplearningbook.org StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 79 APPENDIX Representing a prerecorded signal to the frequency domain with Fast Fourier Transform is a favoured approach in the A. DETAILS OF THE NEURAL NETWORK field of signal processing. Frequency analysis reveals each A.1 Activation Function frequency band’s presence in the signal, which may reveal We have found that one major reason of over-fitting where periodic and aperiodic traits of the sample. In practice when the network rather memorizes training samples than general- a sample of the length N is transformed with FFT, it pro- izes was the non-linearity applied after parametrized layers, duces two arrays of values of the same length N representing the Rectified Linear Unit (ReLU): relu(x) = max(0, x) complex (Im and Re) valued frequency coefficients. Usu- ally, these two arrays are merged by the following formula p The phenomenon of ”dead neurons” is a well known and r = Im2 + Re2 resulting in Power Spectrum (PS), while a frequent issue among networks that apply ReLU. Gener- phase (being less informative about the signal) is omitted ally speaking, ReLU suppresses any inhibiting activation (by thus making the transformation irreversible. The problem clipping off negative values), excluding a notable portion of with taking PS is that it discards temporal patterns (such neurons in the preceding layer from succeeding layers; thus, as Q-T, R-R distance etc.) making convolutional layers use- activation spectrum of the layer will be saturated. Prac- less. Furthermore, PS is not casual by design, meaning that tically it is acceptable if different samples cause different the whole signal must be provided before obtaining PS. A neurons to be mitigated; however, during train time some of frequently applied technique in speech recognition is tak- the neurons can become completely silent since the gradient ing multiple FFT of short overlapping windows sliding over optimization prevents muted neurons to be trained (their input audio sample and concatenating short samples’ PS gradient is 0). Because of this property, there is a consider- into a multi-channel array. Another slight detail is to ap- able risk that numerous nodes will not be able to influence ply piece-wise natural logarithm on every element of the the response of classifier neurons. resulting array to increase the variance of signal and pre- vent strong frequencies repress ones which are weaker with Instead of ReLU, we used SELU activation function pub- orders of magnitude. lished in Self-Normalizing Neural Networks [21]. By chang- ing the activation function, we were able to overcome the The main advantage of that method is that it preserves time- variance-problem of the networks applied, i.e. distance be- domain (temporal) patterns, while it reveals the presence of tween training- and test-performance was reduced for iden- different frequencies in the signal. Furthermore, there is only tical architectures. For benchmarks on VGG models see a slight difference when we apply different weighting on in- Figure 4. ternal values of the sliding window, while window size and stride (i.e. inverse degree of overlapping) heavily influences On the left side of Figure 4 two separate trends are re- how long our resulting array will be and how many frequency vealed. Apparently, ReLU (bold lines) outperforms identi-bands will represent it (i.e. resolution of PS at given time in- cal networks applied with SELU (light lines), almost reach- stance). We have found it not just incredibly convenient, but ing ideal performance. On the right side of Figure 4: We also surprisingly effective to choose the highest possible de- can see ReLU networks reaching their top test-performance gree of overlapping (window stridden by 1), and resampling in early stages of training, and by continuing their train- resulting spectrogram to match the length of the original ing their accuracy decreased. In contrast, the accuracy of signal. Taking the original sample and redundant represen- SELU networks gradually improves throughout the entire tation of ECG-recording (a 64 channel spectrogram) of the training. Naming convention: ADAM stands for gradient same length allowed us to apply two concurrent NN on each optimization method, 16/19 for the number of layers that domain (temporal and spectral), and to concatenate result- have adjustable weights, and double/halved/quart suffixes ing representations in-depth without being forced to reduce refers to the depth of each convolutional filter applied in temporal dimension since both feature vectors were of the corresponding VGG baseline networks. same length. A.2 Dilated Convolution A.4 Multi-Domain Representation Learning While both input spaces, temporal and spectral, had their Receptive field problem was another obstacle we encoun- challenges, we saw that - by designing preprocess steps for tered while setting up the baselines experiments. Simply by spectrogram training - the feature extractor network pro- changing the 2-dimensional convolutions (3x3 filters) to their duced output of the same length as a time-domain equivalent 1-dimensional equivalent (1x9 filters), we ended up with a algorithm. That led us to try and concatenate these pre- network that could barely cover multiple heartbeats. Since trained feature extractors together to test whether multi- we have learned that atrial fibrillation can be episodic, it domain representation could help the final layer to overcome was essential extending search space of architectures that issues specific to separate domain classification by comple- could cover entire episodes. By applying causal dilated con-menting each other. Indeed, we found that the general be- volutional filters used by [26], the receptive field was expo- haviour of the time-domain network was as follows: increas- nentially increased further improving our models’ accuracy ing the accuracy of a single class at the expense of severe without involving variance problems (like max-pooling does) forgetting in other classes disappeared using multi-domain or sacrificing evaluation speed since applying dilated convo- features. At the same time, spectral-domain networks strug- lution results in minimal overhead compared to the tradi- gled with variance problems, even with extremely low capac- tional operation. For the visual example see Figure 5. ity. Also, networks trained in frequency domain were more dependent on the choice of training / evaluating data. These A.3 Spectrogram traits are omitted when feature extractors are working in StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 80 Figure 4: Mean F1 train accuracy parallel as well. For a detailed description of our proposed model for CinC Challenge of 2017, see Figure 1. A.5 Training Dilated Each network was trained for 420 epochs on 80% of the challenge dataset, which we have resampled for each training instance. Depending on the complexity of the underlying architecture, training took 3-12 hours on a K80 GPU. Our proposed algorithm is designed in such a way that applied operations are completely causal; thus, the input can be processed on-line (also in real-time) without the presence of Original a complete sequence. Inspired by their simplicity we have re-designed the classic ImageNet models: SqueezeNet v1.1 [27], VGG-16/19 [28], ResNet18/152 [23]. We also re-implemented a network pro- Figure 5: Using the same number of parameters at posed by Rajpurkar et al. [29], which was developed to each node (2) with dilated convolutions, we can in- perform well on a more balanced dataset of over sixty thou- crease receptive field exponentially instead of lin- sand single lead ECG samples, annotated by lead expert early expanding receptive field of traditional convo- cardiologists. We reference this network in this writing as lutions StanfordNet. Deep representation learning algorithms tend to outperform humans when the network is shown more data than its op- ponent during its lifetime. While the problem itself could be a truly complex task from the perspective of traditional algorithmic solutions, it is less difficult with human refer- TIME ences. FFT sliding window FFT Referring to the rule of thumb mentioned in [30], it is in- creasingly evident that state-of-the-art supervised training methods can reach or even exceed human performance in log-spectrogram general when 5000 samples are provided per class, and the overall dataset contains millions of training samples. That rule seems to apply to our case as well. For example, the Figure 6: Using stride of 1 for 255 wide FFT win- dataset provided by the organizers of the Challenge contains dows resulted in almost identical length of original over five thousand samples of healthy sinus-rhythm samples sample with 128 channels. In order to have a com- for which mean of test F1 scores are above 0.90, but con- pletely matching size in temporal dimension (hori- sidering that the whole training dataset contains only 8528 zontal axis), we resampled the log-spectrogram with samples in total, it implies that getting deep neural networks nearest-neighbour interpolation. to work requires a few workarounds. The usual recipe for training classifiers containing tens of millions of parameters StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 81 Figure 7: Results on running 18 different network Figure 8: Test results computed from 10-fold cross architectures on a manually designed difficult train- validation using the best performing model. ing/test set separation (Blue), and on a random split in average (Green) Many competitors reportedly have overcome that issue by applying a common technique used in deep learning compe- titions: final prediction is not evaluated by a single network, tells us that it is beneficial to find a model first that can be at but by ensembles of neural networks to make the algorithm least over-fitted on the training data, and then incrementally more robust against the biased dataset. In groups where decrease degree of complexity by removing layers and shrink- expert supervision of training data set was available, signif- ing the number of convolutional filters, while applying more icant improvement was reported when ambiguous samples and more regularization to avoid high variance. During the were removed from the already moderate-sized data set. development phase we observed that by the time the network could not be improved further on the training set, it had al- Note: The bands correspond to cover 99% and 68% of test ready dropped in performance on the test set. Data prepa- scores and show that when certain training samples are miss- ration, training and evaluating scripts required to reproduce ing, networks fail to generalize, and they are only able to the following results are available at our open-source repos- reach a test score F1=0.45 with a small deviation, mak- itory: https://github.com/botcs/itk-physionet-17 ing it almost impossible to measure improvements on dif- ferent architectures and optimization methods. At the same time, when essential training examples are available, we have B. PERFORMANCE ANALYSIS space for experiments, shown by the increased width of the band. Instability. When we manually set random seeds for sepa- rating samples into training-test-evaluation classes, we came avg. F1 score 0.70 0.72 0.73 0.72 0.76 0.78 0.74 0.74 0.75 0.81 0.73 across a very interesting phenomenon: one can construct a SELU X X X X X Dilation X X X X X X X X train-evaluation set separation such that outcome can be SqueezeNet 1.1 X X X VGG 19 X X X extremely encouraging, over avg. F1=0.9 score, and for StanfordECG X X X another choice, it could lead to much worse results, avg. EncodeNet (ours) X SkipFCN (ours) X F1=0.5, having every other detail of the training environ- Raw signal X X X X X X X X X X X ment fixed. When we retrained 18 randomly chosen net- Log-spectrogram works from our baseline evaluations on a training set which probably covered all problematic samples that may lie close Table 2: The average F1 score results in time domain to the decision boundary, independently of the underlying architecture results got better. Using exactly the same envi- avg. F1 score 0.65 0.63 0.63 0.69 0.74 0.75 0.53 0.51 0.54 0.68 0.79 ronment, with the same initialization of weights on a differ- SELU X X X X X Dilation X X X X X X X X ent choice of training samples, test performance seemed to SqueezeNet 1.1 X X X have an upper bound - even our best-performing networks VGG 19 X X X StanfordECG X X X could not perform better than F1=0.6. For comparison see EncodeNet (ours) X SkipFCN (ours) X Figure 7. In Figure 8, we analyze how sensitive is our most Raw signal robust model: we do 10-fold cross-validation, where each Log-spectrogram X X X X X X X X X X X training is evaluated with two different seeds to eliminate the noise coming from random initializing the network. Table 3: The average F1 score results in spectral domain 18 networks initialized and optimized with the same fixed random seed on different training sets, which we have found In Table 2 a summary of incremental improvements achieved randomly splitting the original dataset, reveals the greatest on original time-series is visible. Among over 100 different challenge in AF detection; namely, there is a tiny set of alternative architectures, here we list the most revealing and specific samples that is crucial for generalization. instructive experiences of ours. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 82 In Table 3 the average F1 score results is visible in the spec- tral domain. Despite that different paths led us to the archi- tecture of SkipFCN, the main drive was to achieve compa- rable performance to time-domain models since input space was heavily redundant. For keeping our evaluations sym- metric and providing a reference for evaluating identical ar- chitectures on the spectral domain, we list results of the same networks shown in Table 2. Computational requirements. The delay and complex- ity of our proposed model, depicted in Figure 1 is mainly characterized by the Fourier transform, and the complexity of the two parallel branches, working on time and frequency domain respectively. In total the model has fewer than 2 million trainable parameters, that takes up 8 MB storage using 32-bit precision representation. We performed exten- sive time complexity measurements on the proposed model, using a single P100 Graphics Processor Unit. For the train- ing, we used the mini-batch size of 64 with early-stopping after 100 epochs on the training data. On average, each training took 1 hour before reaching a peak of accuracy. In real-time operation (inference) using Fourier Transform win- dow size of 255, the model requires 354 measurement points to evaluate the first response. Based on the sampling rate of the recording device (300 Hz) that translates to a 1.18s ef- fective delay. Furthermore, we measured how fast the model evaluates a 20s window. Without computing samples in par- allel, the time-domain branch takes 1.33 ms ± 821 ns and the frequency-domain branch takes 1.54 ms ± 1.48 µs to ex- tract features, in total the inference takes 1.68 ms ± 2.11 µs. Using a batch size of 100 we can parallelize the compu- tations with a sub-linear increase in time cost: 18.6 ms ± 21.9 µs on time-domain, 32.1 ms ± 127 µs on the frequency domain, 39.1 ms ± 482 µs when branches are computed in parallel. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 83 Primerjava osnovnega algoritma po vzoru obnašanja netopirjev in njegove hibridne razli čice HBA Žan Grajfoner Lucija Brezočnik Fakulteta za elektrotehniko, Fakulteta za elektrotehniko, računalništvo in informatiko računalništvo in informatiko Koroška cesta 46 Koroška cesta 46 2000 Maribor, Slovenija 2000 Maribor, Slovenija zan.grajfoner@student.um.si lucija.brezocnik@um.si POVZETEK dom. Več izvidniških čebel odleti na iskanje potencialne lo- V prispevku smo se osredotočili na algoritme inteligence kacije, vendar dokončno odločitev o najprimernejši lokaciji roja, ki črpajo navdih iz obnašanja roja živali v naravi. Pri- sprejmejo skupaj. merjali smo osnovni algoritem po vzoru obnašanja netopir- jev in njegovo hibridno različico. Raziskali smo razlike med V prispevku, ki je povzetek diplomskega dela [6], se bomo osnovnima arhitekturama obeh algoritmov, pripadajoče pa- osredotočili na algoritem po vzoru obnašanja netopirjev (angl. rametre, kot tudi nekaj drugih hibridnih različic algoritma Bat Algorithm, krajše BA), ki ga uvrščamo v skupino SI. po vzoru obnašanja netopirjev. Primerjavo smo izvedli na Obstoječe študije so pokazale, da lahko algoritem BA hitreje praktičnem primeru optimizacije desetih testnih funkcij na doseže boljše rezultate pri reševanju optimizacijskih proble- treh različnih dimenzijah problema (10, 20, 30). Prav tako mov glede na njegove predhodnike, kot je na primer genet- smo raziskali vpliv različnih velikosti populacije (20, 30, 50) ski algoritem [10]. Algoritem BA posnema naravni fenomen pri obeh algoritmih. Ugotovili smo, da so rezultati optimi- netopirjev – eholokacijo. Netopirji med letenjem spuščajo zacije hibridne različice algoritma boljši od osnovne različice visoke zvoke, kakršnih človeško uho ne zaznava. Zvok po- algoritma. tuje skozi zrak kakor val in se odbije od vsakega objekta. Netopirji poslušajo odbiti zvok in na podlagi tega določijo Kjučne besede oddaljenost, velikost ter obliko predmeta. algoritem po vzoru obnašanja netopirjev, evolucijski algo- Ker osnovni algoritem BA ni primeren za reševanje vseh dru- ritmi, hibridizacija, inteligenca roja, računska inteligenca žin problemov, so različni avtorji predlagali več hibridnih različic, ki razširjujejo osnovni algoritem BA z mehanizmi 1. UVOD drugih algoritmov [15, 11, 13]. Prav tako nekateri avtorji Algoritmi po vzoru iz narave posnemajo delovanje različ- navajajo različne nastavitve nadzornih parametrov, kot so nih naravnih in bioloških sistemov [17, 3]. Večinoma se na primer velikost populacije in minimalna/maksimalna fre- uporabljajo za reševanje kompleksnih optimizacijskih pro- kvenca. blemov [3], kot so na primer sestava urnikov, izbira naj- boljše lokacije za postavitev antene in iskanje najkrajše poti Glavni cilj prispevka je primerjava osnovnega algoritma BA, na grafu. Med tovrstne algoritme uvrščamo tudi algoritme ki ga je predlagal Yang [16], in hibridnega algoritma po vzoru inteligence rojev [9], ki so dandanes prisotni v številnih re- obnašanja netopirjev (angl. Hybrid Bat Algorithm, krajše alnih aplikacijah [8]. HBA), ki ga so ga predlagali Fister in ostali [5]. Algoritma bomo uporabili pri optimizaciji več testnih funkcij in s po- Inteligenca roja (angl. Swarm Intelligence, krajše SI) [1, močjo eksperimenta skušali odgovorili na dve raziskovalni 2] predstavlja študije kolektivnega obnašanja množičnih sis- vprašanji (RV). temov, ki se razvijajo s časom. Takšne sisteme v naravi tvorijo razni insekti (npr. čebele in mravlje) in druge živali RV1: Ali hibridni algoritem po vzoru obnašanja netopir- (npr. ptice in ribe). Predstavimo primer inteligence roja na jev dosega boljše rezultate kot osnovni algoritem po vzoru čebelah [7]. Čebela sledi splošnim in enostavnim pravilom, obnašanja netopirjev pri večji velikosti populacije? vendar lahko v roju z drugimi čebelami rešuje kompleksnejše naloge, kot je na primer izbira prave lokacije za njihov novi RV2: Ali hibridni algoritem po vzoru obnašanja netopirjev dosega boljše rezultate kot osnovni algoritem po vzoru ob- našanja netopirjev pri optimizaciji funkcij višjih dimenzij? V drugi sekciji predstavimo algoritem BA in njegovo hibri- dno različico, tretja sekcija je namenjena orisu zasnove eks- perimenta, analiza dobljenih rezultatov pa je zbrana v četrti sekciji. Prispevek strnemo v peti sekciji in podamo smernice za prihodnji razvoj. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.85-90 Koper, Slovenia, 10 October 85 2. ALGORITMI PO VZORU OBNAŠANJA število, ki definira velikost izhodnega pulza. Parameter xtbest NETOPIRJEV definira trenutno najboljšo globalno pozicijo oziroma rešitev. V sekciji 2.1 predstavimo osnovno različico algoritma BA, v Druga strategija izboljša trenutni položaj virtualnega neto- sekciji 2.2 njegovo hibridno različico, sekcija 2.3 pa zajema pirja po enačbi 3: predstavitev nekaterih drugih hibridnih različic BA. 2.1 Algoritem po vzoru obnašanja netopirjev Algoritem po vzoru obnašanja netopirjev spada v družino xt = xtbest + Atiϕ, (3) algoritmov SI in ga je leta 2010 razvil Xin-She Yang na uni- verzi v Cambridgeu [16]. Njegov namen je bil razviti enosta- v kateri ϕ ∈ [0, 1] definira naključno število iz Gaussove ven in učinkovit algoritem, ki bi bil primeren za uporabo v distribucije s srednjo vrednostjo 1 in standardnim odklonom različnih aplikacijah za reševanje optimizacijskih problemov. 0, ϕ > 0 je skalirni faktor in Ati predstavlja glasnost. V algoritmu je poskušal posnemati pojav eholokacije pri mi- kronetopirjih. Originalni algoritem BA obravnava netopirje Ta strategija je namenjena izkoriščanju najboljše rešitve, saj kot roj, ki se pomika po prostoru in išče svoj plen. Obna- je usmerjena k raziskovanju območja najboljše rešitve in po- šanje netopirjev je kompleksno in zahtevno, zaradi česar je nazarja vrsto naključnega sprehoda (angl. Random Walk neposredni prenos v t. i. računalniški sistem prezahteven. Direct Exploitation, krajše RWDE) [4]. Algoritem BA nad- Zato je njihovo obnašanje opisal v algoritmu z naslednjimi zorujeta dva parametra in sicer stopnja pulza ri in glasnost poenostavljenimi pravili [4]: Ai. Matematično lahko to prikažemo z enačbo 4: 1. Vsi netopirji uporabljajo eholokacijo za spremljanje razdalje do ciljnih objektov. A(t+1) = αAt i i , rt i = r0 i [1 − exp(−γ)], (4) 2. Netopirji pri iskanju hrane letijo naključno s hitrostjo v kateri α in γ predstavljata konstante. Obe vplivata na vi na pozicijo xi s fiksno frekvenco fmin, variabilno stopnjo konvergence algoritma [16]. valovno dolžino λi in glasnostjo Ai. Samodejno lahko prilagajajo valovno dolžino (ali frekvenco) pulzov, ki Psevdokoda algoritma BA je prikazana v algoritmu 1. jih oddajajo, in prilagajajo raven oddajanja pulzov r i ∈ [0, 1] glede na bližino cilja. Algoritem 1 Algoritem BA 3. Glasnost variira od največje (pozitivne) A0 do mini- Vhod: populacija xi = (xi,1, xi,2, . . . , xi,D) for i = malne vrednosti Amin. 1 . . . N p, MAX FE. Izhod: najboljša rešitev xbest in njena vrednost fmin BA vzdržuje populacijo virtualnih netopirjev med delova- 1: inicializacija populacije; njem. Vsak položaj netopirja predstavlja rešitev problema 2: eval = oceni novo populacijo; in vsaka rešitev problema je predstavljena kot vektor realnih 3: fmin = najdi najboljšo rešitev (xbest); števil (enačba 1): 4: while ustavitveni pogoj ni dosežen do 5: for i = 1 to N p do 6: generiraj novo rešitev (xi); x(t) = {x(t), . . . , x(t) }, za i = 1, . . . , N p, (1) 7: if rand(0,1) > ri then i,1 i,D 8: y = izboljšaj najboljšo rešitev (xbest); 9: end if v kateri D označuje dimenzijo problema, t predstavlja tre- 10: fnew = oceni novo rešitev (y); nutno generacijo, N p pa število virtualnih netopirjev v po- 11: if fnew ≤ fi and rand(0,1) < Ai then pulaciji. Vsak vektor določa položaj virtualnega netopirja 12: xi = y; v iskalnem prostoru. Netopirji se gibajo v območju proti 13: fi = fnew; učinkovitejšim rešitvam in pri tem odkrivajo nova obetavna 14: end if področja. Algoritem BA omogoča dve strategiji preiskova- 15: fmin = poišči najboljšo rešitev (xbest); nja. 16: end for 17: end while Prvo strategijo za gibanje netopirjev prikazujejo naslednje enačbe 2: 2.2 Hibridni algoritem po vzoru obnašanja ne- topirjev f t Hibridni algoritem po vzoru obnašanja netopirjev je eden i = fmin + (fmax − fmin)β, od prvih hibridnih različic BA. HBA je hibridiziran z muta- vt+1 = vt i i + (xt i − xt best)f t i , (2) cijskimi strategijami diferencialne evolucije [12]. Strategija xt+1 = xt lokalnega iskanja osnovnega algoritma BA je zamenjana s i i + v(t+1) i strategijo mutacije DE, ki je prikazana v algoritmu 2. V intervalu f t ∈ i (fmax, fmin) se spreminja frekvenca pulza. V algoritmu HBA se na začetku izberejo tri naključne rešitve Iz uniformne porazdelitve β ∈ [0, 1] se generira naključno v populaciji. S pomočjo diferencialne evolucije “DE/rand/1/ StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 86 bin” generiramo novega potomca y. Izbran potomec je pod- so: N p = y, A = 0,5, r = 0,5, fmin = 0,0, fmax = 2,0, vržen delovanju normalne selekcije v algoritmu BA [4]. F = 0,5 in CR = 0,9. Algoritem 2 Lokalno iskanje v algoritmu HBA Vsako konfiguracijo smo zagnali 25-krat, ustavitveni pogoj 1: if rand(0,1) > r pa je bil 1000 * D ovrednotenj funkcije uspešnosti. i then 2: ri=1...3 = rand(0,1) * Np + 1; 3: n = rand(1, D); Stolpec Min predstavlja najboljšo dobljeno rešitev, stolpec 4: for i = 1 to D do Max predstavlja najslabšo dobljeno rešitev, stolpec Mean 5: if rand(0,1) < CR or n == D then pa predstavlja povprečje dobljenih rešitev. Stolpec Median 6: y predstavlja središče med zgornjo in spodnjo mejo dobljenih n = xr1,n + F ∗ (xr2,n + xr3,n); 7: n = (n + 1)%(D + 1); rešitev, stolpec Std pa predstavlja izračun standardnega od- 8: end if klona iz njih. 9: end for 10: end if Tabela 1: Rezultati Ackley Alg. Nast. Min Max Mean Median Std 2.3 Primeri ostalih različic hibridnega BA BA D=10, 14,304 18,630 17,003 17,116 1,187 Prednost BA je, da lahko zelo hitro doseže konvergenco v HBA Np=20 2E-06 2,013 0,782 1,155 0,809 začetni fazi. Kadar je potrebna hitra rešitev, se algoritem BA D=10, 13,772 18,273 16,701 17,002 1,189 BA izkaže kot zelo učinkovit. Če pa mu dovolimo prehiter HBA Np=30 2E-06 3,404 0,908 1,155 1,035 preklop v fazo izkoriščanja, tako da se glasnost A in impulz BA D=10, 10,837 18,760 16,925 17,192 1,607 r prehitro spremenita, lahko to povzroči stagnacijo v zače- HBA Np=50 2E-06 2,580 0,999 1,155 0,987 tni fazi. Za izboljšanje učinkovitosti in adaptacije osnovnega BA D=20, 15,997 18,960 17,970 18,034 0,690 algoritma so številni avtorji ustvarili nekaj različic. Kot pri- HBA Np=20 2,171 5,473 3,494 3,490 0,935 mer lahko omenimo avtorje v [15], ki so hibridizirali osnovni BA D=20, 16,959 19,360 18,032 18,154 0,679 algoritem BA z algoritmom iskanja harmonij (angl. Har- HBA Np=30 1,155 5,240 3,240 3,222 1,020 mony Search), avtorji v [11] so hibridizirali osnovni algori- BA D=20, 16,553 19,120 17,861 17,948 0,710 tem BA z algoritmom ABC (angl. Artificial Bee Colony), HBA Np=50 4E-07 5,650 3,070 3,223 1,203 avtorji v [13] pa so hibridizirali osnovno različico algoritma BA D=30, 15,879 18,940 17,950 18,062 0,650 BA z algoritmom kresnic (angl. Firefly Algorithm). HBA Np=20 3,222 8,236 5,300 4,919 1,504 BA D=30, 17,211 19,360 18,202 18,162 0,529 3. OPIS EKSPERIMENTOV HBA Np=30 2,887 10,020 6,021 6,182 1,831 V sekciji opišemo vzpostavitev razvojnega okolja in vključi- BA D=30, 17,255 19,440 18,135 18,003 0,510 tev programske knjižnice NiaPy ter definiramo testne funk- HBA Np=50 2,580 9,475 5,857 5,503 1,913 cije, ki smo jih uporabili v eksperimentih. Tabela 2: Rezultati Griewank 3.1 Vzpostavitev razvojnega okolja Alg. Nast. Min Max Mean Median Std Program je bil napisan v odprtokodnem programskem jeziku BA D=10, 1,856 4,835 3,244 3,260 0,757 Python v integriranem razvojnem okolju PyCharm (IDE: HBA Np=20 0,027 0,577 0,151 0,140 0,115 Jetbrains). Pri razvoju smo uporabili odprtokodno knjižnico BA D=10, 1,575 4,887 3,122 3,064 0,788 Python microframework for building nature-inspired algori- HBA Np=30 1E-11 0,344 0,122 0,116 0,069 thms (krajše NiaPy) [14], katere namen je enostavnejša in BA D=10, 1,736 4,698 3,083 3,217 0,876 hitrejša uporaba algoritmov po vzorih iz narave. HBA Np=50 0,027 0,310 0,124 0,106 0,074 BA D=20, 3,159 10,540 6,852 6,640 1,678 3.2 Testne funkcije HBA Np=20 5E-14 0,101 0,033 0,025 0,035 Eksperimente smo izvedli na naslednjih desetih različnih te- BA D=20, 4,725 9,525 6,718 6,560 1,242 stnih funkcijah [14]: Ackley, Griewank, Levy, Rastrigin, Ridge, HBA Np=30 2E-14 0,096 0,027 0,020 0,025 Rosenbrock, Salomon, Schwefel, Sphere in Whitley. BA D=20, 3,953 11,700 7,220 7,249 1,741 HBA Np=50 1E-13 0,118 0,026 0,020 0,028 4. REZULTATI BA D=30, 5,226 18,170 10,970 10,501 3,019 V nadaljevanju je prikazana statistika zagonov testnih funk- HBA Np=20 1E-12 0,127 0,031 0,025 0,035 cij. V stolpcu Alg. imamo kratice imen algoritmov, ki jih BA D=30, 6,596 16,460 10,993 10,982 2,738 testiramo, in sicer algoritma BA in HBA. V stolpcu Nast. HBA Np=30 2E-12 0,107 0,025 0,015 0,027 so prikazane nastavitve parametrov, ki smo jih spreminjali BA D=30, 7,005 15,310 10,785 10,685 2,348 pri zagonih eksperimentov. Spreminjali smo dva parametra: HBA Np=50 1E-12 0,069 0,020 0,012 0,021 dimenzijo testnih funkcij in velikost populacije. D pred- stavlja dimenzijo problema testnih funkcij. Testne funkcije Iz vseh zagonov optimizacij testnih funkcij (tabele 1-10) je smo zaganjali na treh dimenzijah (10, 20, 30). Višja kot je razvidno, da je hibridna različica algoritma po vzoru obnaša- dimenzija, zahtevnejša je optimizacija. Velikost populacije nja netopirjev učinkovitejša od osnovne različice algoritma. predstavlja število kandidatnih rešitev, ki so uporabljene v Naša raziskava je tako potrdila že obstoječe raziskave [5]. iskalnem prostoru. Uporabili smo tri različne velikosti popu- lacij (20, 30, 50). Preostale vrednosti nadzornih parametrov Dodatno smo preizkusili delovanje obeh algoritmov z raz- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 87 Tabela 3: Rezultati Levy Tabela 5: Rezultati Ridge Alg. Nast. Min Max Mean Median Std Alg. Nast. Min Max Mean Median Std BA D=10, 8E-07 1,002 0,190 0,032 0,320 BA D=10, 7,5E2 6,5E6 4,1E6 4,3E6 1,5E6 HBA Np=20 3E-15 0,182 0,022 4E-14 0,047 HBA Np=20 3E-07 0,002 0,0002 4E-05 4E-04 BA D=10, 5E-07 1,793 0,249 0,005 0,475 BA D=10, 1E6 7,5E6 4,1E6 4E6 1,6E6 HBA Np=30 4E-16 0,851 0,041 4E-14 0,170 HBA Np=30 2E-06 0,004 0,0003 3E-05 9E-04 BA D=10, 9E-07 1,215 0,124 0,003 0,307 BA D=10, 1,2E6 8.9E6 4,1E6 3,5E6 2E6 HBA Np=50 8E-16 0,942 0,049 1E-14 0,188 HBA Np=50 3E-06 2E-04 4E-05 2E-05 5E-05 BA D=20, 4E-06 4,734 0,797 0,0003 1,253 BA D=20, 1,9E6 2,5E7 1,4E7 1,4E7 6,6E6 HBA Np=20 2E-16 2,065 0,286 0,091 0,514 HBA Np=20 0,0085 4,181 0,397 0,105 0,862 BA D=20, 4E-06 3,430 0,683 1E-05 1,024 BA D=20, 5,2E6 2,9E7 1,7E7 1,7E7 6E6 HBA Np=30 4E-16 1,701 0,278 0,182 0,388 HBA Np=30 0,0082 2,566 0,302 0,071 0,549 BA D=20, 3E-06 4,842 0,776 2E-05 1,157 BA D=20, 5,8E6 2,4E7 1,5E7 1,5E7 4,7E6 HBA Np=50 2E-16 1,123 0,272 0,091 0,382 HBA Np=50 0,009 1,668 0,283 0,129 0,423 BA D=30, 1E-05 6,243 1,706 1,715 1,446 BA D=30, 1,1E7 7,9E7 3,4E7 3,2E7 1,6E7 HBA Np=20 2E-14 2,246 0,637 0,272 0,676 HBA Np=20 0,464 2,1E6 90,873 5,618 409,032 BA D=30, 8E-06 4,614 1,179 0,907 1,369 BA D=30, 9,5E6 6,6E7 3E7 2,8E7 1,3E7 HBA Np=30 1E-14 2,065 0,466 0,272 0,525 HBA Np=30 0,253 67,270 10,771 8,240 12,940 BA D=30, 1E-05 5,005 1,094 0,851 1,473 BA D=30, 8,9E6 4,9E7 2,8E7 2,6E7 1,1E7 HBA Np=50 6E-15 2,156 0,496 0,272 0,586 HBA Np=50 0,414 31,860 9,629 4,938 8,573 Tabela 4: Rezultati Rastrigin Tabela 6: Rezultati Rosenbrock Alg. Nast. Min Max Mean Median Std Alg. Nast. Min Max Mean Median Std BA D=10, 15,920 77,610 45,052 44,773 15,620 BA D=10, 1,9E8 4E7 1E7 7E6 1E7 HBA Np=20 5,970 31,840 17,073 16,914 7,416 HBA Np=20 6E-05 100,789 7,077 2,633 19,636 BA D=10, 18,904 80,590 48,236 47,758 19,660 BA D=10, 5E8 2E7 1E7 9E6 6E6 HBA Np=30 5,970 38,800 16,312 14,742 6,937 HBA Np=30 0,0065 7,903 3,641 3,430 2,340 BA D=10, 18,904 79,600 41,828 38,804 16,340 BA D=10, 2E6 3E7 1E7 8E6 7E6 HBA Np=50 5,970 28,850 16,079 15,919 4,880 HBA Np=50 0,0133 65,412 5,365 2,524 12,642 BA D=20, 44,775 153,200 87,000 81,588 26,970 BA D=20, 2E7 1E8 5E7 5E7 2E7 HBA Np=20 17,909 62,680 42,107 45,768 13,240 HBA Np=20 1,248 121,418 21,271 12,315 27,305 BA D=20, 36,815 161,200 88,712 87,558 31,680 BA D=20, 6E6 6E7 3E7 3E7 2E7 HBA Np=30 21,889 80,590 49,827 47,758 14,730 HBA Np=30 0,495 78,608 12,600 10,839 14,593 BA D=20, 24,876 170,100 75,339 70,643 32,670 BA D=20, 3E6 7E7 4E7 4E7 2E7 HBA Np=50 22,884 91,540 48,992 47,758 14,730 HBA Np=50 1,874 69,171 13,313 11,927 12,300 BA D=30, 67,661 242,800 143,120 148,250 46,420 BA D=30, 1E7 2E8 6E7 6E7 4E7 HBA Np=20 38,803 137,400 78,647 76,612 28,770 HBA Np=20 4,326 567,123 61,398 22,023 109,953 BA D=30, 82,584 241,800 136,910 120,390 47,600 BA D=30, 2E7 2E8 7E7 6E7 4E7 HBA Np=30 42,783 130,300 73,348 74,622 21,150 HBA Np=30 0,033 106,160 32,547 21,400 30,564 BA D=30, 59,700 222,900 126,680 123,380 37,490 BA D=30, 2E7 2E8 8E7 7E7 5E7 HBA Np=50 38,803 134,400 77,450 77,607 20,570 HBA Np=50 9,143 74,178 29,963 24,145 20,055 • se je algoritem HBA izkazal kot zelo učinkovit pri vseh ličnimi nastavitvami populacije. Eksperimenti so pokazali, nastavitvah parametrov. Najboljše rezultate je dosegel da: pri dimenzijah 10 in 20, pri nekaterih funkcijah pa tudi pri dimenziji 30; • velikost populacije pri obeh uporabljenih algoritmih • so bile pri funkcijah Rosenbrock, Sphere in Whitley nima enakega vpliva na rezultate optimizacije; razlike v rezultatih optimizacije največje, pri funkcijah Ackley (slika 1) in Rastrigin pa najmanjše; • ne moremo nedvoumno potrditi, da z večanjem popu- lacije dosegamo boljše rezultate; Na podlagi dobljenih rezultatov in njihove analize lahko od- • je za vsako testno funkcijo potrebno eksperimentalno govorimo na zastavljeni raziskovalni vprašanji. Z večanjem določiti optimalno nastavitev populacije, saj glede na populacije pri nekaterih testnih funkcijah dosežemo boljše rezultate ne moremo potrditi, da obstaja optimalna rezultate, vendar pa to ne velja za vse primere. S tem smo nastavitev za vse funkcije; odgovorili na RV1. • je algoritem BA pri optimizaciji funkcij višjih dimen- HBA dosega boljše rezultate na testnih funkcijah višjih di- zij dosegel zelo slabe rezultate, kar so potrdile tudi že menzij kakor njegov predhodnik BA. Razlog za to leži v hi- druge študije [5]; bridizaciji s strategijami DE, saj se osnovna različica algo- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 88 Tabela 7: Rezultati Salomon Tabela 9: Rezultati Sphere Alg. Nast. Min Max Mean Median Std Alg. Nast. Min Max Mean Median Std BA D=10, 507E3 1054E3 828E3 800E3 158E3 BA D=10, 1,729 23,752 9,256 8,718 5,678 HBA Np=20 0,099 3,582 0,891 0,895 0,759 HBA Np=20 8E-15 6E-12 6E-13 1E-13 1E-12 BA D=10, 258E3 1603E3 954E3 948E3 353E3 BA D=10, 2,417 18,624 9,533 10,048 4,455 HBA Np=30 0,099 1,592 0,621 0,398 0,344 HBA Np=30 1E-14 6E-12 8E-13 2E-13 1E-12 BA D=10, 474E3 1390E3 870E3 871E3 247E3 BA D=10, 1,120 23,656 9,089 8,915 5,111 HBA Np=50 0,099 2,487 0,605 0,398 0,481 HBA Np=50 9E-15 4E-12 7E-13 2E-13 1E-12 BA D=20, 1207E3 3342E3 2153E3 2009E3 566E3 BA D=20, 6,318 34,822 21,238 19,588 7,618 HBA Np=20 0,895 14,326 4,740 3,582 3,006 HBA Np=20 2E-16 9E-14 2E-14 6E-15 3E-14 BA D=20, 901E3 3124E3 2260E3 2312E3 631E3 BA D=20, 5,700 46,084 18,393 17,703 9,185 HBA Np=30 0,895 12,038 4,000 2,487 3,171 HBA Np=30 5E-17 2E-13 5E-14 2E-14 6E-14 BA D=20, 1370E3 3732E3 2225E3 2137E3 641E3 BA D=20, 8,663 42,936 23,238 20,392 10,005 HBA Np=50 0,895 9,949 4,115 3,582 2,906 HBA Np=50 1E-16 1E-12 1E-13 2E-14 3E-13 BA D=30, 1950E3 5542E3 3,4E6 336E4 1E6 BA D=30, 10,235 51,285 23,936 22,397 10,715 HBA Np=20 4,875 39,790 10,912 8,059 7,293 HBA Np=20 2E-14 7E-12 1E-12 5E-13 2E-12 BA D=30, 265E4 666E4 396E4 386E4 970E3 BA D=30, 5,173 52,861 22,680 23,952 10,070 HBA Np=30 2,487 39,791 13,733 9,949 8,835 HBA Np=30 1E-14 2E-11 2E-12 2E-13 4E-12 BA D=30, 2,2E6 6E6 3,9E6 3,8E6 1E6 BA D=30, 3,689 52,914 22,079 21,339 9,386 HBA Np=50 3,582 35,911 12,070 9,949 8,059 HBA Np=50 3E-15 2E-11 2E-12 2E-13 5E-12 Tabela 8: Rezultati Schwefel Tabela 10: Rezultati Whitley Alg. Nast. Min Max Mean Median Std Alg. Nast. Min Max Mean Median Std BA D=10, 1559E3 3213E3 2644E3 2707E3 354E3 BA D=10, 2,8E8 1E8 1E7 2E6 2E7 HBA Np=20 385E3 2024E3 1246E3 1308E3 481E3 HBA Np=20 11E3 73E3 44E3 43E3 15E3 BA D=10, 2041E3 3101E3 2723E3 2757E3 249E3 BA D=10, 6,4E7 6E7 1E7 7E6 2E7 HBA Np=30 355E3 2026E3 1139E3 1108E3 408E3 HBA Np=30 19E3 62E3 44E3 46E3 11E3 BA D=10, 2232E3 3223E3 2685E3 2697E3 270E3 BA D=10, 1,3E7 4E7 7E6 4E6 1E7 HBA Np=50 355E3 1906E3 1087E3 952E3 450E3 HBA Np=50 9E3 59E3 41E3 44E3 12E3 BA D=20, 5414E3 6850E3 6164E3 6265E3 415E3 BA D=20, 3,8E8 1E9 1E8 5E7 2E8 HBA Np=20 2195E3 3852E3 2752E3 2696E3 424E3 HBA Np=20 71E3 328E3 249E3 250E3 51E3 BA D=20, 5379E3 6607E3 6195E3 6233E3 298E3 BA D=20, 3,9E8 5E8 9E7 6E7 1E8 HBA Np=30 1782E3 3990E3 2893E3 2926E3 502E3 HBA Np=30 150E3 327E3 248E3 258E3 43E3 BA D=20, 4477E3 6860E3 6088E3 6130E3 490E3 BA D=20, 4,8E8 4E8 8E7 5E7 9E7 HBA Np=50 1682E3 4051E3 2654E3 2645E3 541E3 HBA Np=50 124E3 343E3 240E3 248E3 52E3 BA D=30, 8983E3 1059E4 9778E3 9805E3 350E3 BA D=30, 3E6 2E9 3E8 2E8 3E8 HBA Np=20 2338E3 6235E3 4483E3 4448E3 839E3 HBA Np=20 451E3 784E3 656E3 667E3 78E3 BA D=30, 9025E3 1084E4 9997E3 10003E3 365E3 BA D=30, 9E6 9E8 3E8 3E8 2E8 HBA Np=30 3759E3 6319E3 4655E3 4602E3 732E3 HBA Np=30 408E3 855E3 663E3 663E3 98E3 BA D=30, 8424E3 1051E4 9790E3 9780E3 528E3 BA D=30, 8E6 6E8 2E8 2E8 1E8 HBA Np=50 2694E3 5577E3 4455E3 4379E3 718E3 HBA Np=50 334E3 851E3 659E3 639E3 117E3 ritma hitro ujame v lokalni optimum. S tem smo odgovorili ZAHVALA na RV2. Raziskovalni program št. P2-0057 je sofinancirala Javna agencija za raziskovalno dejavnost Republike Slovenije iz dr- 5. ZAKLJU ČEK žavnega proračuna. V prispevku smo predstavili algoritem BA. Natančneje smo preučili eno izmed njegovih prvih različic, poimenovano HBA. V sklopu eksperimenta smo oba algoritma uporabili za opti- LITERATURA mizacijo desetih različnih testnih funkcij. Eksperimente smo [1] E. Bonabeau, D. d. R. D. F. Marco, M. Dorigo, zaganjali na različnih konfiguracijah, pri čemer smo spremi- G. Theraulaz, et al. Swarm intelligence: from natural njali dimenzije problemov in velikost populacije. Ugotovili to artificial systems. Number 1. Oxford university smo, da se je hibridna različica BA izkazala za uspešnejšo press, 1999. na vseh konfiguracijah nad vsemi testnimi funkcijami. [2] L. Brezočnik. Optimizacija z rojem delcev za izbiro atributov pri klasifikaciji. Master’s thesis, University Za prihodnje delo bomo uporabili hibridno različico algo- of Maribor, Slovenia, 2016. ritma po vzoru obnašanja netopirjev v okviru realnih apli- [3] L. Brezočnik, I. Fister, and V. Podgorelec. Swarm kacij, kot je na primer sestavljanje urnikov. Zanimiva bi intelligence algorithms for feature selection: a review. bila tudi primerjava dobljenih rezultatov z rezultati drugih Applied Sciences, 8(9):1521, 2018. algoritmov, ki jih podpira knjižnica NiaPy. [4] I. Fister Jr. Algoritmi računske inteligence za razvoj StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 89 Slika 1: Primerjava optimizacije testne funkcije Ackley glede na D in N p. umetnega športnega trenerja. PhD thesis, University of optimization. Journal of Applied Mathematics, 2013, Maribor, Slovenia, 2017. 2013. [5] I. Fister Jr., D. Fister, and X.-S. Yang. A hybrid bat [16] X.-S. Yang. A new metaheuristic bat-inspired algorithm. Elektrotehniški vestnik, 80(1-2):1–7, 2013. algorithm. In Nature inspired cooperative strategies for [6] Ž. Grajfoner. Primerjava različnih algoritmov po optimization (NICSO 2010), pages 65–74. Springer, vzoru obnašanja netopirjev. University of Maribor, 2010. Slovenia, 2019. [17] X.-S. Yang and M. Karamanoglu. Swarm intelligence [7] D. Karaboga. An idea based on honey bee swarm for and bio-inspired computation: An overview. In X.-S. numerical optimization. Technical report, TR06, Yang, Z. Cui, R. Xiao, A. H. Gandomi, and Department of Computer Engineering, Engineering M. Karamanoglu, editors, Swarm Intelligence and Faculty, Erciyes University, 2005. Bio-Inspired Computation, pages 3 – 23. Elsevier, [8] K. Ljubič and I. Fister Jr. Narava kot navdih Oxford, 2013. računalništvu. Življ. teh., 65(15):14–17, 2014. [9] K. Ljubič and I. Fister Jr. Algoritem na osnovi obnašanja netopirjev. Presek, 42(3):26–28, 2015. [10] S. Mirjalili, S. M. Mirjalili, and X.-S. Yang. Binary bat algorithm. Neural Computing and Applications, 25(3-4):663–681, 2014. [11] J.-S. Pan, T.-K. Dao, M.-Y. Kuo, M.-F. Horng, et al. Hybrid bat algorithm with artificial bee colony. In Intelligent Data analysis and its Applications, Volume II, pages 45–55. Springer, 2014. [12] A. K. Qin, V. L. Huang, and P. N. Suganthan. Differential evolution algorithm with strategy adaptation for global numerical optimization. IEEE transactions on Evolutionary Computation, 13(2):398–417, 2008. [13] T. Sureshkumar, M. Lingaraj, B. Anand, and T. Premkumar. Hybrid firefly bat algorithm (hfba)–based network security policy enforcement for psa. International Journal of Communication Systems, 31(14):e3740, 2018. [14] G. Vrbančič, L. Brezočnik, U. Mlakar, D. Fister, and I. Fister Jr. Niapy: Python microframework for building nature-inspired algorithms. J. Open Source Softw., 3:613, 2018. [15] G. Wang and L. Guo. A novel hybrid bat algorithm with harmony search for global numerical StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 90 Nadgradnja algoritma FLORS za besednovrstno ozna čevanje slovenskih besedil Domen Kavran Robi Novak Jan Banko Univerza v Mariboru, Fakulteta Univerza v Mariboru, Fakulteta Univerza v Mariboru, Fakulteta za elektrotehniko, za elektrotehniko, za elektrotehniko, računalništvo in informatiko računalništvo in informatiko računalništvo in informatiko Koroška cesta 46, Koroška cesta 46, Koroška cesta 46, 2000 Maribor, Slovenija 2000 Maribor, Slovenija 2000 Maribor, Slovenija domen.kavran@student.um.si robi.novak1@student.um.si jan.banko@student.um.si Rok Potočnik Luka Pečnik Borko Bošković Univerza v Mariboru, Fakulteta Univerza v Mariboru, Fakulteta Univerza v Mariboru, Fakulteta za elektrotehniko, za elektrotehniko, za elektrotehniko, računalništvo in informatiko računalništvo in informatiko računalništvo in informatiko Koroška cesta 46, Koroška cesta 46, Koroška cesta 46, 2000 Maribor, Slovenija 2000 Maribor, Slovenija 2000 Maribor, Slovenija rok.potocnik4@student.um.si luka.pecnik@student.um.si borko.boskovic@um.si POVZETEK V [16] je opisan algoritem FLORS (angl. Fast, LOcal, Ro- Besednovrstno označevanje je postopek razpoznavanja be- bust, Simple). Gre za besednovrstni označevalnik, ki zgradi sednih vrst v besedilu. Algoritem FLORS učinkovito iz- kontekst in znanje o besedi, odvisno od njenega lokalnega vaja besednovrstno označevanje z lokalnim kontekstom po- okolja, namesto da bi iskal optimalno zaporedje besednih samezne besede. V članku smo algoritem FLORS nadgradili vrst za celotne stavke. Kontekst besede je sestavljen iz za besednovrstno označevanje slovenskega jezika. Izboljšavo binarnih in numeričnih značilk, ki so skupaj z delovanjem smo dosegli z odstranitvijo morfoloških značilk, vezanih na samega algoritma podrobneje predstavljene v drugem po- angleški jezik. Uporabili smo tudi analizo poglavitnih kom- glavju. ponent. Z opisano spremembo nabora značilk smo dosegli uspešnost 85,16 %. Ugotavljamo, da se algoritem lahko upo- Uspešnost algoritma FLORS nad slovenskim jezikom smo rabi za označevanje slovenskega jezika. skušali izboljšati z novimi značilkami. V drugem poglavju predstavimo sorodna dela, po katerih smo se zgledovali, v tretjem poglavju pa opišemo lastno idejo in komponente, Ključne besede ki smo jih potrebovali za izvedbo samega eksperimenta. V besednovrstno označevanje, klasifikacija, procesiranje narav- zadnjem poglavju rekonstruiramo rezultate originalnega al- nega jezika, jezikovne tehnologije goritma nad izbranim slovenskim korpusom in jih nato pri- merjamo z rezultati nadgrajene različice algoritma. 1. UVOD Pri opazovanju samostojnih besed v besedilu naletimo na 2. FLORS IN SORODNA DELA pojav večpomenskosti, katero lahko zmanjšamo s povezo- Pristopi k označevanju besed s strojnim učenjem uporabljajo vanjem individualne besede v lokalni kontekst s sosednjimi različne metode učenja. V [7] pristopajo z nevronskimi mre- besedami. Besednovrstno označevanje je postopek, katerega žami in dosežejo visoko točnost, vendar pa sta tako izračun cilj je določitev besedne vrste besedi na podlagi konteksta, ki značilk kot tudi učenje mreže časovno zelo zahtevna procesa. ga predstavljajo sosednje besede oz. značilke teh besed. Be- V drugih delih so uporabili preprostejše značilke in nekatere sednovrstni označevalnik je torej sistem, ki samodejno izvaja druge metode strojnega učenja. besednovrstno označevanje. Za praktično uporabo mora biti robusten, učinkovit, natančen in prenosljiv [8]. Uporaba strojnega učenja po metodi s podpornimi vektorji (angl. Support Vector Machine, SVM ) za besednovrstno Poznamo dve vrsti besednovrstnih označevalnikov, in sicer označevanje je bila objavljena v [20]. Z omejitvijo na lokalni označevalnike na osnovi pravil (angl. rule-based taggers) ter kontekst so avtorji dosegli hitro učenje in izvajanje modela. stohastične označevalnike (angl. stochastic taggers). Sle- Na zbirki besedil Wall Street Journal (WSJ ) so dosegli toč- dnji dosegajo visoko stopnjo točnosti brez sintaktične ana- nost označevanja 97,16 %. Težave so se pojavile ob aplikaciji lize vhodnega besedila in se odločajo predvsem na podlagi za drugo domeno. To problematiko so reševala kasnejša dela. verjetnosti s pomočjo statističnih tabel, v katerih je znanje o besedah predstavljeno posredno, medtem ko označevalniki V [6] so avtorji predstavili nov način za povečanje robustno- na osnovi pravil uporabljajo množico definiranih pravil, s sti besednovrstnega označevanja. Metoda deluje na podlagi pomočjo katerih določijo besedno vrsto posamezne besede. dveh ločenih modelov (splošnega in domensko specifičnega), S temi pravili je znanje o besedah zapisano neposredno [10, naučenih na istih podatkih, a z različnimi značilkami. Za 5, 4]. učenje splošnega modela so uporabili n-grame, ki so se v be- StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.91-99 Koper, Slovenia, 10 October 91 sedilu pojavili vsaj trikrat, za učenje domensko specifičnega modela pa n-grame, ki so se pojavili najmanj enkrat. Pri de- kodiranju se uporabita oba modela tako, da se izbrani model spreminja dinamično glede na trenutno vhodno poved. Pri tem je izbira modela odvisna od podobnosti vhodne povedi podatkom, ki so jih uporabili za učenje algoritma. Takšen pristop dinamične izbire modela se nato uporabi v kombina- ciji z algoritmom besednovrstnega označevanja, ki deluje v enem prehodu od leve proti desni. Algoritem je bil naučen na zbirki Wall Street Journal (WSJ), za testiranje delovanja algoritma pa so avtorji uporabili korpuse iz sedmih različnih domen. Ob testiranju so dosegli povprečno točnost besedno- vrstnega označevanja 70,54 % [6]. Algoritem FLORS [16] se loti domenske adaptacije na dru- gačen način. Uči se na označenih podatkih izvorne domene, hkrati pa uporabi nekaj statističnih podatkov neoznačenega besedila iz ciljne domene. Algoritem deluje hitro, saj za učenje in izvajanje uporablja le omejeno okolico posamezne besede (v nadaljevanju: kontekst) in preproste značilke; sta- tistični podatki iz neoznačenega besedila pa zahtevajo zgolj preštevanje pojavitev. Avtorji definirajo štiri skupine zna- čilk (slika 1), ki jih je možno ovrednotiti z uporabo zgolj trenutne besede in vnaprej pripravljene statistike. Slika 1: Vektor značilk posamezne besede po algo- ritmu FLORS na primeru besede “FLORS”. a) prva Prva skupina značilk se nanaša na bigrame in njihove pojavi- in b) druga skupina značilk so frekvence bigramov, tve v učnem korpusu. Bigram predstavimo tako, da trenutni ki jih sestavimo s trenutno besedo in pogostimi be- besedi določimo za predhodnika eno od 500 najpogostejših sedami učnega korpusa. Dodamo c) binarne značilke besed v korpusu. Število pojavitev posameznega bigrama lo- za ujemanje pripone in d) nekaj dodatnih značilk za garitmično obtežimo in tako tvorimo 500 značilk. Vse manj posebne lastnosti besede. pogoste besede obravnavamo kot identične in na enak na- čin tvorimo še eno dodatno značilko, s čimer se izognemo ničelnemu vektorju. Podobno tvorimo drugo skupino značilk, le da tokrat trenu- tni besedi namesto predhodnika pripenjamo naslednika, kot vidimo na sliki 1(b). Značilke na osnovi pogostih sosedov doprinesejo koristno informacijo o besednih vrstah [17, 18]. Tretja skupina značilk je množica binarnih značilk za uje- manje pripone s priponami besed v neoznačenem besedilu. Drugače, kot je to storjeno v sorodnih delih [19, 14], FLORS uporabi vse pripone vseh besed. Tako se izognemo potrebi po izbiranju podmnožice pripon. Nazadnje dodajo še značilke za 16 posebej izbranih lastnosti besede, kot so vsebovanje števk, vezajev in velikih začetnic, pa tudi ujemanje s pogostimi končnicami angleškega jezika. Predstavljen postopek določi približno 100.000 značilk na besedo. Največji delež značilk sestavljajo značilke tretje sku- pine. Na sliki 2 je prikazano, kako iz značilk besed sestavimo vektor značilk konteksta. Značilke konteksta uporabimo za Slika 2: Vektor značilk konteksta po algoritmu nadzorovano učenje klasifikacijskega modela. Avtorji upo- FLORS dobimo tako, da združimo vektorje značilk rabijo okno dolžine petih besed, torej učimo s 500.000 vho- besed v lokalnem oknu. Prikazan je primer zapo- dnimi diskretnimi atributi. Model klasificira besede v ra- redja besed “Značilke algoritma FLORS ovredno- zrede glede na njihovo slovnično besedno vrsto. Podobno timo na”. kot v [20] in [6] tudi pri FLORS učimo po metodi SVM s pristopom One-Vs-All. Na izvorni domeni so avtorji dosegli točnost 96,59 %, pri adaptaciji na različne ciljne domene pa med 89,44 % in 94,71 %. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 92 V našem delu prilagodimo algoritem FLORS za klasifikacijo • Pripone besedotvorne vrste sklop. Končnice -to, besednih vrst v slovenskem jeziku, kar opišemo v naslednjem -tem, -deset se lahko pojavijo kot pripone pri besedo- poglavju. tvorni vrsti sklop, ki nastane s sklaplanjem, kjer posa- mezne dele večdelne podstave združimo v novo besedo (npr. na-to, po-tem, dva-in-tri-deset). 3. ALGORITEM Nadgradnjo algoritma FLORS smo izvedli z dodatnimi zna- • Naglasna, naslonska ali navezna sklonska oblika. čilkami, izbranimi za točnejše označevanje besednih vrst v Končnice -ga, -ne, -me se pojavijo kot pripone nagla- slovenskem jeziku. Posebno pozornost smo namenili šumni- snih, naslonskih ali naveznih sklonskih oblik osebnega kom in besednim priponam, ki so pogosto uporabljene v slo- zaimka (npr. nje-ga, me-ne, na-me). venskem jeziku, v angleščini pa niso prisotne. • Pripone kazalnih zaimkov. Priponi -ta in -ti se Na podlagi analize besednih vrst in njihovih značilnosti v pojavita pri kazalnih zaimkih (npr. ta, tis-ti). slovenščini smo izpeljali množico predpon in pripon, ki jih predstavimo v naslednjem podpoglavju. • Pripone vprašalnih zaimkov. Končnice -aj, -em, -im, -en in -od se pojavijo v vprašalnih zaimkih (npr. Naša hipoteza je bila, da se bo z izpeljanimi značilkami toč- k-aj, kater-em, kater-im, kakš-en, k-od). nost besednovrstnega označevanja nad slovenskimi besedili izboljšala. • Šumniki Posebnost slovenskega jezika so šumniki č, š in ž. 3.1 Značilke Obstoječim značilkam algoritma FLORS smo dodali binarne Binarne značilke predstavljajo prisotnost predpon, pripon in značilke, ki jih lahko razvrstimo v naslednje skupine: šumnikov. Opisane značilke zajemajo morfološke značilno- sti slovenskega jezika in jih uvrščamo med oblikovne (angl. shape) značilke algoritma FLORS. Obdržali smo ortografski • predponi u in v. Predponi se lahko umestita na za- del značilk (ali beseda vsebuje števko, poševnico, veliko za- četek različnih besednih vrst. Med glagoli lahko naj- četnico). Izpostaviti moramo dejstvo, da se zaradi komple- demo naslednje primere uporabe omenjenih predpon: ksnosti gramatike slovenskega jezika nekatere značilke po- u-krasti, u-pasti, v-plačati, v-pisati. javijo tudi pri vrstah besed, za katere niso bile v osnovi zasnovane. • Predpone sestavljenk. Predponi od- in na- se lahko uporabita na začetku sestavljenke (npr. od-dati, od- zgoraj, na-pisati, na-govoriti). 3.2 Analiza poglavitnih komponent Osrednji namen analize poglavitnih komponent (angl. Prin- • Pripone izpeljank. Pripone -lec, -ec, -arna se lahko cipal Component Analysis, PCA) je zmanjšanje števila di- uporabijo kot končine sestavljenk (npr. bra-lec, pis- menzij množice podatkov, ki jih sestavlja veliko število ko- ec, knjig-arna). Pri izpeljavi del dvodelne podstave reliranih spremenljivk, ne da bi pri tem okrnili izraznost zamenjamo s priponskim obrazilom. podatkov. Učinek je dosežen s pomočjo transformacije spre- menljivk v novo množico, ki jo imenujemo množica pogla- • Končnice pridevnikov in pridevniških zaimkov. vitnih komponent (angl. principal components). Poglavitne Končnica -ra se pojavi pri pridevnikih (npr. dob-ra), komponente med seboj niso odvisne, ohranjajo pa kar najve- končnica -ja pa se lahko pojavi pri pridevniških zaim- čjo stopnjo raznolikosti podatkov, ki je prisotna v originalnih kih (npr. mo-ja, tvo-ja). spremenljivkah, s čimer zagotovijo, da je z njihovo pomo- čjo podatke med seboj možno ustrezno razlikovati. Tako • Sprememba pri soglasniških premenih. Za be- za ceno nekaj točnosti dobimo enostavnejšo predstavitev, s sede s končnico -ci se črka k v velelniku spremeni v čimer poenostavimo analizo in obdelavo podatkov [12]. črko c (npr. tekel – teci), kar imenujemo mehčanje ali palatizacija. Za besede s končnico -zi se črka g v Naj bo x vektor p naključnih spremenljivk. V procesu do- velelniku spremeni v črko z (npr. vrgel – vrzi). ločanja poglavitnih komponent nas zanimajo raznolikosti in korelacije med spremenljivkami. Če vrednost p ni majhna, • Končnice samostalniških besed. Pri besedah žen- ni smiselno pregledovati vseh možnih povezav med spremen- skega spola ima samostalniška beseda končnico -a, pri ljivkami x, zato se raje osredotočimo na nekaj (p) izpelja- srednjem spolu pa -o. Naslednji primeri so posamosta- nih spremenljivk, ki vsebujejo kar največ informacij v zvezi ljene pridevniške besede: dobra, tista, dobro, tisto. z raznolikostjo, korelacijo in kovarianco med originalnimi spremenljivkami. PCA izpelje spremenljivke, odvisno od • Končnice vrstnih pridevnikov. Z končnicama - tipa podatkov, na podlagi kovariančne ali korelacijske ma- ski in -ški lahko razpoznamo vrstne pridevnike (npr. trike, ki opisujeta, na kakšen način so izvorne spremenljivke fotograf-ski, potaplja-ški). med seboj povezane. Gre za simetrični matriki, velikosti p × p. Izpeljane spremenljivke so linearne kombinacije iz- • Obrazilo v kombinaciji s podstavo. Pri besedo- vornih spremenljivk in so med seboj nekorelirane, torej gre tvorju se lahko končnici -ica in -ost pojavita kot obra- za ortogonalne vektorje, ki predstavljajo smeri, v katerih se zilo, skupaj s podstavo pa tvorita novo besedo. Upo- kaže največja raznolikost podatkov. Te kombinacije oz. po- rabili smo desna obrazila (npr. miz-ica, mlad-ost). glavitne komponente so izpeljane in urejene na način, da se StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 93 Slika 3: Graf originalnih podatkov za spremenljivki Slika 4: Graf glede na spremenljivki z1 in z2 z ozna- x1 in x2 z označenima poglavitnima komponentama. čenima poglavitnima komponentama v prostoru po- Vir: [12] glavitnih komponent. Vir: [12] v začetnih komponentah nahaja čim več, v kasnejših kompo- • analiza borznih cen [12]. nentah pa vedno manj informacij. Med p izpeljanimi spre- menljivkami je cilj izbrati nekaj prvih (p), ki vsebujejo največ informacij in s tem ohraniti izraznost podatkov kljub 3.3 Uporabljeni klasifikatorji zmanjšanju števila dimenzij [12]. Za klasificiranje besednih vrst smo uporabili tri različne kla- sifikatorje, in sicer One-vs-All SVM z linearnim jedrom, Na- Za enostaven, sicer nerealen, prikaz delovanja PCA privza- ivni Bayes ter Random Forest. Posameznim parametrom pri memo, da je p = 2. Na ta način lahko prikažemo podatke vsakem izmed uporabljenih klasifikatorjev se nismo posebej v dveh dimenzijah. Slika 3 prikazuje primer grafa za dve posvečali, pri testiranju pa smo uporabili petkratno navzkri- spremenljivki x žno preverjanje. V tem podpoglavju bomo na kratko opisali 1 in x2, ki sta v korelaciji. Spremenljivost je prisotna tako v smeri x vsakega izmed uporabljenih klasifikatorjev. 1 kot tudi v smeri x2, če pa vse skupaj pretvorimo v domeno poglavitnih komponent, do- bimo spremenljivki z1 in z2 ter s tem graf, ki ga prikazuje 3.3.1 One-vs-All SVM slika 4 [12]. Iz slike 4 je vidno, da so spremembe v smeri SVM je metoda strojnega učenja z uporabo nadzorovanega z1 velike, medtem ko je variacija v smeri z2 majhna. Če učenja, ki jo lahko uporabimo tako za klasifikacijo kot regre- so spremenljivke med seboj močno korelirane, bo prvih ne- sijo. Pri tej metodi vsak primerek iz učne množice predsta- kaj poglavitnih komponent odraz večine variacij originalnih vimo kot točko v n-dimenzionalnem prostoru, pri čemer n spremenljivk, medtem ko bodo naslednje poglavitne kom- predstavlja število značilk primerka. Algoritem nato najde ponente predstavljale smeri, kjer ni veliko raznolikosti. Z optimalno hiperravnino, ki najbolje razdeli dva razreda. drugimi besedami, prve poglavitne komponente vsebujejo večino informacij [12]. Naloga metode SVM je najti optimalno hiperravnino izmed vseh, ki ločujejo primerke na dva razreda, pri čemer primerki Primeri apliciranja PCA na razna področja so: enega razreda ležijo pod, primerki drugega razreda pa nad hiperravnino. Primerki, ki ležijo nad hiperravnino, so pozi- • identifikacija pomembnih virov raznolikosti pri ana- tivni, primerki pod hiperravnino pa negativni. Najprej poi- tomskih meritvah različnih življenjskih vrst; ščemo v vsakem razredu primerek, ki leži najbližje delilni hi- perravnini. Izbranim primerkom pravimo podporni vektorji • analiza demografskih informacij, pridobljenih s pomo- (angl. support vectors). Skozi njiju potegnemo vzporednici, čjo anketiranja starejšega prebivalstva Združenega kra- ki jima pravimo pozitivna in negativna ravnina. Razdaljo ljestva; med tema dvema ravninama imenujemo rob (angl. margin). • Optimalna delilna ravnina je tista, pri kateri je velikost roba pregled prostorskih in časovnih sprememb v atmosfer- maksimalna. Razred, kateremu pripada posamezen prime- skih znanostih; rek, določimo glede na to, na kateri strani delilne ravnine • določanje pomembnih povezav med lastnostmi kemij- se nahaja. Na sliki 5 lahko vidimo delilno, pozitivno ter skih spojin; negativno hiperravnino [13]. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 94 P (B|A)P (A) P (A|B) = (1) P (B) S pomočjo Bayesovega pravila, zapisanega v enačbi (1), lahko poiščemo verjetnost, da se zgodi dogodek A v primeru, da se je zgodil dogodek B. Pri klasifikaciji s pomočjo Naivnega Bayesa se odločamo o tem, v kateri razred spada določen primerek glede na vredno- sti njegovih značilk. Glavna predpostavka, na kateri temelji ta algoritem je, da so vse značilke posameznega primerka pogojno neodvisne druga od druge pri danem razredu. Prav tako predpostavimo, da ima vsaka značilka enak vpliv na odločitev klasifikatorja. Če dogodek A iz enačbe (1) sedaj zamenjamo s klasifikacijskim razredom y, ter dogodek B z vektorjem značilk X, potem lahko Bayesovo pravilo zapišemo z enačbo (2). P (X|y)P (y) P (y|X) = (2) P (X) Slika 5: Prikaz hiperravnin pri metodi SVM. Ker je dogodek X presek več dogodkov oz. značilk, lahko zapišemo enačbo (3). P (x1|y)P (x2|y)...P (xn|y)P (y) P (y|x1, x2, ..., xn) = (3) P (x1)P (x2)...P (x3) Vrednost izraza v imenovalcu je enaka za vse primerke v množici, zato se lahko imenovalca znebimo in uvedemo od- visnost. Tako dobimo enačbo (4). n Y P (y|x1, x2, ..., xn) ∝ P (y) P (xi|y) (4) i=1 Primerek uvrstimo v razred y, dobljen z enačbo (5), ki vrne Slika 6: Prikaz večrazredne klasifikacije SVM z me- razred z najvišjo verjetnostjo [11, 3]. todo One-vs-All. n Y y = argmaxyP (y) P (xi|y) (5) Če želimo SVM uporabiti za klasifikacijo v več razredov, i=1 moramo uporabiti eno izmed metod za večrazredno klasifika- cijo. V naši implementaciji algoritma FLORS smo uporabili 3.3.3 Random Forest metodo One-vs-All. Metoda za vsak razred ustvari binarni Klasifikator Random Forest je metoda nadzorovanega stroj- klasifikator SVM. Vsak i -ti klasifikator razdeli primerke na nega učenja. Spada v t.i. ansambelske metode, katerih zna- tiste, ki spadajo v i -ti razred in tiste, ki ne. Primer večra- čilnost je, da združujejo več klasifikatorjev enakih ali različ- zredne klasifikacije SVM z metodo One-vs-All je prikazan na nih vrst v en skupen klasifikator. Ideja ansambelskih metod sliki 6 [1]. je, da več slabših klasifikatorjev skupaj deluje bolje kot en dober klasifikator. Klasifikator Random Forest je sestavljen iz več različnih odločitvenih dreves, ki jih naučimo na na- ključni podmnožici primerkov iz učne množice z naključno 3.3.2 Naivni Bayes izbrano podmnožico značilk. Končno klasifikacijo dobimo Klasifikator Naivni Bayes je del družine enostavnih verje- tako, da združimo odločitve posameznih odločitvenih dre- tnostnih klasifikatorjev, ki temeljijo na uporabi Bayesovega ves. Generalna shema algoritma je prikazana na sliki 7 [9, pravila. Njegova uporaba je popularna predvsem na podro- 15]. čju klasifikacije besedila ter zaznavanja neželjene pošte. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 95 učna modela Naivni Bayes in Random Forest, vendar sta se izkazala kot manj uspešna v primerjavi s SVM. Nazadnje smo uspeli uspešnost še dodatno povečati z uporabo algo- ritma za analizo poglavitnih komponent (PCA). Najvišja uspešnost, ki smo jo s tem dosegli, je 85,16 % po metriki F1. Na podlagi rezultatov sklepamo, da uspešnost algoritma FLORS na slovenščini ni primerljiva z uspešnostjo drugih metod besednovrstnega označevanja [2]. Algoritem FLORS je preprost in hiter, a s preprostimi značilkami ne uspe zajeti kompleksnosti slovenskega jezika. Predpona in končnica ne Slika 7: Shema algoritma Random Forest. nudita koristnih informacij o besedni vrsti, ker ima beseda preveč oblik, v katerih se lahko pojavi. Dodatne značilke, ki ne pripomorejo k razlikovanju med besednimi vrstami, pov- 4. REZULTATI zročijo, da se dimenzija iskalnega prostora poveča in uspe- Algoritem smo preizkusili nad korpusom jos100k1. Z iz- šnost klasifikacijskega modela zmanjša. vornim algoritmom FLORS smo nad slovenskim besedilom dosegli uspešnost 83,05 % po metriki F1. Po odstranitvi Točnost lahko povečamo z izključitvijo tistih obstoječih zna- morfoloških značilk, vezanih na angleški jezik, ter izvajanju čilk, ki so nekoristne za označevanje besednih vrst sloven- analize poglavitnih komponent smo dosegli 85,16 %. Algo- skega jezika. Odstranitev morfoloških značilk angleškega je- ritem PCA je vedno izboljšal rezultate, saj z zmanjšanjem zika je prvi korak k poenostavitvi algoritma in izboljšanju dimenzije iskalnega prostora dosežemo boljšo generalizacijo klasifikacijskih rezultatov. Transformacija PCA dodatno in s tem višjo točnost klasifikacije prej nevidenih podatkov. zmanjša dimenzijo prostora značilk, kar pri vsakem naboru Najboljše rezultate smo uspeli doseči z algoritmom SVM, značilk poveča točnost klasifikatorja linearni SVM. katerega rezultati pri različnem naboru značilk so vidni na sliki 8. Z dodajanjem značilk, vezanih na pogoste predpone V nadaljnjem delu se bomo osredotočili na slovnične opera- in končnice v slovenskem jeziku, nam uspešnosti klasifikacije cije, s katerimi bi lažje obvladovali kompleksnost slovenskega ni uspelo izboljšati. jezika in izpeljali značilke, ki bi povečale točnost besednovr- stnega označevanja. Smiselno bi bilo uporabiti tudi metode Klasifikacijo besednih vrst smo izvedli s tremi različnimi kla- s področja lematizacije, saj bi z osnovnimi oblikami besed sifikacijskimi algoritmi. Prej omenjeno točnost smo dosegli lažje določili njihove besedne vrste. z metodo podpornih vektorjev, ki ga uporablja tudi izvorni algoritem FLORS. Modela Naivni Bayes in Random Forest sta bila manj uspešna kot SVM. Na slikah 9 in 10 vidimo 6. VIRI klasifikacijske rezultate modelov nad testno množico podat- [1] B. Aisen. A comparison of multiclass svm methods, kov. 2006. [2] P. Belej, M. Robnik- Rezultate najuspešnejšega modela nad individualnimi be- v Sikonja, and S. Krek. Character-level part-of-speech sednimi vrstami si ogledamo z matriko napak na sliki 11. tagger of slovene language, 2019. Slovenian language Napake so pogoste pri klasifikaciji razreda ”medmet”in ”ne- resource repository CLARIN.SI. uvrščeno”. Napačno uvrstitev medmetov obrazložimo z dej- [3] M. Bozhinova. NAIVNI BAYESOV KLASIFIKATOR. stvom, da medmeti ne upoštevajo slovničnih pravil in se PhD thesis, Univerza v Mariboru, Fakulteta za lahko pojavijo v mnogih oblikah, na primer z različnim šte- elektrotehniko, računalništvo in informatiko, 2015. vilom zaporednih pojavitev iste črke. Poleg tega je število [4] E. Brill. A simple rule-based part of speech tagger. In medmetov v učnem korpusu majhno. Razred ”neuvrščeno”je Proceedings of the Third Conference on Applied slabo definiran, saj vsaka beseda pripada določeni besedni Natural Language Processing, ANLC ’92, pages vrsti. Razred ”neuvrščeno”predstavlja zgolj manjkajoče po- 152–155, Stroudsburg, PA, USA, 1992. Association for datke v učni množici. Model bo takšno besedo uvrstil v drug Computational Linguistics. razred, ki je z veliko verjetnostjo celo pravilen. [5] E. Brill. Some advances in transformation-based part of speech tagging. CoRR, abs/cmp-lg/9406010, 1994. 5. ZAKLJU ČEK [6] J. Choi and M. Palmer. Fast and robust part-of-speech tagging using dynamic model selection. V sklopu dela smo implementirali algoritem besedovrstnega volume 2, pages 363–367, 07 2012. označevanja FLORS [16] in na različne načine skušali izbolj- šati njegovo delovanje na slovenskem jeziku. FLORS defi- [7] R. Collobert, J. Weston, L. Bottou, M. Karlen, nira nabor značilk, ki se uporabijo za učenje modela linearni K. Kavukcuoglu, and P. Kuksa. Natural language SVM za označevanje angleškega jezika. Odstranili smo zna- processing (almost) from scratch. Computing Research čilke, vezane izključno na angleščino, s čimer smo dvignili Repository - CORR, 12, 03 2011. uspešnost označevanja. Poskusili smo dodati nove značilke [8] D. Cutting, J. Kupiec, J. Pedersen, and P. Sibun. A na osnovi morfoloških značilnosti slovenščine, vendar smo practical part-of-speech tagger. In Proceedings of the opazili, da je to znižalo točnost rezultatov. Preizkusili smo Third Conference on Applied Natural Language Processing, ANLC ’92, pages 133–140, Stroudsburg, 1Dostopno na http://nl.ijs.si/jos PA, USA, 1992. Association for Computational StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 96 Slika 8: Urejeni rezultati metrike F1 pri klasifikacijskem modelu SVM za dodane slovenske morfološke zna- čilke, odstranjene angleške morfološke značilke in apliciranje transformacije PCA. Slika 9: Rezultati metrike F1 za modele SVM, Naivni Bayes in Random Forest. Slika 10: Vrednosti metrike F1 klasifikacijskih modelov SVM, učenih z različnimi nabori značilk: dodane slovenske morfološke značilke, odstranjene angleške morfološke značilke in apliciranje transformacije PCA. Linearni SVM Naivni Bayes Random Forest FLORS 83.05 % 40.81 % 65.83 % FLORS + PCA 83.94 % 13.03 % 34.77 % FLORS + slov. značilke 81.32 % 42.03 % 57.96 % FLORS + slov. značilke + PCA 82.19 % 10.49 % 29.64 % FLORS - ang. značilke + slov. značilke 81.51 % 40.63 % 60.22 % FLORS - ang. značilke + slov. značilke + PCA 83.24 % 10.83 % 27.81 % FLORS - ang. značilke 83.79 % 43.16 % 61.05 % FLORS - ang. značilke + PCA 85.16 % 9.65 % 34.59 % StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 97 Slika 11: Matrika zmot algoritma FLORS po metriki F1 z modelom SVM z odstranjenimi angleškimi morfološkimi značilkami in po uporabi PCA. Prikazana je točnost klasifikacije posamezne besedne vrste. Stolpec predstavlja razred, v katerega smo besedo uvrstili. Vrstica predstavlja dejanski razred besede. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 98 Linguistics. [9] N. Donges. The random forest algorith, 2018. [10] P. F. Brown, V. Dellapietra, P. V. de Souza, J. Lai, and R. Mercer. Class-based n-gram models of natural language. Computational Linguistics, 18:467–479, 01 1992. [11] R. Gandhi. Naive bayes classifier, 2018. [12] I. Jolliffe. Principal Component Analysis, pages 1094–1096. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011. [13] D. Kumar. Demystifying support vector machines, 2019. [14] J. Miller, M. Torii, and K. Vijay-Shanker. Building domain-specific taggers without annotated (domain) data. pages 1103–1111, 01 2007. [15] S. Patel. Chapter 5: Random forest classifier, 2017. [16] T. Schnabel and H. Schütze. Flors: Fast and simple domain adaptation for part-of-speech tagging. Transactions of the Association for Computational Linguistics, 2:15–26, 12 2014. [17] H. Schütze. Part-of-speech induction from scratch. pages 251–258, 01 1993. [18] H. Schütze. Distributional part-of-speech tagging. page 141, 03 1995. [19] K. Toutanova, D. Klein, C. Manning, and Y. Singer. Feature-rich part-of-speech tagging with a cyclic dependency network. Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology—NAACL ’03, 1, 03 2004. [20] J. Us Gim Enez and L. S M Arquez. Svmtool: A general pos tagger generator based on support vector machines. 07 2004. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 99 Analiza igralnih strategij v iterativni zaporniški dilemi Klemen Kac Bor Praznik Laboratorij za heterogene računalniške sisteme Laboratorij za heterogene računalniške sisteme Koroška cesta 46 Koroška cesta 46 Maribor, Slovenija Maribor, Slovenija klemen.kac@um.si bor.praznik@um.si POVZETEK Pravimo, da je strategija Si dominantna za igralca i, če ne V pričujoči raziskavi smo analizirali igralne strategije v itera- glede na to, katero strategijo Sj igra igralec j, igralec i dobi tivni zaporniški dilemi. Strateške igre so sestavljene iz mno- več, kot bi dobil, če bi igral katerokoli drugo strategijo. Igra- žice igralcev, množice strategij za vsakega igralca in vektorja nje dominantne strategije zagotavlja agentu najboljši izid. izplačil, ki vsaki strategiji priredi določeno vrednost izpla- Najbolj važen koncept v teoriji iger je stabilnost. Dve stra- čila. Cilj strateške igre je maksimizirati vrednost izplačila za tegiji S1 in S2 sta stabilni pod pogojem, da: posameznega igralca. Igralne strategije v članku smo med seboj primerjali v dveh vrstah turnirjev, kjer se več posame- znikov pomeri v več tekmah. Pri prvi vrsti turnirja, se vsak • če igralec i odigra strategijo S1, igralec j ne more od- igralec pomeri z vsemi ostalimi, pri drugi pa smo uporabili igrati boljše poteze kot S2 in turnirsko selekcijo, kjer po vsakem krogu izpade najslabši • če igralec j odigra strategijo S igralec. Implementirali smo tudi lastno igralno strategijo, 2, igralec i ne more od- igrati boljše poteze kot S ki dosega rezultate primerljive z obstoječimi strategijami. 1. Ugotovili smo, da je učinkovitost posamezne igralne stra- tegije zelo odvisna od vrste turnirja, s katerim strategijo Maksimalna družbena korist ne gleda na izplačilo posame- ocenjujemo. znega agenta, ampak vseh agentov skupaj. Kjučne besede Analiza igralnih strategij v zaporniški dilemi je že precej zaporniška dilema, turnirska selekcija, igralne strategije dobro obdelano področje v teoriji iger. V članku [1] avtorji ugotovljajo, da dominantne strategije v posameznem krogu 1. UVOD niso nujno dominantne v več krogih. Axelrod v članku [2] Strateška igra je urejena trojka G = hN, S, ui, kjer pomenijo: opisuje evolucijsko razvijanje igralnih strategij v iterativni zaporniški dilemi. Isti avtor v članku [3] predlaga tudi, kako učinkovito igrati iterativno zaporniško dilemo. • N = {1, ..., n} je končna množica igralcev, V naši raziskavi smo analizirali že omenjene igralne strategije • S = {Si} je množica strategij Si, za vsakega izmed v iterativni zaporniški dilemi in poskušali izmeriti uspešnost igralcev i = {1, ..., n}, posameznih strategij v določeni vrsti turnirja. Definirali smo • u dve vrsti turnirja. Pri prvi vrsti turnirja vsak posameznik i : S − → R je funkcija koristnosti, ki vsaki množici strategij S priredi izplačilo za i-tega igralca u tekmuje z vsemi ostalimi. Zmagovalna strategija je tista, i(S). ki ima skupno najboljši rezultat. Pri drugi vrsti po vsa- kem krogu izločimo najslabšo strategijo, ostale strategije pa Cilj teorije strateških iger je svetovati, katero strategijo bodo igrajo še enkrat v naslednjem krogu. V takšnem turnirju nasprotniki igrali z večjo verjetnostjo, oz. priporočiti igral- je zmagovalna strategija tista, ki ne izgubi z nobeno izmed cem, katero strategijo igrati, da je izplačilo največje. preostalih strategij v turnirju. V splošnem poznamo tri koncepte strateških iger: dominan- Struktura članka v nadaljevanju je naslednja: v drugem po- tnost, stabilnost in maksimalna družbena korist. Glede na glavju podrobneje predstavimo zaporniško dilemo, v tretjem določeno strategijo i-tega igralca obstaja več možnih izidov. povzamemo igralne strategije in opišemo obe vrsti turnirja, s katerima smo analizirali uspešnosti strategij ter podrob- neje opišemo lastno igralno strategijo “PRAKAC”, četrto poglavje je namenjeno predstavitvi poskusov in rezultatov, v zadnjem poglavju pa povzamemo opravljeno delo ter pred- stavimo naše ugotovitve. 2. ZAPORNIŠKA DILEMA Zaporniška dilema je igra, v kateri nastopata dva igralca, ki se pretvarjata, da sta zapornika. Zaprta sta vsak v svoji StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.101-106 Koper, Slovenia, 10 October 101 ločeni celici. Med seboj se ne smeta pogovarjati. Policija 1 leto zapora. V primeru, da igralec A izda igralca B, je želi vsaj enega izmed njiju zapreti za dalj časa [4]. Zapor- igralec A izpuščen, igralec B pa dobi 3 leta zapora. Če se nik lahko svoj zločin prizna ali ne. Odločitev posameznega katerikoli izmed igralcev odloči za izdajanje, lahko v najslab- zapornika se ovrednoti s številom let, ki jih mora preživeti šem primeru dobi 2 leti zapora. Seveda pa igralec, ki izdaja v zaporu. Cilj obeh zapornikov je, da sta zaprta čim manj upa, da bo nasprotnik sodeloval. Tako bi se sam izognil ka- časa. zni, nasprotnik pa bi dobil 3 leta zapora. S ponavljanjem igre želimo dokazati, da kljub temu, da je za oba igralca Analiza izidov klasične zaporniške dileme pokaže, da je za dominantna strategija izdajanje, se na dolgi rok splača so- zapornika najbolje, če izda sojetnika, saj v primeru, da drugi delovanje. zapornik ne prizna sodelovanja v zločinu, prvi “namoči” dru- gega, ki mora odgovarjati za svoje nesodelovanje s policijo, 3. IGRALNO OKOLJE in sicer z maksimalno kaznijo, prvi pa bo oproščen vsakršne Igro iterativna zaporniška dilema smo implementirali z upo- krivde. Ta igra v večagentnih sistemih predstavlja dilemo, rabo označevalnega jezika HTML in programskega jezika Ja- saj je v nasprotju s tezo, da je sodelovanje med agenti tista vaScript kot spletno aplikacijo1. Grafični prikaz igre lahko strategija, ki zagotavlja ključ do uspeha. vidimo na Sliki 2. Možne igralne strategije so opisane v na- slednjem podpoglavju. Znotraj aplikacije lahko določimo: Vendar pa se izkaže, da sodelovanje postane zmagovalna (1) koliko igralcev bo igralo na turnirju, (2) koliko itera- strategija, če igro ponavljamo večkrat. V tem primeru imamo cij bodo igrali in (3) katero vrsto turnirja bodo uporabljali. opravka s t.i. iterativno zaporniško dilemo, kjer se zapor- Končne rezultate nato prikažemo v tabeli, ki je sortirana po nika lahko odločata za igranje poljubne strategije. Lahko se najnižji količini kazni, ki jo je posameznik z določeno stra- na primer odločita, da bosta vedno izdajala svojega naspro- tegijo pridobil in tako razglasimo zmagovalca. Zmagovalna tnika ali pa, da bosta vedno sodelovala. Število let zapora se strategija je tista, ki je kaznovana z najmanjšim številom let pri iterativni zaporniški dilemi skozi kroge sešteva. S pona- zapora. vljanjem igre dosežemo, da postane sodelovanje racionalna odločitev. Z igranjem strategije sodelovanja vzpodbujamo, da tudi nasprotnik igra isto, kar postane na dolgi rok najbolj 3.1 Opis igralnih strategij profitabilna odločitev za oba igralca. Strategije, ki smo jih izbrali, so ene izmed najbolj znanih v zaporniški dilemi. Nekatere so enostavnejše, druge pa bolj Igralca (A in B), morata spoštovati naslednja pravila [5]: sofisticirane. V naši študiji smo uporabili naslednje: • Če igralec A izda igralca B, ta pa njega ne, potem gre • “ALL-D” - v tej strategiji igralec nikoli ne sodeluje, igralec B v zapor za 3 leta, igralec A pa je izpuščen. temveč vedno izdaja. Igralec torej v najboljšem pri- meru ne gre v zapor, v najslabšem pa gre v zapor za • Če zločin priznata oba, gresta oba v zapor za 2 leti. dve leti [6]. • Če zločina ne prizna nobeden, bosta oba obsojena na • “RANDOM” - igralec se naključno odloči ali bo sode- 1 leto zapora. loval ali izdajal svojega soigralca [7]. • “TIT-FOR-TAT” - v prvem krogu igralec sodeluje, v V Tabeli 1 vidimo prikaz razdelitve točk med igralcema A vseh ostalih pa ponovi zadnjo soigralčevo odločitev [8]. in B v primeru sodelovanja oziroma izdaje. Opazimo, da je za oba igralca dominantna strategija izdajanje (nesode- • “TESTER” - strategija izkorišča sisteme, ki neprestano lovanje), kajti ne glede na nasprotnikovo odločitev, igralec sodelujejo; v prvem krogu igralec izdaja, nato pa po- največ pridobi z izdajanjem. Stabilnost dosežemo, če oba navlja zaporedje “sodelujem, sodelujem, izdajam”. Če igralca hkrati izdajata drug drugega. Takrat sta odločitvi tudi soigralec medtem kdaj ne sodeluje, nadaljujemo z druga drugi najboljši odgovor. Maksimalna družbena korist igranjem strategije “TIT-FOR-TAT” [9]. je v primeru, ko oba igralca sodelujeta. Takrat je vsota let, ki jih oba igralca morata preživeti v zaporu najmanjša. • “JOSS” - strategija je namenjena izkoriščanju “šibkih” nasprotnikov; zelo podobna je strategiji “TIT-FOR- TAT”, razlika je le v tem, da v 10% primerov namesto Tabela 1: Točkovanje sodelovanja izbere izdajanje [10]. B Sodelovanje Izdaja A Poleg že znanih strategij smo razvili tudi lastno strategijo A in B dobita po A: 3 leta (-3 tč.) “PRAKAC”, ki jo predstavljamo v nadaljevanju poglavja. Sodelovanje 1 leto zapora (-1 tč.) B: izpuščen (0 tč.) A: izpuščen (0 tč.) A in B dobita po 3.2 Predlagana strategija “PRAKAC” Izdaja B: 3 leta (-3 tč.) 2 leti zapora (-2tč.) Na podlagi delovanja prej opisanih strategij smo implemen- tirali lastno strategijo in z njo poskušali dobiti čim boljše rezultate. Naša strategija se imenuje “PRAKAC” in teme- lji na maščevanju. Pri tej strategiji v prvem krogu izdamo Vsak igralec se mora odločiti, katero igralno strategijo bo nasprotnika. S to potezo upamo, da strategija pridobi proti igral. Igralec A lahko sodeluje in pri tem upa, da bo sode- loval tudi njegov nasprotnik. S tem bi oba igralca dobila po 1http://betrayal-simulator.praznikbor.now.sh/ StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 102 Slika 1: Nastavitve spletne aplikacije strategijam, ki v prvem krogu sodelujejo. V nadaljnih pote- igralcu pridobi najnižjo število let v zaporu [12]. zah spremljamo zadnjo nasprotnikovo odločitev. V primeru, da v zadnji potezi nasprotnik sodeluje, v naslednji potezi so- V to vrsto turnirja smo dodali še dodatno pravilo izloča- delujemo tudi mi. To storimo z upanjem, da bo tudi v nasle- nja, ki na koncu vsakega turnirja izloči najslabšega igralca dnji potezi nasprotnik sodeloval, ker je to za oba najboljša (tistega, ki bi moral v zaporu preživeti največje število let) poteza. Če nas nasprotnik kadarkoli izda, ga mi v nasle- in ponovili celotni turnir s preostalimi igralci. Kadar izlo- dnjih dveh potezah izdamo in tako upamo, da pridobimo čimo strategije, ki jih je preprosto izkoriščati, lahko pri tem nazaj izgubljene točke. Strategija je najbolj uspešna proti ugotovimo, katere strategije so v povprečju najboljše. tistim strategijam, ki izmenično sodelujejo in izdajajo, ima pa tudi dobre rezultate proti bolj sofisticiranim strategijam. 4. POSKUSI IN REZULTATI Strategije smo med sabo primerjali z uporabo implemen- Algoritem 1 Strategija PRAKAC tirane spletne aplikacije, na kateri lahko nastavimo število 1: N ⇐ current turn iteracij, število tekmovalcev, ki predstavljajo določeno stra- 2: X ⇐ cooperate tegijo ter način izvajanja turnirja (z izločanjem ali brez). 3: if N = 1 or (N − 1 or N − 2) = betrayed then Za primerjavo strategij smo v obeh vrstah turnirja izpiso- 4: X ⇐ betray vali rezultate za 10, 100, 500 in 1000 iteracij. Tako lahko 5: end if ugotovimo, katere strategije so boljše na krajši in katere na 6: return X daljši igralni rok. Število igralcev, ki predstavljajo določeno strategijo smo nastavili najprej na 1, nato na 5 in na koncu še na 10. Če pri turnirju z izločanjem vsako strategijo pred- stavlja samo 1 igralec, se lahko zgodi, da bo strategija, ki V Algoritmu 1 vidimo postopek izbire odločitve pri strate- v povprečju dosega zelo dobre rezultate, že v začetku tur- giji “PRAKAC”. Najprej inicializiramo spremenljiko N , v nirja igrala z močnejšo strategijo in bo izpadla zelo hitro. katero shranjujemo nasprotnikove odločitve. Vrednost spre- Z večjim številom igralcev na vsako strategijo ta problem menljivke X hrani našo trenutno odločitev. Privzeto jo na- omilimo. Za verodostojne rezultate smo vsem strategijam stavimo na sodelovanje. Potem s pogojnim stavkom pogle- vedno nastavili enako število igralcev. damo, če je bila nasprotnikova zadnja ali predzadnja odlo- čitev izdajanje. Če pogojni stavek drži, nastavimo vrednost Za demonstracijo smo našo strategijo primerjali z ostalimi spremenljivke X na izdajanje. Kot rezultat algoritma vr- implementiranimi strategijami v igri s stotimi iteracijami. nemo vrednost spremenljivke X. V Tabeli 2 vidimo rezultate lastne strategije v igri ena proti ena, z že obstoječimi igralnimi strategijami. Za dvoboj smo 3.3 Turnir s krožnim dodeljevanjem dodelili 100 iteracij, z namenom da imajo strategije ki teme- Pri turnirju s krožnim dodeljevanjem vsak posameznik tek- ljijo na odzivanju možnost blesteti. Opazimo, da strategija muje z vsemi ostalimi [11]. V našem primeru smo to vr- “PRAKAC” premaga vse strategije in pridobi najmanjšo šte- sto turnirja uporabili za testiranje učinkovitosti posameznih vilo let v zaporu, z izjemo “ALL-D”, s katero odigra izenačen strategij. V turnir smo vključili poljubno število igralcev, rezultat. ki igrajo eno od opisanih strategij. Igralec je nato tekmo- val z ostalimi in glede na uspešnost pridobival leta, ki jih Na Sliki 2 vidimo grafično predstavitev rezultatov lastne mora preživeti v zaporu. Na koncu smo pridobili rezultat v strategije v igri ena na ena proti ostalim strategijam. Opa- obliki števila let, ki jih dobi igralec, če uporablja določeno zimo, da je rezultat v primerjavi s strategijami “ALL-D”, strategijo. Kot najbolj uspešna strategija se smatra tista, ki “TIT-FOR-TAT” in “TESTER” precej izenačen, medtem ko StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 103 čeno strategijo, začnejo prevladovati igralci strategije “ALL- Tabela 2: Rezultati strategije PRAKAC 1 proti 1 s D”. Slednja strategija se je izkazala za najboljšo v tej vrsti 100 iteracijami. turnirja. PRAKAC 200 4.2 Turnir s krožnim dodeljevanjem in izloča- ALL-D 200 njem 124 Enak turnir ponovimo še enkrat, le da tokrat v vsakem RANDOM 196 krogu izločimo strategijo, ki ima najslabši rezultat. Tur- nir izvajamo tako dolgo, dokler ne dobimo skupnega zma- 197 TIT-FOR-TAT govalca. Pri turnirju, kjer imamo samo enega predstavnika 200 vsake strategije, dobimo več zmagovalcev. Pri desetih itera- 198 cijah sta zmagovalca strategiji “ALL-D” in “PRAKAC”, pri TESTER 201 večjem številu iteracij pa strategiji “TIT-FOR-TAT” in “TE- STER” (Tabela 4). Ugotovimo, da pri enem igralcu na stra- 120 JOSS tegijo prevladuje “ALL-D”, pri večih igralcih na strategijo 186 pa “TIT-FOR-TAT”. Iz tega lahko razberemo, da je stra- tegija “ALL-D” odlična za izkoriščanje simplističnih strate- gij, ki ne poskušajo predvidevati nasprotnikove poteze (npr. “JOSS” in “RANDOM”). Ko te strategije izpadejo iz tur- nirja, pa začnejo prevladovati bolj sofisticirane strategije, kot je “TIT-FOR-TAT”. Pod drobnogled smo vzeli variantni turnir s krožnim dode- ljevanjem z enim igralcem na strategijo. V Tabeli 5 lahko vidimo, kdaj je katera strategija izpadla pri določenem šte- vilu iteracij. Opazimo, da je, glede na povprečno mesto iz- pada, najboljša strategija “TIT-FOR-TAT”. Precej podobne rezultete je pridobila strategija “TESTER”, vendar ima sle- dnja slabše povprečje, zaradi rezultata pri igri z desetimi iteracijami (izpade kot druga strategija). Naša strategija “PRAKAC” v tej vrsti tekmovanja zasede sprejemljivo tretje mesto. Najslabše se izkaže strategija “JOSS”. Presenetljivo jo premaga tudi naivna strategija “RANDOM”, ki jo pre- maga s pomočjo sreče, kajti “RANDOM” naključno izbira Slika 2: Grafična predstavitev strategije PRAKAC svoje odločitve. Zato lahko v določenih primerih doseže zelo v primerjavi z ostalimi strategijami. dobre rezultate, v drugih primerih pa porazne. 4.3 Diskusija v je rezultat v primerjavi s strategijami “RANDOM” in “JOSS” Z izvajanjem raznih turnirjev smo ugotovili, da s prirejenim občutno boljši v prid strategije “PRAKAC”. turnirjem s krožnim dodeljevanjem pridobimo zanimivejše rezultate. Medtem ko v turnirju brez izločanja vedno pre- 4.1 Turnir s krožnim dodeljevanjem brez iz- vladuje strategija, ki izkorišča naivne metode, v turnirju z ločanja izločanjem prevladajo bolj sofisticirane strategije (Tabela 3). Najprej smo v turnir vključili po enega igralca za vsako stra- V Tabeli 5 lahko opazimo, da naivne strategije vedno izpa- tegijo, nato po pet igralcev za vsako strategijo in na koncu še dejo v prvih krogih, nato izpadejo strategije, ki so preživele po deset igralcev za vsako strategijo (Tabela 3). Pri turnirju le z izkoriščanjem le-teh, na koncu pa imamo samo “pame- s krožnim dodeljevanjem brez izločanja, se pri enemu igralcu tne” strategije. Strategije, ki prevladujejo v turnirju z iz- na vsako strategijo izkaže, da prevladuje strategija “ALL-D”, ločanjem, so takšne, ki temeljijo na sodelovanju, ampak ne ki je odlična za izkoriščanje naivnih strategij, katerih je pri brezpogojnem. naši postavitvi vedno dovolj, da strategija nadvladuje. Na drugem mestu se vedno pojavi naša strategija “PRA- 5. ZAKLJU ČEK KAC”, ki je pravtako dobra v izkoriščanju naivnih strategij. V raziskavi smo analizirali pet obstoječih igralnih strategij Tretje mesto se pri enemu igralcu na strategijo spreminja. v zaporniški dilemi. Razvili smo tudi lastno igralno strate- Pri desetih iteracijah vidimo na tretjem mestu celo strategijo gijo in jo primerjali z ostalimi. Strategije smo med seboj “RANDOM”, ki s svojim kaotičnim pristopom pretenta bolj primerjali v turnirju s krožnim dodeljevanjem brez izločanja sofisticirane metode, preden jo imajo le-te možnost prema- in turnirju z izločanjem. gati. Pri stotih iteracijah se na tretjem mestu pojavi stra- tegija “TESTER”, kadar pa povečamo iteracije na petsto in Ugotovili smo, da so rezultati strategij zelo odvisni od vr- več, pa tretje mesto okupira strategija “TIT-FOR-TAT”. ste turnirja, ki ga uporabimo. Določena strategija lahko doseže v nekem turnirju zelo dober rezultat, v drugem pa Ko imamo pri vsaki strategiji več igralcev, ki zastopajo dolo- pogori. Zanimivo je dejstvo, da naša strategija “PRAKAC” StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 104 Tabela 3: Turnir s krožnim dodeljevanjem brez izločanja. 1 igralec na strategijo 5 igralcev na strategijo 10 igralcev na strategijo 1. ALL-D 1. ALL-D 1. ALL-D 2. PRAKAC 2. ALL-D 2. ALL-D 10 iteracij 3. RANDOM 3. ALL-D 3. ALL-D 1. ALL-D 1. ALL-D 1. ALL-D 2. PRAKAC 2. ALL-D 2. ALL-D 100 iteracij 3. TESTER 3. ALL-D 3. ALL-D 1. ALL-D 1. ALL-D 1. ALL-D 2. PRAKAC 2. ALL-D 2. ALL-D 500 iteracij 3. TIT-FOR-TAT 3. ALL-D 3. ALL-D 1. ALL-D 1. ALL-D 1. ALL-D 2. PRAKAC 2. ALL-D 2. ALL-D 1000 iteracij 3. TIT-FOR-TAT 3. ALL-D 3. ALL-D Tabela 4: Turnir s krožnim dodeljevanjem in izločanjem. 1 igralec na strategijo 5 igralcev na strategijo 10 igralcev na strategijo 10 iteracij ALL-D, PRAKAC TIT-FOR-TAT TIT-FOR-TAT 100 iteracij TIT-FOR-TAT, TESTER TIT-FOR-TAT TIT-FOR-TAT 500 iteracij TIT-FOR-TAT, TESTER TIT-FOR-TAT TIT-FOR-TAT 1000 iteracij TIT-FOR-TAT, TESTER TIT-FOR-TAT TIT-FOR-TAT Tabela 5: Turnir s krožnim dodeljevanjem in izločanjem, 1 igralec na strategijo, skupno mesto. 10 iteracij 100 iteracij 500 iteracij 1000 iteracij POVPRE ČJE TIT-FOR-TAT 3. 1. 1. 1. 1,5 TESTER 5. 1. 1. 1. 2 PRAKAC 1. 3. 3. 3. 2,5 ALL-D 1. 4. 4. 4. 3,25 RANDOM 4. 6. 5. 5. 5 JOSS 6. 5. 6. 6. 5,75 dosega najboljši rezultat v igri ena na ena, na implementi- 6. LITERATURA ranih turnirjih pa dosega povprečne rezultate. Vidimo tudi, [1] J. Roberts R. Wilson D. M. Kreps, P. Milgrom. da je naša strategija najbolj efektivna v manjšem številu Rational cooperation in the finitely repeated prisoners’ soočanj, torej strategija v nasprotju z strategijo “TIT-FOR- dilemma. In Journal of Economic Theory, pages TAT” gleda na kratkoročni dobiček. 245–252, 1982. [2] R. Axelrod. The evolution of strategies in the iterated Rezultati so odvisni tudi od točkovanja, ki ga uporabimo prisoner’s dilemma. In The Dynamics Of Norms, 1997. med tekmovanjem. Med raziskovanjem tematike smo opa- [3] R. Axelrod. Effective choice in the prisoner’s dilemma. zili, da raziskovalci igre ne uporabljajo fiksnega točkovanja, In Journal of Conflict Resolution, 1980. temveč si ga določajo po svoje. Pri turnirju s krožnim dode- [4] C. T˝ oke G. Szabó. Evolutionary prisoner’s dilemma ljevanjem brez izločanja smo ugotovili, da je najboljša stra- game on a square lattice. In American Physical tegija “ALL-D”. Pri turnirju z izločanjem je najboljša stra- Society, pages 58–69, 1998. tegija “TIT-FOR-TAT”, ki je med bolj sofisticiranimi stra- [5] WD. Hamilton R. Axelrod. The evolution of tegijami in je sposobna izkoriščati ostale pametne strategije. cooperation. In Science, pages 58–69, 1998. Strategijo, ki bi dosegala solidne rezultate ne glede na vrsto [6] J. R. Stevens D. W. Stephens, C. M. McLinn. turnirja, je zelo težko implementirati, saj v enem turnirju Discounting and reciprocity in an iterated prisoner’s predvladujejo strategije, ki so namenjene izkoriščanju naiv- dilemma. In Science, pages 2216–2218, 2002. nih pristopov, v drugem turnirju pa prevladajo bolj sofisti- [7] R. Axelrod. More effective choice in the prisoner’s cirane strategije. dilemma. In Sage journals, 1980. Čeprav obstaja že ogromno strategij, menimo, da je na vo- [8] K. Sigmund M. A. Novak. Tit for tat in heterogeneous ljo še veliko maneverskega prostora za izboljšave obstoječih populations. In Nature, 1992. strategij in implementacijo novih. V prihodnje bi lahko v [9] P. Mathieu J. Delahaye. Complex strategies in the spletno aplikacijo, s katero smo delali analizo, vključili še iterated prisoner’s dilemma. In Semantic Scholar, več igralnih strategij in več vrst turnirjev. S tem bi lahko 1994. naredili raziskavo še obsežnejšo. [10] R. Axelrod. Effective choice in the prisoner’s dilemma. In Sage journals, 1980. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 105 [11] L. Moser F. Harary. The theory of round robin tournaments. In The American Mathematical Monthly, 2018. [12] X. Yao P. J. Darwen. On evolving robust strategies for iterated prisoner’s dilemma. In EvoWorkshops, 1994. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 106 Napovedovanje nogometnega zmagovalca z rekurentno nevronsko mrežo LSTM Nejc Planer Mladen Borovič Fakulteta za elektrotehniko, računalništvo in Fakulteta za elektrotehniko, računalništvo in informatiko informatiko Koroška cesta 46, 2000 Maribor Koroška cesta 46, 2000 Maribor nejc.planer@student.um.si mladen.borovic@um.si POVZETEK lige. Najboljše rezultati so bili v povprečju okoli 60 odstot- Prispevek predstavlja napovedovanje nogometnega zmago- kov. valca in nekaterih drugih statistik z rekurentno nevronsko mrežo, ki uporablja celico LSTM. Opisano je tudi kje lahko Microsoft ima svoj sistem za napovedovanje športnih rezul- pridobimo podatke za posamezne lige in tekmovanja, kako te tatov. Leta 2014 so napovedali vse tekme izločevalnega dela podatke potem preoblikujemo in njihov končen izgled. Po- svetovnega prvenstva pravilno [11]. Njihov matematični mo- damo tudi uporabljeno nevronsko mrežo, ter rezultate. To del vzame v račun več faktorjev, od števila zmag, porazov so ali pade več kot 1,5 gola na tekmo, ali pade več kot 2,5 in neodločenih izidov vse do tipa podlage na igrišču in vre- gola na tekmo in ali obe ekipi zadeneta. Na koncu podamo menskih razmer [10]. še nekaj idej za možne izboljšave uspešnosti napovedovanja. Za napovedovanje bomo uporabili rekurentne nevronske mreže, Kjučne besede ki še na tem področju niso veliko uporabljene, in sicer da vi- dimo ali lahko z njimi dosežemo boljše rezultate kot z osta- napovedovanje, rekurentne nevornske mreže, celica LSTM, limi metodami umetne inteligence. nogomet, umetna inteligenca V naslednjem poglavju opišemo pridobivanje podatkov, ki 1. UVOD jih potem tudi podrobneje razložimo in povemo njihovo struk- Stave so velik del športa in pritegnejo veliko ljudi, saj so turo. Sledi njihova preobdelava preden jih pošljemo v ne- privlačne zaradi možnega hitrega zaslužka. Problem je, da vronsko mrežo. Zatem v tretjem poglavju opišemo arhitek- je šport lahko zelo nepredvidljiv in je težko ugotoviti končen turo nevronske mreže, ki jo uporabljamo. V četrtem po- izid. Zato si pri stavljanju velikokrat pomagamo s statistiko glavju so predstavljeni rezultati. V petem zaključnem po- prejšnjih tekem, oziroma prejšnjih let. To naredi nevronske glavju pa podamo smernice za nadaljnje delo. mreže zelo zanimive, saj lahko pošljemo to statistiko kot vhod v mrežo in potem ta napove rezultate za naprej. 2. PODATKI 2.1 Pridobivanje podatkov Namen dela je ugotoviti, ali lahko z nogometno statistiko Nekatere zgodovinske podatke o nogometu smo našli na spletu, in nevronskimi mrežami uspešno napovemo, kaj se bo zgo- druge pa smo si morali zgenerirati sami. Za največje sve- dilo v prihodnjih tekmah. Za to je potrebno pridobljene tovne nogometne lige že obstajajo datoteke CSV za sezone podatke ustrezno preoblikovati in dodati nove, da si izbolj- od začetka 90. let naprej [4]. Najdemo lahko tudi datoteke šamo natančnost. Tudi oblika mreže je pomembna, saj vse CSV za vsa svetovna prvenstva [3]. ne dosegajo iste natančnosti. Za slovensko nogometno ligo smo si morali napisati svoj pro- Avtor Korpič je v diplomskem delu [13] uporabil različne al- gram [6]. Ta je iz podatkov iz wikipedije [7] in uradne strani goritme strojnega učenja za napovedovanje zmagovalca no- Prve slovenske nogometne lige [5] razbral prave informacije gometne tekme. Uspešnost napovedovanja je bila med 30 in in jih shranil v datoteko CSV. Največja težava pri tem je 50 odstotki. bila, da so se imena klubov skozi leta veliko spreminjala in je bilo potrebno kar nekaj ročnega dela, da smo povezali Tudi v raziskovalnem delu [9] so uporabili različne algoritme skupaj prava imena klubov. strojnega učenja za napovedovanje nizozemske nogometne Prav tako smo morali napisati program za pridobivanje po- datkov tekmovanja Copa America [1]. Ta je iz podatkov iz wikipedije [2] ustvaril datoteko CSV, vendar smo morali podatke za določene tekme vnesti sami, saj ima wikipedija nekonsistentno kodo. 2.2 Opis podatkov Določene datoteke CSV so imele veliko število podatkov, zato smo vzeli le ključne za nas. Prvi podatek je kvote iz StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.107-110 Koper, Slovenia, 10 October 107 stavnice Bet365. Pogledali smo 3 kvote, in sicer za zmago domače ekipe, za neodločen izid in za zmago tuje ekipe. Tega podatka za slovensko ligo žal ni bilo mogoče najti. Naslednji podatek je bil ime ekipe. Sledilo je število zadetkov obeh ekip in pa kdo je zmagal, torej domača ekipa, neodločen izid Tabela 1: Vhodni podatki ali pa tuja ekipa. Vhodni podatek Razlaga Kvote stavnice Bet365 trije podatki: kvota 2.3 Preoblikovanje podatkov za zmago domače ekipe, kvota za Za vsako tekmo smo v upoštev vzeli vse prejšnje tekme te neodločen izid in sezone. Tako smo si najprej izračunali zadete in prejete gole kvota za zmago tuje do trenutne tekme v sezoni. Potem je sledil izračun šte- ekipe vila točk obeh ekip pred tekmo. Shranili smo si tudi število Število zadetih golov Koliko golov je zmag, remijev in porazov obeh ekip pred trenutno tekmo. zadela vsaka ekipa Za zadnjih 5 tekem obeh ekip smo beležili tudi formo. Če je do tega trenutka v ekipa zmagala je bil rezultat v podatkih označen z W, remi sezoni z D in poraz z L. Posebej smo z M označili tudi, če še tekma ňi bila odigrana, torej v prvih petih krogih. Iz teh podatkov Stevilo prejetih golov Koliko golov je smo ugotovili tudi ali ima ekipa zaporedni niz zmag ali po- prejela vsaka ekipa razov. Pogledali smo za nize treh ali petih tekem. Naslednji do tega trenutka v podatek je bil, kateri zaporedni teden sezone je. Izračunali sezoni smo tudi razliko v golih in točkah med obema ekipama. Za- Točke Koliko točk imata beležili smo tudi razliko med končnima položajema ekip v obe ekipi v tem prejšnji sezoni. Če je katera izmed ekip bila prejšnjo sezono trenutku sezone v nižji ligi, se ji je dodelila pozicija 30, da je se je videla raz- Pregled statistike tekem Število zmag, lika od ekip, ki so igrale v tej ligi. Kratek pregled podatkov remijev in porazov lahko vidimo tudi v Tabeli 1. Preden so se podatki poslali v obeh ekip do tega mrežo, se je za vse tekstovne podatke naredilo t.i. one-hot trenutka v sezoni kodiranje, ki je vsak tekst enolično določilo. Forma zadnjih 5 tekem Za vsako izmed zadnjih 5 tekem ali je bila zmaga (W), 3. ARHITEKTURA NEVRONSKE MREžE remi (D), poraz (L) Rekurentna nevronska mreža za razliko od navadnih, kot ali pa še ni bila vhod ne dobi le vhodnega vektorja, temveč tudi stanje iz odigrana (M) preteklosti. To je smiselno, kadar se neka informacija lahko Igralen teden Kateri zaporedni skriva v samem zaporedju dogodkov. Najpogosteje upora- teden sezone je bljen nevron pri teh tipih mreže pa je celica LSTM (Long Niz zmag Ali je ekipa zadnje 3 short-term memory). ali 5 tekem zmagala Niz porazov Ali je ekipa zadnje 3 Uporabljena rekurentna nevronska mreža ima 4 plasti. Prve ali 5 tekem izgubila tri plasti imajo po 32 nevronov, zadnja pa 2 nevrona, saj Razlika v golih Število zadetih golov imamo tudi toliko izhodov. Implementirali smo jo v pro- - število prejetiih gramskem jeziku Python [8] in uporabili njegovo knjižnico golov za umetno inteligenco Keras [12]. V kodi samo ustvarimo Razlika v točkah Točke domače ekipe sekvenčni model in dodamo število željenih plasti ter jim do- - točke tuje ekipe ločimo število nevronov. Na koncu vsake plasti smo dodali Razlika v lanskih Lanski končni še aktivacijsko funkcijo sigmoid, ki nam še dodatno norma- položajih na lestivic položaj domače lizira vrednosti. Za prvimi tremi plastmi lahko vidimo tudi ekipe - lanski končni funkcjio izpuščanja (ang. Dropout function), ki poskrbi da položaj tuje ekipe se določen delež naučenega pozabi in tako ne prihaja do pre- (če katera od ekip v komernega prileganja. prejšnji sezoni ni igrala v tej ligi, se ji 4. REZULTATI dodeli pozicija 30, Rezultate razdelimo na dva dela. Najprej podamo napove- tako da je razlika od dovanja tekem ligaških sezon, nato pa nogometnih turnirjev. ostalih) Model naučimo vse do zadnje sezone oziroma turnirja, za- Ekipa Ime ekipe dnjo pa uporabimo kot testno množico. Rezultat H - zmaga domače ekipe, NH - Za zaganjanje uporabljamo računalnik s procesorjem Intel neodločeno ali poraz i5-4750 3,6GHz, grafično kartico NVIDIA GeForce GTX 960 domače ekipe in 8 GB RAM pomnilnika. 4.1 Napovedovanje tekem ligaške sezone StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 108 Tabela 2: Uspešnost napovedovanja zmagovalca Tabela 3: Uspešnost napovedovanja, ali pade več kot tekme glede na različno število plasti 1,5 gola na tekmo Mreža Liga Uspešnost napovedi (v odstotkih) Liga 2 plasti 4 plasti Italijanska liga 74,74% Italijanska liga 70,97% 71,84% Angleška liga 79,74% Angleška liga 70,53% 70,79% Nemška liga 84,64% Nemška liga 67,65% 69,93% Španska liga 73,95% Španska liga 65,26% 66,05% Francoska liga 71,23% Francoska liga 65,53% 63,68% Slovenska liga 81,67% Slovenska liga 61,11% 61,67% Tabela 4: Uspešnost napovedovanja, ali pade več kot 2,5 gola na tekmo Liga Uspešnost napovedi (v odstotkih) Italijanska liga 53,68% Angleška liga 57,63% Nemška liga 63,73% Španska liga 55,00% Francoska liga 60,00% Slovenska liga 62,78% V Tabeli 3 je uspešnost napovedovanja, ali na tekmo pade več kot 1,5 gola. Napovedljivost tega izgleda precej boljša kot pa napovedljivost zmagovalca. Če podrobneje preučimo napovedovanje, lahko vidimo, da mreža v trenutku pride do lokalnega minimuma iz katerega se kasneje ne spremeni na Slika 1: Uspešnost napovedovanja za posamezno bolje. Če pa pogledamo dejanske napovedi, pa lahko vidimo, ekipo znotraj zadnje sezone angleške lige da v večini primerov pride do spoznanja, da skoraj vedno pade več kot 1,5 gola na tekmo. Torej so te natančnosti bolj ali manj enake dejanskemu odstotkovnemu številu tekem, ko pade več kot 1,5 gola na tekmo. Lige se načeloma med seboj razlikujejo le po številu ekip, edino v slovenski ligi je drugačen sistem igranja, saj imajo V Tabeli 4 je uspešnost napovedovanja, ali na tekmo pade ekipe med seboj štiri tekme namesto dveh. več kot 2,5 gola. Kot lahko vidimo je napovedljivost slaba. Ni enak problem kot pri več kot 1,5 gola na tekmo, saj tu ne V Tabeli 2 vidimo primerjavo napovedovanja zmagovalca pride do rešitve, da bi naj to bilo vedno res, ampak iz teh med mrežo z dvema plastema in štirimi plastmi nevronov vhodnih podatkov ne moremo razbrati nekega vzorca, kdaj LSTM. Vidimo, da se nevronska mreža z manj plastmi slabše bi temu bilo tako. odnese, ampak je pa načeloma manj častovno zahtevna in pride običajno do rezultata v polovičnem času v primerjavi V Tabeli 5 je uspešnost napovedovanja, ali obe ekipi na z mrežo s štirimi plastmi. Ker za slovensko ligo nimamo tekmi zadeneta vsaj en gol. Kot vidimo so rezultati po- podatkov za kvote na stavnicah in vidimo slabšo napove- dobno slabi kot pri napovedovanju, ali pade več kot 2,5 gola dljivost, lahko sklepamo, da so kvote pomemben faktor pri na tekmo, torej je uspešnost napovedovanja kar slaba. učenju nevronske mreže. Ostale lige pa imajo iste podatke na vhodu, kar pomeni, da sta italijanska in angleška liga 4.2 Napovedovanje tekem nogometnih turnir- manj naključni, kot pa francoska in španska, nemška pa je nekje vmes. jev Malo drugačen sistem igranja pa se pojavlja na večjih no- Če podrobneje pogledamo rezultate, lahko vidimo, da pri- gometnih turnirjih kot je recimo svetovno prvenstvo, saj se haja tudi do razlik med ekipami, saj se rezultate določene ekipe lažje napove kot druge, kar lahko za angleško ligo vi- dimo na Sliki 1. Najbolje se napoveduje Liverpool (36 od Tabela 5: Uspešnost napovedovanja, ali obe ekipi na 38 pravilnih), Manchester City (33 od 38 pravilnih) in pa tekmi zadeneta vsaj en gol Huddersfield (33 od 38 pravilnih), ki so označeni z zeleno. Liga Uspešnost napovedi (v odstotkih) Če pogledamo lestvico, so to prva, druga in pa zadnja ekipa Italijanska liga 62,37% v ligi, torej ji večje probleme delajo ekipe iz sredine lestvice, Angleška liga 54,74% kar pa je tudi logično, saj so te majn konsistentne. Najslabše Nemška liga 59,48% napovedljiv je Wolves, ki je označen z rdečo, in sicer le 19 od Španska liga 57,89% 38 tekem pravilnih. Če pogledamo ekipo iz sredine lestvice Francoska liga 55,79% (10 mesto), West Ham, ki je označen s sivo in je pravilno napovedanih 24 od 38 tekem. Slovenska liga 66,11% StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 109 [1] Copa america web scraper. https: Tabela 6: Uspešnost napovedovanja zmagovalca //github.com/planeer/CopaAmericaWebScraper, 19. tekme 6. 2019. Tekmovanje Natančnost napovedovanja [2] Copa américa. zmagovalca https: //en.wikipedia.org/wiki/Copa_Am%C3%A9rica, 19. 6. Copa America 65,62% 2019. Svetovno prvenstvo 65,28% [3] Fifa world cup. https://www.kaggle.com/abecklas/fifa-world-cup, 19. 6. 2019. Tabela 7: Uspešnost napovedovanja skupinskega in izločevalnega dela tekmovanja [4] Football betting | football results | football bets | Tekmovanje Uspešnost Uspešnost football odds. http://www.football-data.co.uk/, napovedi napovedi 19. 6. 2019. skupinskega izločevalnega [5] Plts - prva liga telekoma slovenije. dela dela https://www.prvaliga.si/prvaliga/default.asp, Copa America 58,3% 87,5% 19. 6. 2019. Svetovno prvenstvo 58,3% 72,9% [6] Prva liga web scraper. https://github.com/planeer/PrvaLigaWebScraper, 19. 6. 2019. igranje deli na dva dela, to sta skupinski in izločevalni del. [7] Slovenian prvaliga. https: //en.wikipedia.org/wiki/Slovenian_PrvaLiga, 19. V Tabeli 6 vidimo uspešnost napovedovanja zmagovalca tekme 6. 2019. na svetovnem prvenstvu in pa turnirju Copa America. Obe [8] Python. https://www.python.org/, 2. 7. 2019. tekmovanji sta približno isto napovedljivi. Imata tudi po- [9] Dutch football prediction using machine learning doben trend, in sicer da ima mreža večje probleme z napo- classifiers. https://pdfs.semanticscholar.org/ vedovanjem skupinskega dela turnirja (pod 60 odstotkov), b347/e38d5c61a139115884fbff352221c4f7bfe1.pdf, medtem ko izločilni del predvideva dobro, od 70 do 90 od- 22. 8. 2019. stotkov natančno, kar lahko vidimo v Tabeli 7. [10] Microsoft has perfectly predicted this stage of the world cup and it thinks brazil is finished. 5. ZAKLJUčEK https://qz.com/231583/ Prispevek predstavlja napovedovanje določenih statistik no- microsoft-world-cup-predictions-brazil-germany/, gometne tekme z rekurentno nevronsko mrežo LSTM. Ta se 22. 8. 2019. na preteklih rezultatih nauči določenih vzorcev in poskuša [11] With germany’s win microsoft perfectly predicted the napovedati prihodnje tekme. Za to smo morali zbrati dovolj world cup’s knockout round. https://qz.com/233830/ veliko podatkov in jih ustrezno predelati. Pomembna je bila world-cup-germany-argentina-predictions-microsoft/, tudi struktura nevronske mreže, torej število skritih plasti 22. 8. 2019. in število nevronov v teh plasteh. [12] Keras. https://keras.io/, 29. 6. 2019. [13] Žan Korpar. Predikcija športnih rezultatov z uporabo Rekurentna nevronska mreža se uporabi na primeru napo- strojnega učenja. Fakulteta za elektrotehniko, vedovanja zmagovalca nogometne tekme, ali pade več kot računalništvo in informatiko Univerze v Mariboru, 1,5 ali 2,5 gola na tekmo in ali obe ekipi zadeneta. Upora- Maribor, 2018. bljene so angleška, francoska, italijanska, nemška, španska in slovenska liga ter tekmovanji Copa America in svetovno prvenstvo. Napovedljivost zmagovalca ligaških tekem je od 61 do 72 odstotkov, zmagovalca nogometnih turnirjev pa od 65 do 66 odstotkov. Napovedljivost, ali pade več kot 1,5 gola je od 71 do 85 odstotkov, ali pade več kot 2,5 pa od 53 do 64 odstotkov, podobni rezultati so tudi pri napovedovanju, ali obe ekipi zadeneta, in sicer od 54 do 67 odstotkov. Nadaljne delo bi zajemalo pridobivanje večjega števila po- datkov. Za nogometne lige imamo podatke od začetka 90. let naprej, kar za Slovenijo sicer predstavlja 100 odstotkov podatkov, ampak ostale lige pa segajo dalje v preteklost in bi ti podatki mogoče lahko pomagali. Še ena izboljšava bi bila drugačno preoblikovanje podatkov, oziroma uporaba drugih podatkov nogometne statistike (npr. število kotov ali šte- vilo kartonov). Zanimivo bi bilo tudi preizkusiti drugačno arhitekturo nevronske mreže v smislu različnih plasti reku- rentne nevronske mreže ali pa kombinacijo različnih tipov nevronskih mrež. 6. LITERATURA StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 110 Izboljšanje zaznave sovražnega in zlonamernega govora s pomo čjo slovarja besed Sašo Kolac Aljaž Soderžnik Simon Slemenšek Fakulteta za elektrotehniko, Fakulteta za elektrotehniko, Fakulteta za elektrotehniko, računalništvo in informatiko računalništvo in informatiko računalništvo in informatiko Inštitut za računalništvo Inštitut za računalništvo Inštitut za računalništvo Koroška cesta 46, Koroška cesta 46, Koroška cesta 46, 2000 Maribor, Slovenija 2000 Maribor, Slovenija 2000 Maribor, Slovenija saso.kolac@student.um.si aljaz.soderznik@student.um.si simon.slemensek1@student.um.si Borko Bošković Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za računalništvo Koroška cesta 46, 2000 Maribor, Slovenija borko.boskovic@um.si POVZETEK poniževalna ali takšna, da spodbujajo nasilje [9]. Njegov cilj V članku je predstavljena metoda, ki temelji na optimizaciji je razčlovečiti tiste, proti katerim je namenjen. Prepozna- predprocesiranja besedil z namenom izboljšati natančnost vanje takšnih besedil na spletu je dandanes zelo pomembno, klasifikacije sovražnega govora z uporabo algoritmov stroj- saj imajo socialni mediji [6, 8] zelo velik vpliv na človeško nega učenja. Žaljive kratice in zaznamke nadomestimo z psiho. žetonom , s čimer algoritmi lažje klasificirajo sovražni in zlonamerni govor. V članku so primerjani re- Družbena omrežja in razne platforme za objavljanje sple- zultati klasifikacij z in brez naše metode algoritmov naivni tnih videoposnetkov v svojih pravilih prepovedujejo širjenje bayes, logistične regresije, podporni vektorji, naključni goz- sovraštva proti družbenim skupinam, posameznicam in po- dovi, gradiento pospeševanje regresijskih gozdov, nevronske sameznikom. Prepovedujejo tudi grožnje in nadlegovanje mreže in ”Bagging”klasifikator. Testna besedila smo dobili ter omejujejo objavljanje vsebin, ki niso primerne za mla- iz socialnega omrežja Twitter. doletne. Facebook, Twitter, YouTube, Microsoft, Google+, Instagram in Snapchat so se s podpisom posebnega kode- Kjučne besede ksa zavezali, da bodo večino upravičenih prijav nezakoni- tega sovražnega govora pregledali v roku 24 ur in onemogo- jezikovne tehnologije, klasifikacija, sovražni govor, strojno čili dostop do teh vsebin ob upoštevanju lokalne in evropske učenje, zlonamerni govor zakonodaje. 1. UVOD Problem na katerega naletimo je preveliko število besedil Svoboda izražanja je temeljna človekova pravica in predpo- oz. objav, da bi lahko ljudje ročno preverjali, če se besedilo goj za obstoj demokratične družbe. Kot vse pravice, tudi dejansko uvršča pod sovražni govor. Eden izmed načinov svobode izražanja ni dopustno izrabljati na škodo drugih in za soočanje s tem problemom so algoritmi strojnega učenja je zamejena s človekovim dostojanstvom in z načelom va- [1, 7, 10], ki omogočajo dokaj uspešno zaznavo sovražnega rovanja javnega reda in miru. Nekatere oblike izražanja so govora. zato zakonsko prepovedane ali veljajo za družbeno nespreje- mljive, na primer grožnje, žalitve, komunikacija z namenom V tem delu smo se osredotočili na predprocesiranje besedila preslepitve in sovražni govor. v tvitih, tako da smo s pomočjo slovarja žaljivih besed zame- njali vse žaljive besede, ki so se pojavile v besedilih tvitoh Sovražni in zlonamerni govor se navezujeta na besedila, ki z žetonom . Nad predprocesiranim besedilom so do posameznikov ali skupine ljudi žaljiva, prestrašujoča, smo nato uporabili algoritme različnih vej strojnega učenja v programskem jeziku Python in medsebojno primerjali rezul- tate z in brez modifikacije pri predprocesiranju. Podatkovno bazo s približno 100.000 tviti smo pridobili iz repozitorija [3]. V pričujočem poglavju bomo predstavili ugotovitve sorodnih del. Sledi poglavje, ki opisuje predstavljeno metodo, ter po- tek eksperimenta z analizo rezultatov. Temu poglavju sledi poglavje, ki govori o naši razlagi rezultatov. Nazadnje sledi še zaključek, ki povzema ključne ugotovitve našega dela. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.111-114 Koper, Slovenia, 10 October 111 2. SORODNA DELA za zaznavanje rasističnih in seksističnih besedil. Za enoko- Podobno delo so opravili v [5], kjer so avtorji preizkusili pet račno metodo so ugotovili, da je najboljša rešitev nevronska modelov tradicionalnega strojnega učenja in nekaj modelov mreža HybridCNN z vrednostjo mere F1 82.7 %, za dvoko- temelječih na nevronskih mrežah. Uporabili so naslednje račno pa tradicionalni model logistične regresije z vrednostjo modele: mere F1 82.4 %. Članek [7] opisuje klasifikacijo besedil na twitterju v katego- 1. Tradicionalni modeli strojnega učenja: rije seksistično, rasistično ali nič od tega. Preizkusili so ve- liko različnih arhitektur globokega učenja in z eksperimenti • Naivni Bayes (NB): z aditivno konstanto gla- pokazali, da so metode temelječe na semantični analizi be- jenja 1, sed boljše od metod temelječih na znakovnih in besednih • Logistična regresija (LR): Linearna z L2 regu- n-gramih za približno 18 % vrednosti mere F1. larizacijsko konstanto 1 in z BFGS optimizacijo za omejen spomin, Članek [1] opisuje metodo za avtomatizirano zaznavo sovra- • Metoda podpirnih vektorjev (SVM): Line- žnega govora na twitterju z ekstrakcijo lastnosti besedil na arna z L2 regularizacijsko konstanto 1 in s funk- različnih konceptualnih nivojih in apliciranjem več razredne cijo logistične izgube, klasifikacije nad njimi. Sistem izkorišča variacije statističnih modelov in vzorce temelječe na pravilih. Obstaja tudi pomo- • Metoda naključnih gozdov (RF): Porazdeli- žni repozitorij z uteženimi vzorcei, ki izboljšajo natančnost tev verjetnosti napovedi 10 naključnih dreves od- tako, da povežejo besedilo z njegovim ocenjenim vnosom. ločanja, • Metoda gradientnega pospeševanja regre- 3. PREDSTAVITEV METODE IN EKSPERI- sijskih gozdov (GBT): S konstanto učenja 1 in s funkcijo logistične izgube. MENTA 3.1 Metoda 2. Modeli temelječi na nevronskih mrežah: Predstavljena metoda temelji na optimizaciji predprocesi- • Konvolucijska nevronska mreža (CNN): Mo- ranja besedil z namenom izboljšati natančnost klasifikacije deli uporabljajo križno entropijo s softmax, kot sovražnega govora z uporabo algoritmov strojnega učenja. funkcijo izgube in Adam kot optimizator, Ključna razlika med predstavljeno metodo in metodami dru- • Ponavljajoče se dvosmerna nevronska mreža gih avtorjev se skriva v koraku predprocesiranja. Pri pred- (RNN): Modeli uporabljajo križno entropijo s si- stavljeni metodi v tem koraku poleg vseh ostalih tipičnih gmoid, kot funkcijo izgube in Adam kot optimiza- elementov predprocesiranja, vse besede iz vsebine sporočila, tor. Uporabljen je tudi vratni mehanizem GRU, ki so v slovarju žaljivih besed, zamenjamo z žetonom , s čimer algoritmi lažje klasificirajo sovražni in zlo- namerni govor. Modele so preizkusili na sovražnih in zlonamernih besedilih Delovanje predstavljene metode je podrobno opisano v na- iz socialnega omrežja Twitter. Predstavili so možnost iz- slednjem podpoglavju, ko opisujemo izvedbo eksperimenta. boljšave klasifikatorjev z uporabo dodatnih lastnosti in kon- tekstnih podatkov. Iz eksperimentov so ugotovili, da je naj- 3.2 Eksperiment bolj natančen model temelječ na dvosmerni nevronski mreži z GRU, naučen na besednih lastnostih z metodo modulov Za implementacijo smo uporabili programski jezik Python. za grozdenje latentnih tem. Izmerjena vrednost mere F1 za Ene izmed pomembnejših knjižnic, ki smo jih uporabili v model je bila 80.5 %. implementaciji so Numpy, katera nudi hitre in učinkovite operacije na poljih. Programski jezik razširi v visoko ni- Članek [2] opisuje metodo za zaznavanje neprimernega ob- vojni jezik za manipulacijo numeričnih podatkov podobno našanja uporabnikov na Twitterju. Predstavili so tudi ro- jeziku Matlab. Sklearn smo uporabili za orodja, ki jih nudi bustno metodologijo za ekstrakcijo besedil, uporabniških in za rudarjenje in analizo podatkov. Uporabili smo še knji- omrežno temelječih atributov, preučevanja lastnostni agre- žnico Pandas, ki nudi dobre podatkovne strukture in orodja sivnih in ustrahujočih uporabnikov ter kakšne lastnosti jih za analizo podatkov in NLTK, ki je knjižnica za podporo ločijo od navadnih uporabnikov. Ugotovili so, da uporab- programom, ki se ukvarjajo z naravnim jezikom ter Tweepy, niki, ki ustrahujejo, manj objavljajo na splet, so deležni manj ki poenostavi dostop do API-jev socialnega omrežja Twitter. socialnih skupin in so manj popularni od navadnih uporab- nikov. Agresivni ljudje so relativno popularni in imajo več 3.2.1 Pridobivanje korpusa negativnosti v svojih objavah. Dokazali so, da lahko algo- Za pridobivanje podatkov smo najprej morali na socialnem ritmi strojnega učenja zaznajo agresivno in ustrahojoče ve- omrežju Twitter zaprositi za spletni račun razvijalca. S tem denje uporabnikov z več kot 90 % AUC (angl. Area Under smo pridobili dostop do Twitterjeve spletne storitve v katero the Curve). smo pošiljali IDje tvitov iz repozitorija [3], storitev pa nam je vrnila vsebino tvita. Zaradi omejitve števila klicov spletne Delo [4] opisuje dvokoračno metodo klasifikacije zlonamer- storitve je pridobivanje vseh tvitov iz repozitorija trajalo nega jezika na twitterju in nato nadaljno delenje teh klasifi- približno 72 ur. Od 99799 tvitov, katere smo pridobili iz kacij v specifične tipe. To metodo primerjajo z enokoračno, repozitorija [3] smo jih s pomočjo spletne storitve Tiwtter ki opravi samo eno več razredno klasifikacijo v delenje tipov uspešno prenesli 79768, saj so Twitterjevi moderatorji nekaj StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 112 žaljivih in zlonamernih tvitov od takrat, ko je bila baza z IDji tvitov objavljena že uspešno odstranili. Izvajanje učnih algoritmov je implementirano v programskem jeziku Python po zgledu članka [5]. 3.2.2 Predprocesiranje Gre za klasično predprocesiranje besedila, kot je odstrani- tev posebnih znakov, ”hash tags”, spletne povezav in po- dobnih elementov z uporabo regularnih izrazov. Podatke razdelimo na 10 naključnih prečnih preverjanj (ang. folds). Z našo metodo, še v objavah iz Twitterja zamenjamo žaljive besede z žetonom za nadaljno boljše učenje algoritmov. Kot žaljive besede smo smatrali vse besede, ki so se pojavile na seznamu Googlovih prepovedanih be- sed (vir: https://www.freewebheaders.com/full-list-of-bad- words-banned-by-google/). Slika 1: Primerjava uspešnosti metod za zaznavo so- vraznega govora 3.2.3 Implementiranje dodatnih učnih algoritmov Zraven naštetim učnim algoritmom članka [5] v poglavju 2 smo še implementirali nevronsko mrežo MLP in tradicionalni model ”Bagging”klasifikator. Nevronsko mrežo smo izbrali zaradi dobrih rezultatov v sorodnih člankih. Za izbran tra- dicionalni model pa je znano, da dobro deluje kadar nimajo besede zelo podobnih pomenov. 3.2.4 Učenje in evaluacija algoritmov Po predprocesiranju smo algoritme učili 2 krat. Enkrat z našo metodo optimizacije in enkrat brez. Po končanem uče- njo smo še naredili evulacijo pridobljenih učnih modelov. Največjo pomembnost smo namenili meri F1 - enačba (1), ki predstavlja harmonično povprečje med senzitivnstjo in preciznostjo. Najboljšo vrednost doseže pri 1 (popolna pre- ciznost in senzitivnost), najslabšo pa pri številu 0. Slika 2: Primerjava uspešnosti metod za zaznavo zlo- namernega govora preciznost · senzitivnost F1 = 2 · (1) preciznost + senzitivnost metod. Z modificiranim predprocesiranjem se je mera F1 še 3.3 Analiza rezultatov dodatno poslabšala na 33 % (MLP) in 34 % (BC). Pri vsaki metodi smo naredili deset poskusov z naključno izbranimi podatki. Uporabljali smo mero F1, preciznost, Pri zaznavi zlonamernega govora sta se metodi MLP in BC senzitivnost, mikro, makro ter uteženo povprečje. Primer- odrezali malce bolje, še vedno pa nista bili med najnatanč- java rezultatov je narejena glede na povprečje vseh poskusov nejšimi. Brez uporabe slovarja pri predprocesiranju si je z uporabo mere F1, kot je razvidno na slikah 1 in 2. metoda BC delila četrto mesto z metodo RF, obe sta imeli mero F1 85 %. Medtem, ko si je metoda MLP delila zadnje Slika 1 prikazuje mero F1 posameznih metod brez in z našo mesto z metodo NB z mero F1 83 %. Ko smo vključili še modifikacijo pri predprocesiranju besedila v tvitih. Pri so- predprocesiranje s slovarjem je metoda BC skupaj z meto- vražnem govoru nam je uspelo metodo SVM v povprečju dama GBT in RF celo kazala najslabšo mero F1 izmed vseh izboljšati za 7 %, medtem ko so metode NB, LR, RF in metod 80 %, metoda MLP pa je bila le mesto nad njimi z MLP ostale primerljivo dobre. Občutno poslabšali pa sta se mero F1 81 %. metodi GBT in BC (za 9 % oziroma 8 %). Pri vseh metodah smo uporabili optimalne parametre, ka- Kot je razvidno iz slike 2 nam pri zaznavanju zlonamernega teri so bili izračunani s pomožno funkcijo. Tako smo dobili govora z modifikacijo pri predprocesiranju ni uspelo doseči za SVM parameter Alpha vrednost 0.0001, izguba je bila boljše mere F1 pri nobeni metodi . Najslabše rezultate smo logaritmična s kaznijo 12, L1 razmerje 0.15, ter moč T pa- dosegli pri metodah GBT in BC (7 % oziroma 5 % poslab- rametra 0.5. Pri metodi NB smo dobili parameter Alpha z šanje s predprocesiranjem). Zakaj menimo, da je temu tako, vrednostjo 1 in omogočili učenje z zgodovino. Pri LR me- smo opisali v naslednjem poglavju. todi smo uporabili logaritem Lbgfs s kaznijo 12 ter omejili iteracije na 100. Za GBT metodo smo omejili globino na Pri zaznavi sovražnega govora sta nam metodi, ki smo ju 1 in uporabili število približkov na 100 ter stopnjo učenja dodatno implementirali (MLP in BC) prinesli najslabše re- 0.1. Metoda RF je bila najmanj omejena, saj nismo ome- zultate mere F1 (37 % in 42 %) od vseh sedmih preizkušenih jevali globine in širine, uporabili pa smo kriterijsko metodo StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 113 Gini. Pri metodi MLP smo uporabili skrite nivoje velikosti vse žaljive besede preslikale v enak vektor. To pa je algo- 100, parameter Alpha z vrednostjo 0.0001, število iteracij ritmu omogočilo lažje doloćanje hiperravnine, zaradi manj- smo omejili na 200 in uporabljali algoritem Adam. Za BC šega šuma v podatkih. metodo smo uporabili 5 približkov z neomejenim številom opravil, vsi približki so imeli tudi namestnike po funkciji Bootstrap. Literatura 4. DISKUSIJA [1] Sasha Uritsky Stan Matwin Amir H. Razavi, S pomočjo predlaganega predprocesiranja smo poenotili ža- Diana Inkpen. Offensive language detection using ljive besede. To pa je algoritmu SVM omogočilo, da je do- multi-level classification. Canadian AI 2010: Advances segel boljše rezultate. Razlog temu bi lahko bil ta, da so se in Artificial Intelligence, Berlin, Heidelberg, 2010. vse žaljive besede preslikale v isti vektor. To pa je algoritmu [2] Jeremy Blackburn Emiliano De Cristofaro Gianluca omogočilo lažje določanje hiperravnin zaradi manjšega šuma Stringhini Athena Vakali Despoina Chatzakou, v podatkih. Nicolas Kourtellis. Mean birds: Detecting aggression and bullying on twitter. WebSci ’17, Troy, NY, USA, Pri predprocesiranju smo v slovarju imeli tako zlonamerne, 2017. kot tudi sovražne besede. Ko smo te besede zamenjali z ena- [3] Antigoni-Maria Founta, Constantinos Djouvas, kim žetonom, smo posplošili klasifikacijo in zmanjšali razlike Despoina Chatzakou, Ilias Leontiadis, Jeremy med vrstami besedil. Blackburn, Gianluca Stringhini, Athena Vakali, Michael Sirivianos, and Nicolas Kourtellis. Large scale V prihodnosti bi lahko predprocesiranje izboljšali z večjim crowdsourcing and characterization of twitter abusive in boljšim slovarjem. Lahko bi ločili besede slovarja za vsak behavior. In 11th International Conference on Web razred klasifikacije. Lahko bi v slovar vključili besedne zveze and Social Media, ICWSM 2018. AAAI Press, 2018. in fraze. [4] Pascale Fung Ji Ho Park. One-step and twostep classification for abusive language detection on Natančnost klasifikacij, bi lahko izboljšali z bolj podrobnim twitter. Proceedings of the First Workshop on Abusive deljenjem žaljivih besed na več različnih žetonov (v tem po- Language Online, Vancouver, BC, Canada, 2017. skusu je samo 1 tip žetona). Nadalje bi jo izboljšali z raz- [5] Younghun Lee, Seunghyun Yoon, and Kyomin Jung. širjanjem slovarja žaljivih besed. Comparative studies of detecting abusive language on twitter. Proceedings of the Second Workshop on Lahko bi uporabili različni korpus za zlonamerni in sovražni Abusive Language Online (ALW2), Brussels, Belgium, govor. S tem bi dosegli bolj robustno in podrobno zaznavo 2018. žaljivega govora. Po primerjanju rezultatov, bi še lahko po- [6] Chikashi Nobata, Joel Tetreault, Achint Thomas, skusili zgraditi nove hibridne in amsambelske metode učenja Yashar Mehdad, and Yi Chang. Abusive language iz najboljših testiranih algoritmov. detection in online user content. WWW ’16 Proceedings of the 25th International Conference on 5. ZAKLJU ČEK World Wide Web, Montréal, Québec, Canada, 2016. Na spletu je veliko različnih primerkov sovražnega in zlo- [7] Manish Gupta Vasudeva Varma Pinkesh Badjatiya, namernega govora. Pri prepoznavi je eden izmed problemov Shashank Gupta. Deep learning for hate speech možne variacije žaljivih besed, ki imajo podoben pomen. Re- detection in tweets. WWW ’17 Companion zultati našega dela so pokazali, da lahko naredimo majhno Proceedings of the 26th International Conference on izboljšavo klasifikacij sovražnega govora takih primerov pri World Wide Web Companion, Perth, Australia, 2017. algoritmu SVM, če zmanjšamo raznolikost žaljivih besed s [8] Sara Sood, Judd Antin, and Elizabeth Churchill. slovarjem žaljvih besed, ki te besede zamenja z žetonom. Profanity use in online communities. CHI ’12 Proceedings of the SIGCHI Conference on Human Uspešnost naših metod smo ocenili z mero F1. Strokovnjaki Factors in Computing Systems, Austin, Texas, USA, so dosegli z njihovo najboljšo izkazano metodo SVM pri so- 2012. vražnem govoru mero F1 z vrednostjo 78 %, z našo metodo [9] William Warner and Julia Hirschberg. Detecting hate slovarja žaljivih besed pa smo dosegli vrednost 85 %. Za zlo- speech on the world wide web. Proceedings of the namerni govor so s to metodo dosegli vrednost mere F1 87 Second Workshop on Language in Social Media, %, z našo metodo pa smo dosegli le 83 %. Pri ostalih rezul- Montréal, Canada, 2012. tatih smo glede na mero F1 za sovražni in zlonamerni govor [10] Guang Xiang, Bin Fan, Ling Wang, Jason Hong, and dosegli slabše rezultate pri metodah naivni bayes, linearna Carolyn Rose. Detecting offensive tweets via topical regresija, gradient boosting dreves in naključni gozd. feature discovery over a large scale twitter corpus. CIKM ’12 Proceedings of the 21st ACM international Prav tako je do razlik v rezultatih enakih testiranih učnih conference on Information and knowledge metod kot v članku [5], prišlo zaradi tega, ker nismo mogli management, Maui, Hawaii, USA, 2012. pridobiti vseh tvitov iz baze, ker so upravljalci Twitterja med tem že izbrisali nekatere zlonamerne in sovražne tvite. S pomočjo predlaganega predprocesiranja smo poenotili ža- ljive besede. To pa je algoritmu SVM omogočilo, da je do- segel boljše rezultate. Razog temu bi lahko bil to, da so se StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference Koper, Slovenia, 10 October 114 Investigating patterns using cellular automata László Tóth University of Szeged 13 Dugonics square Szeged, Hungary tothl@jgypk.u-szeged.hu ABSTRACT Complex systems based on a simple rule generates random, chaotic patterns. Examples of such models include cellular automata (CA). Over fifty years of CA research have been applied and analyzed in several CA fields, but their network topology study is still not significant. How a cell can influence its environment is very important in CA models. The chaotic behaviors cause, that the information carried by the system can be of great importance for a pattern that will be passed down through generations. During our research it was implemented a framework that can determine a communication network formed by Langton’s CAs cells. This allows us to analyze factors that can influence the spread of information carried by cells. It is possible to simulate and analyze dynamically changing patterns with the proper parameterization of the developed system. These patterns created by cell cultures are grown in neurobiological labs. Keywords cellular automata, information spreading, cellular communication Acknowledgments The author was supported by the EU-funded Hungarian grant EFOP-3.6.2-16-2017-00015. StuCoSReC Proceedings of the 2019 6th Student Computer Science Research Conference DOI: https://doi.org/10.26493/978-961-7055-82-5.115 Koper, Slovenia, 10 October 115 StuCoSReC University of Primorska Press www.hippocampus.si ISBN 978-961-7055-82-5 Document Outline Fister jr., Iztok, Andrej Brodnik, Matjaž Krnc and Iztok Fister (eds.). StuCoSReC. Proceedings of the 2019 6th Student Computer Science Research Conference. Koper: University of Primorska Press, 2019 Colophone Preface Contents Dušan Fister and Timotej Jagrič ◆ Online Long Short-Term Memory Network for Stock Trading Boštjan Bubnič ◆ Defining computational thinking framework for introductory programming in higher education Michele Perrone, Urban Knupleš, Mitja Žalik, Vid Keršič and Tadej Šinko ◆ Passive Floating Probe László Zahorán and András Kovács ◆ Efficient Collision Detection for Path Planning for Industrial Robots Ágnes Vida and Boglárka G.-Tóth ◆ Sensitivity analysis for p-median problems Máté Pintér and Balázs Dávid ◆ A two-stage heuristic for the university course timetabling problem Urban Košale, Pia Žnidaršič and Kristjan Stopar ◆ Detection of different shapes and materials by glasses for blind and visually impaired Klemen Berkovič, Uroš Mlakar, Borko Bošković, Iztok Fister and Janez Brest ◆ Comparison of clustering optimization for classification with PSO algorithms Balázs Csutak, Tamás Péni and Gábor Szederkényi ◆ Hierarchical Routing Algorithm for Industrial Mobile Robots by Signal Temporal Logic Specifications Krishna Gopal Dhal, Swarnajit Ray, Arunita Das, Iztok Fister Jr. and Sanjoy Das ◆ Decolorization of Digital Pathology Images: A Comparative Study Matic Pintarič and Sašo Karakatič ◆ Solving multi-depot vehicle routing problem with particle swarm optimization Sašo Pavlič and Sašo Karakatič ◆ Recognizing the subject exposure from the EEG signals with artificial neural networks Grega Vrbančič, Milan Zorman and Vili Podgorelec ◆ Transfer Learning Tuning Utilizing Grey Wolf Optimizer for Identification of Brain Hemorrhage from Head CT Images Marko Zabreznik and Jernej Kranjec ◆ System for remote configuration and over the air updates in restricted environments Gyöngyvér Vass and Boglárka G.-Tóth ◆ Covering problems and Influence maximization Csaba Botos, Tamás Hakkel, Márton Áron Goda, István Z. Reguly and András Horváth ◆ Strong deep learning baseline for single lead ECG processing Žan Grajfoner and Lucija Brezočnik ◆ Primerjava osnovnega algoritma po vzoru obnašanja netopirjev in njegove hibridne različice HBA Domen Kavran, Robi Novak, Jan Banko, Rok Potočnik, Luka Pečnik and Borko Bošković ◆ Nadgradnja algoritma FLORS za besednovrstno označevanje slovenskih besedil Klemen Kac and Bor Praznik ◆ Analiza igralnih strategij v iterativni zaporniški dilemi Nejc Planer and Mladen Borovič ◆ Napovedovanje nogometnega zmagovalca z rekurentno nevronsko mrežo LSTM Sašo Kolac, Aljaž Soderžnik, Simon Slemenšek and Borko Bošković ◆ Izboljšanje zaznave sovražnega in zlonamernega govora s pomočjo slovarja besed László Tóth ◆ Investigating patterns using cellular automata