Towards a Theory of Swarm Intelligence Major Approaches

Total Page:16

File Type:pdf, Size:1020Kb

Towards a Theory of Swarm Intelligence Major Approaches Towards a Theory of Swarm Intelligence Major Approaches Ant based: Use of pheromones Bird based: Flocking A third approach is based on bees: Direct communication through dance Multiple pheromones and more powerful pheromones Characteristics of Swarm Behavior Many agents Generally simple perception Generally simple information processing Some form of interaction (stigmergy) No centralized control Emergence Ants Perception. Follow pheromone trail Orientation by sun (even when cloudy) Action. Wander to find a food source When a food source is found: Lay pheromones on path back to the nest Use sun to use a short path home Ant-Based Algorithms Primary use: shortest path problems Example: Dynamic Ant-Based Algorithms food Secondary use: Dynamic shortest path problems Maximize throughput Example: nest Representative Application Routing. Example: Representative Application Ants age as they traverse the network Their age depends on: Length of path Time to wait at a node At each node, create routing table based on start node of the ant. Ants drop pheromones, inversely proportional to age. Is it Swarm Intelligence? Many agents Simple perception and processing: Follow strongest pheromone trail with a certain probability Drop pheromones based on age No centralized control Dynamic load-balancing emerges Birds Perception. Can see a certain range: Birds Action. Attempt to stay close But not too close Birds Action. Fly into about the same direction as birds around them Flocking Algorithms Primary use: Dynamic Coverage Example: Is it Swarm Intelligence? Many agents Simple, limited range perception Flocking: Simple processing Interaction: The way the flocking is done No centralized control Emergence: fault tolerant coverage of an area Necessary Conditions for Swarm Behavior Many agents Agents perceive The part that pertains to solving the task at hand is ideally very simple Agents process information The part that pertains to solving the task at hand is ideally very simple Agents act No centralized control Some form of interaction Something emerges What can and cannot be formalized as swarm? Sand pile (no) Bacteria Corals >2, >10 agents? Construction site (no) Optimization There are two kinds of swarm based optimization algorithms: Particle Swarm Optimization (PSO) related to bird systems. Ant-Colony Optimization (ACO) based on ant systems. Particle Swarm Optimization Designed to find optima for continuous functions. Not guaranteed. Properties of PSO PSO is generally thought of as a flocking algorithm. How should we formalize PSO as a flocking algorithm? PSO as Flocking (Attempt One) Many agents Perception: Each agent only trivially considers their neighbor (viewing radius is empty) Processing: Consider own max and global max in determining your velocity vector. Optimization emerges Problems with Attempt One While no centralized control, a global piece of information. How do we determine the global max, without centralized control? PSO as Flocking (Attempt Two) Each agent trivially considers all of their neighbors (viewing radius is the world) How to determine max? Similar to a bee dance? Doesn’t have to be exact. Anything else? Perhaps a separate Swarm approach? Evaluation: Perception is complex and cockeyed. PSO as Flocking (Attempt Three) Each agent has a reasonable viewing radius. Consider own max and those in viewing radius. Evaluation: Perception is not as complex and follows flocking more closely Performance: Needs to be evaluated. PSO as Ant System Since we are generous, why not attempt to formalize PSO as an Ant System. We want to learn from nature, but do not necessarily want to be bound by it. PSO as Ant System Nest is placed somewhere in the domain of the function. Pre-Processing: Ants explore their world by randomly walking to random locations for a random amount of time. Now the ants are distributed just like the birds were. [Actually, the birds start out at random locations.] PSO as Ant System Algorithm: Each ant explores its world, noting its own maximum. It goes back to the nest after a while, laying a pheromone trail corresponding to its maximum value from the position of where that value is found. When other ants leave the nest, they follow the trail with the highest number. When reaching the maximum, they explore it, just like they did before. Is it Swarm Intelligence? Many agents Simple perception Simple processing Pheromones are used: dynamic pheromone values Emergence: A pretty good maximum is found No centralized control Anthill becomes repository of global max. Is it Swarm Intelligence? Different to PSO, in that we take location of nest rather than own maximum into account, when it comes to exploring the domain. Question: How important is it that we travel from our own max to the global max rather than from the nest location to the global max? This needs to be investigated. Is it Swarm Intelligence? Modification: Similar to ACO, every time an ants goes down the (strongest or second or whatever strongest) pheromone trail, the trail gets less strong. This way, the second, third, etc. strongest max points get explored too. It would be interesting to compare it to PSO, head to head! Needs to be done. Is it Swarm Intelligence? Once ants go back to the nest, they follow the new max. We could have ants go back to their own max, however, there is no pheromone path from their own max to that of the global max. Would have to use super-ant vision or super-ant olfactory sense. Performance: Needs to be evaluated. Is it Swarm Intelligence? While not exactly the same as PSO, it is probably close enough! I’d love for someone to do a simulation of this and other formalizations I proposed earlier. After all, PSO is not flocking either and would have to be tested, given the proposed modifications. Evaluation While not following the PSO algorithms to the letter, PSO can be formalized as an ant system or as a bird system. Challenge ACO (Ant Colony Optimization) Where does it fit? Ant-Colony Optimization An optimization algorithm that was developed for TSP. Can be used on problems that can be reduced to TSP or other graph problems. Ant-Colony Optimization Snapshot: Is it Swarm Intelligence? Many agents Medium complex perception: member of candidate list, pheromone strength, distance to neighboring nodes Simple processing: Follow best path with certain probability Pheromones evaporate as a function of traffic “Super ant” gets to lay pheromones along shortest path. Good solutions to TSP emerge Is it Swarm Intelligence? Key issue: How to conceptualize the algorithm for determining the best bath so far. It needs a central repository and, like PSO, requires a comparison algorithm. Easy to do in a programming language, use a priority queue as a data structure. Conceptually, we need a separate ant system to do so. Have ants record the length of their path. This is a simple operation. Is it Swarm Intelligence? Use a sorted list to record the paths in a global repository, say the ant hill. Each ant could just move down a “list” of numbers and determine whether its number is less than the next number and if so, drops its own number. Seems simple. After determining the max, some other ants clean up all those numbers. ACO as Flocking Can we formalize ACO as flocking? Shortest Path as Flocking Shortest Path as Flocking Two lanes leading up to fork. One lane from then on. Boids will pick a random path at the fork, as initially, there are not enough boids to affect a direction. Boids reappear at start node when they reach the goal node, i.e. they “respawn.” Shortest Path as Flocking Where the paths merge, boids will back up due to bottleneck. Eventually, this backs up to the fork. Then, boids will select that path over the other. This is the shortest path. Evaluation To be investigates: Does the system reach a steady state? To be investigated: Should one just read off the data when enough boids backed up? Conclusions There are a wide variety of swarm techniques. PSO and ACO were inspired by the underlying biology but do not adhere to it. Lesson Learned ACO and PSO can be considered as instantiation of natural swarm system. In an ironic twist, some of the operations of those two systems are simpler to execute in code than in a natural system. As such, we might argue for a computational swarm system, in which there are many agents an in which each agent executes simple procedures. Future Work Determine sufficient requirements for Swarm Intelligence. Initial answer: one pheromone or simple flocking. Could it be none of the above? We have attempted to reduce ACO and PSO to each other, but have not come up with a pure approach. .
Recommended publications
  • Flocks and Crowds
    Flocks and Crowds Flocks and crowds are other essential concepts we'll be exploring in this book. amount of realism to your simulation in just a few lines of code. Crowds can be a bit more complex, but we'll be exploring some of the powerful tools that come bundled with Unity to get the job done. In this chapter, we'll cover the following topics: Learning the history of flocks and herds Understanding the concepts behind flocks Flocking using the Unity concepts Flocking using the traditional algorithm Using realistic crowds the technology being the swarm of bats in Batman Returns in 1992, for which he won an and accurate, the algorithm is also very simple to understand and implement. [ 115 ] Understanding the concepts behind As with them to the real-life behaviors they model. As simple as it sounds, these concepts birds exhibit in nature, where a group of birds follow one another toward a common on the group. We've explored how singular agents can move and make decisions large groups of agents moving in unison while modeling unique movement in each Island. This demo came with Unity in Version 2.0, but has been removed since Unity 3.0. For our project. the way, you'll notice some differences and similarities, but there are three basic the algorithm's introduction in the 80s: Separation: This means to maintain a distance with other neighbors in the flock to avoid collision. The following diagram illustrates this concept: Here, the middle boid is shown moving in a direction away from the rest of the boids, without changing its heading [ 116 ] Alignment: This means to move in the same direction as the flock, and with the same velocity.
    [Show full text]
  • Swarm Intelligence
    Swarm Intelligence Leen-Kiat Soh Computer Science & Engineering University of Nebraska Lincoln, NE 68588-0115 [email protected] http://www.cse.unl.edu/agents Introduction • Swarm intelligence was originally used in the context of cellular robotic systems to describe the self-organization of simple mechanical agents through nearest-neighbor interaction • It was later extended to include “any attempt to design algorithms or distributed problem-solving devices inspired by the collective behavior of social insect colonies and other animal societies” • This includes the behaviors of certain ants, honeybees, wasps, cockroaches, beetles, caterpillars, and termites Introduction 2 • Many aspects of the collective activities of social insects, such as ants, are self-organizing • Complex group behavior emerges from the interactions of individuals who exhibit simple behaviors by themselves: finding food and building a nest • Self-organization come about from interactions based entirely on local information • Local decisions, global coherence • Emergent behaviors, self-organization Videos • https://www.youtube.com/watch?v=dDsmbwOrHJs • https://www.youtube.com/watch?v=QbUPfMXXQIY • https://www.youtube.com/watch?v=M028vafB0l8 Why Not Centralized Approach? • Requires that each agent interacts with every other agent • Do not possess (environmental) obstacle avoidance capabilities • Lead to irregular fragmentation and/or collapse • Unbounded (externally predetermined) forces are used for collision avoidance • Do not possess distributed tracking (or migration)
    [Show full text]
  • Migration and Conservation: Frameworks, Gaps, and Synergies in Science, Law, and Management
    GAL.MERETSKY.DOC 5/31/2011 6:00 PM MIGRATION AND CONSERVATION: FRAMEWORKS, GAPS, AND SYNERGIES IN SCIENCE, LAW, AND MANAGEMENT BY VICKY J. MERETSKY,* JONATHAN W. ATWELL** & JEFFREY B. HYMAN*** Migratory animals provide unique spectacles of cultural, ecological, and economic importance. However, the process of migration is a source of risk for migratory species as human actions increasingly destroy and fragment habitat, create obstacles to migration, and increase mortality along the migration corridor. As a result, many migratory species are declining in numbers. In the United States, the Endangered Species Act provides some protection against extinction for such species, but no protection until numbers are severely reduced, and no guarantee of recovery to population levels associated with cultural, ecological, or economic significance. Although groups of species receive some protection from statutes such as the Migratory Bird Treaty Act and Marine Mammal Protection Act, there is no coordinated system for conservation of migratory species. In addition, information needed to protect migratory species is often lacking, limiting options for land and wildlife managers who seek to support these species. In this Article, we outline the existing scientific, legal, and management information and approaches to migratory species. Our objective is to assess present capacity to protect the species and the phenomenon of migration, and we argue that all three disciplines are necessary for effective conservation. We find significant capacity to support conservation in all three disciplines, but no organization around conservation of migration within any discipline or among the three disciplines. Areas of synergy exist among the disciplines but not as a result of any attempt for coordination.
    [Show full text]
  • Swarm Intelligence for Multiobjective Optimization of Extraction Process
    Swarm Intelligence for Multiobjective Optimization of Extraction Process T. Ganesan* Department of Chemical Engineering, Universiti Technologi Petronas, 31750 Tronoh, Perak, Malaysia *email: [email protected] I. Elamvazuthi Department of Electrical & Electronics Engineering, Universiti Technologi Petronas, 31750 Tronoh, Perak, Malaysia P. Vasant Department of Fundamental & Applied Sciences, Universiti Technologi Petronas, 31750 Tronoh, Perak, Malaysia ABSTRACT Multi objective (MO) optimization is an emerging field which is increasingly being implemented in many industries globally. In this work, the MO optimization of the extraction process of bioactive compounds from the Gardenia Jasminoides Ellis fruit was solved. Three swarm-based algorithms have been applied in conjunction with normal-boundary intersection (NBI) method to solve this MO problem. The gravitational search algorithm (GSA) and the particle swarm optimization (PSO) technique were implemented in this work. In addition, a novel Hopfield-enhanced particle swarm optimization was developed and applied to the extraction problem. By measuring the levels of dominance, the optimality of the approximate Pareto frontiers produced by all the algorithms were gauged and compared. Besides, by measuring the levels of convergence of the frontier, some understanding regarding the structure of the objective space in terms of its relation to the level of frontier dominance is uncovered. Detail comparative studies were conducted on all the algorithms employed and developed in this work.
    [Show full text]
  • Swarm Intelligence
    Swarm Intelligence CompSci 760 Patricia J Riddle 8/20/12 760 swarm 1 Swarm Intelligence Swarm intelligence (SI) is the discipline that deals with natural and artificial systems composed of many individuals that coordinate using decentralized control and self-organization. ! 8/20/12 760 swarm 2 Main Focus collective behaviors that result from the ! ! local interactions of the individuals with ! ! each other and/or with ! ! their environment.! 8/20/12 760 swarm 3 Examples colonies of ants and termites, ! schools of fish, ! flocks of birds, ! bacterial growth,! herds of land animals. ! ! Artificial Systems:! some multi-robot systems! ! certain computer programs that are written to tackle optimization and data analysis problems! 8/20/12 760 swarm 4 Simple Local Rules agents follow very simple local rules! ! no centralized control structure dictating how individual agents should behave! ! local interactions between agents lead to the emergence of complex global behavior.! 8/20/12 760 swarm 5 Emergence emergence - the way complex systems and patterns arise out of a many simple interactions ! ! A complex system is composed of interconnected parts that as a whole exhibit one or more properties (behavior among the possible properties) not obvious from the properties of the individual parts! ! Classic Example: Life! ! 8/20/12 760 swarm 6 Taxonomy of Emergence Emergence may be generally divided into two perspectives, ! "weak emergence" and ! "strong emergence". ! 8/20/12 760 swarm 7 Weak Emergence new properties arising in systems as a result of the
    [Show full text]
  • Counter-Misdirection in Behavior-Based Multi-Robot Teams *
    Counter-Misdirection in Behavior-based Multi-robot Teams * Shengkang Chen, Graduate Student Member, IEEE and Ronald C. Arkin, Fellow, IEEE Abstract—When teams of mobile robots are tasked with misdirection approach using a novel type of behavior-based different goals in a competitive environment, misdirection and robot agents: counter-misdirection agents (CMAs). counter-misdirection can provide significant advantages. Researchers have studied different misdirection methods but the II. BACKGROUND number of approaches on counter-misdirection for multi-robot A. Robot Deception systems is still limited. In this work, a novel counter-misdirection approach for behavior-based multi-robot teams is developed by Robotic deception can be interpreted as robots using deploying a new type of agent: counter misdirection agents motions and communication to convey false information or (CMAs). These agents can detect the misdirection process and conceal true information [4],[5]. Deceptive behaviors can have “push back” the misdirected agents collaboratively to stop the a wide range of applications from military [6] to sports [7]. misdirection process. This approach has been implemented not only in simulation for various conditions, but also on a physical Researchers have studied robotic deception previously [4] robotic testbed to study its effectiveness. It shows that this through computational approaches [8] in a wide range of areas approach can stop the misdirection process effectively with a from human–robot interaction (HRI) [9]–[11] to ethical issues sufficient number of CMAs. This novel counter-misdirection [4]. Shim and Arkin [5] proposed a taxonomy of robot approach can potentially be applied to different competitive deception with three basic dimensions: interaction object, scenarios such as military and sports applications.
    [Show full text]
  • Boids Algorithm in Economics and Finance a Lesson from Computational Biology
    University of Amsterdam Faculty of Economics and Business Master's thesis Boids Algorithm in Economics and Finance A Lesson from Computational Biology Author: Pavel Dvoˇr´ak Supervisor: Cars Hommes Second reader: Isabelle Salle Academic Year: 2013/2014 Declaration of Authorship The author hereby declares that he compiled this thesis independently, using only the listed resources and literature. The author also declares that he has not used this thesis to acquire another academic degree. The author grants permission to University of Amsterdam to reproduce and to distribute copies of this thesis document in whole or in part. Amsterdam, July 18, 2014 Signature Bibliographic entry Dvorˇak´ , P. (2014): \Boids Algorithm in Economics and Finance: A Les- son from Computational Biology." (Unpublished master's thesis). Uni- versity of Amsterdam. Supervisor: Cars Hommes. Abstract The main objective of this thesis is to introduce an ABM that would contribute to the existing ABM literature on modelling expectations and decision making of economic agents. We propose three different models that are based on the boids model, which was originally designed in biology to model flocking be- haviour of birds. We measure the performance of our models by their ability to replicate selected stylized facts of the financial markets, especially those of the stock returns: no autocorrelation, fat tails and negative skewness, non- Gaussian distribution, volatility clustering, and long-range dependence of the returns. We conclude that our boids-derived models can replicate most of the listed stylized facts but, in some cases, are more complicated than other peer ABMs. Nevertheless, the flexibility and spatial dimension of the boids model can be advantageous in economic modelling in other fields, namely in ecological or urban economics.
    [Show full text]
  • An Introduction to Swarm Intelligence Issues
    An Introduction to Swarm Intelligence Issues Gianni Di Caro [email protected] IDSIA, USI/SUPSI, Lugano (CH) 1 Topics that will be discussed Basic ideas behind the notion of Swarm Intelligence The role of Nature as source of examples and ideas to design new algorithms and multi-agent systems From observations to models and to algorithms Self-organized collective behaviors The role of space and communication to obtain self-organization Social communication and stigmergic communication Main algorithmic frameworks based on the notion of Swarm Intelligence: Collective Intelligence, Particle Swarm Optimization, Ant Colony Optimization Computational complexity, NP-hardness and the need of (meta)heuristics Some popular metaheuristics for combinatorial optimization tasks 2 Swarm Intelligence: what’s this? Swarm Intelligence indicates a recent computational and behavioral metaphor for solving distributed problems that originally took its inspiration from the biological examples provided by social insects (ants, termites, bees, wasps) and by swarming, flocking, herding behaviors in vertebrates. Any attempt to design algorithms or distributed problem-solving devices inspired by the collective behavior of social insects and other animal societies. [Bonabeau, Dorigo and Theraulaz, 1999] . however, we don’t really need to “stick” on examples from Nature, whose constraints and targets might differ profoundly from those of our environments of interest . 3 Where does it come from? Nest building in termite or honeybee societies Foraging in ant colonies Fish schooling Bird flocking . 4 Nature’s examples of SI Fish schooling ( c CORO, CalTech) 5 Nature’s examples of SI (2) Birds flocking in V-formation ( c CORO, Caltech) 6 Nature’s examples of SI (3) Termites’ nest ( c Masson) 7 Nature’s examples of SI (4) Bees’ comb ( c S.
    [Show full text]
  • Animating Predator and Prey Fish Interactions
    Georgia State University ScholarWorks @ Georgia State University Computer Science Dissertations Department of Computer Science 5-6-2019 Animating Predator and Prey Fish Interactions Sahithi Podila Follow this and additional works at: https://scholarworks.gsu.edu/cs_diss Recommended Citation Podila, Sahithi, "Animating Predator and Prey Fish Interactions." Dissertation, Georgia State University, 2019. https://scholarworks.gsu.edu/cs_diss/149 This Dissertation is brought to you for free and open access by the Department of Computer Science at ScholarWorks @ Georgia State University. It has been accepted for inclusion in Computer Science Dissertations by an authorized administrator of ScholarWorks @ Georgia State University. For more information, please contact [email protected]. ANIMATING PREDATOR AND PREY FISH INTERACTIONS by SAHITHI PODILA Under the Direction of Ying Zhu, PhD ABSTRACT Schooling behavior is one of the most salient social and group activities among fish. They form schools for social reasons like foraging, mating and escaping from predators. Animating a school of fish is difficult because they are large in number, often swim in distinctive patterns that is they take the shape of long thin lines, squares, ovals or amoeboid and exhibit complex coordinated patterns especially when they are attacked by a predator. Previous work in computer graphics has not provided satisfactory models to simulate the many distinctive interactions between a school of prey fish and their predator, how does a predator pick its target? and how does a school of fish react to such attacks? This dissertation presents a method to simulate interactions between prey fish and predator fish in the 3D world based on the biological research findings.
    [Show full text]
  • Flocks, Herds, and Schools: a Distributed Behavioral Model 1
    Published in Computer Graphics, 21(4), July 1987, pp. 25-34. (ACM SIGGRAPH '87 Conference Proceedings, Anaheim, California, July 1987.) Flocks, Herds, and Schools: A Distributed Behavioral Model 1 Craig W. Reynolds Symbolics Graphics Division [obsolete addresses removed 2] Abstract The aggregate motion of a flock of birds, a herd of land animals, or a school of fish is a beautiful and familiar part of the natural world. But this type of complex motion is rarely seen in computer animation. This paper explores an approach based on simulation as an alternative to scripting the paths of each bird individually. The simulated flock is an elaboration of a particle system, with the simulated birds being the particles. The aggregate motion of the simulated flock is created by a distributed behavioral model much like that at work in a natural flock; the birds choose their own course. Each simulated bird is implemented as an independent actor that navigates according to its local perception of the dynamic environment, the laws of simulated physics that rule its motion, and a set of behaviors programmed into it by the "animator." The aggregate motion of the simulated flock is the result of the dense interaction of the relatively simple behaviors of the individual simulated birds. Categories and Subject Descriptors: 1.2.10 [Artificial Intelligence]: Vision and Scene Understanding; 1.3.5 [Computer Graphics]: Computational Geometry and Object Modeling; 1.3.7 [Computer Graphics]: Three Dimensional Graphics and Realism-Animation: 1.6.3 [Simulation and Modeling]: Applications. General Terms: Algorithms, design.b Additional Key Words, and Phrases: flock, herd, school, bird, fish, aggregate motion, particle system, actor, flight, behavioral animation, constraints, path planning.
    [Show full text]
  • Expert Assessment of Stigmergy: a Report for the Department of National Defence
    Expert Assessment of Stigmergy: A Report for the Department of National Defence Contract No. W7714-040899/003/SV File No. 011 sv.W7714-040899 Client Reference No.: W7714-4-0899 Requisition No. W7714-040899 Contact Info. Tony White Associate Professor School of Computer Science Room 5302 Herzberg Building Carleton University 1125 Colonel By Drive Ottawa, Ontario K1S 5B6 (Office) 613-520-2600 x2208 (Cell) 613-612-2708 [email protected] http://www.scs.carleton.ca/~arpwhite Expert Assessment of Stigmergy Abstract This report describes the current state of research in the area known as Swarm Intelligence. Swarm Intelligence relies upon stigmergic principles in order to solve complex problems using only simple agents. Swarm Intelligence has been receiving increasing attention over the last 10 years as a result of the acknowledgement of the success of social insect systems in solving complex problems without the need for central control or global information. In swarm- based problem solving, a solution emerges as a result of the collective action of the members of the swarm, often using principles of communication known as stigmergy. The individual behaviours of swarm members do not indicate the nature of the emergent collective behaviour and the solution process is generally very robust to the loss of individual swarm members. This report describes the general principles for swarm-based problem solving, the way in which stigmergy is employed, and presents a number of high level algorithms that have proven utility in solving hard optimization and control problems. Useful tools for the modelling and investigation of swarm-based systems are then briefly described.
    [Show full text]
  • The Emergence of Animal Social Complexity
    The Emergence of Animal Social Complexity: theoretical and biobehavioral evidence Bradly Alicea Orthogonal Research (http://orthogonal-research.tumblr.com) Keywords: Social Complexity, Sociogenomics, Neuroendocrinology, Metastability AbstractAbstract ThisThis paper paper will will introduce introduce a a theorytheory ofof emergentemergent animalanimal socialsocial complexitycomplexity usingusing variousvarious results results from from computational computational models models andand empiricalempirical resultsresults.. TheseThese resultsresults willwill bebe organizedorganized into into a avertical vertical model model of of socialsocial complexity.complexity. ThisThis willwill supportsupport thethe perspperspectiveective thatthat social social complexity complexity is isin in essence essence an an emergent emergent phenomenon phenomenon while while helping helping to answerto answer of analysistwo interrelated larger than questions. the individual The first organism.of these involves The second how behavior involves is placingintegrated aggregate at units socialof analysis events larger into thethan context the individual of processes organism. occurring The secondwithin involvesindividual placing organi aggregatesms over timesocial (e.g. events genomic into the and context physiological of processes processes) occurring. withinBy using individual a complex organisms systems over perspective,time (e.g. fivegenomic principles and physiologicalof social complexity processes). can Bybe identified.using a complexThese principles systems
    [Show full text]