![]() |
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
A friendly introduction to the most useful algorithms written in simple, intuitive English The revised and updated second edition of Essential Algorithms, offers an accessible introduction to computer algorithms. The book contains a description of important classical algorithms and explains when each is appropriate. The author shows how to analyze algorithms in order to understand their behavior and teaches techniques that the can be used to create new algorithms to meet future needs. The text includes useful algorithms such as: methods for manipulating common data structures, advanced data structures, network algorithms, and numerical algorithms. It also offers a variety of general problem-solving techniques. In addition to describing algorithms and approaches, the author offers details on how to analyze the performance of algorithms. The book is filled with exercises that can be used to explore ways to modify the algorithms in order to apply them to new situations. This updated edition of Essential Algorithms Contains explanations of algorithms in simple terms, rather than complicated math Steps through powerful algorithms that can be used to solve difficult programming problems Helps prepare for programming job interviews that typically include algorithmic questions Offers methods can be applied to any programming language Includes exercises and solutions useful to both professionals and students Provides code examples updated and written in Python and C# Essential Algorithms has been updated and revised and offers professionals and students a hands-on guide to analyzing algorithms as well as the techniques and applications. The book also includes a collection of questions that may appear in a job interview. The book's website will include reference implementations in Python and C# (which can be easily applied to Java and C++).
Secure two-party computation, called secure function evaluation (SFE), enables two mutually mistrusting parties, the client and server, to evaluate an arbitrary function on their respective private inputs while revealing nothing but the result. Originally the technique was considered to be too inefficient for practical privacy-preserving applications, but in recent years rapid speed-up in computers and communication networks, algorithmic improvements, automatic generation, and optimizations have enabled their application in many scenarios. The author offers an extensive overview of the most practical and efficient modern techniques used in the design and implementation of secure computation and related protocols. After an introduction that sets secure computation in its larger context of other privacy-enhancing technologies such as secure channels and trusted computing, he covers the basics of practically efficient secure function evaluation, circuit optimizations and constructions, hardware-assisted garbled circuit protocols, and the modular design of efficient SFE protocols. The goal of the author's research is to use algorithm engineering methods to engineer efficient secure protocols, both as a generic tool and for solving practical applications, and he achieves an excellent balance between the theory and applicability. The book is essential for researchers, students and practitioners in the area of applied cryptography and information security who aim to construct practical cryptographic protocols for privacy-preserving real-world applications.
Addresses a central problem in cognitive science, concerning the learning procedures through which humans acquire and represent natural language. Brings together world leading scholars from a range of disciplines, includingcomputational linguistics, psychology, behavioural science, and mathematical linguistics. Will appeal to researchers in computational and mathematical linguistics, psychology and behavioral science, AI and NLP. Represents a wide spectrum of perspectives
Algorithms and Programming is primarily intended for use in a first-year undergraduate course in programming. It is structured in a problem-solution format that requires the student to think through the programming process, thus developing an understanding of the underlying theory. The book is easily readable by a student taking a basic introductory course in computer science as well as useful for a graduate-level course in the analysis of algorithms and/or compiler construction. Each self-contained chapter presents classical and well-known problems supplemented by clear and in-depth explanations. The material covered includes such topics as combinatorics, sorting, searching, queues, grammar and parsing, selected well-known algorithms and much more. Students and teachers will find this both an excellent text for learning programming and a source of problems for a variety of courses.
AI for Scientific Discovery provides an accessible introduction to the wide-ranging applications of artificial intelligence technologies in scientific research and discovery across the full breadth of scientific disciplines. Artificial intelligence technologies support discovery science in multiple different ways. They support literature management and synthesis, allowing the wealth of what has already been discovered and reported on to be integrated and easily accessed. They play a central role in data analysis and interpretation - in the context of what is called 'data science'. AI is also helping to combat the reproducibility crisis in scientific research, by underpinning the discovery process with AI-enabled standards and pipelines, support the management of large-scale data and knowledge resources so that they can be shared, integrated and serve as a background 'knowledge ecosystem' into which new discoveries can be embedded. However, there are limitations to what AI can achieve and its outputs can be biased and confounded thus should not be blindly trusted. The latest generation of hybrid and 'human-in-the-loop' AI technologies have as their objective a balance between human inputs and insights and the power of the number-crunching and statistical inference at massive scale that AI technologies are best at.
This book studies selected advanced flight control schemes for an uncertain quadrotor unmanned aerial vehicle (UAV) systems in the presence of constant external disturbances, parametric uncertainties, measurement noise, time-varying external disturbances, and random external disturbances. Furthermore, in all the control techniques proposed in this book, it includes the simulation results with comparison to other nonlinear control schemes recently developed for the tracking control of a quadrotor UAV. The main contributions of the present book for quadrotor UAV systems are as follows: (i) the proposed control methods are based on the high-order sliding mode controller (SMC) and hybrid control algorithm with an optimization method. (ii) the finite-time control schemes are developed by using fast terminal SMC (FTSMC), nonsingular FTSMC (NFTSMC), global time-varying SMC, and adaptive laws. (iii) the fractional-order flight control schemes are developed by using the fractional-order calculus theory, super twisting algorithm, NFTSMC, and the SMC. This book covers the research history and importance of quadrotor system subject to system uncertainties, external wind disturbances, and noise measurements, as well as the research status of advanced flight control methods, adaptive flight control methods, and flight control based on fractional-order theory. The book would be interesting to most academic undergraduate, postgraduates, researchers on flight control for drones and applications of advanced controllers in engineering field. This book presents a must-survey for advanced finite-time control for quadrotor system. Some parts of this book have the potential of becoming the courses for the modelling and control of autonomous flying machines. Readers (academic researcher, undergraduate student, postgraduate student, MBA/executive, and education practitioner) interested in nonlinear control methods find this book an investigation. This book can be used as a good reference for the academic research on the control theory, drones, terminal sliding mode control, and related to this or used in Ph.D. study of control theory and their application in field engineering.
This book includes introduction of several algorithms which are exclusively for graph based problems, namely combinatorial optimization problems, path formation problems, etc. Each chapter includes the introduction of the basic traditional nature inspired algorithm and discussion of the modified version for discrete algorithms including problems pertaining to discussed algorithms.
This book covers algorithmic and hardware implementation techniques to enable embedded deep learning. The authors describe synergetic design approaches on the application-, algorithmic-, computer architecture-, and circuit-level that will help in achieving the goal of reducing the computational cost of deep learning algorithms. The impact of these techniques is displayed in four silicon prototypes for embedded deep learning. Gives a wide overview of a series of effective solutions for energy-efficient neural networks on battery constrained wearable devices; Discusses the optimization of neural networks for embedded deployment on all levels of the design hierarchy - applications, algorithms, hardware architectures, and circuits - supported by real silicon prototypes; Elaborates on how to design efficient Convolutional Neural Network processors, exploiting parallelism and data-reuse, sparse operations, and low-precision computations; Supports the introduced theory and design concepts by four real silicon prototypes. The physical realization's implementation and achieved performances are discussed elaborately to illustrated and highlight the introduced cross-layer design concepts.
Energy-Aware Memory Management for Embedded Multimedia Systems: A Computer-Aided Design Approach presents recent computer-aided design (CAD) ideas that address memory management tasks, particularly the optimization of energy consumption in the memory subsystem. It explains how to efficiently implement CAD solutions, including theoretical methods and novel algorithms. The book covers various energy-aware design techniques, including data-dependence analysis techniques, memory size estimation methods, extensions of mapping approaches, and memory banking approaches. It shows how these techniques are used to evaluate the data storage of an application, reduce dynamic and static energy consumption, design energy-efficient address generation units, and much more. Providing an algebraic framework for memory management tasks, this book illustrates how to optimize energy consumption in memory subsystems using CAD solutions. The algorithmic style of the text should help electronic design automation (EDA) researchers and tool developers create prototype software tools for system-level exploration, with the goal to ultimately obtain an optimized architectural solution of the memory subsystem.
The hybrid/heterogeneous nature of future microprocessors and large high-performance computing systems will result in a reliance on two major types of components: multicore/manycore central processing units and special purpose hardware/massively parallel accelerators. While these technologies have numerous benefits, they also pose substantial performance challenges for developers, including scalability, software tuning, and programming issues. Researchers at the Forefront Reveal Results from Their Own State-of-the-Art Work Edited by some of the top researchers in the field and with contributions from a variety of international experts, Scientific Computing with Multicore and Accelerators focuses on the architectural design and implementation of multicore and manycore processors and accelerators, including graphics processing units (GPUs) and the Sony Toshiba IBM (STI) Cell Broadband Engine (BE) currently used in the Sony PlayStation 3. The book explains how numerical libraries, such as LAPACK, help solve computational science problems; explores the emerging area of hardware-oriented numerics; and presents the design of a fast Fourier transform (FFT) and a parallel list ranking algorithm for the Cell BE. It covers stencil computations, auto-tuning, optimizations of a computational kernel, sequence alignment and homology, and pairwise computations. The book also evaluates the portability of drug design applications to the Cell BE and illustrates how to successfully exploit the computational capabilities of GPUs for scientific applications. It concludes with chapters on dataflow frameworks, the Charm++ programming model, scan algorithms, and a portable intracore communication framework. Explores the New Computational Landscape of Hybrid Processors By offering insight into the process of constructing and effectively using the technology, this volume provides a thorough and practical introduction to the area of hybrid computing. It discusses introductory concepts and simple examples of parallel computing, logical and performance debugging for parallel computing, and advanced topics and issues related to the use and building of many applications.
Avoiding heavy mathematics and lengthy programming details, Digital Image Processing: An Algorithmic Approach with MATLAB (R) presents an easy methodology for learning the fundamentals of image processing. The book applies the algorithms using MATLAB (R), without bogging down students with syntactical and debugging issues. One chapter can typically be completed per week, with each chapter divided into three sections. The first section presents theoretical topics in a very simple and basic style with generic language and mathematics. The second section explains the theoretical concepts using flowcharts to streamline the concepts and to form a foundation for students to code in any programming language. The final section supplies MATLAB codes for reproducing the figures presented in the chapter. Programming-based exercises at the end of each chapter facilitate the learning of underlying concepts through practice. This textbook equips undergraduate students in computer engineering and science with an essential understanding of digital image processing. It will also help them comprehend more advanced topics and sophisticated mathematical material in later courses. A color insert is included in the text while various instructor resources are available on the author's website.
A One-Stop Source of Known Results, a Bibliography of Papers on the Subject, and Novel Research Directions Focusing on a very active area of research in the last decade, Combinatorics of Compositions and Words provides an introduction to the methods used in the combinatorics of pattern avoidance and pattern enumeration in compositions and words. It also presents various tools and approaches that are applicable to other areas of enumerative combinatorics. After a historical perspective on research in the area, the text introduces techniques to solve recurrence relations, including iteration and generating functions. It then focuses on enumeration of basic statistics for compositions. The text goes on to present results on pattern avoidance for subword, subsequence, and generalized patterns in compositions and then applies these results to words. The authors also cover automata, the ECO method, generating trees, and asymptotic results via random compositions and complex analysis. Highlighting both established and new results, this book explores numerous tools for enumerating patterns in compositions and words. It includes a comprehensive bibliography and incorporates the use of the computer algebra systems Maple (TM) and Mathematica (R), as well as C++ to perform computations.
An Easy-to-Use Research Tool for Algorithm Testing and Development Before the SeqAn project, there was clearly a lack of available implementations in sequence analysis, even for standard tasks. Implementations of needed algorithmic components were either unavailable or hard to access in third-party monolithic software products. Addressing these concerns, the developers of SeqAn created a comprehensive, easy-to-use, open source C++ library of efficient algorithms and data structures for the analysis of biological sequences. Written by the founders of this project, Biological Sequence Analysis Using the SeqAn C++ Library covers the SeqAn library, its documentation, and the supporting infrastructure. The first part of the book describes the general library design. It introduces biological sequence analysis problems, discusses the benefit of using software libraries, summarizes the design principles and goals of SeqAn, details the main programming techniques used in SeqAn, and demonstrates the application of these techniques in various examples. Focusing on the components provided by SeqAn, the second part explores basic functionality, sequence data structures, alignments, pattern and motif searching, string indices, and graphs. The last part illustrates applications of SeqAn to genome alignment, consensus sequence in assembly projects, suffix array construction, and more. This handy book describes a user-friendly library of efficient data types and algorithms for sequence analysis in computational biology. SeqAn enables not only the implementation of new algorithms, but also the sound analysis and comparison of existing algorithms. Visit SeqAn for more information.
Algorithms and Theory of Computation Handbook, Second Edition: General Concepts 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 four new chapters that cover external memory and parameterized algorithms as well as computational number theory and algorithmic coding theory. 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 compendium contains 10 chapters written by world renowned researchers with expertise in semantic computing, genome sequence analysis, biomolecular interaction, time-series microarray analysis, and machine learning algorithms.The salient feature of this book is that it highlights eight types of computational techniques to tackle different biomedical applications. These techniques include unsupervised learning algorithms, principal component analysis, fuzzy integral, graph-based ensemble clustering method, semantic analysis, interolog approach, molecular simulations and enzyme kinetics.The unique volume will be a useful reference material and an inspirational read for advanced undergraduate and graduate students, computer scientists, computational biologists, bioinformatics and biomedical professionals.
The Future of Numerical Computing Written by one of the foremost experts in high-performance computing and the inventor of Gustafson's Law, The End of Error: Unum Computing explains a new approach to computer arithmetic: the universal number (unum). The unum encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This new number type obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power. A Complete Revamp of Computer Arithmetic from the Ground Up Richly illustrated in color, this groundbreaking book represents a fundamental change in how to perform calculations automatically. It illustrates how this novel approach can solve problems that have vexed engineers and scientists for decades, including problems that have been historically limited to serial processing. Suitable for Anyone Using Computers for Calculations The book is accessible to anyone who uses computers for technical calculations, with much of the book only requiring high school math. The author makes the mathematics interesting through numerous analogies. He clearly defines jargon and uses color-coded boxes for mathematical formulas, computer code, important descriptions, and exercises.
Best-selling author and database expert with more than 25 years of experience modeling application and enterprise data, Dr. Michael Blaha provides tried and tested data model patterns, to help readers avoid common modeling mistakes and unnecessary frustration on their way to building effective data models. Unlike the typical methodology book, Patterns of Data Modeling provides advanced techniques for those who have mastered the basics. Recognizing that database representation sets the path for software, determines its flexibility, affects its quality, and influences whether it succeeds or fails, the text focuses on databases rather than programming. It is one of the first books to apply the popular patterns perspective to database systems and data models. It offers practical advice on the core aspects of applications and provides authoritative coverage of mathematical templates, antipatterns, archetypes, identity, canonical models, and relational database design.
Full of practical examples, Introduction to Scheduling presents the basic concepts and methods, fundamental results, and recent developments of scheduling theory. With contributions from highly respected experts, it provides self-contained, easy-to-follow, yet rigorous presentations of the material. The book first classifies scheduling problems and their complexity and then presents examples that demonstrate successful techniques for the design of efficient approximation algorithms. It also discusses classical problems, such as the famous makespan minimization problem, as well as more recent advances, such as energy-efficient scheduling algorithms. After focusing on job scheduling problems that encompass independent and possibly parallel jobs, the text moves on to a practical application of cyclic scheduling for the synthesis of embedded systems. It also proves that efficient schedules can be derived in the context of steady-state scheduling. Subsequent chapters discuss scheduling large and computer-intensive applications on parallel resources, illustrate different approaches of multi-objective scheduling, and show how to compare the performance of stochastic task-resource systems. The final chapter assesses the impact of platform models on scheduling techniques. From the basics to advanced topics and platform models, this volume provides a thorough introduction to the field. It reviews classical methods, explores more contemporary models, and shows how the techniques and algorithms are used in practice.
In the new edition of Neural Assemblies, the author places his original ideas and motivations within the framework of modern and cognitive neuroscience and gives a short and focused overview of the development of computational neuroscience and artificial neural networks over the last 40 years. In this book the author develops a theory of how the human brain might function. Starting with a motivational introduction to the brain as an organ of information processing, he presents a computational perspective on the basic concepts and ideas of neuroscience research on the underlying principles of brain function. In addition, the reader is introduced to the most important methods from computer science and mathematical modeling that are required for a computational understanding of information processing in the brain. Written by an expert in the field of neural information processing, this book offers a personal historical view of the development of artificial intelligence, artificial neural networks, and computational cognitive neuroscience over the last 40 years, with a focus on the realization of higher cognitive functions rather than more peripheral sensory or motor organization. The book is therefore aimed at students and researchers who want to understand how the basic neuroscientific and computational concepts in the study of brain function have changed over the last decades.
Among all computer-generated mathematical images, Julia sets of rational maps occupy one of the most prominent positions. Their beauty and complexity can be fascinating. They also hold a deep mathematical content. Computational hardness of Julia sets is the main subject of this book. By definition, a computable set in the plane can be visualized on a computer screen with an arbitrarily high magnification. There are countless programs to draw Julia sets. Yet, as the authors have discovered, it is possible to constructively produce examples of quadratic polynomials, whose Julia sets are not computable. This result is striking - it says that while a dynamical system can be described numerically with an arbitrary precision, the picture of the dynamics cannot be visualized. The book summarizes the present knowledge (most of it from the authors' own work) about the computational properties of Julia sets in a self-contained way. It is accessible to experts and students with interest in theoretical computer science or dynamical systems.
Designed for introductory parallel computing courses at the advanced undergraduate or beginning graduate level, Elements of Parallel Computing presents the fundamental concepts of parallel computing not from the point of view of hardware, but from a more abstract view of algorithmic and implementation patterns. The aim is to facilitate the teaching of parallel programming by surveying some key algorithmic structures and programming models, together with an abstract representation of the underlying hardware. The presentation is friendly and informal. The content of the book is language neutral, using pseudocode that represents common programming language models. The first five chapters present core concepts in parallel computing. SIMD, shared memory, and distributed memory machine models are covered, along with a brief discussion of what their execution models look like. The book also discusses decomposition as a fundamental activity in parallel algorithmic design, starting with a naive example, and continuing with a discussion of some key algorithmic structures. Important programming models are presented in depth, as well as important concepts of performance analysis, including work-depth analysis of task graphs, communication analysis of distributed memory algorithms, key performance metrics, and a discussion of barriers to obtaining good performance. The second part of the book presents three case studies that reinforce the concepts of the earlier chapters. One feature of these chapters is to contrast different solutions to the same problem, using select problems that aren't discussed frequently in parallel computing textbooks. They include the Single Source Shortest Path Problem, the Eikonal equation, and a classical computational geometry problem: computation of the two-dimensional convex hull. After presenting the problem and sequential algorithms, each chapter first discusses the sources of parallelism then surveys parallel algorithms.
Philipp Meisen introduces a model, a query language, and a similarity measure enabling users to analyze time interval data. The introduced tools are combined to design and realize an information system. The presented system is capable of performing analytical tasks (avoiding any type of summarizability problems), providing insights, and visualizing results processing millions of intervals within milliseconds using an intuitive SQL-based query language. The heart of the solution is based on several bitmap-based indexes, which enable the system to handle huge amounts of time interval data.
This book exposes how inequalities based on class and social background arise from employment practices in the digital age. It considers instances where social media is used in recruitment to infiltrate private lives and hide job advertisements based on locality; where algorithms assess socio-economic data to filter candidates; where human interviewers are replaced by artificial intelligence with design that disadvantages users of classed language; and where already vulnerable groups become victims of digitalisation and remote work. The author examines whether these practices create risks of discrimination based on certain protected attributes, including ‘social origin’ in international labour law and laws in Australia and South Africa, ‘social condition’ and ‘family status’ in laws within Canada, and others. The book proposes essential law reform and improvements to workplace policy.
Representation Theory of Symmetric Groups is the most up-to-date abstract algebra book on the subject of symmetric groups and representation theory. Utilizing new research and results, this book can be studied from a combinatorial, algorithmic or algebraic viewpoint. This book is an excellent way of introducing today's students to representation theory of the symmetric groups, namely classical theory. From there, the book explains how the theory can be extended to other related combinatorial algebras like the Iwahori-Hecke algebra. In a clear and concise manner, the author presents the case that most calculations on symmetric group can be performed by utilizing appropriate algebras of functions. Thus, the book explains how some Hopf algebras (symmetric functions and generalizations) can be used to encode most of the combinatorial properties of the representations of symmetric groups. Overall, the book is an innovative introduction to representation theory of symmetric groups for graduate students and researchers seeking new ways of thought.
This open access book discusses the statistical modeling of insurance problems, a process which comprises data collection, data analysis and statistical model building to forecast insured events that may happen in the future. It presents the mathematical foundations behind these fundamental statistical concepts and how they can be applied in daily actuarial practice. Statistical modeling has a wide range of applications, and, depending on the application, the theoretical aspects may be weighted differently: here the main focus is on prediction rather than explanation. Starting with a presentation of state-of-the-art actuarial models, such as generalized linear models, the book then dives into modern machine learning tools such as neural networks and text recognition to improve predictive modeling with complex features. Providing practitioners with detailed guidance on how to apply machine learning methods to real-world data sets, and how to interpret the results without losing sight of the mathematical assumptions on which these methods are based, the book can serve as a modern basis for an actuarial education syllabus. |
You may like...
Insightful Data Visualization with SAS…
Falko Schulz, Travis Murphy
Hardcover
R1,147
Discovery Miles 11 470
Research Anthology on Implementing…
Information R Management Association
Hardcover
R15,742
Discovery Miles 157 420
Intelligent Data Security Solutions for…
Amit Kumar Singh, Mohamed Elhoseny
Paperback
R2,640
Discovery Miles 26 400
Advances in Data Analysis with…
Adam E Gaweda, Janusz Kacprzyk, …
Hardcover
Cross-Cultural Analysis of Image-Based…
Lisa Keller, Robert Keller, …
Hardcover
R3,285
Discovery Miles 32 850
|