![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Algorithms & procedures
Solve real-life programming problems with a fraction of the code that pure object-oriented programming requires. Use Scala and Clojure to solve in-depth problems with two sets of patterns: object-oriented patterns that become more concise with functional programming, and natively functional patterns. Your code will be more declarative, with fewer bugs and lower maintenance costs. Functional languages have their own patterns that enable you to solve problems with less code than object-oriented programming alone. This book introduces you, the experienced Java programmer, to Scala and Clojure: practical, production-quality languages that run on the JVM and interoperate with existing Java. By using both the statically typed, type-inferred Scala and the dynamically typed, modern Lisp Clojure, you'll gain a broad understanding of functional programming. For each pattern, you'll first see the traditional object-oriented solution, and then dig into the functional replacements in both Scala and Clojure. These patterns are common in the functional world and deserve to become part of your problem-solving toolkit. On the object-oriented side, you'll see many common patterns, such as Command, Strategy, and Null Object. On the functional side, you'll learn core functional patterns such as Memoization, Lazy Sequence, and Tail Recursion. Each pattern helps you solve a common programming problem. Working through them gives you a set of patterns you can use to solve problems you come across while writing programs. Finally, you'll learn how to work your existing Java code into new Scala or Clojure projects. You can start off small, adding functional code little by little, so you can complement your existing knowledge with Scala and Clojure as these languages gain popularity on the JVM.
Handbook of Approximation Algorithms and Metaheuristics, Second Edition reflects the tremendous growth in the field, over the past two decades. Through contributions from leading experts, this handbook provides a comprehensive introduction to the underlying theory and methodologies, as well as the various applications of approximation algorithms and metaheuristics. Volume 1 of this two-volume set deals primarily with methodologies and traditional applications. It includes restriction, relaxation, local ratio, approximation schemes, randomization, tabu search, evolutionary computation, local search, neural networks, and other metaheuristics. It also explores multi-objective optimization, reoptimization, sensitivity analysis, and stability. Traditional applications covered include: bin packing, multi-dimensional packing, Steiner trees, traveling salesperson, scheduling, and related problems. Volume 2 focuses on the contemporary and emerging applications of methodologies to problems in combinatorial optimization, computational geometry and graphs problems, as well as in large-scale and emerging application areas. It includes approximation algorithms and heuristics for clustering, networks (sensor and wireless), communication, bioinformatics search, streams, virtual communities, and more. About the Editor Teofilo F. Gonzalez is a professor emeritus of computer science at the University of California, Santa Barbara. He completed his Ph.D. in 1975 from the University of Minnesota. He taught at the University of Oklahoma, the Pennsylvania State University, and the University of Texas at Dallas, before joining the UCSB computer science faculty in 1984. He spent sabbatical leaves at the Monterrey Institute of Technology and Higher Education and Utrecht University. He is known for his highly cited pioneering research in the hardness of approximation; for his sublinear and best possible approximation algorithm for k-tMM clustering; for introducing the open-shop scheduling problem as well as algorithms for its solution that have found applications in numerous research areas; as well as for his research on problems in the areas of scheduling, graph, computational geometry, communication, routing, etc.
New perspective technologies of genetic search and evolution simulation represent the kernel of this book. The authors wanted to show how these technologies are used for practical problems solution. This monograph is devoted to specialists of CAD, intellectual information technologies in science, biology, economics, sociology and others. It may be used by post-graduate students and students of specialties connected to the systems theory and system analysis methods, information science, optimization methods, operations investigation and solution-making.
Swarm intelligence algorithms are a form of nature-based optimization algorithms. Their main inspiration is the cooperative behavior of animals within specific communities. This can be described as simple behaviors of individuals along with the mechanisms for sharing knowledge between them, resulting in the complex behavior of the entire community. Examples of such behavior can be found in ant colonies, bee swarms, schools of fish or bird flocks. Swarm intelligence algorithms are used to solve difficult optimization problems for which there are no exact solving methods or the use of such methods is impossible, e.g. due to unacceptable computational time. This book thoroughly presents the basics of 24 algorithms selected from the entire family of swarm intelligence algorithms. Each chapter deals with a different algorithm describing it in detail and showing how it works in the form of a pseudo-code. In addition, the source code is provided for each algorithm in Matlab and in the C ++ programming language. In order to better understand how each swarm intelligence algorithm works, a simple numerical example is included in each chapter, which guides the reader step by step through the individual stages of the algorithm, showing all necessary calculations. This book can provide the basics for understanding how swarm intelligence algorithms work, and aid readers in programming these algorithms on their own to solve various computational problems. This book should also be useful for undergraduate and postgraduate students studying nature-based optimization algorithms, and can be a helpful tool for learning the basics of these algorithms efficiently and quickly. In addition, it can be a useful source of knowledge for scientists working in the field of artificial intelligence, as well as for engineers interested in using this type of algorithms in their work. If the reader already has basic knowledge of swarm intelligence algorithms, we recommend the book: "Swarm Intelligence Algorithms: Modifications and Applications" (Edited by A. Slowik, CRC Press, 2020), which describes selected modifications of these algorithms and presents their practical applications.
The book presents the important fundamental theorems and algorithms on planar graph drawing with easy-to-understand and constructive proofs. Extensively illustrated and with exercises included at the end of each chapter, it is suitable for use in advanced undergraduate and graduate level courses on algorithms, graph theory, graph drawing, information visualization and computational geometry. The book will also serve as a useful reference source for researchers in the field of graph drawing and software developers in information visualization, VLSI design and CAD.
'Work hard, have fun, make history' proclaims the slogan on the walls of Amazon's warehouses. This cheerful message hides a reality of digital surveillance, aggressive anti-union tactics and disciplinary layoffs. Reminiscent of the tumult of early industrial capitalism, the hundreds of thousands of workers who help Amazon fulfil consumers' desire are part of an experiment in changing the way we all work. In this book, Alessandro Delfanti takes readers inside Amazon's warehouses to show how technological advancements and managerial techniques subdue the workers rather than empower them, as seen in the sensors that track workers' every movement around the floor and algorithmic systems that re-route orders to circumvent worker sabotage. He looks at new technologies including robotic arms trained by humans and augmented reality goggles, showing that their aim is to standardise, measure and discipline human work rather than replace it. Despite its innovation, Amazon will always need living labour's flexibility and low cost. And as the warehouse is increasingly automated, worker discontent increases. Striking under the banner 'we are not robots', employees have shown that they are acutely aware of such contradictions. The only question remains: how long will it be until Amazon's empire collapses?
Stochastic global optimization methods and applications to chemical, biochemical, pharmaceutical and environmental processes presents various algorithms that include the genetic algorithm, simulated annealing, differential evolution, ant colony optimization, tabu search, particle swarm optimization, artificial bee colony optimization, and cuckoo search algorithm. The design and analysis of these algorithms is studied by applying them to solve various base case and complex optimization problems concerning chemical, biochemical, pharmaceutical, and environmental engineering processes. Design and implementation of various classical and advanced optimization strategies to solve a wide variety of optimization problems makes this book beneficial to graduate students, researchers, and practicing engineers working in multiple domains. This book mainly focuses on stochastic, evolutionary, and artificial intelligence optimization algorithms with a special emphasis on their design, analysis, and implementation to solve complex optimization problems and includes a number of real applications concerning chemical, biochemical, pharmaceutical, and environmental engineering processes.
Nature-based algorithms play an important role among artificial intelligence algorithms. Among them are global optimization algorithms called swarm intelligence algorithms. These algorithms that use the behavior of simple agents and various ways of cooperation between them, are used to solve specific problems that are defined by the so-called objective function. Swarm intelligence algorithms are inspired by the social behavior of various animal species, e.g. ant colonies, bird flocks, bee swarms, schools of fish, etc. The family of these algorithms is very large and additionally includes various types of modifications to enable swarm intelligence algorithms to solve problems dealing with areas other than those for which they were originally developed. This book presents 24 swarm algorithms together with their modifications and practical applications. Each chapter is devoted to one algorithm. It contains a short description along with a pseudo-code showing the various stages of its operation. In addition, each chapter contains a description of selected modifications of the algorithm and shows how it can be used to solve a selected practical problem. This book should also be useful for undergraduate and postgraduate students studying nature-based optimization algorithms, and can be a helpful tool for learning these algorithms, along with their modifications and practical applications. In addition, it can be a useful source of knowledge for scientists working in the field of artificial intelligence, as well as for engineers interested in using this type of algorithms in their work. If the reader wishes to expand his knowledge beyond the basics of swarm intelligence algorithms presented in this book and is interested in more detailed information, we recommend the book "Swarm Intelligence Algorithms: A Tutorial" (Edited by A. Slowik, CRC Press, 2020). It contains a detailed explanation of how each algorithm works, along with relevant program codes in Matlab and the C ++ programming language, as well as numerical examples illustrating step-by-step how individual algorithms work.
Swarm intelligence algorithms are a form of nature-based optimization algorithms. Their main inspiration is the cooperative behavior of animals within specific communities. This can be described as simple behaviors of individuals along with the mechanisms for sharing knowledge between them, resulting in the complex behavior of the entire community. Examples of such behavior can be found in ant colonies, bee swarms, schools of fish or bird flocks. Swarm intelligence algorithms are used to solve difficult optimization problems for which there are no exact solving methods or the use of such methods is impossible, e.g. due to unacceptable computational time. This set comprises two volumes: Swarm Intelligence Algorithms: A Tutorial and Swarm Intelligence Algorithms: Modifications and Applications. The first volume thoroughly presents the basics of 24 algorithms selected from the entire family of swarm intelligence algorithms. It contains a detailed explanation of how each algorithm works, along with relevant program codes in Matlab and the C ++ programming language, as well as numerical examples illustrating step-by-step how individual algorithms work. The second volume describes selected modifications of these algorithms and presents their practical applications. This book presents 24 swarm algorithms together with their modifications and practical applications. Each chapter is devoted to one algorithm. It contains a short description along with a pseudo-code showing the various stages of its operation. In addition, each chapter contains a description of selected modifications of the algorithm and shows how it can be used to solve a selected practical problem.
Computer simulations based on mathematical models have become ubiquitous across the engineering disciplines and throughout the physical sciences. Successful use of a simulation model, however, requires careful interrogation of the model through systematic computer experiments. While specific theoretical/mathematical examinations of computer experiment design are available, those interested in applying proposed methodologies need a practical presentation and straightforward guidance on analyzing and interpreting experiment results. Written by authors with strong academic reputations and real-world practical experience, Design and Modeling for Computer Experiments is exactly the kind of treatment you need. The authors blend a sound, modern statistical approach with extensive engineering applications and clearly delineate the steps required to successfully model a problem and provide an analysis that will help find the solution. Part I introduces the design and modeling of computer experiments and the basic concepts used throughout the book. Part II focuses on the design of computer experiments. The authors present the most popular space-filling designs - like Latin hypercube sampling and its modifications and uniform design - including their definitions, properties, construction and related generating algorithms. Part III discusses the modeling of data from computer experiments. Here the authors present various modeling techniques and discuss model interpretation, including sensitivity analysis. An appendix reviews the statistics and mathematics concepts needed, and numerous examples clarify the techniques and their implementation. The complexity of real physical systems means that there is usually no simple analytic formula that sufficiently describes the phenomena. Useful both as a textbook and professional reference, this book presents the techniques you need to design and model computer experiments for practical problem solving.
Solving complex optimization problems with parallel metaheuristics
This book helps readers create good VHDL descriptions and simulate VHDL designs. It teaches VHDL using selected sample problems, which are solved step by step and with precise explanations, so that readers get a clear idea of what a good VHDL code should look like. The book is divided into eight chapters, covering aspects ranging from the very basics of VHDL syntax and the module concept, to VHDL logic circuit implementations. In the first chapter, the entity and architecture parts of a VHDL program are explained in detail. The second chapter explains the implementations of combinational logic circuits in VHDL language, while the following chapters offer information on the simulation of VHDL programs and demonstrate how to define data types other than the standard ones available in VHDL libraries. In turn, the fifth chapter explains the implementation of clocked sequential logic circuits, and the sixth shows the implementation of registers and counter packages. The book's last two chapters detail how components, functions and procedures, as well as floating-point numbers, are implemented in VHDL. The book offers extensive exercises at the end of each chapter, inviting readers to learn VHDL by doing it and writing good code.
The term "stringology" is a popular nickname for text algorithms, or algorithms on strings. This book deals with the most basic algorithms in the area. Most of them can be viewed as "algorithmic jewels" and deserve reader-friendly presentation. One of the main aims of the book is to present several of the most celebrated algorithms in a simple way by omitting obscuring details and separating algorithmic structure from combinatorial theoretical background. The book reflects the relationships between applications of text-algorithmic techniques and the classification of algorithms according to the measures of complexity considered. The text can be viewed as a parade of algorithms in which the main purpose is to discuss the foundations of the algorithms and their interconnections. One can partition the algorithmic problems discussed into practical and theoretical problems. Certainly, string matching and data compression are in the former class, while most problems related to symmetries and repetitions in texts are in the latter. However, all the problems are interesting from an algorithmic point of view and enable the reader to appreciate the importance of combinatorics on words as a tool in the design of efficient text algorithms.In most textbooks on algorithms and data structures, the presentation of efficient algorithms on words is quite short as compared to issues in graph theory, sorting, searching, and some other areas. At the same time, there are many presentations of interesting algorithms on words accessible only in journals and in a form directed mainly at specialists. This book fills the gap in the book literature on algorithms on words, and brings together the many results presently dispersed in the masses of journal articles. The presentation is reader-friendly; many examples and about two hundred figures illustrate nicely the behaviour of otherwise very complex algorithms.
The 20th century saw tremendous achievements and progress in
science and
This book presents the first "How To" guide to the use of radial basis functions (RBF). It provides a clear vision of their potential, an overview of ready-for-use computational tools and precise guidelines to implement new engineering applications of RBF. Radial basis functions (RBF) are a mathematical tool mature enough for useful engineering applications. Their mathematical foundation is well established and the tool has proven to be effective in many fields, as the mathematical framework can be adapted in several ways. A candidate application can be faced considering the features of RBF: multidimensional space (including 2D and 3D), numerous radial functions available, global and compact support, interpolation/regression. This great flexibility makes RBF attractive - and their great potential has only been partially discovered. This is because of the difficulty in taking a first step toward RBF as they are not commonly part of engineers' cultural background, but also due to the numerical complexity of RBF problems that scales up very quickly with the number of RBF centers. Fast RBF algorithms are available to alleviate this and high-performance computing (HPC) can provide further aid. Nevertheless, a consolidated tradition in using RBF in engineering applications is still missing and the beginner can be confused by the literature, which in many cases is presented with language and symbolisms familiar to mathematicians but which can be cryptic for engineers. The book is divided in two main sections. The first covers the foundations of RBF, the tools available for their quick implementation and guidelines for facing new challenges; the second part is a collection of practical RBF applications in engineering, covering several topics, including response surface interpolation in n-dimensional spaces, mapping of magnetic loads, mapping of pressure loads, up-scaling of flow fields, stress/strain analysis by experimental displacement fields, implicit surfaces, mesh to cad deformation, mesh morphing for crack propagation in 3D, ice and snow accretion using computational fluid dynamics (CFD) data, shape optimization for external aerodynamics, and use of adjoint data for surface sculpting. For each application, the complete path is clearly and consistently exposed using the systematic approach defined in the first section.
Over the past 20 years, the emergence of clone theory, hyperequational theory, commutator theory and tame congruence theory has led to a growth of universal algebra both in richness and in applications, especially in computer science. Yet most of the classic books on the subject are long out of print and, to date, no other book has integrated these theories with the long-established work that supports them.
The conventional wisdom was that biology influenced mathematics and computer science. But a new approach has taken hold: that of transferring methods and tools from computer science to biology. The reverse trend is evident in Grammars and Automata for String Processing: From Mathematics and Computer Science to Biology and Back. The contributors address the structural (syntactical) view of the domain. Mathematical linguistics and computer science can offer various tools for modeling complex macromolecules and for analyzing and simulating biological issues. This collection is valuable for students and researchers in biology, computer science, and applied mathematics.
Self-driving cars, natural language recognition, and online recommendation engines are all possible thanks to Machine Learning. Now you can create your own genetic algorithms, nature-inspired swarms, Monte Carlo simulations, cellular automata, and clusters. Learn how to test your ML code and dive into even more advanced topics. If you are a beginner-to-intermediate programmer keen to understand machine learning, this book is for you. Discover machine learning algorithms using a handful of self-contained recipes. Build a repertoire of algorithms, discovering terms and approaches that apply generally. Bake intelligence into your algorithms, guiding them to discover good solutions to problems. In this book, you will: Use heuristics and design fitness functions. Build genetic algorithms. Make nature-inspired swarms with ants, bees and particles. Create Monte Carlo simulations. Investigate cellular automata. Find minima and maxima, using hill climbing and simulated annealing. Try selection methods, including tournament and roulette wheels. Learn about heuristics, fitness functions, metrics, and clusters. Test your code and get inspired to try new problems. Work through scenarios to code your way out of a paper bag; an important skill for any competent programmer. See how the algorithms explore and learn by creating visualizations of each problem. Get inspired to design your own machine learning projects and become familiar with the jargon. What You Need: Code in C++ (>= C++11), Python (2.x or 3.x) and JavaScript (using the HTML5 canvas). Also uses matplotlib and some open source libraries, including SFML, Catch and Cosmic-Ray. These plotting and testing libraries are not required but their use will give you a fuller experience. Armed with just a text editor and compiler/interpreter for your language of choice you can still code along from the general algorithm descriptions.
Designed for use in a second course on linear algebra, Matrix Theory and Applications with MATLAB covers the basics of the subject-from a review of matrix algebra through vector spaces to matrix calculus and unitary similarity-in a presentation that stresses insight, understanding, and applications. Among its most outstanding features is the integration of MATLAB throughout the text. Each chapter includes a MATLAB subsection that discusses the various commands used to do the computations in that section and offers code for the graphics and some algorithms used in the text.
Evolutionary Computation 2: Advanced Algorithms and Operators expands upon the basic ideas underlying evolutionary algorithms. The focus is on fitness evaluation, constraint-handling techniques, population structures, advanced techniques in evolutionary computation, and the implementation of evolutionary algorithms. It is intended to be used by individual researchers and students in the expanding field of evolutionary computation.
This is the third of three volumes providing a comprehensive presentation of the fundamentals of scientific computing. This volume discusses topics that depend more on calculus than linear algebra, in order to prepare the reader for solving differential equations. This book and its companions show how to determine the quality of computational results, and how to measure the relative efficiency of competing methods. Readers learn how to determine the maximum attainable accuracy of algorithms, and how to select the best method for computing problems. This book also discusses programming in several languages, including C++, Fortran and MATLAB. There are 90 examples, 200 exercises, 36 algorithms, 40 interactive JavaScript programs, 91 references to software programs and 1 case study. Topics are introduced with goals, literature references and links to public software. There are descriptions of the current algorithms in GSLIB and MATLAB. This book could be used for a second course in numerical methods, for either upper level undergraduates or first year graduate students. Parts of the text could be used for specialized courses, such as nonlinear optimization or iterative linear algebra.
The field of evolutionary computation is expanding dramatically, fueled by the vast investment that reflects the value of applying its techniques. Culling material from the Handbook of Evolutionary Computation, Evolutionary Computation 1: Basic Algorithms and Operators contains up-to-date information on algorithms and operators used in evolutionary computing. This volume discusses the basic ideas that underlie the main paradigms of evolutionary algorithms, evolution strategies, evolutionary programming, and genetic programming. It is intended to be used by individual researchers, teachers, and students working and studying in this expanding field.
This invaluable book has been designed to be useful to most practising scientists and engineers, whatever their field and however rusty their mathematics and programming might be. The approach taken is largely practical, with algorithms being presented in full and working code (in BASIC, FORTRAN, PASCAL AND C) included on a floppy disk to help the reader get up and running as quickly as possible. The text could also be used as part of an undergraduate course on search and optimisation. Student exercises are included at the end of several of the chapters, many of which are computer-based and designed to encourage exploration of the method.
Advances in Computational Algorithms and Data Analysis offers state of the art tremendous advances in computational algorithms and data analysis. The selected articles are representative in these subjects sitting on the top-end-high technologies. The volume serves as an excellent reference work for researchers and graduate students working on computational algorithms and data analysis.
Practical Handbook of Genetic Algorithms, Volume 3: Complex Coding Systems contains computer-code examples for the development of genetic algorithm systems - compiling them from an array of practitioners in the field. Each contribution of this singular resource includes: unique code segments documentation description of the operations performed rationale for the chosen approach problems the code overcomes or addresses Practical Handbook of Genetic Algorithms, Volume 3: Complex Coding Systems complements the first two volumes in the series by offering examples of computer code. The first two volumes dealt with new research and an overview of the types of applications that could be taken with GAs. This volume differs from its predecessors by specifically concentrating on specific functions in genetic algorithms, serving as the only compilation of useful and usable computer code in the field. |
You may like...
Concept Parsing Algorithms (CPA) for…
Uri Shafrir, Masha Etkind
Hardcover
R3,276
Discovery Miles 32 760
Handbook of Research on Modeling…
Sujata Dash, B. K. Tripathy, …
Hardcover
R6,518
Discovery Miles 65 180
|