The document provides an overview of programmable logic controllers (PLCs). It defines PLCs as digital electronic devices that use programmable memory to implement logic functions like sequencing and timing to control machines and processes. The document discusses the basic structure of PLCs including the CPU, memory, input/output interfaces, and power supply. It also covers programming methods like ladder logic and instruction lists. Additional topics include input/output addressing, timers, counters, and techniques like latching, internal relays, and sequencing using timers.
Programmable Logic Controller and ladder logic programmingseema Vishwakarma
This document provides an introduction to programmable logic controllers (PLCs) and ladder logic programming. It defines a PLC as a small computer used to automate industrial processes by monitoring inputs and making decisions to control outputs based on a stored program. The document outlines the basic components of a PLC including input and output modules and the central processing unit. It then introduces ladder logic as the most common programming language for PLCs, describing the basic symbols of ladder diagrams including contacts, coils, and rungs. Finally, it provides examples of ladder logic programs for AND, OR, and NOT logic operations as well as timers and counters.
This document is a training report on programmable logic controllers (PLCs) and supervisory control and data acquisition (SCADA) systems submitted by Priya Hada to her faculty advisor Ms. Pushpa Gothwal. The report includes an introduction to automation and PLCs, describing their history, components, operation, and ladder logic programming. It also covers SCADA systems, their features and uses. The report details two student projects, one using a PLC to automate a pharmaceutical plant and another using SCADA software to simulate a bottle filling and capping station.
This document discusses PID control modes and their parameters. It explains the function of the proportional, integral and derivative terms in PID control. The effects of changing the proportional gain Kp, integral gain Ki and derivative gain Kd are described. It also provides an example of calculating the controller output for a three-mode PID controller given an error signal over time.
Modern Control - Lec 02 - Mathematical Modeling of SystemsAmr E. Mohamed
This document provides an overview of mathematical modeling of physical systems. It discusses how to derive mathematical models from physical systems using differential equations based on governing physical laws. The key steps are: (1) defining the physical system, (2) formulating the mathematical model using differential equations, and (3) solving the equations. Common model types include differential equation, transfer function, and state-space models. The document also discusses modeling various physical elements like electrical circuits, mechanical translational/rotational systems, and electro-mechanical systems using differential equations. It covers block diagram representation and reduction of mathematical models. The overall goal is to realize the importance of deriving accurate mathematical models for analyzing and designing control systems.
The document discusses Variable Entered Maps (VEM), which is a technique used to simplify Boolean equations when the number of variables exceeds what can easily be managed with a K-map. VEM allows a smaller K-map to handle more variables by allowing a single variable or expression to be entered into each cell. An example is given where D is used as the Variable Entered Map to simplify the Boolean expression y=f(A,B,C,D) using a smaller K-map than would otherwise be needed. VEM can help solve problems involving multiplexers by allowing an n-variable problem to be plotted on an n-1 variable map.
The document provides an overview of programmable logic controllers (PLCs). It discusses that PLCs were developed to replace relay-based control systems, describing some advantages as being reprogrammable, easier troubleshooting, and able to control complex systems. The document outlines the typical parts of a PLC including the power supply, processor, memory, I/O modules, and communication modules. It also compares PLCs to personal computers and describes how PLCs operate using ladder logic programming.
The document discusses the Von Neumann architecture, which was developed by mathematician John von Neumann. It describes the basic concepts of the Von Neumann architecture, which includes storing program instructions in memory along with data. The key components are the I/O interfaces, central processing unit (CPU), and memory, connected by buses. The CPU contains a control unit, arithmetic logic unit, and registers. The Von Neumann architecture is still used in modern computers today due to its advantages of simplicity, though it also has disadvantages like serial processing.
This document discusses graphs and graph algorithms. It defines what a graph is - a data structure containing vertices and edges. It provides examples of graphs like social networks and road maps. It explains concepts like paths, connectedness, and cycles. It then covers two graph search algorithms - depth-first search (DFS) and breadth-first search (BFS). DFS explores each path as deeply as possible before backtracking, while BFS explores all neighbors of a vertex before moving deeper. Both algorithms run in O(V+E) time where V is vertices and E is edges. BFS always finds the shortest path.
A microprocessor is a computer processor contained on a microchip. It contains the central processing unit (CPU) and performs arithmetic and logic operations. Microprocessors have evolved over generations from processing instructions serially to employing super scalar processing with over 10 million transistors. They are used in devices like computers, phones, and traffic lights to process instructions and control functions. The internal architecture of microprocessors like the Intel 8086 contains a bus interface unit that handles data transfer and an execution unit that decodes instructions and performs arithmetic logic operations.
Multiplexer and demultiplexer applications.ppsx 3safia safreen
This document discusses multiplexers and demultiplexers. It defines a multiplexer as a device with multiple inputs and a single output that uses select lines to determine which input is connected to the output. Demultiplexers are defined as having a single input and multiple outputs, with the select lines determining which output receives the signal. The document discusses types of multiplexers and demultiplexers and their applications in communication systems, computer memory, telephone networks, and transmitting data from satellites and computers.
This document summarizes a student's seminar presentation on a proposed "Presence Cloud" system for wireless devices. The system would use a cloud-based server architecture to efficiently store and search for user presence information across large numbers of mobile users. It describes the existing centralized server architectures used by IM systems that do not scale well. The proposed Presence Cloud system would organize servers in a peer-to-peer overlay network with one-hop caching and a directed search algorithm to achieve small constant search times. The performance of the system would be evaluated based on search costs, search messages, and latency.
The presentation provides an overview of programmable logic controllers (PLCs). It discusses the history and origins of PLCs, the components and operation of PLCs, programming PLCs using ladder logic, examples of PLC programming, advantages of PLCs over other control systems, and applications of PLCs in various industries. The presentation also lists some leading PLC brands and popular PLC programming software.
This document contains a question bank for the cloud computing course OIT552. It includes questions about topics like cloud definitions, characteristics, service models (IaaS, PaaS, SaaS), deployment models, virtualization, cloud architecture, storage, and challenges. The questions range from short definitions to longer explanations and comparisons of cloud concepts.
This document discusses ripple counters, which are asynchronous counters composed of multiple flip-flops connected in a chain so that the output of each flip-flop triggers the next. It describes how ripple counters can count up or down by complementing outputs or inputs. Control logic gates allow a counter to count up or down based on a command. Objectives cover identifying a basic up-counter, modifying it to count down, and adding control logic for up/down counting.
The modular SIMATIC S7-1200 controller is at the core of our offering for simple but highly precise automation tasks. The SIMATIC S7-1200 controller is modular and compact, versatile, a secure investment, and is perfectly suited to a whole range of applications.
The S7-1200 CPUs with Safety Integrated handle both standard and safety-related tasks.
A compact design with integrated IO, communication interfaces that meet the highest industry requirements and a range of powerful integrated technological functions make this controller an integral part of a comprehensive automation solution.
This document provides an introduction to control systems, including definitions of control, systems, and control systems. It outlines the basic elements of a control system, which consists of interconnected components that work together to regulate a process and achieve a desired output. The key elements include a sensor that provides feedback, a controller that processes the feedback and compares it to a reference setpoint, and an actuator that implements corrective actions to influence the process variables. The document also mentions open loop and closed loop control systems as the main types of control systems.
This presentation introduces to the world of hardware everyone can use to get stated with Internet of Things (IoT) such as Arduino, Raspberry Pi and ESP8266.
The use of Computerized or robotic devices to complete manufacturing tasks.
Check on youtube https://www.youtube.com/watch?v=xWDtQ3wEDrQ
Cloud Computing is all about services and service oriented architecture(SOA) is all about making service the building blocks in software production and delivery
This document provides an overview of multi-core processors, including their history, architecture, advantages, disadvantages, applications and future aspects. It discusses how multi-core processors work with multiple independent processor cores on a single chip to improve performance over single-core processors. Some key points covered include the introduction of dual-core chips by IBM, Intel and AMD in the early 2000s; comparisons of single-core, multi-core and other architectures; advantages like improved multi-tasking and security; and challenges for software to fully utilize multi-core capabilities.
8259 programmable PPI interfacing with 8085 .pptDrVikasMahor
This document provides information about the 8259A Programmable Interrupt Controller chip. It describes the chip's features such as supporting 8 levels of priority and being expandable up to 64 levels. It also explains how the chip works as an interrupt manager in a system, accepting requests from peripherals and determining which has highest priority to issue to the CPU. Block diagrams and explanations of the chip's registers and pins are provided.
Summer Internship Report For PLC Programming of Traffic light through Ladder ...Aman Gupta
For free download Subscribe to https://www.youtube.com/channel/UCTfiZ8qwZ_8_vTjxeCB037w and Follow https://www.instagram.com/fitrit_2405/ then please contact +91-9045839849 over WhatsApp.
An industrial PLCs system is used for the development of the controls of machinery. This paper describes the PLCs systems in terms of their architecture, their interface to the process hardware, the functionality and the application development facilities they provide. Some attention is also paid to the industrial standards to which they abide their planned evolution as well as the potential benefits of their use. Ladder Logic is a graphical programming language, initially programmed with simple contacts that simulates the opening and closing of relays. Ladder Logic programming has been expanded to include functions such as Counters, Timers, shift Registers and math operations. Ladder logic is a method of drawing electrical logic schematics. It is now a graphical language very popular for programming Programmable Logic Controllers (PLCs). It was originally invented to describe logic made from relays. The name is based on the observation that programs in this language resemble ladders, with two vertical "rails" and a series of horizontal "rungs" between them.
The document discusses embedded operating systems and summarizes a game show competition between students on embedded OS topics. The game show covered definitions of embedded systems and their requirements, applications of embedded OS, characteristics of embedded OS, approaches to developing embedded OS, the embedded configurable operating system ECOS, ECOS components like the kernel and I/O system, and the tiny OS TinyOS designed for wireless sensor networks. The highest scoring contestant in the game show was from TIPQC.
Part of Lecture Series on Automatic Control Systems delivered by me to Final year Diploma in Engg. Students. Equally useful for higher level. Easy language and step by step procedure for drawing Bode Plots. Three illustrative examples are included.
Scope of electronics engineering in india pptRajesh Kumar
The document discusses the scope of electronics engineering in India. It defines electronics as the application of scientific principles to design, develop, fabricate, repair, and maintain electrical and electronic machines, instruments, and communication systems. Electronics engineering involves a wide range of emerging technologies like wireless communication, nanotechnology, embedded systems, fiber optics, robotics, GPS, and more. The document lists many private sector electronics companies in India and government organizations that employ electronics engineers, demonstrating the broad applications and opportunities in the field of electronics engineering.
Design and Construction of Movable Bridge using Arduinoijtsrd
This paper is designed to build movable bridge for passable both land and marine transportation and upgrade transportation system for people. In this paper, Arduino Uno, ultrasonic sensor, servo motor, 2channel relay and gear motor are used as mainly devices. Ultrasonic sensor is running by emitting waves until the ship is coming. As soon as the ship is passing, the sensor is sent data to arduino. And then, arduino microcontroller control the traffic light on the land by changing green led to red led. In this condition, the servo motor start to run and gate on the land is closed. After gate is closed, the gear motor start to run and lift the bridge to cross the ship. When the ship is passed, the bridge down to normal state and red led change to green led. When the led is green, the servo motor start to run and gate is open. At this time, the cars can pass safety. Nwe Nwe Oo | May Thwe Oo | Hla Yamin "Design and Construction of Movable Bridge using Arduino" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-5 , August 2019, URL: https://www.ijtsrd.com/papers/ijtsrd25285.pdfPaper URL: https://www.ijtsrd.com/engineering/electronics-and-communication-engineering/25285/design-and-construction-of-movable-bridge-using-arduino/nwe-nwe-oo
The document discusses genetic algorithms and genetic programming in Python. It describes how genetic algorithms are inspired by natural selection and genetics, using techniques like selection, crossover, and mutation to evolve solutions to problems. It provides examples of using the Python library PyEvolve to implement genetic algorithms and genetic programming to solve problems like minimizing test functions and forecasting temperatures.
This document outlines genetic programming, including an introduction describing it as emulating Darwinian evolution within computer programs. It describes the typical life cycle of genetic programming, including initializing a population, evaluating programs, selecting programs for reproduction, applying genetic operators like crossover and mutation, and repeating the process. It also discusses experimental setup parameters, genetic operators, fitness evaluation methods, and applications of genetic programming in areas like regression, classification, telecommunications, computer networks, finance, clinical domains, and more.
The document discusses the Von Neumann architecture, which was developed by mathematician John von Neumann. It describes the basic concepts of the Von Neumann architecture, which includes storing program instructions in memory along with data. The key components are the I/O interfaces, central processing unit (CPU), and memory, connected by buses. The CPU contains a control unit, arithmetic logic unit, and registers. The Von Neumann architecture is still used in modern computers today due to its advantages of simplicity, though it also has disadvantages like serial processing.
This document discusses graphs and graph algorithms. It defines what a graph is - a data structure containing vertices and edges. It provides examples of graphs like social networks and road maps. It explains concepts like paths, connectedness, and cycles. It then covers two graph search algorithms - depth-first search (DFS) and breadth-first search (BFS). DFS explores each path as deeply as possible before backtracking, while BFS explores all neighbors of a vertex before moving deeper. Both algorithms run in O(V+E) time where V is vertices and E is edges. BFS always finds the shortest path.
A microprocessor is a computer processor contained on a microchip. It contains the central processing unit (CPU) and performs arithmetic and logic operations. Microprocessors have evolved over generations from processing instructions serially to employing super scalar processing with over 10 million transistors. They are used in devices like computers, phones, and traffic lights to process instructions and control functions. The internal architecture of microprocessors like the Intel 8086 contains a bus interface unit that handles data transfer and an execution unit that decodes instructions and performs arithmetic logic operations.
Multiplexer and demultiplexer applications.ppsx 3safia safreen
This document discusses multiplexers and demultiplexers. It defines a multiplexer as a device with multiple inputs and a single output that uses select lines to determine which input is connected to the output. Demultiplexers are defined as having a single input and multiple outputs, with the select lines determining which output receives the signal. The document discusses types of multiplexers and demultiplexers and their applications in communication systems, computer memory, telephone networks, and transmitting data from satellites and computers.
This document summarizes a student's seminar presentation on a proposed "Presence Cloud" system for wireless devices. The system would use a cloud-based server architecture to efficiently store and search for user presence information across large numbers of mobile users. It describes the existing centralized server architectures used by IM systems that do not scale well. The proposed Presence Cloud system would organize servers in a peer-to-peer overlay network with one-hop caching and a directed search algorithm to achieve small constant search times. The performance of the system would be evaluated based on search costs, search messages, and latency.
The presentation provides an overview of programmable logic controllers (PLCs). It discusses the history and origins of PLCs, the components and operation of PLCs, programming PLCs using ladder logic, examples of PLC programming, advantages of PLCs over other control systems, and applications of PLCs in various industries. The presentation also lists some leading PLC brands and popular PLC programming software.
This document contains a question bank for the cloud computing course OIT552. It includes questions about topics like cloud definitions, characteristics, service models (IaaS, PaaS, SaaS), deployment models, virtualization, cloud architecture, storage, and challenges. The questions range from short definitions to longer explanations and comparisons of cloud concepts.
This document discusses ripple counters, which are asynchronous counters composed of multiple flip-flops connected in a chain so that the output of each flip-flop triggers the next. It describes how ripple counters can count up or down by complementing outputs or inputs. Control logic gates allow a counter to count up or down based on a command. Objectives cover identifying a basic up-counter, modifying it to count down, and adding control logic for up/down counting.
The modular SIMATIC S7-1200 controller is at the core of our offering for simple but highly precise automation tasks. The SIMATIC S7-1200 controller is modular and compact, versatile, a secure investment, and is perfectly suited to a whole range of applications.
The S7-1200 CPUs with Safety Integrated handle both standard and safety-related tasks.
A compact design with integrated IO, communication interfaces that meet the highest industry requirements and a range of powerful integrated technological functions make this controller an integral part of a comprehensive automation solution.
This document provides an introduction to control systems, including definitions of control, systems, and control systems. It outlines the basic elements of a control system, which consists of interconnected components that work together to regulate a process and achieve a desired output. The key elements include a sensor that provides feedback, a controller that processes the feedback and compares it to a reference setpoint, and an actuator that implements corrective actions to influence the process variables. The document also mentions open loop and closed loop control systems as the main types of control systems.
This presentation introduces to the world of hardware everyone can use to get stated with Internet of Things (IoT) such as Arduino, Raspberry Pi and ESP8266.
The use of Computerized or robotic devices to complete manufacturing tasks.
Check on youtube https://www.youtube.com/watch?v=xWDtQ3wEDrQ
Cloud Computing is all about services and service oriented architecture(SOA) is all about making service the building blocks in software production and delivery
This document provides an overview of multi-core processors, including their history, architecture, advantages, disadvantages, applications and future aspects. It discusses how multi-core processors work with multiple independent processor cores on a single chip to improve performance over single-core processors. Some key points covered include the introduction of dual-core chips by IBM, Intel and AMD in the early 2000s; comparisons of single-core, multi-core and other architectures; advantages like improved multi-tasking and security; and challenges for software to fully utilize multi-core capabilities.
8259 programmable PPI interfacing with 8085 .pptDrVikasMahor
This document provides information about the 8259A Programmable Interrupt Controller chip. It describes the chip's features such as supporting 8 levels of priority and being expandable up to 64 levels. It also explains how the chip works as an interrupt manager in a system, accepting requests from peripherals and determining which has highest priority to issue to the CPU. Block diagrams and explanations of the chip's registers and pins are provided.
Summer Internship Report For PLC Programming of Traffic light through Ladder ...Aman Gupta
For free download Subscribe to https://www.youtube.com/channel/UCTfiZ8qwZ_8_vTjxeCB037w and Follow https://www.instagram.com/fitrit_2405/ then please contact +91-9045839849 over WhatsApp.
An industrial PLCs system is used for the development of the controls of machinery. This paper describes the PLCs systems in terms of their architecture, their interface to the process hardware, the functionality and the application development facilities they provide. Some attention is also paid to the industrial standards to which they abide their planned evolution as well as the potential benefits of their use. Ladder Logic is a graphical programming language, initially programmed with simple contacts that simulates the opening and closing of relays. Ladder Logic programming has been expanded to include functions such as Counters, Timers, shift Registers and math operations. Ladder logic is a method of drawing electrical logic schematics. It is now a graphical language very popular for programming Programmable Logic Controllers (PLCs). It was originally invented to describe logic made from relays. The name is based on the observation that programs in this language resemble ladders, with two vertical "rails" and a series of horizontal "rungs" between them.
The document discusses embedded operating systems and summarizes a game show competition between students on embedded OS topics. The game show covered definitions of embedded systems and their requirements, applications of embedded OS, characteristics of embedded OS, approaches to developing embedded OS, the embedded configurable operating system ECOS, ECOS components like the kernel and I/O system, and the tiny OS TinyOS designed for wireless sensor networks. The highest scoring contestant in the game show was from TIPQC.
Part of Lecture Series on Automatic Control Systems delivered by me to Final year Diploma in Engg. Students. Equally useful for higher level. Easy language and step by step procedure for drawing Bode Plots. Three illustrative examples are included.
Scope of electronics engineering in india pptRajesh Kumar
The document discusses the scope of electronics engineering in India. It defines electronics as the application of scientific principles to design, develop, fabricate, repair, and maintain electrical and electronic machines, instruments, and communication systems. Electronics engineering involves a wide range of emerging technologies like wireless communication, nanotechnology, embedded systems, fiber optics, robotics, GPS, and more. The document lists many private sector electronics companies in India and government organizations that employ electronics engineers, demonstrating the broad applications and opportunities in the field of electronics engineering.
Design and Construction of Movable Bridge using Arduinoijtsrd
This paper is designed to build movable bridge for passable both land and marine transportation and upgrade transportation system for people. In this paper, Arduino Uno, ultrasonic sensor, servo motor, 2channel relay and gear motor are used as mainly devices. Ultrasonic sensor is running by emitting waves until the ship is coming. As soon as the ship is passing, the sensor is sent data to arduino. And then, arduino microcontroller control the traffic light on the land by changing green led to red led. In this condition, the servo motor start to run and gate on the land is closed. After gate is closed, the gear motor start to run and lift the bridge to cross the ship. When the ship is passed, the bridge down to normal state and red led change to green led. When the led is green, the servo motor start to run and gate is open. At this time, the cars can pass safety. Nwe Nwe Oo | May Thwe Oo | Hla Yamin "Design and Construction of Movable Bridge using Arduino" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-5 , August 2019, URL: https://www.ijtsrd.com/papers/ijtsrd25285.pdfPaper URL: https://www.ijtsrd.com/engineering/electronics-and-communication-engineering/25285/design-and-construction-of-movable-bridge-using-arduino/nwe-nwe-oo
The document discusses genetic algorithms and genetic programming in Python. It describes how genetic algorithms are inspired by natural selection and genetics, using techniques like selection, crossover, and mutation to evolve solutions to problems. It provides examples of using the Python library PyEvolve to implement genetic algorithms and genetic programming to solve problems like minimizing test functions and forecasting temperatures.
This document outlines genetic programming, including an introduction describing it as emulating Darwinian evolution within computer programs. It describes the typical life cycle of genetic programming, including initializing a population, evaluating programs, selecting programs for reproduction, applying genetic operators like crossover and mutation, and repeating the process. It also discusses experimental setup parameters, genetic operators, fitness evaluation methods, and applications of genetic programming in areas like regression, classification, telecommunications, computer networks, finance, clinical domains, and more.
This document describes a coding error discovered in a paper submitted to MSR'13 on cross-company defect prediction. Within a few weeks of the paper being accepted and camera-ready versions submitted, a graduate student reached out unable to reproduce the reported result. Upon checking the code, the authors found they had made a mistake re-inserting test class labels after a distance calculation, using the training labels instead. They reported this to the conference organizers, and discuss lessons learned around encouraging open and honest reporting of mistakes, sharing data and findings to enable reproducibility, and cultivating a research culture where errors can be discovered and reported.
The document provides information about fuzzy string matching techniques such as partial matching, phonetic encodings, edit distance, and indexing strategies. It discusses algorithms like Soundex, NYSIIS, Double Metaphone, and Levenshtein distance. Examples are given to illustrate how these techniques can be used to find similar strings and measure the similarity between strings.
Serine Integrases in Genetic Circuit DesignDylan MacPhail
- The document discusses the serine integrases, which are phage recombinases capable of efficiently integrating, inverting, or excising DNA segments between their recognition sites. The φC31 integrase from bacteriophage φC31 is a widely used serine integrase.
- Serine integrases have potential for implementing logic and memory in genetic circuit design due to their ability to controllably invert DNA segments between two states using attachment sites. This binary behavior allows control of gene expression.
- The φC31 integrase mediates unidirectional recombination between attachment sites with high specificity. It was recently shown to be reversible with the discovery of its recombination directionality factor gp
Realtime, Non-Intrusive Evaluation of VoIP Using Genetic Programmingadil raja
The document discusses using genetic programming to develop a non-intrusive model for evaluating voice over IP (VoIP) quality based on transport layer network metrics. It first provides background on VoIP and challenges with speech quality assessment. It then describes a VoIP simulation environment and genetic programming approach. The goal is to evolve an estimation model for VoIP listening quality as a function of packet loss rate, jitter, bitrate and other transport metrics using genetic programming, and validate it against PESQ (Perceptual Evaluation of Speech Quality) scores.
The document discusses using genetic programming to predict stock market movements. It provides an overview of genetic programming, describes how it has been applied to problems like time series prediction and stock market prediction, and discusses the author's experiments applying genetic programming to predict the S&P 500 index. The results show that in some periods, genetic programming outperformed traditional models and the buy and hold benchmark strategy in terms of investment gains, particularly when transaction costs were not considered.
An intelligent scalable stock market prediction systemHarshit Agarwal
Comparitive study of stock market prediction system using ANN and GONN. Sentiment analysis also done on yahoo news feed. Deployment done on hadoop cluster.
CGP is a form of genetic programming that represents computer programs as directed acyclic graphs encoded as strings of integers. Programs are evolved using genetic operations like mutation and crossover. Mutation changes integer values representing connections, functions, inputs, and outputs. Crossover combines parts of two genotype strings. The genotype is decoded into a phenotype program. CGP uses strategies like 1+λ evolution and can experience genetic redundancy from unused genes or sub-functions not optimized.
Genetic programming is an evolutionary algorithm that uses principles of natural selection and genetics to automatically generate computer programs to solve problems. It works by generating an initial population of random programs, evaluating their performance on the task, and breeding new programs through genetic operations like crossover and mutation. The fittest programs are selected to pass their traits to the next generation, while less fit programs are removed. This process is repeated until an optimal program is found. Genetic programming represents programs as syntax trees and evolves these trees to find solutions without requiring the programmer to specify the form or structure of the solution.
This presentation is intended for giving an introduction to Genetic Algorithm. Using an example, it explains the different concepts used in Genetic Algorithm. If you are new to GA or want to refresh concepts , then it is a good resource for you.
A basic overview, application and usage of MATLAB for engineers. It covered very basics essential that will help one to get started with MATLAB programming easily.
Provided by IDEAS2IGNITE
The document discusses natural language processing (NLP), which is a subfield of artificial intelligence that aims to allow computers to understand and interpret human language. It provides an introduction to NLP and its history, describes common areas of NLP research like text processing and machine translation, and discusses potential applications and the future of the field. The document is presented as a slideshow on NLP by an expert in the area.
Presentation is about genetic algorithms. Also it includes introduction to soft computing and hard computing. Hope it serves the purpose and be useful for reference.
The document discusses ad-hoc networks and their key characteristics. It describes several challenges in ad-hoc networks including limited battery power, dynamic network topology, and scalability issues. It also summarizes several ad-hoc network routing protocols (e.g. DSDV, AODV, DSR), addressing both table-driven and on-demand approaches. Additionally, it outlines some ad-hoc MAC protocols like MACA and PAMAS that aim to manage shared wireless medium access.
Mobile ad hoc networks (MANETs) are formed spontaneously by wireless devices without any preexisting infrastructure. Nodes in a MANET are free to move and dynamically change the network topology. MANETs have applications in military operations, emergency response, education, and home/office use. Key challenges include dynamic topology, limited resources, and lack of centralized management. Media access control protocols address issues like hidden and exposed terminals. Routing protocols can be proactive (table-based) or reactive (on-demand) to find routes between nodes in the changing network.
IEEE CEC 2013 Tutorial on Geometry of Evolutionary AlgorithmsAlbertoMoraglio
Slides for my tutorial on the geometry of evolutionary algorithms at IEEE CEC 2013 conference (see http://www.cec2013.org/?q=tutorial_geometry).
It is about a geometric theory which unifies Evolutionary Algorithms across representations and has been used for the principled design of new successful search algorithms and for their rigorous theoretical analysis across representations.
HIS'2008: New Crossover Operator for Evolutionary Rule Discovery in XCSAlbert Orriols-Puig
This document proposes a new crossover operator called BLX crossover for use in XCS, an evolutionary learning classifier system. BLX crossover combines the innovation power of two-point crossover with local search by allowing the boundaries of classifier rules to move during crossover. Experiments on 12 real-world datasets show that BLX crossover enables XCS to more accurately fit complex decision boundaries compared to two-point crossover, and may prevent overfitting. The work demonstrates the importance of further research on genetic algorithm operators for evolutionary rule discovery.
Learning for semantic parsing using statistical syntactic parsing techniquesUKM university
This document describes Ruifang Ge's Ph.D. final defense presentation on using statistical syntactic parsing techniques for learning semantic parsing. It introduces two novel syntax-based approaches to semantic parsing called SCISSOR and SYNSEM. SCISSOR is an integrated syntactic-semantic parser that allows both syntax and semantics to be used simultaneously to obtain an accurate combined syntactic-semantic analysis. SYNSEM exploits an existing syntactic parser to produce disambiguated parse trees that drive the compositional meaning composition. Experimental results on two datasets show that SCISSOR achieves competitive performance compared to other semantic parsing systems, and that leveraging syntactic knowledge improves performance on longer sentences.
The document discusses semantics and code generation in programming languages. It provides background on semantics and how it is used in compiler design to determine if code is meaningful or meaningless through semantic analysis. It also describes code generation, which takes the parse tree after semantic analysis and converts the code into machine language that can be executed. Examples are given of semantic records used in analysis and how code is converted during generation. The roles of semantics and code generation in allowing computers to understand and run programs are summarized.
cis5-204-Project-ch11c - Evan, Le, Mata.pdfMinhLe595264
The document discusses semantics and code generation in programming languages. It provides background on semantics and how it is used in compiler design to determine if code is meaningful or meaningless through semantic analysis. It also describes code generation, which takes the parse tree after semantic analysis and converts the code into machine language that can be executed. Examples are given of semantic records used in analysis and how code is converted during generation. The roles of semantics and code generation in allowing computers to understand and run programs are summarized.
Self-configuring Classical Logic Gate Circuits using Genetic Programming in J...Aritra Sarkar
Soft computing uses approximate solutions to computationally hard problems like NP-complete problems that have no known polynomial time algorithm for an exact solution. While hard computing seeks exactness, soft computing exploits imprecision, partial truth, and uncertainty. Soft computing techniques include fuzzy logic, neural networks, evolutionary computation, Bayesian networks, and chaos theory. These were inspired by systems in nature like cellular automata, emergent systems, the brain, the immune system, and more.
Genetic algorithms are a heuristic search technique inspired by natural selection. They work by evolving a population of candidate solutions over generations by applying genetic operators like crossover and mutation to combine solutions and introduce random variations. Genetic algorithms are applicable when the search space is very large or complex and traditional search methods are intractable. They have been successfully applied to problems like antenna design, image compression, and rule learning from examples.
This document summarizes evolutionary computation techniques including genetic algorithms and genetic programming. It provides an overview of biological evolution and how evolutionary computation mimics this process to solve problems. Genetic algorithms use chromosomes to represent candidate solutions which are evolved over generations using selection, crossover and mutation operators. Genetic programming uses tree representations to evolve computer programs. The document describes how genetic programming can be used to evolve a program for a wall-following robot. It concludes by discussing applications and advantages/disadvantages of evolutionary computation.
Towards a General Approach for Symbolic Model-Checker PrototypingEdmundo López Bóbeda
We propose a novel approach to prototype and create symbolic model-checkers. Our approach focuses on providing a high level abstraction above Decision Diagrams. It allows the model-checker creator to start from a high level formal semantics and to define an efficient Decision Diagram based model-checker.
This document proposes an approach for automatic programming using deep learning. It describes a hybrid method using generative recurrent neural networks trained on source code to generate predictions, which are then used to build abstract syntax trees (ASTs) representing potential code structures. The ASTs are combined and mutated using techniques from genetic programming and random forests. Experimental results found the method was able to generate functions like computing the square root using an iterative method, demonstrating it can generalize logical algorithms from short descriptions. The document outlines the scope of the problem and approach, and describes using a GitHub scraper to collect a dataset of relevant Python source code files to train and evaluate the models.
How software developers need to manage metadata and data dictionaries to make software integration faster and more cost effective. This presentation is a general overview of the concepts around data semantics for college-level students. This presentation was originally created for a seminar at Carleton College.
Large Scale Data Mining using Genetics-Based Machine LearningXavier Llorà
We are living in the peta-byte era.We have larger and larger data to analyze, process and transform into useful answers for the domain experts. Robust data mining tools, able to cope with petascale volumes and/or high dimensionality producing human-understandable solutions are key on several domain areas. Genetics-based machine learning (GBML) techniques are perfect candidates for this task, among others, due to the recent advances in representations, learning paradigms, and theoretical modeling. If evolutionary learning techniques aspire to be a relevant player in this context, they need to have the capacity of processing these vast amounts of data and they need to process this data within reasonable time. Moreover, massive computation cycles are getting cheaper and cheaper every day, allowing researchers to have access to unprecedented parallelization degrees. Several topics are interlaced in these two requirements: (1) having the proper learning paradigms and knowledge representations, (2) understanding them and knowing when are they suitable for the problem at hand, (3) using efficiency enhancement techniques, and (4) transforming and visualizing the produced solutions to give back as much insight as possible to the domain experts are few of them.
This tutorial will try to answer this question, following a roadmap that starts with the questions of what large means, and why large is a challenge for GBML methods. Afterwards, we will discuss different facets in which we can overcome this challenge: Efficiency enhancement techniques, representations able to cope with large dimensionality spaces, scalability of learning paradigms. We will also review a topic interlaced with all of them: how can we model the scalability of the components of our GBML systems to better engineer them to get the best performance out of them for large datasets. The roadmap continues with examples of real applications of GBML systems and finishes with an analysis of further directions.
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsIosif Itkin
TMPA-2017: Tools and Methods of Program Analysis
3-4 March, 2017, Hotel Holiday Inn Moscow Vinogradovo, Moscow
Evolutionary Algorithms in Test Generation for digital systems
Yuriy Skobtsov, Vadim Skobtsov, St.Petersburg Polytechnic University
For presentation follow the link: https://www.youtube.com/watch?v=gUnKmPg614k
Would like to know more?
Visit our website:
www.tmpaconf.org
www.exactprosystems.com/events/tmpa
Follow us:
https://www.linkedin.com/company/exactpro-systems-llc?trk=biz-companies-cym
https://twitter.com/exactpro
This document discusses genetic algorithms and how they are used for concept learning. It explains that genetic algorithms are inspired by biological evolution and use selection, crossover, and mutation to iteratively update a population of hypotheses. It then describes how genetic algorithms work, including representing hypotheses, genetic operators like crossover and mutation, fitness functions, and selection methods. Finally, it provides an example of a genetic algorithm called GABIL that was used for concept learning tasks.
Coates p: the use of genetic programing in exploring 3 d design worldsArchiLab 7
This paper discusses two projects using genetic programming to generate 3D forms. The first project uses an interactive genetic programming approach to evolve a shape grammar by having a user select shapes for reproduction. The second project uses a genetic algorithm to evolve Lindenmayer system rule sets to achieve a target 3D configuration, with the Hausdorff dimension driving selection. The paper provides details on how genetic programming was implemented for both projects, including the use of functions, terminals, initial populations, and fitness evaluations.
A WHIRLWIND TOUR OF ACADEMIC TECHNIQUES FOR REAL-WORLD SECURITY RESEARCHERSSilvio Cesare
This document provides an overview of various academic techniques that can be useful for security researchers, including mathematical objects, comparing objects, similarity searching, classification, clustering, and program analysis. It discusses representing problems as different objects like strings, vectors, and graphs and using techniques like n-grams, vector distances, and graph decomposition. Case studies of projects that applied these techniques are also summarized.
I claim that none of the commonly used embedding methods capture any semantics.
It's fine if you want to move from a symbolic to a numeric or geometric representation, but when you do, don't throw the semantic baby out with the symbolic bathwater.
I argue that a useful definition of semantics is "predictable inference". This makes it possible to have semantics outside a logical framework.
A methodological warning from 1976: don't fool yourself that wishful mnemonics in your knowledge graph are "semantics". Therefore, knowledge graphs without a schema/ontology is just a data graph, without much semantics.
Finally, a discussion of some embedding methods that do manage to take semantics into account (TransOWL, ball embeddings like ELEm and EmEL++, and box embeddings like BoxEL and Box^2EL.
So: even if you do move to a non-symbolic representation (numerical, geometric), make sure you keep the semantics: don't throw the semantic baby out with the symbolic bathwater.
Telehealth For Maternal and Child Health: Expanding Access (www.kiu.ac.ug)publication11
Telehealth has emerged as a transformative solution for improving maternal and child health (MCH) by
leveraging digital technologies to overcome barriers to healthcare access. It facilitates prenatal and
postnatal care, pediatric services, and mental health support, ensuring continuous and equitable
healthcare delivery, particularly in underserved and rural communities. This paper examines the benefits,
challenges, and applications of telehealth in MCH, examining technological innovations, legal and ethical
considerations, and policy recommendations for its successful integration. While telehealth has shown
promise in enhancing healthcare accessibility, disparities in internet infrastructure, digital literacy, and
regulatory frameworks remain significant obstacles. Global perspectives on telehealth in MCH reveal
diverse adoption levels influenced by economic, cultural, and technological factors. Future research is
needed to evaluate the long-term impact of telehealth interventions and refine strategies to optimize their
implementation for maternal and child health services worldwide.
To study the factors on which the self-inductance of the coil depends by obse...crazycompetitor000
Class 12 physics project on the topic "To study the factors on which the self-inductance of the coil depends by observing the effect of this coil, when put in series with a resistor (bulb) in a circuit fed up by an AC source of adjustable frequency"
Dr. James Farley Identifies the Key Root Causes You Must Address to Heal Natu...DrJamesFarley
Learn about Dr. James Farley’s unique healability approach to autoimmune disorders. Discover how his functional, personalized care model targets root causes for lasting recovery and better health.
Introduction to Microbiology and Microscopevaishrawan1
This presentation describe about the types of microscope, history and development of microscope and microbiology. Especially focus on Structure & Morphology of Bacteria
Title: Abzymes mimickers in
catalytic reactions at nanoscales
Speaker: Orchidea Maria Lecian
Authors: Orchidea Maria Lecian, Sergey Suchkov
Talk presented at 4th International Conference on
Advanced Nanomaterials and Nanotechnology
12-13 June 2025, Rome, Italy on 12 June 2025.
Metabolic acidosis and alkalosis ppt.pptxaanchalm373
Introduction
The human body meticulously maintains its acid-base balance to ensure proper physiological functioning. A slight deviation in blood pH can lead to significant consequences. Metabolic acidosis and metabolic alkalosis are two primary categories of acid-base imbalances, characterized by changes in the concentration of bicarbonate (HCO₃⁻) in the blood, and they affect the body’s pH balance. These conditions often arise due to underlying diseases and require careful evaluation and treatment.
Acid-Base Balance: A Brief Overview
Normal blood pH is tightly regulated between 7.35 and 7.45, maintained by three major systems:
Buffer systems (mainly bicarbonate buffer),
Respiratory system (regulation of CO₂),
Renal system (regulation of bicarbonate and hydrogen ion excretion).
Metabolic acidosis is defined as a decrease in blood pH due to a primary reduction in serum bicarbonate. Metabolic alkalosis is an increase in blood pH due to a primary elevation in serum bicarbonate.
Metabolic Acidosis
Definition
Metabolic acidosis is a condition characterized by a low blood pH (< 7.35) due to a primary decrease in plasma bicarbonate (HCO₃⁻) concentration. It reflects an accumulation of acid or a loss of base in the body.
Etiology
Metabolic acidosis can be broadly categorized into two types based on anion gap:
1. High Anion Gap Metabolic Acidosis (HAGMA)
The anion gap is calculated as:
AG = [Na⁺] – ([Cl⁻] + [HCO₃⁻])
Normal range: 8–12 mEq/L
An elevated AG indicates the presence of unmeasured anions.
Causes of HAGMA:
Lactic acidosis (shock, sepsis, hypoxia)
Ketoacidosis (diabetes, starvation, alcohol)
Renal failure (uremia – accumulation of phosphates, sulfates)
Toxins:
Methanol → formic acid
Ethylene glycol → oxalic acid
Salicylates (aspirin overdose)
2. Normal Anion Gap Metabolic Acidosis (NAGMA)
Also known as hyperchloremic acidosis, where chloride increases to balance the loss of bicarbonate.
Causes of NAGMA:
Diarrhea (loss of HCO₃⁻)
Renal tubular acidosis (RTA)
Ureterosigmoidostomy
Early renal failure
Acetazolamide use
Pathophysiology
In metabolic acidosis, the body responds by:
Respiratory compensation: Hyperventilation to blow off CO₂ (Kussmaul respiration)
Renal compensation (if intact): Increased acid excretion and HCO₃⁻ regeneration
If compensation fails or the acidosis is severe, cellular enzyme systems become impaired, leading to:
Decreased myocardial contractility
Arrhythmias
CNS depression
Hyperkalemia (K⁺ shifts out of cells)
Clinical Features
Symptoms may vary depending on the underlying cause, but common signs include:
Rapid, deep breathing (Kussmaul respiration)
Fatigue and weakness
Confusion or lethargy
Nausea and vomiting
Hypotension and shock (in severe cases)
Diagnosis
1. Arterial Blood Gas (ABG):
Low pH (<7.35)
Low HCO₃⁻
Compensatory ↓ PaCO₂
2. Anion Gap Calculation
Determines whether it is HAGMA or NAGMA
3. Serum electrolytes, renal function tests, lactate, and ketone bodies
2. 2
Instructors
• Alberto Moraglio
– Position: Lecturer in Computer Science at the University of Exeter, UK
– Research Area: founder of the Geometric Theory of Evolutionary
Algorithms, which unifies Evolutionary Algorithms across representations
and has been used for the principled design of new successful search
algorithms, including a new form of Genetic Programming based on
semantics, and for their rigorous theoretical analysis.
• Krzysztof Krawiec
– Position: Associate Professor at Poznan University of Technology, Poland
– Research Area: genetic programming and coevolutionary algorithms, with
applications in program synthesis, modeling, image analysis, and games.
Within GP: design of effective search operators (particularly crossovers),
discovery of semantic modularity of programs, and exploitation of program
execution traces for improving performance of program synthesis.
3. 3
Aims
• Give a comprehensive overview of semantic methods in
genetic programming
• Illustrate in an accessible way a formal geometric framework
for program semantics
• Analyze rigorously their performance (runtime analysis)
• Present current challenges and trends in semantic GP
• Outline new emerging approaches
4. 4
Agenda
1. Introduction to Semantic Genetic Programming
2. Geometric Operators on Semantic Space
3. Approximating Geometric Semantic Genetic Programming
4. Geometric Sematic Genetic Programming
5. Other Developments and Current Research Directions
6. 6
Genetic Programming
• Generate-and test approach to program synthesis
• Programs represented as symbolic structures (usually abstract syntax trees, ASTs)
• Population-based
• Iterative: start with a population of programs drawn at random, and repeat:
– select the most promising individuals,
– perturb using mutation and crossover
• … until solution found
• This tutorial: focus on tree-based GP (but usually easily generalizable to other
genres).
7. 7
Motivations for Semantic GP (SGP)
• Traditional GP search operates directly
on syntax, largely disregarding program
semantics.
• Consequences:
– Complex, rugged genotype-phenotype
mapping
– Low relatedness of offspring to parents
– Slight change can dramatically change the
output of the program
– And conversely: high likelihood of no-effect
(neutrality)
– Low fitness-distance correlation
8. 8
Questions
• Can we make GP more aware about the effects of program
execution, i.e., program ‘behavior’?
• Can we design search operators that produce offspring
program which behave similarly to parent(s)?
• Can we design search operators that are guaranteed to do so?
9. 9
Program Semantics
• Program semantics = a formal method of capturing program
behavior in abstraction from syntax.
• Common formalisms: denotational semantics, operational
semantics.
– Rarely applicable in GP, where program correctness typically
expressed w.r.t. to fitness cases (tests).
• Note: semantics (noun) vs. semantic (adj.)
10. 10
GP Semantics
• Problems in GP are typically posed using a set of fitness cases (tests)
• Observation: Program behavior is reflected in the effects of computation,
i.e., program output.
• Program semantics in GP: the tuple (vector) of outputs for the training
fitness cases. Example:
• Important consequence: semantic s(p) is a point in an n-dimensional
space.
• A distance between s(p1) and s(p2) reflects semantic similarity of p1 and p2
11. 11
Semantic Building Blocks
(McPhee, Ohs, Hutchison 2007/2008)
• Studied the impact of subtree crossover in terms of semantic building
blocks.
• Describe the semantic action of crossover.
• Provide insight into what does (or doesn’t) make crossover effective.
• Define semantics of subtrees and semantics of contexts, where
context = a tree with one branch missing.
• Definition of program semantics inspired by Poli's and Page's work on
sub-machine code GP
12. 12
Semantic Building Blocks
(McPhee, Ohs, Hutchison 2007/2008)
• Distribution of context semantics are
key in the success (or failure) of runs.
• A very high proportion (typically over
75%) of crossover events are
guaranteed to perform no useful
search in the semantic space.
13. 13
Semantically-Driven Crossover (SDC)
(Beadle and Johnson 2008)
• Program semantics = reduced ordered binary decision diagram
(ROBDDs)
• Trial-and error wrapper of tree-swapping crossover:
– Pick a pair of parents and generate from them a potential offspring (candidate
offspring)
– Calculate ROBDD semantics of parents and offspring
– Repeat if semantics the same as of any of the parents
Analogously: Semantically-driven mutation (SDM)
(Beadle & Johnson 2009)
14. 14
Semantic-Aware Crossovers
• Motivation: swap semantically similar subprograms in the parent
programs, to ‘smoothen’ the semantic effect of crossover.
• Semantic-aware crossover (SAX) (Quang et al. 2011)
– Select a pair of subprograms such that their semantics are sufficiently similar (upper
limit on distance)
• Semantic Similarity-based Crossover (SSX) (Quang et al. 2011)
– As SAX, but imposes also lower limit on distance between the subprograms, to
prevent producing semantically neutral offspring (see efficiency later in this tutorial).
• (Quang et al. 2013): Picks the closest semantically different subprogram in
the other parent.
• Analogous mutations defined too.
15. 15
Semantic-Aware Initialization
Semantically-driven Initialization (Beadle and Johnson 2009)
• Constructs a population of semantically distinct programs of gradually
increasing complexity.
• Start with population P filled with all single-instruction programs
• To generate a new program:
– Repeat:
• Create a random program p by combining a randomly selected non-terminal
instruction r (of arity k) with k randomly selected programs in P
– Until p has a non-constant semantics that is sufficiently distant from semantics of
all programs in P
– Add p to P and return p
16. 16
Semantic-Aware Initialization
• Behavioral Initialization (Jackson 2010)
– Set P
• To generate a new program:
– Repeat:
• Create a random program p using conventional methods (e.g., Grow or Full)
– Until the semantic of p is sufficiently distant from semantics of all programs in P
– Add p to P and return p
• Observation: Semantic diversity decreases rapidly with run progress (as
opposed to syntactic/structural which increases and then levels-off)
20. Squared Balls & Chunky Segments
33
000 001
010 011
100 101
111110
B(000; 1)
Hamming space
3
B((3, 3); 1)
Euclidean space
3
B((3, 3); 1)
Manhattan space
Balls
1
2
1
2
000 001
010 011
100 101
111110
[000; 011] = [001; 010]
2 geodesics
Hamming space
1 3
[(1, 1); (3, 2)]
1 geodesic
Euclidean space
1 3
[(1, 1); (3, 2)] = [(1, 2); (3, 1)]
infinitely many geodesics
Manhattan space
Line segments
20
21. Geometric Crossover & Mutation
• Geometric crossover: a recombination operator is a geometric
crossover under the metric d if all its offspring are in the d-metric
segment between its parents.
• Geometric mutation: a mutation operator is a r-geometric
mutation under the metric d if all its offspring are in the d-ball of
radius r centred in the parent.
21
22. Example of Geometric Mutation
000
001
010 011
100 101
111110
Neighbourhood structure naturally associated with the shortest path
distance.
Traditional one-point mutation is 1-geometric under Hamming
distance.
22
23. Example of Geometric Crossover
• Geometric crossover: offspring are in a segment
between parents for some distance.
• The traditional crossover is geometric under the
Hamming distance.
10110
11011
A
B
A
B
11010X
X
2
1
3
H(A,X) + H(X,B) = H(A,B)
23
24. Significance of Geometric View
• Unification Across Representations
• Simple Landscape for Crossover
• Crossover Principled Design
• Principled Generalisation of Search Algorithms
• General Theory Across Representations
24
25. • Semantic search operators: operators that act on
the syntax of the programs but that guarantee that
some semantic criterion holds (e.g., semantic
mutation: offspring are semantically similar to
parents)
Semantic Operators
25
Semantic
Mutation
0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1
Induced
Mutation
Semantics
Semantics
26. Fitness as Distance
• Aim: we want to find a function that scores
perfectly on a given set of input-output examples
(test cases)
• Error of a program: number of mismatches on the
test cases
• Fitness as distance: the error of a program can be
interpreted as the distance of the output vector of
the program to the target output vector
• Distance functions: Hamming distance for Boolean
outputs, Euclidean distance for continuous outputs
26
27. Semantic Distance & Operators
• The semantic distance between two functions is
the distance of their output vectors measured
with the distance function used in the definition of
the fitness function
• Semantic geometric operators are geometric
operators defined on the metric space of
functions endowed with the semantic distance
27
28. Semantic Fitness Landscape
• The fitness landscape seen by GP with semantic
geometric operators is always a cone landscape
by definition (unimodal with a linear gradient)
which GP can easily optimise!
28
30. 30
Trial-and-Error Geometric Crossover (KLX)
Krawiec and Lichocki Crossover, KLX (Krawiec and Lichocki 2009)
• Goal: Minimize offspring’s total semantic distance from the parents under some
assumed metric || ||.
• Technical realization: Mate the parents (x,y) repetitively using a ‘regular’
crossover operator CX
• Calculate parent semantics s(p1), s(p2)
• Repeat:
– Apply CX to (p1,p2) n times, creating a pool of candidates C
– Calculate the semantics s(z) of each candidate z C
• Return the candidate z that minimises the total distance:
argmin ||s(z) - s(p1)|| + ||s(z) - s(p2)||
• A form of brood selection
31. 31
Trial-and-Error Geometric Crossover (KLX)
Motivation: Given a globally convex
fitness landscape (one global
optimum), solutions on a segment
connecting solutions x and y cannot
be worse than the worse of them.
32. 32
Promotion of Equidistance
• All candidate offspring on the segment [s(p1);s(p2)] minimize total distance equally well, no
matter how different from the parents they are.
– An offspring z that is a ‘semantic clone’ of p1 (s(z) = s(p1)) also minimises the total
distance.
– The likelihood of crossover producing a semantic clone of one of the parents is
high in GP (see remarks on neutrality later)
• KLX promotes similarity to parents. This may hamper exploration.
• Idea: Extend total distance by a term that promotes balanced distance from both parents
(KLX+)
argmin ||s(z) - s(p1)|| + ||s(z) - s(p2)|| + | ||s(z) - s(p1)|| - ||s(z) - s(p2)|| |
33. 33
Locally Geometric Crossover
(Krawiec & Pawlak 2012)
• Motivations: Finding an ‘almost geometric’ offspring can be difficult for entire
parent programs,
– … but should be easier for subprograms.
– This may make sense if ‘geometricity’ can propagate through a tree.
• The algorithm:
– Find the syntactic common region of the parents (where the trees overlap)
– Select two homogenous nodes (subprograms) p1 and p2 in the common regions
– Calculate the midpoint sm between s(p1) and s(p2)
– Find two programs p’1 and p’2 in a library that have the closest semantic distance from sm
– Replace p1 and p2 with p’1 and p’2, respectively.
35. 35
Semantic Backpropagation
• Motivation: many instructions used in GP are invertible or partially
invertible.
• Example: symbolic regression:
– Fully invertible: e.g., addition: y = x + c x = y - c
– Partially invertible: e.g., square: y = x2 x = sqrt(x)
• The desired output t of a program (target) is known.
• Given a program and t, this allows deriving desired semantics at any
point in a program tree.
37. 37
Semantic Backpropagation
• Note: desired semantics is not a vector of scalar values.
• Desired semantics is a tuple of sets of desired outputs, because not all
instructions are bijective. Examples:
– D = ({2}, {3}, {2,-4}, {0, 1})
– D = ({T}, {F}, {T,F})
• Special case: non-realizable desired semantics, e.g., D = ({T}, , {T,F})
– Or: non-realizable under assumed constraints (e.g., size of subprogram).
• Algorithms have to account for that.
38. 38
Propagation of Desired Semantics
• Two fitness cases, 2D semantic space
• Desired outputs: (0,0)
• Program: cos(sin(x))
• Visualization:
– semantic distance as a function of inputs (x1, x2)
– red = smaller semantic distance (greater fitness)
39. 39
Propagation of Desired Semantics
• Top: desired semantics of cos(#)
– target achieved for x1,x2 = +k, kZ
• Bottom: desired semantics of cos(sin(#))
– Target cannot be achieved, because
sin [-1,1], and thus no x causes
cos(sin(x)) = 0
40. 40
Operators Based on SBP
• Approximately Geometric Crossover, AGX (Krawiec & Pawlak 2013)
–A crossover operator
–Uses SBP to match the midpoint on the segment connecting the parents’ semantics
–Starting point of SBP: the midpoint on the segment
• Random Desired Operator, RDO (Wieloch & Krawiec 2013)
–A mutation operator
–Uses SBP to match the target of the search process
–Starting point of SBP: the target semantics of the
41. 41
Operators Based on SBP
• Common part of workflow:
–Pick a node p’ in a parent p
–Perform semantic backpropagation of desired semantics from the root of p to
p’, obtaining desired semantics D
–Replace p’ with a (sub)program from a library that best matches D
• Other differences:
–RDO is agnostic about geometric considerations
–RDO and AGX may use various libraries
43. 43
Library of Subprograms
• The source of subprograms for SBP
– Static: Generated prior to run
– Dynamic: Other programs in the current population
• Example of static library: All programs built upon given set of instructions.
– Instructions {+, −,, /, sin, cos, exp, log, x}, max tree height h
– Semantic duplicates eliminated
• Total number of programs: 212 (for h = 3), 108520 (for h = 4)
– Depends on the instruction set and tests (in general the fewer tests,
the fewer unique semantics)
– Impact of floating-point precision
44. 44
Semantic Diversity of Libraries
Exemplary library:
• All programs composed of {+,−,×,/,sin,exp,x},
max tree depth: 4.
• Semantics: 20 points distributed equidistantly
in [−5, 5] 20-dimensional semantic space
• Semantic duplicates removed.
Visualization:
• Reduction to 2D by PCA,
• Red: the smallest (i.e. single node) programs,
• Blue: the longest (i.e. 15 nodes) programs.
Observation: strongly non-uniform distribution of
semantics.
• Expected: see (Langdon & Poli 2002)
45. 45
Technical Challenges of SBP
• Limited semantic diversity
– Using a mutation operator in parallel recommended (to provide constant influx of new
code)
• Computational overhead of library search
– Can be tackled with appropriate algorithms (nearest-neighbor search, e.g., kd-trees)
46. 46
SBP: Remarks and Extensions
• Requirements of SBP-based operators
– AGX requires a means of constructing a midpoint on a segment.
• Possible in vector spaces, but in general not in metric spaces
– RDO can work with any metric (vector space not required)
• The node/subtree p to be replaced can be selected deterministically:
– E.g., the node where the divergence of the actual semantics s(p) and the desired
semantics D is the greatest (Wieloch 2012)
48. Geometric Semantic Operators Construction
• By approximation:
– Trial & Error is wasteful
– Offspring do not conform exactly to the semantic requirement
• By direct construction: Is it possible to find search operators that
operate on syntax but that are guaranteed to respect geometric
semantic criteria by direct construction?
• Due to the complexity of genotype-phenotype map in GP
(Krawiec & Lichocki 2009) hypothesized that designing a
crossover operator with such a guarantee is in general
impossible. A pessimist? No, the established view until then...
48
50. Theorem
The output vector of the offspring T3 is in the
Hamming segment between the output
vectors of its parent trees T1 and T2 for any
tree TR
50
51. Example: parity problem
• 3-parity problem: we want to find a function
P(X1,X2,X3) that returns 1 when an odd number
of input variables is 1, 0 otherwise.
51
0 1 0 1 0 1 1 1O=
Error = HD(Y,O) = 5
53. Example: output vector crossover
53
• The output vector of TR acts as a crossover mask to
recombine the output vectors of T1 and T2 to produce the
output vector T3.
• This is a geometric crossover on the semantic distance:
output vector of T3 is in the Hamming segment between the
output vectors of T1 and T2.
54. Geometric Semantic Crossover
for Arithmetic Expressions
54
Function co-domain: real
Output vectors: real vectors
Semantic distance = Euclidean
CR = random real in [0,1]
Semantic distance = Manhattan
CR = random function with co-
domain [0,1]
T3 =
55. Geometric Semantic Crossover for Classifiers
55
Function co-domain: symbol
Output vectors: symbol string
Semantic distance = Hamming
RC = random function with
boolean co-domain
(i.e., random condition function
of the inputs)
T3 =
56. Remark 1: Domain-Specific
• Unlike traditional syntactic operators which
are of general applicability, semantic
operators are domain-specific
• But there is a systematic way to derive
them for any domain
56
57. Remark 2: Quick Growth
• Offspring grows in size very quickly, as the
size of the offspring is larger than the sum
of the sizes of its parents!
• To keep the size manageable we need to
simplify the offspring without changing the
computed function:
– Boolean expressions: Boolean simplification
– Math Formulas: algebraic simplification
– Programs: simplification by formal methods
57
58. Remark 3: Syntax Does Not Matter!
• The offspring is defined purely functionally,
independently from how the parent functions and
itself are actually represented (e.g., trees)
• The genotype representation does not matter:
solution can be represented using any genotype
structure (trees, graphs, sequences)/language
(Java, Lisp, Prolog) as long as the semantic
operators can be described in that language
58
59. Semantic Mutations
• It is possible to derive geometric semantic
mutation operators.
• They also have very simple forms for
Boolean, Arithmetic and Program domains.
59
65. Geometric Semantic Crossover
for Boolean Expressions (Growth)
65
T1, T2: parent trees
TR: random tree
T3 =
size(T3) = 4 + 2 * size(TR) + size(T1) + size(T2)
average size at generation n + 1 > 2 * average size at generation n
PROBLEM: size grows exponentially in the number of generation!
66. Geometric Semantic Mutation
for Boolean Expressions (Growth)
66
T: parent tree
M: random minterm tree
TM: mutant tree
size(TM) = 2 + size(M) + size(T)
average size at generation n + 1 = constant + average size at generation n
NO PROBLEM: size grows linearly in the number of generation
67. Three Solutions
1. Algebraic simplification of offspring
- Can be computationally expensive
- Not all domains can be simplified algebraically
- Understandable final solutions
2. Not using crossover
- Semantic Hill-Climber finds optimum efficiently
- Linear growth is acceptable
3. Compactification of offspring (Vanneschi et al, 2013)
- Linear growth even with crossover
- Applicable to any domain
- Complicated Implementation (pointers structure)
- Final solution is black box
67
68. Compactification Method
(Vanneschi et al, 2013)
- Individuals are represented as explicit shared linked data structure to their
parents, and recursively to all their ancestry.
- At each generation, each new offspring of crossover requires only a new
triplet of references Linear growth in the number of generations.
68
69. Compactification Method
- Output vector of offspring can be computed using the explicitly stored output
vectors of the parent and mask trees. This turns fitness computation from
exponential in the number of generations to constant time.
69
70. Compactification Method
- Explicit garbage collection of unreferenced past
individuals in the data structure.
- Final solution is extracted from data structure but this
takes exponentially long in the number of generation.
- Extracted solution is queried on non-training inputs to
make predictions. This takes exponential time since done
on extracted solution.
Good idea, but can be improved and beautified!
70
71. Functional Compactification (Moraglio, 2014)
• Individuals are represented directly as
anonymous Python functions:
P1 = lambda x1, x2, x3: x1 or (x2 and not x3)
P2 = lambda x1, x2, x3: x1 and x2
RF = lambda x1, x2, x3: not (x2 and x3)
71
72. Functional Compactification
• Offspring call parents rather than pointing
to them:
OX = lambda x1, x2, x3:
((P1() and RF()) or (P2() and not RF())
• The size of offspring is constant in the number of
generations
72
73. Functional Compactification
• Mutation and Crossover are higher order
functions that take functions in inputs (parents)
and return functions as output (offspring):
Crossover: (B^3 B) x (B^3 B) (B^3 B)
• The function calls structure keeps implicitly trace
of all ancestry of an individual
73
74. Functional Compactification
• All individuals are momoized functions:
- The output of previously seen inputs is retrieved from
an implicit storage, not recalculated
- The first time the fitness of an individual is calculated,
its output vector is implicitly stored
- As the output vectors of parents are stored, the fitness
of the offspring takes constant time in num generations
74
75. Functional Compactification
- Garbage collection of unreferenced past functions done
automatically by the Python compiler.
- Final solution is a Python compiled function (but can be
extracted by keeping track of its source code). The
extracted solution would be exponentially long.
- The compiled final solution can be queried on non-
training inputs to make predictions. Thanks to the
memoization obtaining the output takes only linear time.
75
76. Functional Compactification
• The functional interpretation of the
compactification method delegates implicitly
all book-keeping of the original
compactification method to the Python
compiler.
• The resulting code is elegant, much shorter
and clear as it has only minimal clutter
(< 100 lines including extensive comments vs
original compactification > 2000 lines of C++).
76
77. 77
GSGP Implementations
• Original Mathematica implementation with algebraic
simplification (see https://github.com/amoraglio/GSGP)
• Compactification method in C++ (see
http://gsgp.sourceforge.net/)
• Functional compactification aka Tiny GSGP in Python (see
https://github.com/amoraglio/GSGP)
• Scala implementation using the ScaPS library (see
http://www.cs.put.poznan.pl/kkrawiec/wiki/?n=Site.Scaps)
79. • Rigorous analytical formula of the
expected optimisation time of the search
algorithm A on the problem class P (on
the worst instance) for increasing size n
of the problem
Runtime Analysis
79
80. • Algorithm: stochastic hill-climber i.e., flip a bit of the current
solution and accept new solution if it is better than current
• Problem class: one-max i.e., sum of ones in the bit string to
maximise; the problem size is the string size
• Expected optimisation time: O(n log n) by coupon collector
argument
• This result generalises to onemax with an unknown target
string, i.e., to any cone landscape on binary strings
Runtime Analysis (example)
80
82. Search Equivalence
82
Semantic GP search at a
syntax level on any problem
Traditional GA search on
output vectors on onemax
Semantics
The search outputs a tree (i.e., a function),
but the runtime analysis can be done on the GA!
83. Forcing Point Mutation (not Bit Flip)
83
X1 X2 X3 Output
0 0 0 0
0 0 1 1
0 1 0 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
X = ((X1 ^ X2) ^ !X3) v X3
M = !X1 ^ X2 ^ !X3
X’ = X v M
84. Issue 1: Exponential Chromosome Size
• Problem size n: number of input variables
• Output vector size N: 2^n
(exponentially long in the number of variables!)
• (1+1)-EA on OneMax has runtime N log N = n 2^n
(exponential!)
84
85. Issue 2: Exponential Amount of Neutrality
• Training set size t: must be polynomial in n for the
fitness to be computable in poly time
• The output vectors of size 2^n have only poly(n)
active bits, all other bits are inactive: sparse
OneMax with very rare active bits
• Black-box model: we do not know which bits are
active and which are inactive
• (1+1)-EA takes exponential time to optimise
sparse OneMax
85
86. Solution: Block Mutation
• Use incomplete minterm as a basis for forcing mutation.
This has the effect of forcing at once blocks of entries to
the same random value.
86
X1 X2 X3 Output
0 0 0 0 1
0 0 1 1 1
0 1 0 0 1
0 1 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
X = ((X1 ^ X2) ^ !X3) v X3
M = !X1
X’ = X v M
88. Polynomial Runtime with High Probability of
Success on All Boolean Problems!
88
Proof idea: choose v such that the number of partitions of the
output vector is polynomial in n (so that the runtime is
polynomial), and larger enough than the training set, so that
each training example is in a single block w.h.p. (which
guarantees that the optimum can be reached).
89. Lesson from Theory
• Rigorous runtime analysis of GSGP on general classes of
non-toy problems is possible as the landscape is always a
cone
• There are issues with GSGP which require careful design
of semantic mutations to obtain efficient search. Theory
can guide the design of provably good semantic operators
in terms of runtime
• Runtime analysis of GSGP with several other mutation
operators for Boolean, arithmetic and classification
domains have been done producing refined provably good
semantic search operators
89
91. 91
SGP and Neutrality
• Similarly to non-semantic operators, SGP operators can be ineffective (in the semantic sense).
– The offspring is a semantic clone of a parent.
– Slows down the search process.
• Percentage of neutral mutations:
• Can be tackled by testing potential offspring for semantic neutrality.
Operator Symbolic regression Boolean function
synthesis
SGX (Moraglio et al.) 0.679 0.719
AGX (Pawlak et al.) 0.131 0.935
LGX (Krawiec et al.) 0.067 0.724
KLX (Krawiec et al.) 0.866 0.895
SAC (Uy et al.) 0.067 0.649
GPX (Koza et al.) 0.103 0.518
92. 92
GP as a Test-Based Problem
• Test based problem (S, T, G, Q) (Popovici et al. 2012):
– S – set of candidate solutions (in GP: programs)
– T – set of tests (in GP: tests, fitness cases)
– G – interaction matrix
– Q – quality measure
• Examples: Games (strategies vs. opponents), control problems (controllers vs. initial
conditions), machine learning from examples (hypotheses vs. examples)
– Generally: co-optimization and co-search
94. 94
Behavioral GP
• Generalizes program behavior to the entire course of program execution, not only
program output
• Program behavior = list of execution traces
(Krawiec & Swan 2013, Krawiec & O’Reilly 2014)
96. 96
Recent Developments
• New approaches based on semantic back propagation
(Ffrancon & Schoenauer, 2015)
• Lexicase selection (Helmuth et al. 2012)
• Relationship to novelty search (program semantics =
behavioral descriptor)
97. • Application to other types of GP
– Geometric Sematic Grammatical Evolution
• Many Real-World Applications (Vanneschi et al, 2013)
• Generalisation Studies
– PAC learning for provably good generalisation of GSGP
• Derivation of semantic operators for more complex domain
(e.g., recursive programs) on more complex data structures
(e.g., lists)
Other Lines of Investigation in GSGP
97
98. 98
Thank you!
Questions?
Credits: The authors thank Bartosz Wieloch and Tomasz Pawlak for their
feedback on the slides of the tutorial. Other credits: Wikipedia
99. 99
References
• A. Moraglio, K. Krawiec, C. Johnson, Geometric Semantic Genetic Programming, PPSN XII, 2012.
• K. Krawiec, P. Lichocki, Approximating Geometric Crossover in Semantic Space, GECCO 2009,
• K. Krawiec, T. Pawlak, Locally Geometric Semantic Crossover: A Study on the Roles of Semantic and Homology in
Recombination Operators, Genetic Programming and Evolvable Machines, 2013,
• T. Pawlak, B. Wieloch, K. Krawiec, Semantic Backpropagation for Designing Genetic Operators in Genetic Programming, IEEE
Transactions on Evolutionary Computation, 2014.
• L. Beadle, C. Johnson, Semantically Driven Crossover in Genetic Programming, CEC 2008,
• L. Beadle, C. Johnson, Semantically Driven Mutation in Genetic Programming, CEC 2009,
• N.Q. Uy, N.X. Hoai, M. O’Neill, R.I. McKay, E. Galvan-Lopez, Semantically-based crossover in genetic programming: application
to real-valued symbolic regression, Genetic Programming and Evolvable Machines, 2011,
• N.Q. Uy, N.X. Hoai, M. O’Neill, R.I. McKay, D.N. Phong, On the roles of semantic locality in genetic programming, Information
Sciences, 2013,
• N.Q. Uy, N.X. Hoai, Michael O’Neill, Semantics based mutation in genetic programming: The case for real-valued symbolic
regression, MENDEL 2009.
• L. Beadle, C. Johnson, Semantic analysis of program initialisation in genetic programming, Genetic Programming and Evolvable
Machines, 2009,
• D. Jackson, Promoting Phenotypic Diversity in Genetic Programming, PPSN XI, 2010.
• Semantic selection:
• E. Galvan-Lopez, B. Cody-Kenny, L. Trujillo, A. Kattan, Using Semantics in the Selection Mechanism in Genetic Programming:
a Simple Method for Promoting Semantic Diversity, CEC 2013.
• R.E. Smith, S. Forrest, and A.S. Perelson. “Searching for diverse, coop- erative populations with genetic algorithms”. In:
Evolutionary Compu- tation 1.2 (1993).
• Lasarczyk, C. W. G. & and Wolfgang Banzhaf, P. D. Dynamic Subset Selection Based on a Fitness Case Topology
Evolutionary Computation, 2004, 12, 223-242
• Nguyen Quang Uy, Nguyen Xuan Hoai, Michael O’Neill, R. I. McKay, and Dao Ngoc Phong. On the roles of semantic
locality of crossover in genetic programming. Information Sciences, 235:195–213, 20 June 2013.
• Mauro Castelli, Leonardo Vanneschi, and Sara Silva. Semantic search-based genetic programming and the effect of
intron deletion. IEEE Transactions on Cybernetics, 44(1):103–113, January 2014.
• Langdon, W. B. & Poli, R. Foundations of Genetic Programming Springer-Verlag, 2002
• McPhee, N. F., Ohs, B. & Hutchison, T., Semantic Building Blocks in Genetic Programming, in O'Neill, M et al. (eds.)
Proceedings of the 11th European Conference on Genetic Programming, EuroGP 2008, Springer, 2008, 4971, 134-145
100. 100
References
• A. Moraglio, Towards a Geometric Unification of Evolutionary Algorithms, PhD Thesis, University of Essex, UK, 2007.
• A. Moraglio, R. Poli, Topological Interpretation of Crossover, Genetic and Evolutionary Computation Conference, pages 1377-
1388, 2004.
• A. Moraglio, A. Mambrini, L. Manzoni, Runtime Analysis of Mutation-Based Geometric Semantic Geometric Programming on
Boolean Functions, Foundations of Genetic Algorithms, 2013.
• A. Moraglio, A. Mambrini, Runtime Analysis of Mutation-Based Geometric Semantic Genetic Programming for Basis Functions
Regression, Genetic and Evolutionary Computation Conference, 2013.
• A. Mambrini, L. Manzoni, A. Moraglio, Theory-Laden Design of Mutation-Based Geometric Semantic Genetic Programming for
Learning Classification Trees, IEEE Congress on Evolutionary Computation 2013.
• A. Moraglio, J. McDermott, M. O’Neill, Geometric Semantic Grammatical Evolution, SMGP workshop at PPSN, 2014.
• A. Moraglio, An Efficient Implementation of GSGP using Higher-Order Functions and Memoization, SMGP workshop at PPSN,
2014.
• J. Fieldsend, A. Moraglio. Strength through diversity: Disaggregation and multi-objectivisation approaches for genetic
programming, GECCO, 2015 (to appear).
• L. Vanneschi, M. Castelli, L. Manzoni, S. Silva, A New Implementation of Geometric Semantic GP and Its Application to
Problems in Pharmacokinetics, EuroGP 2013
• L. Vanneschi, S. Silva, M. Castelli, L. Manzoni, Geometric semantic genetic programming for real life applications, in Genetic
Programming Theory and Practice XI, 2013
• R. Ffrancon, M. Schoenauer, Greedy Semantic Local Search for Small Solutions, Semantic Methods in Genetic Programming
Workshop, GECCO’15, 2015.