![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming
These are my lecture notes from CS681: Design and Analysis of Algo rithms, a one-semester graduate course I taught at Cornell for three consec utive fall semesters from '88 to '90. The course serves a dual purpose: to cover core material in algorithms for graduate students in computer science preparing for their PhD qualifying exams, and to introduce theory students to some advanced topics in the design and analysis of algorithms. The material is thus a mixture of core and advanced topics. At first I meant these notes to supplement and not supplant a textbook, but over the three years they gradually took on a life of their own. In addition to the notes, I depended heavily on the texts * A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley, 1975. * M. R. Garey and D. S. Johnson, Computers and Intractibility: A Guide to the Theory of NP-Completeness. w. H. Freeman, 1979. * R. E. Tarjan, Data Structures and Network Algorithms. SIAM Regional Conference Series in Applied Mathematics 44, 1983. and still recommend them as excellent references.
In Part I, the impact of an integro-differential operator on parity logic engines (PLEs) as a tool for scientific modeling from scratch is presented. Part II outlines the fuzzy structural modeling approach for building new linear and nonlinear dynamical causal forecasting systems in terms of fuzzy cognitive maps (FCMs). Part III introduces the new type of autogenetic algorithms (AGAs) to the field of evolutionary computing. Altogether, these PLEs, FCMs, and AGAs may serve as conceptual and computational power tools.
Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation is devoted to a new paradigm for evolutionary computation, named estimation of distribution algorithms (EDAs). This new class of algorithms generalizes genetic algorithms by replacing the crossover and mutation operators with learning and sampling from the probability distribution of the best individuals of the population at each iteration of the algorithm. Working in such a way, the relationships between the variables involved in the problem domain are explicitly and effectively captured and exploited. This text constitutes the first compilation and review of the techniques and applications of this new tool for performing evolutionary computation. Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation is clearly divided into three parts. Part I is dedicated to the foundations of EDAs. In this part, after introducing some probabilistic graphical models - Bayesian and Gaussian networks - a review of existing EDA approaches is presented, as well as some new methods based on more flexible probabilistic graphical models. A mathematical modeling of discrete EDAs is also presented. Part II covers several applications of EDAs in some classical optimization problems: the travelling salesman problem, the job scheduling problem, and the knapsack problem. EDAs are also applied to the optimization of some well-known combinatorial and continuous functions. Part III presents the application of EDAs to solve some problems that arise in the machine learning field: feature subset selection, feature weighting in K-NN classifiers, rule induction, partial abductive inference in Bayesian networks, partitional clustering, and the search for optimal weights in artificial neural networks. Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation is a useful and interesting tool for researchers working in the field of evolutionary computation and for engineers who face real-world optimization problems. This book may also be used by graduate students and researchers in computer science. ... I urge those who are interested in EDAs to study this well-crafted book today.' David E. Goldberg, University of Illinois Champaign-Urbana.
Hardware description languages (HDL) such as VHDL and Verilog have found their way into almost every aspect of the design of digital hardware systems. Since their inception they gradually proved to be an essential part of modern design methodologies and design automation tools, ever exceeding their original goals of being description and simulation languages. Their use for automatic synthesis, formal proof, and testing are good examples. So far, HDLs have been mainly dealing with digital systems. However, integrated systems designed today require more and more analog parts such as A/D and D/A converters, phase locked loops, current mirrors, etc. The verification of the complete system therefore asks for the use of a single language. Using VHDL or Verilog to handle analog descriptions is possible, as it is shown in this book, but the real power is coming from true mixed-signal HDLs that integrate discrete and continuous semantics into a unified framework. Analog HDLs (AHDL) are considered here a subset of mixed-signal HDLs as they intend to provide the same level of features as HDLs do but with a scope limited to analog systems, possibly with limited support of discrete semantics. Analog and Mixed-Signal Hardware Description Languages covers several aspects related to analog and mixed-signal hardware description languages including: The use of a digital HDL for the description and the simulation of analog systems The emergence of extensions of existing standard HDLs that provide true analog and mixed-signal HDLs. The use of analog and mixed-signal HDLs for the development of behavioral models of analog (electronic) building blocks (operational amplifier, PLL) and for the design of microsystems that do not only involve electronic parts. The use of a front-end tool that eases the description task with the help of a graphical paradigm, yet generating AHDL descriptions automatically. Analog and Mixed-Signal Hardware Description Languages is the first book to show how to use these new hardware description languages in the design of electronic components and systems. It is necessary reading for researchers and designers working in electronic design.
This book reviews the present understanding of the history of software and establishes an agenda for further research. By exploring this current understanding, the authors identify the fundamental elements of software. The problems and questions addressed in the book range from purely technical to societal issues. Thus, the articles presented offer a fresh view of this history with new categories and interrelated themes, comparing and contrasting software with artefacts in other disciplines, so as to ascertain in what ways software is similar to and different from other technologies.This volume is based on the international conference "Mapping the History of Computing: Software Issues", held in April 2000 at the Heinz Nixdorf Museums Forum in Paderborn, Germany.
There are increasing opportunities to consider the application of semantic technologies for business information systems. Semantic technologies are expected to improve business processes and information systems, and lead to savings in cost and time as well as improved efficiency. Semantic Technologies for Business and Information Systems Engineering: Concepts and Applications investigates the application of semantic technologies to business and information systems engineering. This reference work assists researchers in academia and industry, students, business process analysts, information management professionals, software engineers, and other practitioners in gaining knowledge on applying semantic technologies for advanced business information systems, in annotating semantics to business processes, and in semantically integrating advanced business information systems.
As miniaturisation deepens, and nanotechnology and its machines become more prevalent in the real world, the need to consider using quantum mechanical concepts to perform various tasks in computation increases. Such tasks include: the teleporting of information, breaking heretofore "unbreakable" codes, communicating with messages that betray eavesdropping, and the generation of random numbers. This is the first book to apply quantum physics to the basic operations of a computer, representing the ideal vehicle for explaining the complexities of quantum mechanics to students, researchers and computer engineers, alike, as they prepare to design and create the computing and information delivery systems for the future. Both authors have solid backgrounds in the subject matter at the theoretical and more practical level. While serving as a text for senior/grad level students in computer science/physics/engineering, this book has its primary use as an up-to-date reference work in the emerging interdisciplinary field of quantum computing - the only prerequisite being knowledge of calculus and familiarity with the concept of the Turing machine.
Much of the world's advanced data processing applications are now dependant on eXtensible Markup Language (XML), from publishing to medical information storage. Therefore, XML has become a de facto standard for data exchange and representation on the World Wide Web and in daily life. Applications and Structures in XML Processing: Label Streams, Semantics Utilization and Data Query Technologies reflects the significant research results and latest findings of scholars' worldwide, working to explore and expand the role of XML. This collection represents an understanding of XML processing technologies in connection with both advanced applications and the latest XML processing technologies that is of primary importance. It provides the opportunity to understand topics in detail and discover XML research at a comprehensive level.
* With this book readers might well be able to build the next Mars Rover. * First book out on Java robotics. * The biggest selling point about this book is that no one else shows readers how to combine the power of their PC with a robust programming language in Java to create exciting robotics. * The book is a great teaching aid (in robotics or software) that establishes a new paradigm for thinking about robotics along with simpler ways to do things, i.e., vs. the old way using microcontrollers.
It gives me immense pleasure to introduce this timely handbook to the research/- velopment communities in the ?eld of signal processing systems (SPS). This is the ?rst of its kind and represents state-of-the-arts coverage of research in this ?eld. The driving force behind information technologies (IT) hinges critically upon the major advances in both component integration and system integration. The major breakthrough for the former is undoubtedly the invention of IC in the 50's by Jack S. Kilby, the Nobel Prize Laureate in Physics 2000. In an integrated circuit, all components were made of the same semiconductor material. Beginning with the pocket calculator in 1964, there have been many increasingly complex applications followed. In fact, processing gates and memory storage on a chip have since then grown at an exponential rate, following Moore's Law. (Moore himself admitted that Moore's Law had turned out to be more accurate, longer lasting and deeper in impact than he ever imagined. ) With greater device integration, various signal processing systems have been realized for many killer IT applications. Further breakthroughs in computer sciences and Internet technologies have also catalyzed large-scale system integration. All these have led to today's IT revolution which has profound impacts on our lifestyle and overall prospect of humanity. (It is hard to imagine life today without mobiles or Internets ) The success of SPS requires a well-concerted integrated approach from mul- ple disciplines, such as device, design, and application.
Looking back at the years that have passed since the realization of the very first electronic, multi-purpose computers, one observes a tremendous growth in hardware and software performance. Today, researchers and engi neers have access to computing power and software that can solve numerical problems which are not fully understood in terms of existing mathemati cal theory. Thus, computational sciences must in many respects be viewed as experimental disciplines. As a consequence, there is a demand for high quality, flexible software that allows, and even encourages, experimentation with alternative numerical strategies and mathematical models. Extensibil ity is then a key issue; the software must provide an efficient environment for incorporation of new methods and models that will be required in fu ture problem scenarios. The development of such kind of flexible software is a challenging and expensive task. One way to achieve these goals is to in vest much work in the design and implementation of generic software tools which can be used in a wide range of application fields. In order to provide a forum where researchers could present and discuss their contributions to the described development, an International Work shop on Modern Software Tools for Scientific Computing was arranged in Oslo, Norway, September 16-18, 1996. This workshop, informally referred to as Sci Tools '96, was a collaboration between SINTEF Applied Mathe matics and the Departments of Informatics and Mathematics at the Uni versity of Oslo."
Numerical computation, knowledge discovery and statistical data analysis integrated with powerful 2D and 3D graphics for visualization are the key topics of this book. The Python code examples powered by the Java platform can easily be transformed to other programming languages, such as Java, Groovy, Ruby and BeanShell. This book equips the reader with a computational platform which, unlike other statistical programs, is not limited by a single programming language.The author focuses on practical programming aspects and covers a broad range of topics, from basic introduction to the Python language on the Java platform (Jython), to descriptive statistics, symbolic calculations, neural networks, non-linear regression analysis and many other data-mining topics. He discusses how to find regularities in real-world data, how to classify data, and how to process data for knowledge discoveries. The code snippets are so short that they easily fit into single pages. Numeric Computation and Statistical Data Analysis on the Java Platform is a great choice for those who want to learn how statistical data analysis can be done using popular programming languages, who want to integrate data analysis algorithms in full-scale applications, and deploy such calculations on the web pages or computational servers regardless of their operating system. It is an excellent reference for scientific computations to solve real-world problems using a comprehensive stack of open-source Java libraries included in the DataMelt (DMelt) project and will be appreciated by many data-analysis scientists, engineers and students.
Describing a new optimization algorithm, the "Teaching-Learning-Based Optimization (TLBO)," in a clear and lucid style, this book maximizes reader insights into how the TLBO algorithm can be used to solve continuous and discrete optimization problems involving single or multiple objectives. As the algorithm operates on the principle of teaching and learning, where teachers influence the quality of learners' results, the elitist version of TLBO algorithm (ETLBO) is described along with applications of the TLBO algorithm in the fields of electrical engineering, mechanical design, thermal engineering, manufacturing engineering, civil engineering, structural engineering, computer engineering, electronics engineering, physics and biotechnology. The book offers a valuable resource for scientists, engineers and practitioners involved in the development and usage of advanced optimization algorithms.
This edited book is dedicated to Professor N. U. Ahmed, a leading scholar and a renowned researcher in optimal control and optimization on the occasion of his retirement from the Department of Electrical Engineering at University of Ottawa in 1999. The contributions of this volume are in the areas of optimal control, non linear optimization and optimization applications. They are mainly the im proved and expanded versions of the papers selected from those presented in two special sessions of two international conferences. The first special session is Optimization Methods, which was organized by K. L. Teo and X. Q. Yang for the International Conference on Optimization and Variational Inequality, the City University of Hong Kong, Hong Kong, 1998. The other one is Optimal Control, which was organized byK. Teo and L. Caccetta for the Dynamic Control Congress, Ottawa, 1999. This volume is divided into three parts: Optimal Control; Optimization Methods; and Applications. The Optimal Control part is concerned with com putational methods, modeling and nonlinear systems. Three computational methods for solving optimal control problems are presented: (i) a regularization method for computing ill-conditioned optimal control problems, (ii) penalty function methods that appropriately handle final state equality constraints, and (iii) a multilevel optimization approach for the numerical solution of opti mal control problems. In the fourth paper, the worst-case optimal regulation involving linear time varying systems is formulated as a minimax optimal con trol problem."
Mathematical summary for Digital Signal Processing Applications with Matlab consists of Mathematics which is not usually dealt in the DSP core subject, but used in DSP applications. Matlab programs with illustrations are given for the selective topics such as generation of Multivariate Gaussian distributed sample outcomes, Bacterial foraging algorithm, Newton's iteration, Steepest descent algorithm, etc. are given exclusively in the separate chapter. Also Mathematical summary for Digital Signal Processing Applications with Matlab is written in such a way that it is suitable for Non-Mathematical readers and is very much suitable for the beginners who are doing research in Digital Signal Processing.
Floating-point arithmetic is the most widely used way of implementing real-number arithmetic on modern computers. However, making such an arithmetic reliable and portable, yet fast, is a very difficult task. As a result, floating-point arithmetic is far from being exploited to its full potential. This handbook aims to provide a complete overview of modern floating-point arithmetic. So that the techniques presented can be put directly into practice in actual coding or design, they are illustrated, whenever possible, by a corresponding program. The handbook is designed for programmers of numerical applications, compiler designers, programmers of floating-point algorithms, designers of arithmetic operators, and more generally, students and researchers in numerical analysis who wish to better understand a tool used in their daily work and research.
Business applications are designed using profound knowledge about the business domain, such as domain objects, fundamental domain-related principles, and domain patterns. Nonetheless, the pattern community's ideas for software engineering have not impacted at the application level, they are still mostly used for technical problems. This book takes exactly this step: it shows you how to apply the pattern ideas in business applications and presents more than 20 structural and behavioral business patterns that use the REA (resources, events, agents) pattern as a common backbone. If you are a developer working on business frameworks, you can use the patterns presented to derive the right abstractions (e.g., business objects) and to design and ensure that the meta-rules (e.g., process patterns) are followed by the developers of the actual applications. And if you are an application developer, you can use these patterns to design your business application, to ensure that it does not violate the domain rules, and to adapt the application to changing requirements without the need to change the overall architecture. As with patterns in general, this approach allows for both more flexible and more solid software architectures and hence better software quality. "It's a great book, marvelous in breadth and depth. An impressive achievement. I particularly liked the modeling handbook examples." Bob Haugen, Business Technology Consultant and Contributor to REA standardization in ISO, UN/CEFACT and ebXML, UK "I enjoyed reading it very much, it gave many new insights into REA and its applications." Paul Johannesson, Stockholm University and Royal Institute of Technology, Sweden "This book by Pavel Hruby is destined to become a landmark in business modeling. Pavel heralds the replacement of traditional workflow-oriented modeling with a new breed of approaches that focus on delivering change-resilient and highly reusable business models. I highly recommend this book to you " Krzysztof Czarnecki, University of Waterloo, Canada
Constraint Logic Programming (CLP), an area of extreme research interest in recent years, extends the semantics of Prolog in such a way that the combinatorial explosion, a characteristic of most problems in the field of Artificial Intelligence, can be tackled efficiently. By employing solvers dedicated to each domain instead of the unification algorithm, CLP drastically reduces the search space of the problem, which leads to increased efficiency in the execution of logic programs. CLP offers the possibility of solving complex combinatorial problems in an efficient way, and at the same time maintains the advantages offered by the declarativeness of logic programming. The aim of this book is to present parallel and constraint logic programming, offering a basic understanding of the two fields to the reader new to the area. The first part of the book gives an introduction to the fundamental aspects of conventional logic programming which is necessary for understanding the parts that follow. The second part includes an introduction to parallel logic programming, architectures and implementations proposed in the area. Finally, the third part presents the principles of constraint logic programming. The last two parts also include descriptions of the supporting facilities for the two paradigms in two popular systems; ECLIPSe and SICStus. These platforms have been selected mainly because they offer both parallel and constraint features. Annotated and explained examples are also included in the relevant parts, offering a valuable guide and a first practical experience to the reader. Finally, applications of the covered paradigms are presented. The authors felt that a book of this kind should provide some theoretical background necessary for the understanding of the covered logic programming paradigms, and a quick start for the reader interested in writing parallel and constraint logic programming programs. However it is outside the scope of this book to provide a deep theoretical background of the two areas. In that sense, this book is addressed to a public interested in obtaining a knowledge of the domain, without spending the time and effort to understand the extensive theoretical work done in the field &endash; namely postgraduate and advanced undergraduate students in the area of logic programming. This book fills a gap in the current bibliography, since there is no comprehensive book of this level that covers the areas of conventional, parallel, and constraint logic programming. Parallel and Constraint Logic Programming: An Introduction to Logic, Parallelism and Constraints is appropriate for an advanced level course on Logic Programming or Constraints, and as a reference for practitioners and researchers in industry.
This volume contains several surveys focused on the ideas of approximate solutions, well-posedness and stability of problems in scalar and vector optimization, game theory and calculus of variations. These concepts are of particular interest in many fields of mathematics. The idea of stability goes back at least to J. Hadamard who introduced it in the setting of differential equations; the concept of well-posedness for minimum problems is more recent (the mid-sixties) and originates with A.N. Tykhonov. It turns out that there are connections between the two properties in the sense that a well-posed problem which, at least in principle, is "easy to solve," has a solution set that does not vary too much under perturbation of the data of the problem, i.e. it is "stable." These themes have been studied in depth for minimum problems and now we have a general picture of the related phenomena in this case. But, of course, the same concepts can be studied in other more complicated situations as, e.g. vector optimization, game theory and variational inequalities. Let us mention that in several of these new areas there is not even a unique idea of what should be called approximate solution, and the latter is at the basis of the definition of well posed problem."
Rules represent a simplified means of programming, congruent with our understanding of human brain constructs. With the advent of business rules management systems, it has been possible to introduce rule-based programming to nonprogrammers, allowing them to map expert intent into code in applications such as fraud detection, financial transactions, healthcare, retail, and marketing. However, a remaining concern is the quality, safety, and reliability of the resulting programs. This book is on business rules programs, that is, rule programs as handled in business rules management systems. Its conceptual contribution is to present the foundation for treating business rules as a topic of scientific investigation in semantics and program verification, while its technical contribution is to present an approach to the formal verification of business rules programs. The author proposes a method for proving correctness properties for a business rules program in a compositional way, meaning that the proof of a correctness property for a program is built up from correctness properties for the individual rules-thus bridging a gap between the intuitive understanding of rules and the formal semantics of rule programs. With this approach the author enables rule authors and tool developers to understand, express formally, and prove properties of the execution behavior of business rules programs. This work will be of interest to practitioners and researchers in the areas of program verification, enterprise computing, database management, and artificial intelligence.
At present, there is a general consensus on the nature of learning programming, but there are different opinions on what forms an effective environment for it. It is generally recognized that the development of a mental model is a formidable task for the student and that learning programming is a complex activity that depends heavily on metacognitive skills. This book, based on a NATO workshop, presents both pure cognitive models and experimental learning environments, and discusses what characteristics can make a learning model effective, especially in relation to the learning environment (natural or computerized). The papers cover cognitive models related to different aspects of programming, classes of learners, and types of environment, and are organized in three groups: theoretical and empirical studies on understanding programming, environments for learning programming, and learning programming in school environments. Comprehension, design, construction, testing, debugging, and verification are recognized as interdependent skills, which require complicated analysis and may develop independently, and indifferent orders, in novices. This book shows that there is unlikely to be asingle path from novice to expert and that the structure of the final product (the program) may not constrain the process by which it comes into being as much as some would advocate.
Embedded computing systems play an important and complex role in the functionality of electronic devices. With our daily routines becoming more reliant on electronics for personal and professional use, the understanding of these computing systems is crucial. Embedded Computing Systems: Applications, Optimization, and Advanced Design brings together theoretical and technical concepts of intelligent embedded control systems and their use in hardware and software architectures. By highlighting formal modeling, execution models, and optimal implementations, this reference source is essential for experts, researchers, and technical supporters in the industry and academia.
This book represents the refereed proceedings of the Ninth International Conference on Monte Carlo and Quasi-Monte Carlo Methods in Scientific Computing that was held at the University of Warsaw (Poland) in August 2010. These biennial conferences are major events for Monte Carlo and the premiere event for quasi-Monte Carlo research. The proceedings include articles based on invited lectures as well as carefully selected contributed papers on all theoretical aspects and applications of Monte Carlo and quasi-Monte Carlo methods. The reader will be provided with information on latest developments in these very active areas. The book is an excellent reference for theoreticians and practitioners interested in solving high-dimensional computational problems arising, in particular, in finance and statistics.
The underlying technologies enabling the realization of recent advances in areas like mobile and enterprise computing are artificial intelligence (AI), modeling and simulation, and software engineering. A disciplined, multifaceted, and unified approach to modeling and simulation is now essential in new frontiers, such as Simulation Based Acquisition. This volume is an edited survey of international scientists, academicians, and professionals who present their latest research findings in the various fields of AI; collaborative/distributed computing; and modeling, simulation, and their integration. Whereas some of these areas continue to seek answers to basic fundamental scientific inquiries, new questions have emerged only recently due to advances in computing infrastructures, technologies, and tools. The book¿s principal goal is to provide a unifying forum for developing postmodern, AI-based modeling and simulation environments and their utilization in both traditional and modern application domains. Features and topics: * Blends comprehensive, advanced modeling and simulation theories and methodologies in a presentation founded on formal, system-theoretic and AI-based approaches * Uses detailed, real-world examples to illustrate key concepts in systems theory, modeling, simulation, object orientation, and intelligent systems * Addresses a broad range of critical topics in the areas of modeling frameworks, distributed and high-performance object-oriented simulation approaches, as well as robotics, learning, multi-scale and multi-resolution models, and multi-agent systems * Includes new results pertaining to intelligent and agent-based modeling, the relationship between AI-based reasoning and Discrete-Event System Specification, and large-scale distributed modeling and simulation frameworks * Provides cross-disciplinary insight into how computer science, computer engineering, and systems engineering can collectively provide a rich set of theories and methods enabling contemporary modeling and simulation This state-of-the-art survey on collaborative/distributed modeling and simulation computing environments is an essential resource for the latest developments and tools in the field for all computer scientists, systems engineers, and software engineers. Professionals, practitioners, and graduate students will find this reference invaluable to their work involving computer simulation, distributed modeling, discrete-event systems, AI, and software engineering. |
You may like...
News Search, Blogs and Feeds - A Toolkit
Lars Vage, Lars Iselid
Paperback
R1,332
Discovery Miles 13 320
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R785 Discovery Miles 7 850
|