Application of rule rewriting system to software automated tuning

Size: px
Start display at page:

Download "Application of rule rewriting system to software automated tuning"

Transcription

1 Applicatio of rule rewritig system to software automated tuig Ivaeko P.A., Dorosheko A.Y. Istitute of Software Systems of Natioal Academy of Scieces of Ukraie, Glushkov av. 40, Kyiv, Ukraie Abstract. This paper presets a techical report o developmet of auto-tuig framework TuigGeie for parallel programs performace acceleratio. The framework works with source code of software ad performs code-to-code trasformatios by utilizig facilities of rule-based rewritig system. Such approach gais higher flexibility comparig to existig solutios. This paper explais the framework s lifecycle, offers toolset for optimizatio, basics of architecture, ad presets demo examples with results of tuig computatioally complex parallel program. Keywords Software automated tuig, rule rewritig systems, parallel software optimizatio. 1 Itroductio Curret ad emergig scietific ad idustrial applicatios require sigificat computatio power provided by parallel platforms such as multicore, clusters, Grids, cloud computig ad GPGPU. Therefore, optimizig applicatio code for a give parallel platform is a sigificat part of developmet process. The problem is that powerful computatio platform does ot guaratee applicatio performace: developer effort is required to achieve it. Programmig efficiet algorithm has always bee a challegig task. It is made eve harder by widespread use of multicore processors. The performace growth of a multithreaded program is limited by Amdahl's law [1], so efficiet programs should miimize the fractio of sequetial computatio as well as sychroizatio ad commuicatio overhead. Such optimizatios are usually hardware platform-depedet, ad the program that was optimized for oe problem is likely ot optimal o aother platform. Therefore there is a eed of tools that could perform such adaptatio to cocrete platform i automated mode. Oe traditioal solutio of this problem is provided by parallelizig compilers [2-3]. The quality of automated parallelizatio has icreased recetly; still, such tools are oly applicable to programs with simple structure of computatio. The reasos iclude the complexity of static aalysis of large codebases, icreasig complexity of parallel architectures, as well as their diversity. A alterative to parallelizig compilers is provided by auto-tuig [4] a method that has already prove its efficiecy ad versatility. It ca automate the search for the optimal program variat out of set of provided possibilities, by ruig each cadidate ad measurig its performace o a give parallel architecture. Its mai beefit is high level of abstractio program is optimized without explicit kowledge of hardware implemetatio details, such as umber of cores, cache size or memory access speed o various levels. Istead, the parallel program uses subject domai cocepts such as umber ad size of idepedet tasks, or algorithm details such as data traversal methods. The drawbacks of auto-tuig approach iclude sigificat oe-time costs of optimizatio process itself: if the umber of program variats is large eough, the optimizatio process may ru for may hours ad eve days. Also there is a additioal developmet overhead creatio of auto-tuer applicatio. This paper cosiders a uiversal framework for automated geeratio of auto-tuer applicatios from source code. Proposed approach solves may of the described drawbacks ad is versatile eough to be applied i ay subject domai

2 2 Framework overview TuigGeie framework optimizes programs by geeratig a stad-aloe tuer applicatio. This approach allows ecapsulatig the optimizatio logic i auto-tuer, simplifyig developmet ad maiteace for the target applicatio. To avoid the auto-tuig problems described i Sectio 1, the framework works with program source code usig expert kowledge of a developer ad automatio facilities from the framework. Developers add metadata to the source code i form of special commets-pragmas or Java aotatios. Such expert kowledge reduces umber of program variats to be evaluated ad therefore icreases optimizatio speed. Also such approach allows TuigGeie to provide domaiidepedet optimizatio, ulike may existig specialized tools like ATLAS [5] ad FFTW [6]. Our TuigGeie framework is quite similar to Atue-IL [7] a laguage extesio for auto-tuig. The mai differece of TuigGeie is due to term rewritig egie that is used for source code trasformatio. Represetig program code as a term allows modifyig program structure i a declarative way. This feature sigificatly icreases the capabilities of auto-tuig framework. 3 Tuig lifecycle The software implemetatio of the auto-tuig system is based o rewritig rules system TermWare[8-9]. TermWare implemets a cocept of termial systems, i.e. object structures ad rewritig rules with explicit actios that iteract with the kowledge base. Thaks to this system, TuigGeie ca extract expert kowledge from program source code ad geerate a ew versio of program o each tuig iteratio. TermWare traslates source code ito a term ad provides trasformatio tools based o rewritig rules. Therefore TuigGeie ca perform structural chages i program computatios usig declarative style (without explicit chages to source code). This property distiguishes TuigGeie from similar systems, such as AtueIL[7]; it is quite useful whe there is a eed to optimize large existig parallel programs. Curret versio of TermWare cotais compoets for iteractio with Java ad C# laguages. To support other laguages, a parser to traslate source code ito TermWare laguage ad a pretty-priter should be implemeted. Curret versio of TuigGeie supports Java programs. The commo workflow of the TuigGeie framework is show o Fig. 1. Fig. 1. Tuig workflow TuigGeie accepts as a iput Java source code marked with so-called "pragmas". Pragmas describe cofiguratios ad trasformatios of program that affect its performace. Pragmas are specified maually by program developers, usig Java commets of a special form. Durig the parsig of source code ito a term, the auto-tuer builds a set of cofiguratios based o these expert data. The these cofiguratios are traslated ito rewritig rules. Also o this "prelimiary" stage some values of program parameters are calculated (see the "calculatedvalue" pragma i Sectio 4). The results of this stage iclude a

