Your cart is empty
MATLAB: A Practical Introduction to Programming and Problem Solving, winner of TAA's 2017 Textbook Excellence Award ("Texty"), guides the reader through both programming and built-in functions to easily exploit MATLAB's extensive capabilities for tackling engineering and scientific problems. Assuming no knowledge of programming, this book starts with programming concepts, such as variables, assignments, and selection statements, moves on to loops, and then solves problems using both the programming concept and the power of MATLAB. The fifth edition has been updated to reflect the functionality of the current version of MATLAB (R2018a), including the addition of local functions in scripts, the new string type, coverage of recently introduced functions to import data from web sites, and updates to the Live Editor and App Designer.
This book covers local search for combinatorial optimization and its extension to mixed-variable optimization. Although not yet understood from the theoretical point of view, local search is the paradigm of choice for tackling large-scale real-life optimization problems. Today's end-users demand interactivity with decision support systems. For optimization software, this means obtaining good-quality solutions quickly. Fast iterative improvement methods, like local search, are suited to satisfying such needs. Here the authors show local search in a new light, in particular presenting a new kind of mathematical programming solver, namely LocalSolver, based on neighborhood search.
First, an iconoclast methodology is presented to design and engineer local search algorithms. The authors' concern about industrializing local search approaches is of particular interest for practitioners. This methodology is applied to solve two industrial problems with high economic stakes. Software based on local search induces extra costs in development and maintenance in comparison with the direct use of mixed-integer linear programming solvers. The authors then move on to present the LocalSolver project whose goal is to offer the power of local search through a model-and-run solver for large-scale 0-1 nonlinear programming. They conclude by presenting their ongoing and future work on LocalSolver toward a full mathematical programming solver based on local search.
Complexity theory aims to understand and classify computational problems, especially decision problems, according to their inherent complexity. This book uses new techniques to expand the theory for use with counting problems. The authors present dichotomy classifications for broad classes of counting problems in the realm of P and NP. Classifications are proved for partition functions of spin systems, graph homomorphisms, constraint satisfaction problems, and Holant problems. The book assumes minimal prior knowledge of computational complexity theory, developing proof techniques as needed and gradually increasing the generality and abstraction of the theory. This volume presents the theory on the Boolean domain, and includes a thorough presentation of holographic algorithms, culminating in classifications of computational problems studied in exactly solvable models from statistical mechanics.
This rigorous introduction to network science presents random graphs as models for real-world networks. Such networks have distinctive empirical properties and a wealth of new models have emerged to capture them. Classroom tested for over ten years, this text places recent advances in a unified framework to enable systematic study. Designed for a master's-level course, where students may only have a basic background in probability, the text covers such important preliminaries as convergence of random variables, probabilistic bounds, coupling, martingales, and branching processes. Building on this base - and motivated by many examples of real-world networks, including the Internet, collaboration networks, and the World Wide Web - it focuses on several important models for complex networks and investigates key properties, such as the connectivity of nodes. Numerous exercises allow students to develop intuition and experience in working with the models.
This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The four volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth's writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. To continue the fourth and later volumes of the set, and to update parts of the existing volumes, Knuth has created a series of small books called fascicles, which are published at regular intervals. Each fascicle encompasses a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete. This fascicle covers three separate topics: Mathematical Preliminaries. Knuth writes that this portion of fascicle 5 "extends the 'Mathematical Preliminaries' of Section 1.2 in Volume 1 to things that I didn't know about in the 1960s. Most of this new material deals with probabilities and expectations of random events; there's also an introduction to the theory of martingales." Backtracking: this section is the counterpart to section 7.2.1 which covered the generation of basic combinatorial patterns. This section covers non-basic patterns, ones where the developer needs to make tentative choices and then may need to backtrack when those choices need revision. Dancing Links: this section is related to 2 above. It develops an important data structure technique that is suitable for backtrack programming described above.
SHORTLISTED FOR THE FT AND MCKINSEY BUSINESS BOOK OF THE YEAR AWARD 2019 NEW YORK TIMES AND SUNDAY TIMES BUSINESS BESTSELLER 'Reads more like a delicious page-turning novel...Put it on your holiday gift list for your favourite hedge-fund honcho' Bloomberg 'A compelling read' Economist 'Captivating' New York Times book review Jim Simons is the greatest moneymaker in modern financial history. His record bests those of legendary investors, including Warren Buffett, George Soros and Ray Dalio. Yet Simons and his strategies are shrouded in mystery. The financial industry has long craved a look inside Simons's secretive hedge fund, Renaissance Technologies and veteran Wall Street Journal reporter Gregory Zuckerman delivers the goods. After a legendary career as a mathematician and a stint breaking Soviet codes, Simons set out to conquer financial markets with a radical approach. Simons hired physicists, mathematicians and computer scientists - most of whom knew little about finance - to amass piles of data and build algorithms hunting for the deeply hidden patterns in global markets. Experts scoffed, but Simons and his colleagues became some of the richest in the world, their strategy of creating mathematical models and crunching data embraced by almost every industry today. As Renaissance became a major player in the financial world, its executives began exerting influence on other areas. Simons became a major force in scientific research, education and Democratic politics, funding Hilary Clinton's presidential campaign. While senior executive Robert Mercer is more responsible than anyone else for the Trump presidency - he placed Steve Bannon in the campaign, funded Trump's victorious 2016 effort and backed alt-right publication Breitbart. Mercer also impacted the success of the Brexit campaign as he made significant investments in Cambridge Anatlytica. For all his prescience, Simons failed to anticipate how Mercer's activity would impact his firm and the world. In this fast-paced narrative, Zuckerman examines how Simons launched a quantitative revolution on Wall Street, and reveals the impact that Simons, the quiet billionaire king of the quants, has had on worlds well beyond finance.
Access the power of bare-metal systems programming with Scala Native, an ahead-of-time Scala compiler. Without the baggage of legacy frameworks and virtual machines, Scala Native lets you re-imagine how your programs interact with your operating system. Compile Scala code down to native machine instructions; seamlessly invoke operating system APIs for low-level networking and IO; control pointers, arrays, and other memory management techniques for extreme performance; and enjoy instant start-up times. Skip the JVM and improve your code performance by getting close to the metal. Developers generally build systems on top of the work of those who came before, accumulating layer upon layer of abstraction. Scala Native provides a rare opportunity to remove layers. Without the JVM, Scala Native uses POSIX and ANSI C APIs to build concise, expressive programs that run unusually close to bare metal. Scala Native compiles Scala code down to native machine instructions instead of JVM bytecode. It starts up fast, without the sluggish warm-up phase that's common for just-in-time compilers. Scala Native programs can seamlessly invoke operating system APIs for low-level networking and IO. And Scala Native lets you control pointers, arrays, and other memory layout types for extreme performance. Write practical, bare-metal code with Scala Native, step by step. Understand the foundations of systems programming, including pointers, arrays, strings, and memory management. Use the UNIX socket API to write network client and server programs without the sort of frameworks higher-level languages rely on. Put all the pieces together to design and implement a modern, asynchronous microservice-style HTTP framework from scratch. Take advantage of Scala Native's clean, modern syntax to write lean, high-performance code without the JVM. What You Need: A modern Windows, Mac OS, or Linux system capable of running Docker. All code examples in the book are designed to run on a portable Docker-based build environment that runs anywhere. If you don't have Docker yet, see the Appendix for instructions on how to get it.
As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company's structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company's technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what's worked and what hasn't in large-scale transformation
The starkly different ways that American and French online news companies respond to audience analytics and what this means for the future of news When the news moved online, journalists suddenly learned what their audiences actually liked, through algorithmic technologies that scrutinize web traffic and activity. Has this advent of audience metrics changed journalists' work practices and professional identities? In Metrics at Work, Angele Christin documents the ways that journalists grapple with audience data in the form of clicks, and analyzes how new forms of clickbait journalism travel across national borders. Drawing on four years of fieldwork in web newsrooms in the United States and France, including more than one hundred interviews with journalists, Christin reveals many similarities among the media groups examined-their editorial goals, technological tools, and even office furniture. Yet she uncovers crucial and paradoxical differences in how American and French journalists understand audience analytics and how these affect the news produced in each country. American journalists routinely disregard traffic numbers and primarily rely on the opinion of their peers to define journalistic quality. Meanwhile, French journalists fixate on internet traffic and view these numbers as a sign of their resonance in the public sphere. Christin offers cultural and historical explanations for these disparities, arguing that distinct journalistic traditions structure how journalists make sense of digital measurements in the two countries. Contrary to the popular belief that analytics and algorithms are globally homogenizing forces, Metrics at Work shows that computational technologies can have surprisingly divergent ramifications for work and organizations worldwide.
Artificial Intelligence Techniques in IoT Sensor Networks is a technical book which can be read by researchers, academicians, students and professionals interested in artificial intelligence (AI), sensor networks and Internet of Things (IoT). This book is intended to develop a shared understanding of applications of AI techniques in the present and near term. The book maps the technical impacts of AI technologies, applications and their implications on the design of solutions for sensor networks. This text introduces researchers and aspiring academicians to the latest developments and trends in AI applications for sensor networks in a clear and well-organized manner. It is mainly useful for research scholars in sensor networks and AI techniques. In addition, professionals and practitioners working on the design of real-time applications for sensor networks may benefit directly from this book. Moreover, graduate and master's students of any departments related to AI, IoT and sensor networks can find this book fascinating for developing expert systems or real-time applications. This book is written in a simple and easy language, discussing the fundamentals, which relieves the requirement of having early backgrounds in the field. From this expectation and experience, many libraries will be interested in owning copies of this work.
For courses in computer programming and engineering. Beginner to Intermediate Programming in Java This book is designed to serve as a textbook and reference for programming in the Java language. Although it does include programming techniques, it is organized around the features of the Java language rather than any particular curriculum of programming techniques. The main audience is undergraduate students who have not had extensive programming experience with the Java language. The introductory chapters are written at a level that is accessible to beginners, while the boxed sections of those chapters serve to quickly introduce more experienced programmers to basic Java syntax. Later chapters are still designed to be accessible, but are written at a level suitable for students who have progressed to these more advanced topics. MyProgrammingLab(TM) not included. Students, if MyProgrammingLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyProgrammingLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information. MyProgrammingLab is an online homework, tutorial, and assessment product designed to personalize learning and improve results. With a wide range of interactive, engaging, and assignable activities, students are encouraged to actively learn and retain tough course concepts.
Practical UML Statecharts in C/C++ Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, event-driven infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++ without big tools. This book is presented in two parts. In Part I, you get a practical description of the relevant state machine concepts starting from traditional finite state automata to modern UML state machines followed by state machine coding techniques and state-machine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic real-time framework indispensable for combining concurrent, event-driven state machines into robust applications. Part II begins with a clear explanation of the key event-driven programming concepts such as inversion of control ("Hollywood Principle"), blocking versus non-blocking code, run-to-completion (RTC) execution semantics, the importance of event queues, dealing with time, and the role of state machines to maintain the context from one event to the next. This background is designed to help software developers in making the transition from the traditional sequential to the modern event-driven programming, which can be one of the trickiest paradigm shifts. The lightweight QP event-driven infrastructure goes several steps beyond the traditional real-time operating system (RTOS). In the simplest configuration, QP runs on bare-metal microprocessor, microcontroller, or DSP completely replacing the RTOS. QP can also work with almost any OS/RTOS to take advantage of the existing device drivers, communication stacks, and other middleware. The accompanying website to this book contains complete open source code for QP, ports to popular processors and operating systems, including 80x86, ARM Cortex-M3, MSP430, and Linux, as well as all examples described in the book.
This book provides thorough and comprehensive coverage of most of the new and important quantitative methods of data analysis for graduate students and practitioners. In recent years, data analysis methods have exploded alongside advanced computing power, and it is critical to understand such methods to get the most out of data, and to extract signal from noise. The book excels in explaining difficult concepts through simple explanations and detailed explanatory illustrations. Most unique is the focus on confidence limits for power spectra and their proper interpretation, something rare or completely missing in other books. Likewise, there is a thorough discussion of how to assess uncertainty via use of Expectancy, and the easy to apply and understand Bootstrap method. The book is written so that descriptions of each method are as self-contained as possible. Many examples are presented to clarify interpretations, as are user tips in highlighted boxes.
Motivated learning is an emerging research field in artificial intelligence and cognitive modelling. Computational models of motivation extend reinforcement learning to adaptive, multitask learning in complex, dynamic environments the goal being to understand how machines can develop new skills and achieve goals that were not predefined by human engineers. In particular, this book describes how motivated reinforcement learning agents can be used in computer games for the design of non-player characters that can adapt their behaviour in response to unexpected changes in their environment.
This book covers the design, application and evaluation of computational models of motivation in reinforcement learning. The authors start with overviews of motivation and reinforcement learning, then describe models for motivated reinforcement learning. The performance of these models is demonstrated by applications in simulated game scenarios and a live, open-ended virtual world.
Researchers in artificial intelligence, machine learning and artificial life will benefit from this book, as will practitioners working on complex, dynamic systems in particular multiuser, online games."
Inspired by the success of their best-selling introductory programming text, Java Software Solutions, authors Lewis, DePasquale, and Chase now release Java Foundations, Third Edition. This text is a comprehensive resource for instructors who want a two-or three-semester introduction to programming textbook that includes detail on data structures topics. Java Foundations introduces a Software Methodology early on and revisits it throughout to ensure students develop sound program development skills from the beginning. Control structures are covered before writing classes, providing a solid foundation of fundamental concepts and sophisticated topics.
Jack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you'll learn strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use. Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small.For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts. Large-scale development is also a social activity, and the team's dynamics influence code quality. That's why this book shows you how to uncover social biases when analyzing the evolution of your system. You'll use commit messages as eyewitness accounts to what is really happening in your code. Finally, you'll put it all together by tracking organizational problems in the code and finding out how to fix them. Come join the hunt for better code! What You Need: You need Java 6 and Python 2.7 to run the accompanying analysis tools. You also need Git to follow along with the examples.
Discover a fresh approach for designing more efficient and cooperative wireless communications networks with this systematic guide. Covering everything from fundamental theory to current research topics, leading researchers describe a new, network-aware coding strategy that exploits the signal interactions that occur in dense wireless networks directly at the waveform level. Using an easy-to-follow, layered structure, this unique text begins with a gentle introduction for those new to the subject, before moving on to explain key information-theoretic principles and establish a consistent framework for wireless physical layer network coding (WPNC) strategies. It provides a detailed treatment of Network Coded Modulation, covers a range of WPNC techniques such as Noisy Network Coding, Compute and Forward, and Hierarchical Decode and Forward, and explains how WPNC can be applied to parametric fading channels, frequency selective channels, and complex stochastic networks. This is essential reading whether you are a researcher, graduate student, or professional engineer.
For courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses. Shows students how to use both the principles of software engineering and the practices of various object-oriented tools, processes, and products. Using a step-by-step case study to illustrate the concepts and topics in each chapter, Bruegge and Dutoit emphasize learning object-oriented software engineer through practical experience: students can apply the techniques learned in class by implementing a real-world software project. The third edition addresses new trends, in particular agile project management (Chapter 14 Project Management) and agile methodologies (Chapter 16 Methodologies).
Are you interested in learning to program computers? PROGRAMMING FOR THE ABSOLUTE BEGINNER, SECOND EDITION is a friendly guide that will teach you the fundamentals of computer programming through the hands-on (and fun!) development of computer games. This book teaches programming using Just BASIC, a free, easy-to-learn software that lets you create programs for computers running Windows. Popular author and educator Jerry Ford, Jr., teaches you fundamental programming principles and gives you a broad view of computer programming and its many possibilities. As you work through this book, you will not only learn the basics of programming, but you'll also build a foundation from which you can advance into other programming languages with confidence. Get started programming today with PROGRAMMING FOR THE ABSOLUTE BEGINNER, SECOND EDITION.
The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. This practical guide ties those parts together with a new way to think about architecture and time.
Edited by professionals with years of experience, this book provides an introduction to the theory of evolutionary algorithms and single- and multi-objective optimization, and then goes on to discuss to explore applications of evolutionary algorithms for many uses with real-world applications. Covering both the theory and applications of evolutionary computation, the book offers exhaustive coverage of several topics on nontraditional evolutionary techniques, details working principles of new and popular evolutionary algorithms, and discusses case studies on both scientific and real-world applications of optimization
This book provides readers insights into cyber maneuvering or adaptive and intelligent cyber defense. It describes the required models and security supporting functions that enable the analysis of potential threats, detection of attacks, and implementation of countermeasures while expending attacker resources and preserving user experience. This book not only presents significant education-oriented content, but uses advanced content to reveal a blueprint for helping network security professionals design and implement a secure Software-Defined Infrastructure (SDI) for cloud networking environments. These solutions are a less intrusive alternative to security countermeasures taken at the host level and offer centralized control of the distributed network. The concepts, techniques, and strategies discussed in this book are ideal for students, educators, and security practitioners looking for a clear and concise text to avant-garde cyber security installations or simply to use as a reference. Hand-on labs and lecture slides are located at http://virtualnetworksecurity.thothlab.com/. Features Discusses virtual network security concepts Considers proactive security using moving target defense Reviews attack representation models based on attack graphs and attack trees Examines service function chaining in virtual networks with security considerations Recognizes machine learning and AI in network security
You may like...
Program Construction - Calculating…
Roland Backhouse Paperback R1,073 Discovery Miles 10 730
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, … Paperback (1)
The Discrete Mathematical Charms of Paul…
Vasek Chvatal Paperback R619 Discovery Miles 6 190
Programming Logic & Design…
Joyce Farrell Paperback
Compressive Imaging: Structure…
Ben Adcock, Anders C. Hansen Hardcover R1,464 Discovery Miles 14 640
Building Cross-Platform Mobile and Web…
Pawan Lingras, Matt Triff, … Paperback
Sasha Vodnik, Don Gosselin Paperback (1)
The Science of Science
Dashun Wang, Albert-Laszlo Barabasi Paperback R617 Discovery Miles 6 170
Creating a Winning E-Business
H. Albert Napier, Stuart Wagner, … Paperback
Programming with Mobile Applications…
Thomas Duffy Paperback