![]() |
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.
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.
Algorithms for Automating Open Source Intelligence (OSINT) presents information on the gathering of information and extraction of actionable intelligence from openly available sources, including news broadcasts, public repositories, and more recently, social media. As OSINT has applications in crime fighting, state-based intelligence, and social research, this book provides recent advances in text mining, web crawling, and other algorithms that have led to advances in methods that can largely automate this process. The book is beneficial to both practitioners and academic researchers, with discussions of the latest advances in applications, a coherent set of methods and processes for automating OSINT, and interdisciplinary perspectives on the key problems identified within each discipline. Drawing upon years of practical experience and using numerous examples, editors Robert Layton, Paul Watters, and a distinguished list of contributors discuss Evidence Accumulation Strategies for OSINT, Named Entity Resolution in Social Media, Analyzing Social Media Campaigns for Group Size Estimation, Surveys and qualitative techniques in OSINT, and Geospatial reasoning of open data.
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.
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.
Shadow Algorithms Data Miner provides a high-level understanding of the complete set of shadow concepts and algorithms, addressing their usefulness from a larger graphics system perspective. It discusses the applicability and limitations of all the direct illumination approaches for shadow generation. With an emphasis on shadow fundamentals, the book gives an organized picture of the motivations, complexities, and categorized algorithms available to generate digital shadows. It helps readers select the most relevant algorithms for their needs by placing the shadow algorithms in real-world contexts and looking at them from a larger graphics system perspective. As a result, readers know where to start for their application needs, which algorithms to begin considering, and which papers and supplemental material should be consulted for further details.
Algorithms and Theory of Computation Handbook, Second Edition: Special Topics and Techniques provides an up-to-date compendium of fundamental computer science topics and techniques. It also illustrates how the topics and techniques come together to deliver efficient solutions to important practical problems. Along with updating and revising many of the existing chapters, this second edition contains more than 15 new chapters. This edition now covers self-stabilizing and pricing algorithms as well as the theories of privacy and anonymity, databases, computational games, and communication networks. It also discusses computational topology, natural language processing, and grid computing and explores applications in intensity-modulated radiation therapy, voting, DNA research, systems biology, and financial derivatives. This best-selling handbook continues to help computer professionals and engineers find significant information on various algorithmic topics. The expert contributors clearly define the terminology, present basic results and techniques, and offer a number of current references to the in-depth literature. They also provide a glimpse of the major research issues concerning the relevant topics.
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.
A Thorough Overview of the Next Generation in Computing Poised to follow in the footsteps of the Internet, grid computing is on the verge of becoming more robust and accessible to the public in the near future. Focusing on this novel, yet already powerful, technology, Introduction to Grid Computing explores state-of-the-art grid projects, core grid technologies, and applications of the grid. After comparing the grid with other distributed systems, the book covers two important aspects of a grid system: scheduling of jobs and resource discovery and monitoring in grid. It then discusses existing and emerging security technologies, such as WS-Security and OGSA security, as well as the functions of grid middleware at a conceptual level. The authors also describe famous grid projects, demonstrate the pricing of European options through the use of the Monte Carlo method on grids, and highlight different parallelization possibilities on the grid. Taking a tutorial approach, this concise book provides a complete introduction to the components of the grid architecture and applications of grid computing. It expertly shows how grid computing can be used in various areas, from computational mechanics to risk management in financial institutions.
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.
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.
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.
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.
This book covers the issues related to optimization of engineering and management problems using soft computing techniques with an industrial outlook. It covers a broad area related to real life complex decision making problems using a heuristics approach. It also explores a wide perspective and future directions in industrial engineering research on a global platform/scenario. The book highlights the concept of optimization, presents various soft computing techniques, offers sample problems, and discusses related software programs complete with illustrations. Features Explains the concept of optimization and relevance to soft computing techniques towards optimal solution in engineering and management Presents various soft computing techniques Offers problems and their optimization using various soft computing techniques Discusses related software programs, with illustrations Provides a step-by-step tutorial on how to handle relevant software for obtaining the optimal solution to various engineering problems
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 book can be used as an experiment and reference book for algorithm design courses, as well as a training manual for programming contests. It contains 247 problems selected from ACM-ICPC programming contests and other programming contests. There's detailed analysis for each problem. All problems, and test datum for most of problems will be provided online. The content will follow usual algorithms syllabus, and problem-solving strategies will be introduced in analyses and solutions to problem cases. For students in computer-related majors, contestants and programmers, this book can polish their programming and problem-solving skills with familarity of algorithms and mathematics.
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.
This collection of essays explores the different ways the insights from complexity theory can be applied to law. Complexity theory - a variant of systems theory - views law as an emergent, complex, self-organising system comprised of an interactive network of actors and systems that operate with no overall guiding hand, giving rise to complex, collective behaviour in law communications and actions. Addressing such issues as the unpredictability of legal systems, the ability of legal systems to adapt to changes in society, the importance of context, and the nature of law, the essays look to the implications of a complexity theory analysis for the study of public policy and administrative law, international law and human rights, regulatory practices in business and finance, and the practice of law and legal ethics. These are areas where law, which craves certainty, encounters unending, irresolvable complexity. This collection shows the many ways complexity theory thinking can reshape and clarify our understanding of the various problems relating to the theory and practice of law.
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.
Seeking sparse solutions of underdetermined linear systems is required in many areas of engineering and science such as signal and image processing. The efficient sparse representation becomes central in various big or high-dimensional data processing, yielding fruitful theoretical and realistic results in these fields. The mathematical optimization plays a fundamentally important role in the development of these results and acts as the mainstream numerical algorithms for the sparsity-seeking problems arising from big-data processing, compressed sensing, statistical learning, computer vision, and so on. This has attracted the interest of many researchers at the interface of engineering, mathematics and computer science. Sparse Optimization Theory and Methods presents the state of the art in theory and algorithms for signal recovery under the sparsity assumption. The up-to-date uniqueness conditions for the sparsest solution of underdertemined linear systems are described. The results for sparse signal recovery under the matrix property called range space property (RSP) are introduced, which is a deep and mild condition for the sparse signal to be recovered by convex optimization methods. This framework is generalized to 1-bit compressed sensing, leading to a novel sign recovery theory in this area. Two efficient sparsity-seeking algorithms, reweighted l1-minimization in primal space and the algorithm based on complementary slackness property, are presented. The theoretical efficiency of these algorithms is rigorously analysed in this book. Under the RSP assumption, the author also provides a novel and unified stability analysis for several popular optimization methods for sparse signal recovery, including l1-mininization, Dantzig selector and LASSO. This book incorporates recent development and the author's latest research in the field that have not appeared in other books.
This book covers pseudorandom number generation algorithms, evaluation techniques, and offers practical advice and code examples. Random Numbers and Computers is an essential introduction or refresher on pseudorandom numbers in computer science. The first comprehensive book on the topic, readers are provided with a practical introduction to the techniques of pseudorandom number generation, including how the algorithms work and how to test the output to decide if it is suitable for a particular purpose. Practical applications are demonstrated with hands-on presentation and descriptions that readers can apply directly to their own work. Examples are in C and Python and given with an emphasis on understanding the algorithms to the point of practical application. The examples are meant to be implemented, experimented with and improved/adapted by the reader.
This book comprises papers on diverse aspects of fuzzy logic, neural networks, and nature-inspired optimization meta-heuristics and their application in various areas such as intelligent control and robotics, pattern recognition, medical diagnosis, time series prediction and optimization of complex problems. The book is organized into seven main parts, each with a collection of papers on a similar subject. The first part presents new concepts and algorithms based on type-2 fuzzy logic for dynamic parameter adaptation in meta-heuristics. The second part discusses network theory and applications, and includes papers describing applications of neural networks in diverse areas, such as time series prediction and pattern recognition. The third part addresses the theory and practice of meta-heuristics in different areas of application, while the fourth part describes diverse fuzzy logic applications in the control area, which can be considered as intelligent controllers. The next two parts explore applications in areas, such as time series prediction, and pattern recognition and new optimization and evolutionary algorithms and their applications respectively. Lastly, the seventh part addresses the design and application of different hybrid intelligent systems. |
You may like...
Statistics for Management and Economics
Gerald Keller, Nicoleta Gaciu
Paperback
Social Networks: Models of Information…
Alexander G. Chkhartishvili, Dmitry A. Gubanov, …
Hardcover
R2,653
Discovery Miles 26 530
Artificial Intelligence for Biology and…
S. Panigrahi, K.C. Ting
Hardcover
R4,152
Discovery Miles 41 520
Enlightenment and Religion in the…
Paschalis M. Kitromilides
Paperback
R3,187
Discovery Miles 31 870
|