3 program term, a set of parameterized rewritig rules ad a set of rule cofiguratios C that specify the cocrete parameter values. Each of these cofiguratios specifies a uique variat of iput program. steps: The TuigGeie searches for the most efficiet cofiguratio C opt C, by iteratively performig the followig 1. Select a cofiguratio to test С * C 2. Geerate ad compile the correspodig program variat. The parameters from a give cofiguratio are substituted ito the rules; the these rules are executed o the source term of the parallel program. After the trasformatio is complete, the term is trasformed ito Java source code usig TermWare facilities. The code is compiled usig commo JDK tools. The result of this step is a ew versio of the program ready for performace measuremet. 3. Execute the program ad evaluate its performace. A small laucher class is geerated automatically. It * rus the program ad measures its executio time, therefore computig f ( С ) = t 4. If all cofiguratios from the set C have bee evaluated or if the optimizatio process has used up all the allotted time go to step 5. Else go to step The optimal cofiguratio is selected from a set of all cofiguratio that have bee * * evaluated: C opt = C : f ( C ) = fmi. For this cofiguratio, a optimal program versio is geerated, as i step 2. The program obtaied as a result of steps 1-5 is saved ad executed i a target eviromet. This program is cosidered optimal for a give architecture. 4 TuigGeie facilities As already metioed i sectio 3, the expert kowledge about subject domai ad implemetatio is saved i source code as a special directives called "pragmas" (by aalogy with C laguage). "Pragmas" are actually commets of a special form, therefore they are igored by compiler. Addig pragmas does ot chage the structure of computatio, ad such istrumeted program ca be compiled by ay compiler without additioal libraries. Curretly the TuigGeie framework supports three kids of pragmas: tueableparam specifies a search domai for a optimal value of a umeric variable. E.g. the followig pragma sets the possible values for a threadcout variable as a rage [ ] with a step 10: //tueableparam ame=threadcout start=50 stop=100 step=10 it threadcout = 1; The tueableparam pragma is applicable to the algorithms that use geometrical parallelizatio: it allows to fid the optimal decompositio of computatios by estimatig the size of a block that executes o a sigle processor. It also ca be applied whe we eed to estimate the optimal umber of some limited resources like size of caches or umber of used threads to be used i a program. Aother use of the tueableparam pragma is to fid a optimal threshold value to switch to a differet algorithm. Cosider a sort algorithm that uses QuickSort or MergeSort for large arrays ad applies the same sort recursively to sub-arrays. For some small size of sub-array, it is more efficiet to switch to aother sortig algorithm, such as IsertioSort. The optimal threshold value depeds o processor architecture ad ca be determied experimetally. TuigGeie framework allows fidig this value with miimal chages to source code:. //tueableparam ame=threshold start=10 stop=100 step=5 it threshold = 1; if (high - low < threshold) { isertiosort(array, low, high); } else { addpartitioforquicksort(array, low, high) }. calculatedvalue pragma evaluates some fuctio i a target eviromet ad assigs the resultig value to a give variable: //calculatedvalue ame=hdreadspeed method= //"org.tuig.eviromutils.gethdreadspeed()" it hdkbpersec= 1; This pragma ca be used if some algorithm parameters deped o executio eviromet details, such as executio times of arithmetic operatios or memory access o various levels. All such values are

4 calculated before auto-tuig process starts ad saved i TermWare kowledge base. The data stored i kowledge base is accessible from rewritig rules, so calculatedvalue ca specify the value rage for the tueableparam pragma. I this way, the developer ca ru a small test program to reduce the search domai ad improve auto-tuig speed. The similar approach for GPU computig is described i [10]. bidirectioalcycle ca be used to specify loops were the iteratios ca be ru i ay order. I the followig example TuigGeie will evaluate both icremet (0 to SIZE-1) ad decremet (SIZE-1 to 0) versios: it[] data = ew it[size]; //bidirectioalcycle for (it i=0; i <SIZE; i++) { dosomethigwith(data[i]); } Chagig iteratio order ca affects cache efficiecy ad might sigificatly improve executio time. 5 Case study 5.1 Problem defiitio This sectio presets a case study o the performace tuig of a applicatio for short-term atmospheric circulatio modellig (from hours to several days). Full defiitio of model ad method for umerical solutio ca be foud i [11]. Here we ll show simplified problem defiitio to give a geeral idea. Cosidered model describes macro-scale processes. Their usual horizotal extet is of the order of thousads of kilometers. Typical examples of such processes are equatorial ad mosooal currets, log Rossby waves [12], cycloes ad aticycloes, ridges at etc. Model is based o spherical coordiate system. This work cosiders twodimesioal simplified case that models wid characteristics (directio ad force). Hece model cosists of two evolutio equatios to calculate horizotal compoets of wid force. Model takes state of atmosphere State ( T 0 ) at some momet T 0 as a iput. Suppose we wat to get predictio of state at some momet i future - State( Tm ), Tm > T0. To calculate this program performs series of smaller predictios with time step t << T m T0. So we have recurrece relatio betwee iteratios: State( T ) m = Pr edictio ( State ( T )), m 1 Tm = Tm 1 + t. Note that iteratio step t should be chose from the iterval [5, 20] miutes to provide acceptable accuracy of the result. For the experimet iitial coditios for model were take from a electroic archive of regioal forecastig ceter "Offebach" [13]. Method for umerical solutio of described model allows parallelize computatio o three levels: evolutio equatio level - each of equatio ca be solved idepedetly i scope of oe iteratio; geometric decompositio iput data ca be decomposed for parallel processig; by utilizig a modified additive-averaged operator splittig algorithm [14] it is possible to expad idepedet processig of subtasks to several calculatio iteratios without sigificat loss i accuracy of result Fig. 2 shows how each evolutio equatio is parallelized Fig. 2. Parallelizatio scheme

5 1. We have some State T ) as a iput ad we wat to calculate our predictio for some meteorological ( characteristic u (humidity, horizotal wid speed etc.). T ) State gives us ( u - value of our characteristic at momet T. 2. By utilizig modified additive-averaged operator splittig algorithm we are capable to compute predictio q gives us possibility to compute predictio u + without exchagig itermediate results. So these q steps we are isolated from other sub-tasks. Such approach spares time o sychroizatio but itroduces additioal iaccuracy of results. We defie boudary coditios for momet T + ad iitial coditios. They are costat for steps 3, 4 ad 5. Sice our model is two-dimesioal, calculatio of u is split by special directio o calculatio of u ad 1 u. Each directio is calculated 2 idepedetly. 3. Here geometric decompositio is applied for each directio. Iput area is split o s sub-regios so we have 2 s idepedet sub-tasks. Each subtask iteratively calculates progosis for momets T, T T + q 4. Calculated progoses for T + q from previous steps are eutralized by arithmetical mea. 5. Results from previous step are aggregated ad we derive It s worth metioig, that model is highly scalable sice subtasks with equal size (after decompositio) require equal amout of work idepedetly of what type of physical characteristics is computed. q u + q 5.2 Performace tuig Sectio Tuig facilities provides examples of usig tueableparam ad calculatedvalue pragmas. Let s describe how the third pragma bidirectioalcycle was used i our case study. Moder strategies of workig with processor's cache icrease efficiecy of traversig applicatio's data by precachig eighbourig values. For istace, whe program reads first elemet of array followig elemets also are fetched to fast L1 cache. So whe ext iteratio starts required data might be already i cache. That's why sequetial iteratio over arrays is sigificatly faster. Cout of pre-fetched elemets depeds o size of elemet ad size of cache lie. Basic cocepts of CPU cachig ca be foud at [16]. As already said, everythig should be good whe you access data i array sequetially (eve i iverse order). But i some cases, logically sequetial iteratio is ot sequetial from the data represetatio poit of view. For istace, you ca have Matrix<Iteger> data structure that represets some usual two-dimesioal data (grid) with access by two idexes 'i ' ad 'j'. If itegers are stored i liearized form i oe-dimesioal array the oe of columwise ad row-wise iteratio strategies lead to jumpig amog array elemets, hece high rate of cache misses. With right strategy simple summatio of all elemets of square matrix with 4*10^8 itegers was costatly faster by 6% o my laptop with Core i7-4850hq CPU (32k L1 cache, 256k L2 cache, 6MB L3 Cache). So if your algorithm does a lot of iteratio over big data collectio ad reversig cycle's directio ca lead to data beig accessed i sequetial maer pragma bidirectioalcycle ca speed-up it. For our case study, a applicatio for short-term atmospheric circulatio modellig, the differece due to such chage was almost 15%. Overall performace of parallel program mostly depeds o graularity of data decompositio sice it defies amout of calculatio per subtask hece size of plai parallel sectio. It s reasoable to assume that coarse-graied decompositio will be the most efficiet oe. Let s idetify umber of subdomais as S ad umber of available processors as N. Search area ca be arrowed to values of. Experimet validated assumptio about decompositio of multiprocessor speedup fuctio: T W ( N) = T 0 S N, for istace S [ Ndiv4,4 N] S = N beig the most efficiet oe but also revealed other bedig poit This poit represeted decompositio of iput data ito very small subdomais (about a hudred elemets). Such result ca be explaied by suggestio that all data etirely fit processor caches providig additioal acceleratio of computatio. It s worth metioig that preseted framework eases so-called program s behavior aalysis. Sice it

6 empirically evaluates all cosidered program variatios it s easy to discover tued parameter s impact o overall performace. 5.3 Experimet results This paper does t aalyze coformity of derived meteorological progosis results. Performed research focuses o achievig maximal multiprocessor speedup while preservig acceptable accuracy of results i compariso with sequetial versio. Tab.1. Eviromet cofiguratio Operatig system Width Processors 2хItel Xeo Processor E5405 Quad Core Total cores um. 8 L2-cache capacity 12 Mb RAM 16 Gb A experimet lasted about two hours. Iput data was iterpolated up to size 600x600 to load available computatioal resources. Still, distace betwee poits was about 10 km. Search for optimal value of S was carried by auto-tuer utilizig ad the followig chart describes how log it takes to calculate 24-hour progosis depedig o value of S. It s sigificat to metio that with S = 1 parallel algorithm geerates 4 sub-tasks: 2 equstios 2spartial _ directios. Fig. 3. Time to S relatio Optimized program showed multiprocessor speedup of ( 8) = Coclusio W ad efficiecy ( 8) = 47.75% E. Developmet of efficiet parallel software is a complex task. World-kow thesis states that program is symbiosis of algorithms ad data structures [15]. Parallel programmig model cosiderably complicates both compoets ad the most efficiet programs are derived from their best combiatio. Variety of moder hardware architectures leads to differet combiatios beig optimal for various computatioal eviromets. Thus optimizatio phase cosumes sizeable amout of time ad efforts i developmet of parallel programs. Auto-tuig methodology helps to automate process but i geeral requires creatio of additioal software that performs tuig (tuer) or sigificat chages i software beig optimized. This article itroduced framework for automated geeratio of such tuer-apps. It was desiged with emphasis o miimizatio of required source code chages i optimized program. Mostly such chages are declarative ad do ot affect iitial sources. Such flexibility is reached by utilizig rule-rewritig approach for code trasformatio which sigificatly differs from related solutios

7 Curret TuigGeie versio cotais quite a extesive toolset so reducig time costs of optimizatio is a mai priority i further developmet. There are several promisig directios like itroducig fuctioality for defiig relatio betwee pragmas to reduce amout of probed cofiguratios or partial executio of optimized program. Refereces [1] Amdahl, Gee M.: Validity of the Sigle Processor Approach to Achievig Large-Scale Computig Capabilities. AFIPS Coferece Proceedigs (30): , [2] Oracle Solaris Studio [3] Itel Parallel Compilers [4] Naoo K., Teraishi K., Cavazos J., Suda R. Software Automatic Tuig From Cocepts to State-of-the-Art Results. Spriger, p., [5] R. Whaley, A. Petitet, J. J. Dogarra, Automated em-pirical optimizatios of software ad the ATLAS project. Parallel Computig (1-2), pp.3-35., [6] M. Frigo ad S. Johso, FFTW: A adaptive software architecture for the FF. Acoustics, Speech ad Sigal Processig vol. 3, pp , [7] Schaefer C.A., Pakratius V., ad Tichy W. F. Atue-IL: A istrumetatio laguage for auto-tuig parallel applicatios. Euro-Par '09 Proc. 15th It.Euro-Par Cof. o Parallel Processig Spriger-Verlag Berli, Heidelberg pp. 9-20, [8] TermWare framework [9] Dorosheko, A., Shevcheko, R.: A Rewritig Framework for Rule-Based Programmig Dyamic Applicatios. Fudameta Iformaticae. 72, 1, , [10]Ma W., Krishamoorthy S., Agrawal G. Parameterized Micro-bechmarkig: A Auto-tuig Approach for Complex Applicatios. Proceedigs of the 9th coferece o Computig Frotiers pp , [11]V. A. Prusov, A. E. Dorosheko, R. I. Cherysh, L. N. Guk: Theoretical study of a umerical method to solve a diffusio-covectio problem. Cyberetics ad Systems Aalysis, Volume 44 Issue 2., [12]P. N. Belov, E. P. Borisekov, ad B. D. Pai, Numerical Methods of Weather Predictio {i Russia}, Gidrometeoizdat, Leigrad, [13]Database of regioal meteorological ceter Offebach ftp://ftp-outgoig.dwd.de. [14]V. A. Prusov, A. E. Dorosheko, R. I. Cherysh: A method for umerical solutio of a multidimesioal covectio-diffusio problem. Cyberetics ad Systems Aalysis, Volume 45 Issue 1., [15]Algorithms + Data Structures = Programs Pretice Hall PTR Upper Saddle River, NJ, USA, [16]Harvey G. Crago.: Joes & Bartlett Learig; 1st editio,

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

Improving Template Based Spike Detection

Improving Template Based Spike Detection Improvig Template Based Spike Detectio Kirk Smith, Member - IEEE Portlad State Uiversity petra@ee.pdx.edu Abstract Template matchig algorithms like SSE, Covolutio ad Maximum Likelihood are well kow for

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers *

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers * Load balaced Parallel Prime umber Geerator with Sieve of Eratosthees o luster omputers * Soowook Hwag*, Kyusik hug**, ad Dogseug Kim* *Departmet of Electrical Egieerig Korea Uiversity Seoul, -, Rep. of

More information

Pattern Recognition Systems Lab 1 Least Mean Squares

Pattern Recognition Systems Lab 1 Least Mean Squares Patter Recogitio Systems Lab 1 Least Mea Squares 1. Objectives This laboratory work itroduces the OpeCV-based framework used throughout the course. I this assigmet a lie is fitted to a set of poits usig

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Lecture 5. Counting Sort / Radix Sort

Lecture 5. Counting Sort / Radix Sort Lecture 5. Coutig Sort / Radix Sort T. H. Corme, C. E. Leiserso ad R. L. Rivest Itroductio to Algorithms, 3rd Editio, MIT Press, 2009 Sugkyukwa Uiversity Hyuseug Choo choo@skku.edu Copyright 2000-2018

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Counting the Number of Minimum Roman Dominating Functions of a Graph

Counting the Number of Minimum Roman Dominating Functions of a Graph Coutig the Number of Miimum Roma Domiatig Fuctios of a Graph SHI ZHENG ad KOH KHEE MENG, Natioal Uiversity of Sigapore We provide two algorithms coutig the umber of miimum Roma domiatig fuctios of a graph

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

A Parallel DFA Minimization Algorithm

A Parallel DFA Minimization Algorithm A Parallel DFA Miimizatio Algorithm Ambuj Tewari, Utkarsh Srivastava, ad P. Gupta Departmet of Computer Sciece & Egieerig Idia Istitute of Techology Kapur Kapur 208 016,INDIA pg@iitk.ac.i Abstract. I this

More information

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity

More information

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

More information

Algorithms for Disk Covering Problems with the Most Points

Algorithms for Disk Covering Problems with the Most Points Algorithms for Disk Coverig Problems with the Most Poits Bi Xiao Departmet of Computig Hog Kog Polytechic Uiversity Hug Hom, Kowloo, Hog Kog csbxiao@comp.polyu.edu.hk Qigfeg Zhuge, Yi He, Zili Shao, Edwi

More information

Second-Order Domain Decomposition Method for Three-Dimensional Hyperbolic Problems

Second-Order Domain Decomposition Method for Three-Dimensional Hyperbolic Problems Iteratioal Mathematical Forum, Vol. 8, 013, o. 7, 311-317 Secod-Order Domai Decompositio Method for Three-Dimesioal Hyperbolic Problems Youbae Ju Departmet of Applied Mathematics Kumoh Natioal Istitute

More information

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis IOSR Joural of Egieerig Redudacy Allocatio for Series Parallel Systems with Multiple Costraits ad Sesitivity Aalysis S. V. Suresh Babu, D.Maheswar 2, G. Ragaath 3 Y.Viaya Kumar d G.Sakaraiah e (Mechaical

More information

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5 Morga Kaufma Publishers 26 February, 28 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Set-Associative Cache Architecture Performace Summary Whe CPU performace icreases:

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

A Generalized Set Theoretic Approach for Time and Space Complexity Analysis of Algorithms and Functions

A Generalized Set Theoretic Approach for Time and Space Complexity Analysis of Algorithms and Functions Proceedigs of the 10th WSEAS Iteratioal Coferece o APPLIED MATHEMATICS, Dallas, Texas, USA, November 1-3, 2006 316 A Geeralized Set Theoretic Approach for Time ad Space Complexity Aalysis of Algorithms

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

Fast Fourier Transform (FFT) Algorithms

Fast Fourier Transform (FFT) Algorithms Fast Fourier Trasform FFT Algorithms Relatio to the z-trasform elsewhere, ozero, z x z X x [ ] 2 ~ elsewhere,, ~ e j x X x x π j e z z X X π 2 ~ The DFS X represets evely spaced samples of the z- trasform

More information

Cubic Polynomial Curves with a Shape Parameter

Cubic Polynomial Curves with a Shape Parameter roceedigs of the th WSEAS Iteratioal Coferece o Robotics Cotrol ad Maufacturig Techology Hagzhou Chia April -8 00 (pp5-70) Cubic olyomial Curves with a Shape arameter MO GUOLIANG ZHAO YANAN Iformatio ad

More information

Bayesian approach to reliability modelling for a probability of failure on demand parameter

Bayesian approach to reliability modelling for a probability of failure on demand parameter Bayesia approach to reliability modellig for a probability of failure o demad parameter BÖRCSÖK J., SCHAEFER S. Departmet of Computer Architecture ad System Programmig Uiversity Kassel, Wilhelmshöher Allee

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Neural Networks A Model of Boolean Functions

Neural Networks A Model of Boolean Functions Neural Networks A Model of Boolea Fuctios Berd Steibach, Roma Kohut Freiberg Uiversity of Miig ad Techology Istitute of Computer Sciece D-09596 Freiberg, Germay e-mails: steib@iformatik.tu-freiberg.de

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

condition w i B i S maximum u i

condition w i B i S maximum u i ecture 10 Dyamic Programmig 10.1 Kapsack Problem November 1, 2004 ecturer: Kamal Jai Notes: Tobias Holgers We are give a set of items U = {a 1, a 2,..., a }. Each item has a weight w i Z + ad a utility

More information

FPGA IMPLEMENTATION OF BASE-N LOGARITHM. Salvador E. Tropea

FPGA IMPLEMENTATION OF BASE-N LOGARITHM. Salvador E. Tropea FPGA IMPLEMENTATION OF BASE-N LOGARITHM Salvador E. Tropea Electróica e Iformática Istituto Nacioal de Tecología Idustrial Bueos Aires, Argetia email: salvador@iti.gov.ar ABSTRACT I this work, we preset

More information

Lecture 18. Optimization in n dimensions

Lecture 18. Optimization in n dimensions Lecture 8 Optimizatio i dimesios Itroductio We ow cosider the problem of miimizig a sigle scalar fuctio of variables, f x, where x=[ x, x,, x ]T. The D case ca be visualized as fidig the lowest poit of

More information

CS 683: Advanced Design and Analysis of Algorithms

CS 683: Advanced Design and Analysis of Algorithms CS 683: Advaced Desig ad Aalysis of Algorithms Lecture 6, February 1, 2008 Lecturer: Joh Hopcroft Scribes: Shaomei Wu, Etha Feldma February 7, 2008 1 Threshold for k CNF Satisfiability I the previous lecture,

More information

Fuzzy Linear Regression Analysis

Fuzzy Linear Regression Analysis 12th IFAC Coferece o Programmable Devices ad Embedded Systems The Iteratioal Federatio of Automatic Cotrol September 25-27, 2013. Fuzzy Liear Regressio Aalysis Jaa Nowaková Miroslav Pokorý VŠB-Techical

More information

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP Nature-Ispired Computig Hadlig Costraits Dr. Şima Uyar September 2006 Itroductio may practical problems are costraied ot all combiatios of variable values represet valid solutios feasible solutios ifeasible

More information

Accuracy Improvement in Camera Calibration

Accuracy Improvement in Camera Calibration Accuracy Improvemet i Camera Calibratio FaJie L Qi Zag ad Reihard Klette CITR, Computer Sciece Departmet The Uiversity of Aucklad Tamaki Campus, Aucklad, New Zealad fli006, qza001@ec.aucklad.ac.z r.klette@aucklad.ac.z

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS Prosejit Bose Evagelos Kraakis Pat Mori Yihui Tag School of Computer Sciece, Carleto Uiversity {jit,kraakis,mori,y

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Ruig Time of a algorithm Ruig Time Upper Bouds Lower Bouds Examples Mathematical facts Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite

More information

A Study on the Performance of Cholesky-Factorization using MPI

A Study on the Performance of Cholesky-Factorization using MPI A Study o the Performace of Cholesky-Factorizatio usig MPI Ha S. Kim Scott B. Bade Departmet of Computer Sciece ad Egieerig Uiversity of Califoria Sa Diego {hskim, bade}@cs.ucsd.edu Abstract Cholesky-factorizatio

More information

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem A Improved Shuffled Frog-Leapig Algorithm for Kapsack Problem Zhoufag Li, Ya Zhou, ad Peg Cheg School of Iformatio Sciece ad Egieerig Hea Uiversity of Techology ZhegZhou, Chia lzhf1978@126.com Abstract.

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

More information

GPUMP: a Multiple-Precision Integer Library for GPUs

GPUMP: a Multiple-Precision Integer Library for GPUs GPUMP: a Multiple-Precisio Iteger Library for GPUs Kaiyog Zhao ad Xiaowe Chu Departmet of Computer Sciece, Hog Kog Baptist Uiversity Hog Kog, P. R. Chia Email: {kyzhao, chxw}@comp.hkbu.edu.hk Abstract

More information

Modeling and Predicting the Efficiency of Application Execution in Distributed Environments

Modeling and Predicting the Efficiency of Application Execution in Distributed Environments Proceedigs of the 1th WSEAS Iteratioal Coferece o COMPUTERS, Vouliagmei, Athes, Greece, July 13-15, 26 (pp19-26) Modelig ad Predictig the Efficiecy of Applicatio Executio i Distributed Eviromets AHMED

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

A Very Simple Approach for 3-D to 2-D Mapping

A Very Simple Approach for 3-D to 2-D Mapping A Very Simple Approach for -D to -D appig Sadipa Dey (1 Ajith Abraham ( Sugata Sayal ( Sadipa Dey (1 Ashi Software Private Limited INFINITY Tower II 10 th Floor Plot No. - 4. Block GP Salt Lake Electroics

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19 CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpeCourseWare http://ocw.mit.edu 6.854J / 18.415J Advaced Algorithms Fall 2008 For iformatio about citig these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advaced Algorithms

More information

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana The Closest Lie to a Data Set i the Plae David Gurey Southeaster Louisiaa Uiversity Hammod, Louisiaa ABSTRACT This paper looks at three differet measures of distace betwee a lie ad a data set i the plae:

More information

A Note on Least-norm Solution of Global WireWarping

A Note on Least-norm Solution of Global WireWarping A Note o Least-orm Solutio of Global WireWarpig Charlie C. L. Wag Departmet of Mechaical ad Automatio Egieerig The Chiese Uiversity of Hog Kog Shati, N.T., Hog Kog E-mail: cwag@mae.cuhk.edu.hk Abstract

More information

Analysis of Algorithms

Analysis of Algorithms Presetatio for use with the textbook, Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 2015 Aalysis of Algorithms Iput 2015 Goodrich ad Tamassia Algorithm Aalysis of Algorithms

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000. 5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator

More information

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM MATEC Web of Cofereces 79, 01014 (016) DOI: 10.1051/ mateccof/0167901014 T 016 BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM Staislav Shidlovskiy 1, 1 Natioal Research

More information

LU Decomposition Method

LU Decomposition Method SOLUTION OF SIMULTANEOUS LINEAR EQUATIONS LU Decompositio Method Jamie Traha, Autar Kaw, Kevi Marti Uiversity of South Florida Uited States of America kaw@eg.usf.edu http://umericalmethods.eg.usf.edu Itroductio

More information

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua Iteratioal Coferece o Automatio, Mechaical Cotrol ad Computatioal Egieerig (AMCCE 05) Mobile termial 3D image recostructio program developmet based o Adroid Li Qihua Sichua Iformatio Techology College

More information

ISSN (Print) Research Article. *Corresponding author Nengfa Hu

ISSN (Print) Research Article. *Corresponding author Nengfa Hu Scholars Joural of Egieerig ad Techology (SJET) Sch. J. Eg. Tech., 2016; 4(5):249-253 Scholars Academic ad Scietific Publisher (A Iteratioal Publisher for Academic ad Scietific Resources) www.saspublisher.com

More information

A Boolean Query Processing with a Result Cache in Mediator Systems

A Boolean Query Processing with a Result Cache in Mediator Systems A Boolea Query Processig with a Result Cache i Mediator Systems Jae-heo Cheog ad Sag-goo Lee * Departmet of Computer Sciece Seoul Natioal Uiversity Sa 56-1 Shillim-dog Kwaak-gu, Seoul Korea {cjh, sglee}cygus.su.ac.kr

More information

New HSL Distance Based Colour Clustering Algorithm

New HSL Distance Based Colour Clustering Algorithm The 4th Midwest Artificial Itelligece ad Cogitive Scieces Coferece (MAICS 03 pp 85-9 New Albay Idiaa USA April 3-4 03 New HSL Distace Based Colour Clusterig Algorithm Vasile Patrascu Departemet of Iformatics

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.

More information

Appendix A. Use of Operators in ARPS

Appendix A. Use of Operators in ARPS A Appedix A. Use of Operators i ARPS The methodology for solvig the equatios of hydrodyamics i either differetial or itegral form usig grid-poit techiques (fiite differece, fiite volume, fiite elemet)

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

The isoperimetric problem on the hypercube

The isoperimetric problem on the hypercube The isoperimetric problem o the hypercube Prepared by: Steve Butler November 2, 2005 1 The isoperimetric problem We will cosider the -dimesioal hypercube Q Recall that the hypercube Q is a graph whose

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

Transforming Irregular Algorithms for Heterogeneous Computing - Case Studies in Bioinformatics

Transforming Irregular Algorithms for Heterogeneous Computing - Case Studies in Bioinformatics Trasformig Irregular lgorithms for Heterogeeous omputig - ase Studies i ioiformatics Jig Zhag dvisor: Dr. Wu Feg ollaborator: Hao Wag syergy.cs.vt.edu Irregular lgorithms haracterized by Operate o irregular

More information

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA Creatig Exact Bezier Represetatios of CST Shapes David D. Marshall Califoria Polytechic State Uiversity, Sa Luis Obispo, CA 93407-035, USA The paper presets a method of expressig CST shapes pioeered by

More information

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence _9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to

More information

Major CSL Write your name and entry no on every sheet of the answer script. Time 2 Hrs Max Marks 70

Major CSL Write your name and entry no on every sheet of the answer script. Time 2 Hrs Max Marks 70 NOTE:. Attempt all seve questios. Major CSL 02 2. Write your ame ad etry o o every sheet of the aswer script. Time 2 Hrs Max Marks 70 Q No Q Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 Total MM 6 2 4 0 8 4 6 70 Q. Write a

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

An Efficient Algorithm for Graph Bisection of Triangularizations

An Efficient Algorithm for Graph Bisection of Triangularizations A Efficiet Algorithm for Graph Bisectio of Triagularizatios Gerold Jäger Departmet of Computer Sciece Washigto Uiversity Campus Box 1045 Oe Brookigs Drive St. Louis, Missouri 63130-4899, USA jaegerg@cse.wustl.edu

More information

Analysis of Documents Clustering Using Sampled Agglomerative Technique

Analysis of Documents Clustering Using Sampled Agglomerative Technique Aalysis of Documets Clusterig Usig Sampled Agglomerative Techique Omar H. Karam, Ahmed M. Hamad, ad Sheri M. Moussa Abstract I this paper a clusterig algorithm for documets is proposed that adapts a samplig-based

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem Exact Miimum Lower Boud Algorithm for Travelig Salesma Problem Mohamed Eleiche GeoTiba Systems mohamed.eleiche@gmail.com Abstract The miimum-travel-cost algorithm is a dyamic programmig algorithm to compute

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Adaptive Resource Allocation for Electric Environmental Pollution through the Control Network

Adaptive Resource Allocation for Electric Environmental Pollution through the Control Network Available olie at www.sciecedirect.com Eergy Procedia 6 (202) 60 64 202 Iteratioal Coferece o Future Eergy, Eviromet, ad Materials Adaptive Resource Allocatio for Electric Evirometal Pollutio through the

More information

arxiv: v2 [cs.ds] 24 Mar 2018

arxiv: v2 [cs.ds] 24 Mar 2018 Similar Elemets ad Metric Labelig o Complete Graphs arxiv:1803.08037v [cs.ds] 4 Mar 018 Pedro F. Felzeszwalb Brow Uiversity Providece, RI, USA pff@brow.edu March 8, 018 We cosider a problem that ivolves

More information

Stone Images Retrieval Based on Color Histogram

Stone Images Retrieval Based on Color Histogram Stoe Images Retrieval Based o Color Histogram Qiag Zhao, Jie Yag, Jigyi Yag, Hogxig Liu School of Iformatio Egieerig, Wuha Uiversity of Techology Wuha, Chia Abstract Stoe images color features are chose

More information

WEBSITE STRUCTURE IMPROVEMENT USING ANT COLONY TECHNIQUE

WEBSITE STRUCTURE IMPROVEMENT USING ANT COLONY TECHNIQUE WEBSITE STRUCTURE IMPROVEMENT USING ANT COLONY TECHNIQUE Wiwik Aggraei 1, Agyl Ardi Rahmadi 1, Radityo Prasetyo Wibowo 1 1 Iformatio System Departmet, Faculty of Iformatio Techology, Istitut Tekologi Sepuluh

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only Edited: Yeh-Liag Hsu (998--; recommeded: Yeh-Liag Hsu (--9; last updated: Yeh-Liag Hsu (9--7. Note: This is the course material for ME55 Geometric modelig ad computer graphics, Yua Ze Uiversity. art of

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve Advaces i Computer, Sigals ad Systems (2018) 2: 19-25 Clausius Scietific Press, Caada Aalysis of Server Resource Cosumptio of Meteorological Satellite Applicatio System Based o Cotour Curve Xiagag Zhao

More information

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis Outlie ad Readig Aalysis of Algorithms Iput Algorithm Output Ruig time ( 3.) Pseudo-code ( 3.2) Coutig primitive operatios ( 3.3-3.) Asymptotic otatio ( 3.6) Asymptotic aalysis ( 3.7) Case study Aalysis

More information

Image Segmentation EEE 508

Image Segmentation EEE 508 Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.

More information