This document summarizes genetic programming, an evolutionary algorithm methodology inspired by biological evolution. Genetic programming starts with a random population of computer programs and uses genetic operators like crossover and mutation to generate new programs. It evaluates programs using a fitness function based on how well they perform a given task. The document discusses the history of genetic programming and machine learning, gives examples of genetic programming representations as tree structures, and explains key genetic programming components like genetic operators, population size, the fitness function, and the evolutionary process of breeding new populations.
This document discusses machine learning and provides examples of common machine learning algorithms. It begins with definitions of machine learning and the machine learning process. It then describes four main types of machine learning: supervised learning, unsupervised learning, reinforcement learning, and discusses five common algorithms - K-nearest neighbors, linear regression, decision trees, naive Bayes, and support vector machines. It concludes with an overview of a heart disease prediction mini-project using Python.
Document contains some of the questions from the Domingos Paper. Overall idea is to understand what Machine Learning is all about. This paper helps us to understand the need of Machine Learning in our day to day lives. Well I you will find this document helpful.
This document discusses key concepts in deep learning including:
- An overview of deep learning and its increasing trend since 2005.
- Popular deep learning architectures like convolutional neural networks and recurrent neural networks.
- The ImageNet competition which helps evaluate progress in visual recognition.
- Applications of deep learning in areas like image processing, captioning and reinforcement learning.
- How reinforcement learning differs from other machine learning approaches in its goal-oriented nature and balancing of exploration vs exploitation.
PWL Seattle #23 - A Few Useful Things to Know About Machine LearningTristan Penman
A mini-talk prepared for Papers We Love @ Seattle, September 2016, about the paper "A Few Useful Things to Know About Machine Learning". At just over eight pages, this paper by Pedro Domingos delivers an approachable summary of some of the folk knowledge often missed by those new to the field of Machine Learning.
This talk was intended as a high level talk, avoiding the math-heavy approach typical of Machine Learning discussions. The slides include references to other resources that may be useful to students and practitioners alike.
A Few Useful Things to Know about Machine Learningnep_test_account
1. Machine learning algorithms can automatically learn programs from data by generalizing from examples, which is often more feasible and cost-effective than manual programming. However, developing successful machine learning applications requires expertise beyond what textbooks provide.
2. Machine learning consists of three main components: representation, evaluation, and optimization. Choosing appropriate combinations of these components is key to building effective learners.
3. The goal of machine learning is generalization to new examples, not just accuracy on the training data. Strict separation of training and test data is necessary to evaluate generalization performance.
The document presents a machine learning model to predict disease severity and outcomes in COVID-19 patients. It discusses using various machine learning algorithms like random forest, support vector machine, classification and regression trees, genetic algorithm, and artificial neural networks on COVID-19 patient data. The objectives are to build a model that can predict the spread of the virus in the next 7 days and analyze current conditions in India to see if it will face a crisis like other countries. Literature on existing COVID-19 machine learning studies is reviewed and research gaps are identified like improving data collection. The Italy dataset with 14 attributes is used and the different algorithms' accuracies will be calculated to identify the best approach.
Machine learning involves teaching a computer by providing training examples, either labeled or unlabeled. There are many different machine learning methods, each with strengths and weaknesses. Common methods discussed include neural networks, which are inspired by the human brain; genetic algorithms, which use concepts of natural selection; decision trees, which represent attributes as tree branches; and reinforcement learning, where an agent receives feedback from its actions. More recent methods include statistics-based approaches and matrix decompositions.
2005: Natural Computing - Concepts and ApplicationsLeandro de Castro
The document discusses natural computing, which encompasses computing inspired by nature, simulating natural phenomena using computers, and using natural materials for computing. It surveys ideas from neurocomputing, evolutionary computing, swarm intelligence, immunocomputing, and artificial life. These fields take inspiration from neural networks, evolution, collective animal behavior, the immune system, and the synthesis of life-like behaviors to develop new algorithms and applications. The goal is to develop more robust, adaptive, and fault-tolerant computing approaches.
Introduction to machine learningunsupervised learningSardar Alam
The document provides an introduction to machine learning and discusses different types of machine learning algorithms including supervised and unsupervised learning. It provides examples of problems that could be addressed using supervised learning like regression to predict housing prices and classification to detect cancer. Unsupervised learning is used to discover hidden patterns in unlabeled data like grouping customer accounts or news articles.
The presentation provides an overview of machine learning, including its history, definitions, applications and algorithms. It discusses how machine learning systems are trained and tested, and how performance is evaluated. The key points are that machine learning involves computers learning from experience to improve their abilities, it is used in applications that require prediction, classification and pattern detection, and common algorithms include supervised, unsupervised and reinforcement learning.
This document discusses machine learning and various applications of machine learning. It provides an introduction to machine learning, describing how machine learning programs can automatically improve with experience. It discusses several successful machine learning applications and outlines the goals and multidisciplinary nature of the machine learning field. The document also provides examples of specific machine learning achievements in areas like speech recognition, credit card fraud detection, and game playing.
This document summarizes a research paper that proposes a method for detecting and recognizing faces using the Viola Jones algorithm and Back Propagation Neural Network (BPNN).
The paper first discusses face detection and recognition challenges. It then provides background on Viola Jones algorithm and BPNN. The proposed methodology uses Viola Jones for face detection, converts the image to grayscale and binary, then trains segments or the whole image with BPNN. Results are analyzed using training, testing and validation curves in the MATLAB neural network tool to minimize error. In under 3 sentences, this document outlines the key techniques, proposed method, and analysis approach discussed in the source research paper.
Machine learning testing survey, landscapes and horizons, the Cliff NotesHeemeng Foo
This document provides an overview and summary of a 37-page paper on machine learning testing. It discusses the main sections and findings of the paper, including how ML testing is a growing field but also challenging due to its data-driven nature. Several approaches to ML testing are covered such as test input generation, test oracles, test adequacy, and debugging. Charts from the paper show trends in ML testing research over time.
The document discusses Karel Perutka, a senior lecturer at Tomas Bata University in Zlin, Czech Republic. It describes his educational background, areas of teaching which include MATLAB programming, and research interests which center around adaptive control, real-time control, and creating educational games and tools using MATLAB. It also provides details about four games he has created to help students learn programming concepts through a gaming format, including Labyrinth of MATLAB, LUDO, Automtest, and Riskuj.
Lecture1 introduction to machine learningUmmeSalmaM1
Machine Learning is a field of computer science which deals with the study of computer algorithms that improve automatically through experience. In this PPT we discuss the following concepts - Prerequisite, Definition, Introduction to Machine Learning (ML), Fields associated with ML, Need for ML, Difference between Artificial Intelligence, Machine Learning, Deep Learning, Types of learning in ML, Applications of ML, Limitations of Machine Learning.
Synergy of Human and Artificial Intelligence in Software EngineeringTao Xie
Keynote Talk by Tao Xie at International NSF sponsored Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE 2013) http://promisedata.org/raise/2013/
Machine learning with Big Data power point presentationDavid Raj Kanthi
This is an article made form the articles of IEEE published in the year 2017
The following presentation has the slides for the Title called the
Machine Learning with Big data. that following presentation which has the challenges and approaches of machine learning with big data.
The integration of the Big Data with Machine Learning has so many challenges that Big data has and what is the approach made by the machine learning mechanism for those challenges.
An introduction to AI in Test EngineeringHeemeng Foo
This document provides an overview of artificial intelligence (AI) and how it can be applied to testing and DevOps. It begins with an introduction to common AI techniques like machine learning, deep learning, computer vision, and natural language processing. It then discusses how machine learning can help with challenges in test automation like keeping tests updated and dealing with flaky tests. The document suggests that AI has the potential to improve testing by making it more efficient and less reliant on manual work.
Hot Topics in Machine Learning For Research and thesisWriteMyThesis
Machine Learning and its subsequent fields have undergone tremendous growth in the past few years. It has a number of potential applications and is being used in different fields. A lot of research work is going on in this field. For more information, check out the PPT details...
In this Lunch & Learn session, Chirag Jain gives us a friendly & gentle introduction to Machine Learning & walks through High-Level Learning frameworks using Linear Classifiers.
This document provides an overview of machine learning through a case study submitted by computer science students. It discusses the history and evolution of machine learning from its early development in the 1940s-50s to major advances in the 21st century. The document also defines key machine learning terms, describes the typical machine learning process and steps involved, and lists different types of machine learning problems and algorithms. It aims to give readers a comprehensive introduction to the field of machine learning.
An Abridged Version of My Statement of Research Interestsadil raja
The document summarizes the research interests of Muhammad Adil Raja in machine learning theory and applications. Specifically, his interests involve (1) developing a thorough understanding of machine learning methods, algorithms, and subdomains and (2) effectively applying machine learning to solve real-world problems. As part of his PhD research, he developed methods for real-time, non-intrusive speech quality estimation for VoIP calls using genetic programming. His research resulted in several publications and honors and he continues researching applications of machine learning.
Breaking down the AI magic of ChatGPT: A technologist's lens to its powerful ...rahul_net
ChatGPT has taken the world of natural language processing by storm, and as an experienced AI practitioner, enterprise architect, and technologist with over two decades of experience, I'm excited to share my insights on how this innovative powerhouse is designed from an AI components perspective. In this post, I'll provide a fresh take on the key components that make ChatGPT a powerful conversational AI tool, including its use of the Transformer architecture, pre-training on large amounts of text data, and fine-tuning with human feedback. With ChatGPT's massive success, there's no doubt that it's changing the way we think about language and conversation. So, whether you're a seasoned pro or new to the world of AI, my post will provide a valuable perspective on this fascinating technology. Check out my slides to learn more!
This 4C16 module provides an introduction to machine learning and deep neural networks. The course covers fundamental machine learning algorithms and neural network architectures including logistic regression, classic classifiers, feedforward neural networks, convolutional neural networks, recurrent neural networks, and more. Students will complete hands-on labs programming in Python using Keras and TensorFlow on the Google Cloud Platform. The course aims to give students experience with machine learning applications in fields like computer vision, natural language processing, and more.
Survey on evolutionary computation tech techniques and its application in dif...ijitjournal
In computer science, 'evolutionary computation' is an algorithmic tool based on evolution. It implements
random variation, reproduction and selection by altering and moving data within a computer. It helps in
building, applying and studying algorithms based on the Darwinian principles of natural selection. In this
paper, studies about different evolutionary computation techniques used in some applications specifically
image processing, cloud computing and grid computing is carried out briefly. This work is an effort to help
researchers from different fields to have knowledge on the techniques of evolutionary computation
applicable in the above mentioned areas.
Applying Soft Computing Techniques in Information RetrievalIJAEMSJORNAL
There is plethora of information available over the internet on daily basis and to retrieve meaningful effective information using usual IR methods is becoming a cumbersome task. Hence this paper summarizes the different soft computing techniques available that can be applied to information retrieval systems to improve its efficiency in acquiring knowledge related to a user’s query.
The document discusses artificial intelligence and defines it as the science and engineering of making intelligent machines, especially intelligent computer programs. It notes two main approaches to AI: engineering and cognitive modeling. Intelligence is defined as the ability to learn and solve problems, specifically the ability to solve novel problems, act rationally, and act like humans. The document also discusses various applications and techniques in AI, including search algorithms, expert systems, fuzzy logic, robotics, and genetic algorithms.
A prior case study of natural language processing on different domain IJECEIAES
This document summarizes a prior case study on natural language processing across different domains. It begins with an introduction to natural language processing, describing how it is a branch of artificial intelligence that allows computers to understand human language. It then reviews several existing studies that applied natural language processing techniques such as named entity recognition and text mining to tasks like identifying technical knowledge in resumes, enhancing reading skills for deaf students, and predicting student performance. The document concludes by highlighting some of the challenges in developing new natural language processing models.
SCCAI- A Student Career Counselling Artificial Intelligencevivatechijri
As education is growing day by day, the competition has prompted a need for the student to
understand more about the educational field. Many times the counselor isn’t available all the time and
sometimes due to the lack of proper knowledge about some educational field. Due to this, it creates an issue of
misconception of that field. This creates a problem for the student to decide a proper educational trajectory and
guidance is not always useful. The proposed paper will overcome all these problem using machine learning
algorithm. Various algorithms are being considered and amongst them the best suitable for our project are used
here. There are 3 major problems that come across our path and they are solved using Random forest, Linear
regression and Searching algorithm using Google API. At first Searching algorithm solves the problem of
location by segregating the college’s location vice, then Random Forest provides the list of colleges by using
stream and range of percentage and finally Linear Regression predicts the current cutoff using previous years’
data. Rather than this, the proposed system also provides information regarding all fields of education helping
students to understand and know about their field of interest better. The following idea is a total fresh idea with
no existing projects of similar kind. This project will help students guide them throughout.
Artificial intelligence algorithms are studied in the field of artificial intelligence. The document discusses several common AI algorithms including genetic algorithms, path finding algorithms, heuristic functions, depth-first search, breadth-first search, and A* search. It provides examples of how each algorithm works and when each type of algorithm is best applied. The document is intended to explain these fundamental AI algorithms at a high level.
The goal of machine learning is to program computers to use example data or past experience to solve a given problem. Many successful applications of machine learning exist already, including systems that analyze past sales data to predict customer behavior, optimize robot behavior so that a task can be completed using minimum resources, and extract knowledge from bioinformatics data
This research proposal aims to study the problems that can occur when proper software engineering techniques are not consistently applied throughout the development process. The researcher will analyze how using proper modeling, planning, requirements gathering, design, programming, testing, and other techniques can help deliver high-quality, less expensive, and easier to maintain software in a timely manner. In contrast, not using these techniques risks developing low-quality software that goes over budget and is difficult to maintain. The study will review literature on software engineering best practices and the researcher's experience to determine the importance of applying a disciplined, systematic approach using appropriate tools at each stage of development.
Intro/Overview on Machine Learning PresentationAnkit Gupta
This document provides an overview of a presentation on machine learning given at Gurukul Kangri University in 2017. It defines machine learning as a field that allows computers to learn without being explicitly programmed. It discusses different machine learning algorithms including supervised learning, unsupervised learning, and semi-supervised learning. Examples of applications of machine learning discussed include data mining, natural language processing, image recognition, and expert systems. The document also contrasts artificial intelligence, machine learning, and deep learning.
The Foundations of Artificial Intelligence, The History of
Artificial Intelligence, and the State of the Art. Intelligent Agents: Introduction, How Agents
should Act, Structure of Intelligent Agents, Environments. Solving Problems by Searching:
problem-solving Agents, Formulating problems, Example problems, and searching for Solutions,
Search Strategies, Avoiding Repeated States, and Constraint Satisfaction Search. Informed
Search Methods: Best-First Search, Heuristic Functions, Memory Bounded Search, and Iterative
Improvement Algorithms.
A review paper: optimal test cases for regression testing using artificial in...IJECEIAES
This document provides a review of optimal test cases for regression testing using artificial intelligence techniques. It discusses regression testing and techniques used for test case selection and prioritization, including retest all, regression test selection, and test case prioritization. Metrics for evaluating the efficiency of these techniques are described, including average percentage of faults detected, average percentage block coverage, and average percentage decision coverage. The document also reviews various artificial intelligence techniques that have been used for regression testing, such as neural networks, fuzzy logic, genetic algorithms, and machine learning. It provides examples of studies that have applied these techniques to select optimal test cases and improve the efficiency of regression testing.
SBQS 2013 Keynote: Cooperative Testing and AnalysisTao Xie
SBQS 2013 Keynote: Cooperative Testing and Analysis: Human-Tool, Tool-Tool, and Human-Human Cooperations to Get Work Done http://sbqs.dcc.ufba.br/view/palestrantes.php
Automatic Selection of Open Source Multimedia Softwares Using Error Back-Prop...IJERA Editor
Open source opens a new era to provide license of the software for the user at free of cost which is advantage over paid licensed software. In Multimedia applications there are many versions of software are available and there is a problem for the user to select compatible software for their own system. Most of the time while surfing for software a huge list of software opens in response. The selection of particular software which is pretty suitable for the system from a real big list is the biggest challenge that is faced by the users. This work has been done that focuses on the existing open source software that are widely used and to design an automatic system for selection of particular open source software according to the compatibility of users own system. In this work, error back-propagation based neural network is designed in MATLAB for automatic selection of open source software. The system provides the open source software name after taking the information from user. Regression coefficient of 0.93877 is obtained and the results shown are up to the mark and can be utilized for the fast and effective software search.
Similar to Genetic Algorithms and Programming - An Evolutionary Methodology (20)
Advanced Computing: An International Journal (ACIJ) is a peer-reviewed, open access peer-reviewed journal that publishes articles which contribute new results in all areas of the advanced computing. The journal focuses on all technical and practical aspects of high performance computing, green computing, pervasive computing, cloud computing etc. The goal of this journal is to bring together researchers and a practitioners from academia and industry to focus on understanding advances in computing and establishing new collaborations in these areas.
Authors are solicited to contribute to the journal by submitting articles that illustrate research results, projects, surveying works and industrial experiences that describe significant advances in the areas of computing.
Call for Papers - Advanced Computing An International Journal (ACIJ) (2).pdfacijjournal
Submit your Research Papers!!!
Advanced Computing: An International Journal ( ACIJ )
ISSN: 2229 -6727 [Online] ; 2229 - 726X [Print]
Webpage URL: http://airccse.org/journal/acij/acij.html
Submission URL: http://coneco2009.com/submissions/imagination/home.html
Submission Deadline : April 08, 2023
Here's where you can reach us : acijjournal@yahoo.com or acij@aircconline
Advanced Computing: An International Journal (ACIJ
)
is a bi monthly open access peer-reviewed journal that publishes articles which contribute new results in all areas of the advancedcomputing. The journal focuses on all technical and practical aspects of high performancecomputing, green computing, pervasive computing, cloud computing etc. The goal of this journalis to bring together researchers anda practitioners from academia and industry to focus onunderstanding advances in computing and establishing new collaborations in these areas
Submit your Research Papers!!!
Advanced Computing: An International Journal ( ACIJ )
ISSN: 2229 -6727 [Online] ; 2229 - 726X [Print]
Webpage URL: http://airccse.org/journal/acij/acij.html
Submission URL: http://coneco2009.com/submissions/imagination/home.html
Here's where you can reach us : acijjournal@yahoo.com or acij@aircconline.com
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)acijjournal
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)provides a forum for researchers who address this issue and to present their work in a peer-reviewed forum.
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)acijjournal
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)provides a forum for researchers who address this issue and to present their work in a peer-reviewed forum.
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)acijjournal
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)provides a forum for researchers who address this issue and to present their work in a peer-reviewed forum.
4thInternational Conference on Machine Learning & Applications (CMLA 2022)acijjournal
4thInternational Conference on Machine Learning & Applications (CMLA 2022)will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications. The aim of the conference is to provide a platform to the researchers and practitioners from both academia as well as industry to meet and share cutting-edge development in the field.
7thInternational Conference on Data Mining & Knowledge Management (DaKM 2022)acijjournal
The 7th International Conference on Data Mining & Knowledge Management (DaKM 2022) will take place from July 30-31, 2022 in London, United Kingdom. The conference aims to provide a forum for researchers to present work on data mining and knowledge management. Authors are invited to submit papers by June 04, 2022 on topics related to data mining foundations, applications, and knowledge processing. Selected papers will be published in the conference proceedings and considered for publication in related journals. Important dates include the submission deadline of June 04 and notification of acceptance by June 18.
3rdInternational Conference on Natural Language Processingand Applications (N...acijjournal
3rdInternational Conference on Natural Language Processing and Applications (NLPA 2022)will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of Natural Language Computing and its applications. The Conference looks for significant contributions to all major fieldsof the Natural Language processing in theoretical and practical aspects.
4thInternational Conference on Machine Learning & Applications (CMLA 2022)acijjournal
4thInternational Conference on Machine Learning & Applications (CMLA 2022)will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications. The aim of the conference is to provide a platform to the researchers and practitioners from both academia as well as industry to meet and share cutting-edge development in the field.
Graduate School Cyber Portfolio: The Innovative Menu For Sustainable Developmentacijjournal
In today’s milieu, new demands and trends emerge in the field of Education giving teachers of Higher Education Institutions (HEI’s) no choice but to be innovative to cope with the fast changing technology. To be naturally innovative, a graduate school teacher needs to be technologically and pedagogically competent. One of the ways to be on this level is by creating his cyber portfolio to support students’ eportfolio for lifelong learning. Cyber portfolio is an innovative menu for teachers who seek out strategies to integrate technology in their lessons. This paper presents a straightforward preparation on how to innovate a cyber portfolio that has its practical and breakthrough solution against expensive and inflexible vended software which often saddle many universities. Additionally, this cyber portfolio is free and it addresses the 21st century skills of graduate students blended with higher order thinking skills, multiple intelligence, technology and multimedia.
Data Transformation Technique for Protecting Private Information in Privacy P...acijjournal
Data mining is the process of extracting patterns from data. Data mining is seen as an increasingly important tool by modern business to transform data into an informational advantage. Data
Mining can be utilized in any organization that needs to find patterns or relationships in their data. A group of techniques that find relationships that have not previously been discovered. In many situations, the extracted patterns are highly private and it should not be disclosed. In order to maintain the secrecy of data,
there is in need of several techniques and algorithms for modifying the original data in order to limit the extraction of confidential patterns. There have been two types of privacy in data mining. The first type of privacy is that the data is altered so that the mining result will preserve certain privacy. The second type of privacy is that the data is manipulated so that the mining result is not affected or minimally affected. The aim of privacy preserving data mining researchers is to develop data mining techniques that could be
applied on data bases without violating the privacy of individuals. Many techniques for privacy preserving data mining have come up over the last decade. Some of them are statistical, cryptographic, randomization methods, k-anonymity model, l-diversity and etc. In this work, we propose a new perturbative masking technique known as data transformation technique can be used for protecting the sensitive information. An
experimental result shows that the proposed technique gives the better result compared with the existing technique.
Advanced Computing: An International Journal (ACIJ) acijjournal
Advanced Computing: An International Journal (ACIJ) is a bi monthly open access peer-reviewed journal that publishes articles which contribute new results in all areas of the advanced computing. The journal focuses on all technical and practical aspects of high performance computing, green computing, pervasive computing, cloud computing etc. The goal of this journal is to bring together researchers and practitioners from academia and industry to focus on understanding advances in computing and establishing new collaborations in these areas.
E-Maintenance: Impact Over Industrial Processes, Its Dimensions & Principlesacijjournal
During the course of the industrial 4.0 era, companies have been exponentially developed and have
digitized almost the whole business system to stick to their performance targets and to keep or to even
enlarge their market share. Maintenance function has obviously followed the trend as it’s considered one
of the most important processes in every enterprise as it impacts a group of the most critical performance
indicators such as: cost, reliability, availability, safety and productivity. E-maintenance emerged in early
2000 and now is a common term in maintenance literature representing the digitalized side of maintenance
whereby assets are monitored and controlled over the internet. According to literature, e-maintenance has
a remarkable impact on maintenance KPIs and aims at ambitious objectives like zero-downtime.
10th International Conference on Software Engineering and Applications (SEAPP...acijjournal
10th International Conference on Software Engineering and Applications (SEAPP 2021) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of Software Engineering and Applications. The goal of this Conference is to bring together researchers and practitioners from academia and industry to focus on understanding Modern software engineering concepts and establishing new collaborations in these areas.
10th International conference on Parallel, Distributed Computing and Applicat...acijjournal
The 10th International Conference on Parallel, Distributed Computing and Applications (IPDCA 2021) will take place April 24-25, 2021 in Copenhagen, Denmark. The conference aims to provide a forum for researchers and industry professionals to share knowledge on parallel and distributed computing. Authors are invited to submit original papers by April 3, 2021 on topics including algorithms, bioinformatics, computer networks, cyber security, and wireless networks. Accepted papers will be published in the conference proceedings and may also be published in related journals.
DETECTION OF FORGERY AND FABRICATION IN PASSPORTS AND VISAS USING CRYPTOGRAPH...acijjournal
In this paper, we present a novel solution to detect forgery and fabrication in passports and visas using
cryptography and QR codes. The solution requires that the passport and visa issuing authorities obtain a
cryptographic key pair and publish their public key on their website. Further they are required to encrypt
the passport or visa information with their private key, encode the ciphertext in a QR code and print it on
the passport or visa they issue to the applicant.
The issuing authorities are also required to create a mobile or desktop QR code scanning app and place it
for download on their website or Google Play Store and iPhone App Store. Any individual or immigration
authority that needs to check the passport or visa for forgery and fabrication can scan its QR code, which
will decrypt the ciphertext encoded in the QR code using the public key stored in the app memory and
displays the passport or visa information on the app screen. The details on the app screen can be
compared with the actual details printed on the passport or visa. Any mismatch between the two is a clear
indication of forgery or fabrication.
Discussed the need for a universal desktop and mobile app that can be used by immigration authorities and
consulates all over the world to enable fast checking of passports and visas at ports of entry for forgery
and fabrication.
Detection of Forgery and Fabrication in Passports and Visas Using Cryptograph...acijjournal
In this paper, wepresenta novel solution to detect forgery and fabrication in passports and visas using cryptography and QR codes. The solution requires that the passport and visa issuing authorities obtain a cryptographic key pair and publish their public key on their website. Further they are required to encrypt the passport or visa information with their private key, encode the ciphertext in a QR code and print it on the passport or visa they issue to the applicant.
The issuing authorities are also required to create a mobile or desktop QR code scanning app and place it for download on their website or Google Play Store and iPhone App Store. Any individual or immigration authority that needs to check the passport or visa for forgery and fabrication can scan its QR code, which will decrypt the ciphertext encoded in the QR code using the public key stored in the app memory and displays the passport or visa information on the app screen. The details on the app screen can be compared with the actual details printed on the passport or visa. Any mismatch between the two is a clear indication of forgery or fabrication.
Discussed the need for a universal desktop and mobile app that can be used by immigration authorities and consulates all over the world to enable fast checking of passports and visas at ports of entry for forgery and fabrication.
10th International Conference on Cloud Computing: Services and Architecture (...acijjournal
10th International Conference on Cloud Computing: Services and Architecture (CLOUD 2021)
helps enterprises transform business and technology. Companies have begun to look for solutions
that would help reduce their infrastructures costs and improve profitability. Cloud computing is
becoming a foundation for benefits well beyond IT cost savings. Yet, many business leaders are
concerned about cloud security, privacy, availability and data protection. To discuss and address
these issues, we are inviting researchers who focus on cloud computing to shed more light on this
emerging field.
How to Manage Internal Notes in Odoo 17 POSCeline George
In this slide, we'll explore how to leverage internal notes within Odoo 17 POS to enhance communication and streamline operations. Internal notes provide a platform for staff to exchange crucial information regarding orders, customers, or specific tasks, all while remaining invisible to the customer. This fosters improved collaboration and ensures everyone on the team is on the same page.
OCS Training Institute is pleased to co-operate with
a Global provider of Rig Inspection/Audits,
Commission-ing, Compliance & Acceptance as well as
& Engineering for Offshore Drilling Rigs, to deliver
Drilling Rig Inspec-tion Workshops (RIW) which
teaches the inspection & maintenance procedures
required to ensure equipment integrity. Candidates
learn to implement the relevant standards &
understand industry requirements so that they can
verify the condition of a rig’s equipment & improve
safety, thus reducing the number of accidents and
protecting the asset.
A vernier caliper is a precision instrument used to measure dimensions with high accuracy. It can measure internal and external dimensions, as well as depths.
Here is a detailed description of its parts and how to use it.
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionBert Blevins
Cybersecurity breaches are a growing threat in today’s interconnected digital landscape, affecting individuals, businesses, and governments alike. These breaches compromise sensitive information and erode trust in online services and systems. Understanding the causes, consequences, and prevention strategies of cybersecurity breaches is crucial to protect against these pervasive risks.
Cybersecurity breaches refer to unauthorized access, manipulation, or destruction of digital information or systems. They can occur through various means such as malware, phishing attacks, insider threats, and vulnerabilities in software or hardware. Once a breach happens, cybercriminals can exploit the compromised data for financial gain, espionage, or sabotage. Causes of breaches include software and hardware vulnerabilities, phishing attacks, insider threats, weak passwords, and a lack of security awareness.
The consequences of cybersecurity breaches are severe. Financial loss is a significant impact, as organizations face theft of funds, legal fees, and repair costs. Breaches also damage reputations, leading to a loss of trust among customers, partners, and stakeholders. Regulatory penalties are another consequence, with hefty fines imposed for non-compliance with data protection regulations. Intellectual property theft undermines innovation and competitiveness, while disruptions of critical services like healthcare and utilities impact public safety and well-being.
Genetic Algorithms and Programming - An Evolutionary Methodology
1. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
DOI : 10.5121/acij.2010.1102 11
Genetic Algorithms and Programming-An
Evolutionary Methodology
1
T. Venkat Narayana Rao
Professor and Head, Computer Science and Engineering,
Hyderabad Institute of Technology and Management, Hyderabad, A P, India,
tvnrbobby@yahoo.com
2
Srikanth Madiraju
Computer Science and Engineering,
Hyderabad Institute of Technology and Management, Hyderabad, A P, India,
mdrjsrikanth@yahoo.com
Abstract:
Genetic programming (GP) is an automated method for creating a working computer program from a
high-level problem statement of a problem. Genetic programming starts from a high-level statement of
“what needs to be done” and automatically creates a computer program to solve the problem. In artificial
intelligence, genetic programming (GP) is an evolutionary algorithm-based methodology inspired by
biological evolution to find computer programs that perform a user defined task. It is a specialization of
genetic algorithms (GA) where each individual is a computer program. It is a machine learning technique
used to optimize a population of computer programs according to a fitness span determined by a program's
ability to perform a given computational task. This paper presents a idea of the various principles of
genetic programming which includes, relative effectiveness of mutation, crossover, breeding computer
programs and fitness test in genetic programming. The literature of traditional genetic algorithms contains
related studies, but through GP, it saves time by freeing the human from having to design complex
algorithms. Not only designing the algorithms but creating ones that give optimal solutions than traditional
counterparts in noteworthy ways.
Keywords: Genetic Programming, subtree, chromosomes, mutation, Evolutionary.
Introduction
Going back to the history back to 1954 where the first work on Genetic Programming has
initiated highlighting the basic functionality of all the four basic aspects (breeding, mutation,
crossover and fitness test), Genetic Programming began with the evolutionary algorithms firstly
developed by Fogel Owens and Walsh applied to evolutionary simulations as given table 1.
During 1960s and early 1970s, evolutionary algorithms became widely recognized as
optimization methods. Genetic programming addresses the problem of automatic programming,
namely, the problem of how to enable a computer to do useful things without instructing it, step
by step, on how to do it. The first statement of modern "tree-based" Genetic Programming i.e.,
procedural languages organized in tree-based structures and operated on by suitably defined GA-
operators was given by Nichael L. Cramer (1985). Koza has argued that mutation is in fact
useless in Genetic Programming because of the position-independence of GP subtrees, and
because of the large number of chromosome positions in typical Genetic Programming
populations [Koza 1992, pp. 105–107]. This paper shows the merits of the application of the basic
aspects of Genetic Programming that have proved more efficient is generating a good algorithms
and pool of programs for better delivery of results[12]. The whole discussion lies in the advantage
of utility of these major points in modern computations and algorithm writing. In the 1990s, GP
was mainly used to solve relatively simple problems because it is very computationally intensive.
Recently GP has produced many novel and outstanding results in areas such as quantum
computing, electronic design, game playing, sorting and searching due to improvements in GP
2. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
12
technology and the power[6][8]. These results include the replication or development of several
post-year-2000 inventions. GP has also been applied to evolvable hardware as well as computer
programs. The history of computer programming is a history of attempts to move away from the
"craftsman" approach - structured programming, object-oriented programming, object libraries
and rapid prototyping. But each of these advances leaves the code that does the real work firmly
in the hands of the programmer. The ability to enable computers to learn to program themselves
is of the utmost importance in freeing the computer industry and the computer user from code that
is obsolete before it is released. Since the 1950s, computer scientists have tried, with varying
degrees of success, to give computers the ability to learn. The umbrella term for this field of study
is "machine learning" a phrase crafted in 1959 by the first person who made a computer perform
a serious learning task is Samuel. Originally, Samuel used "machine learning" to mean computers
programming themselves [Samuel, 1963]. That goal has, for many years, proven too difficult. So
the machine learning community has pursued more modest goals. A good contemporary
definition of machine learning is due to Mitchell’s, the study of computer algorithms that improve
automatically through experience [Mitchell, 1996]. Genetic programming, aspires to do precisely
that - to induce a population of computer programs that improve automatically as they experience
the data on which they are trained. Accordingly, GP is part of the very large body of research
called machine learning. Developing a theory for GP has been very difficult and so in the 1990s
GP was considered a sort of outcast among search techniques. But after a series of breakthroughs
in the early 2000s, the theory of GP has had a formidable and rapid development. So much so that
it has been possible to build exact probabilistic models of GP (schema theories and Markov chain
models).
Genetic Programming is an extension of the Genetic Algorithm which was invented by John
Holland (1975). Although the idea of evolving programs was first suggested by Forsyth (1981)
and Cramer (1985) among others, it was proved, promoted and developed into a practical tool by
John Koza. Genetic Programming is one technique amongst a whole range of possible
evolutionary algorithms [3].
What Machine Learning
Although genetic programming is a relative newcomer to the world of machine learning, some of
the earliest machine learning research bore a distinct resemblance to today's GP. In 1958 and
1959, Friedberg attempted to solve fairly simple problems by teaching a computer to write
computer programs [Friedberg, 1958] [Friedberg et al., 1959]. Friedberg's programs were 64
instructions long and were able to Manipulate, bitwise, a 64-bit data vector. Each instruction had
a virtual "opcode" and two operands, which could reference either the data vector or the
instructions. An instruction could jump to any other instruction or it could manipulate any bit of
the data vector. Friedberg's system learned by using what looks a lot like a modern mutation
operator - random initialization of the individual solutions and random changes in the
instructions. The process of machine learning, that is, the defining of the environment and the
techniques for letting the machine learning system experience the environment for both training
and evaluation, are surprisingly similar from system to system. In the next section of this chapter,
we shall, therefore, focus on machine learning as a high-level process. By the early 1980s,
machine learning was recognized as a distinct scientific discipline. Since then, the field has grown
tremendously. Systems now exist that can, in narrow domains, learn from experience and make
useful predictions about the world. Today, machine learning is frequently an important part of
real-world applications such as industrial process control, robotics control, time series prediction,
prediction of creditworthiness, and pattern recognition problems such as optical character
3. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
13
recognition and voice recognition, to name but a few examples [White and Sofge, 1992]
[Biethahn and Nissen, 1995]. At the highest level, any machine learning system faces a similar
task - how to learn from its experience of the environment[1][4].
Table 1: Summary of evolutionary algorithms
The whole field is now called Evolutionary Computation. In common with many search
techniques, the Genetic Programming algorithm has three basic components.
• A population of candidate solutions (usually called genes or chromosomes).
• A set of operations (genetic operators) which act on members of this population to produce
new solutions[9].
• A method for evaluating how good each solution is, which involves trying it out in an
appropriate environment.
In Genetic Programming, each candidate solution is stored in the form of a tree structure. Two
examples of these trees are shown in Figure 1. The first of these might be interpreted as the
example function i.e. p = 2.107p + 0.345 and the second as the logical expression (agent-4
saidYes) OR (agent-3 DidBetterThan me). Initially, the population of candidate solutions is
generated randomly from a specification of the possible nodes and terminals which can be used to
construct a legal tree.
Figure 1. Example of Genetic Programming solution being stored in tree pattern.
4. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
14
Different problems in artificial intelligence, symbolic processing, and machine learning can be
viewed as wanted discovery of a computer program that results in some desired output for
particular inputs being fed. In this new genetic programming, pool of computer programs are
genetically bred using “the Darwinian principle of survival” of the fittest and using a genetic
crossover (recombination) operator appropriate for genetically mating computer programs.
A. Breeding features:
• Attributed features:
-competes with neural nets and alike
-needs huge populations (thousands).
• Special features :
-non-linear chromosomes: trees, graphs, Computer Programs as Trees.
- Mutation possible but not necessary (disputed!) .
Start off with a large “pool” of random computer programs. Need a way of coming up with the
best solution to the problem using the programs in the “pool”. Based on the definition of the
problem and criteria specified in the fitness test, mutations and crossovers are used to come up
with new programs which will solve the problem further.
For example: IF (NOC = 2) AND (S > 80000) THEN good ELSE bad
can be represented by the following tree
IF formula THEN good ELSE bad . Only unknown is the right formula, hence our search space
(phenotypes) is the set of formulas i.e. Natural fitness of a formula: percentage of well classified
cases of the model it stands for
Natural representation of formulas (genotypes) is: parse trees
The Trees are a universal form and can be represented for example consider:
Tree based representation:
(x ∧ true) → (( x ∨ y ) ∨ (z ↔ (x ∧ y)))
5. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
15
In GA, ES, EP chromosomes are linear structures (bit strings, integer string, real-valued vectors,
and permutations). Tree shaped chromosomes are non-linear structures. In GA, ES, EP the size of
the chromosomes is fixed. Trees in Genetic Programming may vary in depth and width.
B. The Fitness Test Function
Identifying the way of evaluating how good a given computer program is at solving the problem
at hand [11] [12]. How good can a program cope with its environment? Can be measured in many
ways, i.e. error, distance, time, complexity etc.
• Fitness Test Criteria;
• Time complexity a good criteria i.e. n2
vs. nlogn.
• Accuracy - Values of variables.
• Combinations of criteria may also be tested.
Fitness is the measure used by GP during simulated evolution of how well a program has learned
to predict the output(s) from the input(s) i.e. the features of the learning domain. The goal of
having a fitness evaluation is to give feedback to the learning algorithm regarding which
individuals should have a higher probability of being allowed to multiply and reproduce, which
individuals should have a higher probability of being removed from the population. The fitness
function is calculated on what we have earlier referred to as the training sets. Continuous Fitness
Function, the fitness function should be designed to give graded and continuous feedback about
how well a program performs on the training set. There are also other methods for calculating
fitness.
In co-evolution methods for fitness evaluation [Angeline and Pollack, 1993][Hillis, 1992],
individuals compete against each other without an explicit fitness value. In a game-playing
application, the winner in a game may be given a higher probability of reproduction than the
loser. In some cases, two different populations may be evolved simultaneously with conflicting
goals. For example, one population might try to evolve programs that sort lists of numbers while
the other population tries to evolve lists of numbers that are hard to sort. This method is inspired
by arms races in nature where, for example, predators and prey evolve together with conflicting
goals. In some cases, it might be advantageous to combine very different concepts in the fitness
criteria. We could add terms for the length of the evolved programs or their execution speed, etc.
Such fitness function is referred to as a multiobjective fitness function.
6. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
16
Each individual in a population is allotted with a fitness value as a result of its communication
with the environment. Fitness is the driving force of Darwinian natural selection and, similarly to
genetic algorithms. The environment is a set of cases which provides a basis for evaluating the
fitness of the S expressions in the population. For example, for the exclusive-or function, the
obvious choice for the environment is the set of four combinations of possible values for the two
variable atoms D0 and D1 along with the associated value of the exclusive-or function for the
four such combinations. For most of the problems described herein, the raw fitness of any LISP
S-expression is the sum of the distances between the point in the range space returned by the S-
expression for a given set of arguments and the correct point in the range space. The S-expression
may Boolean-valued, integer-valued, real-valued, complex-valued, vector valued, multiple-
valued, or symbolic-valued. If the S-expression is integer-valued or real-valued, the sum of
distances is the sum of absolute values of the differences between the numbers involved. In
particular, the raw fitness r(i,t) of an individual LISP S-expression i in the population of size M at
any generational time step t is :
Where S (i,j) is the value returned by S-expression i for environmental case j (of Ne
environmental cases) and where C(j) is the correct value for environmental case j. If the S-
expression is Boolean-valued or symbolic-valued, the sum of distances is equivalent to the
number of mismatches. If the S-expression is complex-valued, or vector-valued, or multiple
valued, the sum of the distances is the sum of the distances separately obtained from each
component of the vector or list. The closer this sum of distances is to zero, the better is the S-
expression.
One can use the sum of the distances or the square root of the sum of the squares of the distances
in this computation. It is important that the fitness function return a range of various values that
distinguish the performance of single entities in the pool. As an example, a fitness function test
that returns only two values (say, a true for a solution and a false otherwise) provides not enough
information for helping guide to an adaptive process. Any outcome that is discovered with such a
fitness function test is, then, essentially can be an accident (a false return). A wrong choice of the
function set in relation to the number of environment cases for a given case can raise the same
situatution. For example, if the Boolean function OR is in the function set for the exclusive-or
problem, this function alone satisfies three of the four environment cases. Since the initial random
population of individuals will almost certainly be numerous S-expressions equivalent to the OR
function, we are effectively left with only two distinguishing levels of the fitness (i.e. 4 for a
solution and 3 otherwise).
The process of solving some typical problems can be reframed as a search for a most fit
individual computer program in the range of possible computer programs. In particular, the
search Space is the hyperspace of LISP symbolic expressions (called S-expressions)
encapsulating functions and terminals appropriate to the problem domain. As noticed, the LISP S-
expression which solves each of the problems described above will surface from a simulated
r(i,t) =Ne
∑S(i,j) [Ex-Or] C(j)
j=1
7. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
17
evolutionary process using a new genetic programming paradigm using a "hierarchical genetic
algorithm”.
The functions may be standard arithmetic operations, standard programming operations, standard
mathematical functions and various domain-specific functions[10]. A fitness function evaluates
how well each individual LISP S-expression in the population performs in the particular problem
environment. In many problems, the fitness is measured by the sum of the distances i.e. taken for
all the environmental cases between the point in the range space (whether Boolean-valued,
integer-valued, real-valued, complex-valued, vector-valued, symbolic valued, or multiple-valued)
created by the S-expression for a given set of arguments and the correct point in the range space.
An algorithm based on the Darwinian model of reproduction and survival of the fittest and
genetic recombination is used to create a new population of individuals from the current
population of individuals.
The two participating parental S-expressions are selected in proportion to fitness. The resulting
offspring S-expressions are composed of sub expressions "building blocks" from their parents.
Then, the new population of offspring i.e. the new generation replaces the old population of
parents, the old generation. Then, each individual in the new population is measured with the
fitness function and the process is repeated. At every level of this highly parallel, locally
governed, and defragmented process, the state of the process will include only of the current
population of individuals. Moreover, the only input to the algorithmic process will be the
observed fitness of the individuals in the current population in correlation with the problem
environment. This algorithm will produce populations which, over a period of generations, intend
to show increasing average fitness in dealing with their environment, and which, in addition, will
tend to robustly i.e. rapidly and effectively adapt and work accordingly to the changes in their
environment. The solution produced by this algorithm at any given time can be viewed as the
entire population of distinctive alternative solutions (typically with improved overall average
fitness as compared to the beginning of the algorithm), or, more commonly, as the single best
individual in the population at that time. The hierarchical character of the computer programs that
are produced by the genetic programming paradigm is an important characteristic of the genetic
programming. The results of this genetic programming methodology process are inherently
hierarchical.
The dynamic variability of the computer programs that are developed along the way to a solution
is also an important feature of the genetic programming paradigm. In each case, it would be
difficult and unnatural to try to specify or limit the size and shape of the eventual solution in
advance. Moreover, the advance specification or restriction of the size and shape of the solution
to a problem narrows the window by which the system views the world and might well prohibit
finding the solution to the problem.
Another important feature of the genetic programming paradigm is absence of preprocessing of
inputs and the fact that the solution is expressed directly in terms of the functions and arguments
from the problem domain. This makes the results immediately comprehensible and intelligible in
the terms of the problem domain. Most importantly, the "genetic programming" paradigm is
general and provides a single, unified approach to a variety of seemingly different problems in a
variety of areas.
II. THE CROSSOVER (RECOMBINATION) OPERATION
Crossing over, process in genetics by which the two chromosomes of a homologous pair swap
equal segments with each other. Crossing over occurs in the first division of meiosis. At that stage
8. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
18
each chromosome has replicated into two strands called sister chromatids[5]. The two
homologous chromosomes of a pair synapse, or come together. While the chromosomes are
synapsed, breaks occur at corresponding points in two of the non-sister chromatids, i.e., in one
chromatid of each chromosome[1]. Since the chromosomes are homologous, breaks at
corresponding points mean that the segments that are broken off contain corresponding genes,
i.e., alleles. The broken sections are then exchanged between the chromosomes to form complete
new units, and each new recombined chromosome of the pair can go to a different daughter sex
cell as shown in Figure 2. Crossing over results in recombination of genes found on the same
chromosome, called linked genes that would otherwise always be transmitted together. Because
the frequency of crossing over between any two linked genes is proportional to the chromosomal
distance between them, crossing over frequencies are used to build genetic, or linkage, maps of
genes on chromosomes.
Figure 2. Chromosomes Pairs and Genetic Recombinations
There are three principal constraints on biological crossover:
• Biological crossover takes place only between members of the similar species. In fact,
living creatures put much energy into identifying other members of their species - often
putting their own existence at risk to do so. Bird songs, for example, attract mates of the
same species and predators.
• Biological crossover occurs with remarkable attention to preservation of "semantics”.
Thus, crossover usually results in the same gene from the father being matched with the
same gene from the mother. In other words, the hair color gene does not get swapped for
the tallness gene[2].
• Biological crossover is homologous. The two DNA strands are able to line up identical
or very similar base pair sequences so that their crossover is perfect almost down to the
molecular level. But this does not eliminate crossover at duplicate gene sites or other
variations, as long as very similar sequences are available.
In nature, most crossover events are successful i.e. they result in viable offspring. This is a sharp
contrast to GP crossover, where over 75% of the crossover events are what would be termed in
biology "lethal”. What causes this difference? In a sense, GP takes on an enormous task. It must
evolve genes (building blocks) so that crossover makes sense and it must evolve a solution to the
problem all in a few hundred generations. It took nature billions of years to come up with the
9. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
19
preconditions so that crossover itself could evolve. GP crossover is very different from biological
crossover. Crossover in standard GP is unconstrained and uncontrolled. Crossover points are
selected randomly in both parents. There are no predefined building blocks (genes). Crossover is
expected to find the good building blocks and not to disorder them even while the building blocks
grow.
• In the basic GP system, any subtree may be crossed over with any other subtree. There is
no requirement that the two subtrees fulfill similar functions. In biology, because of
homology, the different alleles of the swapped genes make only minor changes in the
same basic function.
• There is no requirement that a subtree, after being swapped, is in a context in the new
individual that has any relation to the context in the old individual. In biology, the genes
swapped are swapped with the corresponding gene in the other parent.
• Were GP to develop a good subtree building block, it would be very likely to be
disrupted by crossover rather than preserved and spread. In biology, crossover happens
mostly between similar genetic materials. It takes place so as to conserve gene function
with only minor changes.
There is no reason to suppose that randomly initialized individuals in a GP population are
members of the same species-they are created randomly.
Crossovers in Programs:
The crossover (recombination) operation for the genetic programming paradigm creates variation
in the population by producing offspring’s that combine traits from two parents. The crossover
operation starts with two parental S-expressions and produces at least one offspring S-expression.
In general, at least one parent is chosen from the population with a probability equal to their
respective normalized fitness values. In this paper, both parents are so chosen. The operation
begins by randomly and independently selecting one point in each parent using a Probability
distribution. Note that the number of points in the two parents typically is not equal.
• Two parental programs are selected from the population based on fitness.
• A crossover point is randomly chosen in the first and second parent.
• The sub tree rooted at the crossover point of the first, or receiving, parent is deleted and
replaced by the sub tree from
the second, or contributing, parent.
• Crossover is the predominant operation in genetic programming (i.e. genetic algorithm) work
and is performed with a
high probability that is about 85% to 90%.
The "crossover fragment" for a particular parent is the rooted sub-tree whose root is the crossover
point for that parent and where the sub-tree consists of the entire sub-tree lying below the
crossover point (i.e. more distant from the root of the original tree). Viewed in terms of lists in
LISP programming language , the crossover fragment is the sub-list starting at the crossover point
[4].
The first offspring is produced by deleting the crossover fragment of the first parent from the first
parent and then impregnating the crossover fragment of the second parent at the crossover point
of the first parent. In producing this first offspring the first parent acts as the base parent (the
female parent) and the second parent acts as the impregnating parent (the male parent). The
second offspring is produced in a symmetric manner.
10. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
20
EXAMPLE:
For example, consider the two parental LISP S-expressions below:
In terms of LISP S-expressions, the two parents are (OR (NOT D1) (AND D0 D1)) and
(OR (OR D1 (NOT D0)) (AND (NOT D0) (NOT D1))
Assume that the points of both trees above are numbered in a depth-first way starting at the left.
Suppose that the second point (out of the 6 points of the first parent) is selected as the crossover
point for the first parent and that the sixth point (out of the 10 points of the second parent) is
selected as the crossover point of the second parent. The crossover points are therefore the NOT
function in the first parent and the AND function in the second parent. Thus, the bold, underlined
portions of each parent above are the crossover fragments. The two crossover fragments are
shown below:
Note that the first offspring above is a perfect solution for the exclusive-or function, namely
(OR (AND (NOT D0) (NOT D1)) (AND D0 D1)).
Note that because entire sub-trees are swapped, this genetic crossover (recombination) operation
produces valid LISP S-expressions as offspring regardless of which point is selected in either
parent. If the root of one tree happens to be selected as the crossover point, the crossover
operation will insert that entire parent into the second tree at the crossover point of second parent.
In addition, the sub-tree from the second parent will, in this case, then become the second
offspring. If the roots of two parents happen to be chosen as crossover points, the crossover
operation simply degenerates to an instance of fitness proportionate reproduction on those two
parents.
11. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
21
If a terminal is located at the crossover point in precisely one parent, then the sub-tree from the
second parent is inserted at the location of the terminal in the first parent and the terminal from
the first parent is inserted at the location of the sub-tree in the second parent. In this case, the
crossover operation often has the effect of increasing the depth of one tree and decreasing the
depth of the second tree. If terminals are located at both crossover points selected, the crossover
operation merely swaps these terminals from tree to tree[7][12].
III. Mutation in Nature
Mutations can involve large sections of DNA becoming duplicated, usually through genetic
recombination. These duplications are a major source of raw material for evolving new genes,
with tens to hundreds of genes duplicated in animal genomes for million years and have
following characteristics.
• Ultimate source of genetic variation.
• Radiation, chemicals change genetic information.
• Causes new genes.
• One chromosome.
• Asexual.
• Very rare combinations possible.
A gene mutation is a permanent change in the DNA sequence that makes up a gene. Mutations
range in size from a single DNA building block (DNA base) to a large segment of a chromosome.
Gene mutations occur in two ways: they can be inherited from a parent or acquired during a
person’s lifetime. Mutations that are passed from parent to child are called hereditary mutations
or germ line mutations (because they are present in the egg and sperm cells, which are also called
germ cells). This type of mutation is present throughout a person’s life in virtually every cell in
the body. Figure 3. showcases a example involving crossover and mutation process for a
inducting assembler .
Somatic also called as acquired mutations occur in the DNA of individual cells at some time
during a person’s life. These changes can be caused by environmental factors such as ultraviolet
radiation from the sun, or can occur if a mistake is made as DNA copies itself during cell
division. Acquired mutations in somatic cells (cells other than sperm and egg cells) cannot be
passed on to the next generation.
12. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
22
Figure 3. example showing a mechanism in crossover and mutuation to induce an assembler.
Some genetic changes are very rare, others are common in the population. Genetic changes that
occur in more than 1 % of the population are called polymorphisms [6] [1] [9]. They are common
enough to be considered a normal variation in the DNA. Polymorphisms are responsible for many
of the normal differences between people such as eye color, hair color, and blood type. Although
many polymorphisms have no negative effects on a person’s health, some of these variations may
influence the risk of developing certain disorders. Mutations can involve large sections of DNA
becoming duplicated, usually through genetic recombination.
Entropy driven variation, such as mutation, is the principal source of variability in evolution.
There are many types of mutation, including [Watson and Wonklhofer et al., 1987] as given
below:
• Changes from one base pair to another are a possibility. These often produce neutral or useful
variations. Although a base pair switch occurs about once every ten million replications or
less, there are hot spots where base pair switching is up to twenty-five times the usual rate.
• Additions or deletions of one or more base pairs. This is called a frame shift mutation and
often has drastic consequences on the functioning of the gene.
• Large DNA sequence rearrangements. These may occur for any number of reasons and are
almost always lethal to the organism.
Mutation operates on only one individual. Normally, after crossover has occurred, each child
produced by the crossover undergoes mutation with a low probability. The probability of
mutation is a parameter of the run. A separate application of crossover and mutation, however, is
also possible and provides another reasonable procedure. When an individual has been selected
for mutation, one type of mutation operator in tree GP selects a point in the tree arbitrarily and
replaces the existing subtree at that point with a new randomly generated subtree. The new
randomly generated subtree is created in the same way, and subject to the same limitations (on
depth or size) as programs in the initial random population. The altered individual is then located
back into the population. In linear GP, mutation is a bit different. When an individual is chosen
for mutation, the mutation operator first selects one instruction from that individual for mutation.
13. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
23
It then makes one or more changes in that instruction. The type of change is chosen randomly
from the following list:
• Any of the register designations may be changed to another randomly chosen register
designation that is in the register set.
• The operator in the instruction may be changed to another operator that is in the function set.
• A constant may be changed to another randomly chosen constant in the designated constant
range.
Mutations in Programs
• Single parental program is probabilistically selected from the population based on fitness.
• Mutation point randomly chosen. the sub tree rooted at that point is deleted, and a new
subtree is grown there using the
same random growth process that was used to generate the initial population.
• Asexual operations are typically performed sparingly (with a low probability of,
probabilistically selected from the
population based on fitness).
• Most common mutation: replace randomly chosen sub tree by randomly generated tree.
• Mutation has two parameters: Probability pm to choose mutation vs. recombination and
the Probability to chose an internal point as the root of the sub tree to be replaced. Remarkably pm
is advised to be 0 (Koza’92) or very small, like 0.05 (Banzhaf et al. ’98). The size of the child can
exceed the size of the parent. The below subtrees shows the parent and child patterns in detail.
14. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
24
Parent1 Pare
nt2
Child1 Child2
The mutation operation potentially can be beneficial in reintroducing diversity in a population
that may be tending to prematurely converge.
IV. Applications of Genetic Programming
The detailed summary of applications of Genetic Programming domain is listed n the table 2. and
Tables 3.
A. Designing Electronic Circuits:
John Koza, a professor at Stanford and CEO of Genetic Programming Inc. is perhaps the person
most responsible for making GP more acceptable in the eyes of the AI community. He and his team
have successfully applied genetic programming techniques to a variety of applications ranging from
bioinformatics to distributed systems. One of their most successful endeavors has been to the
generation of electronic circuit designs. Here, the programs are actually all about the flow of
information around the circuits, so the function set contains functions which mimic the actions of
transistors, resistors, etc., on the flow of electricity. According to the web site at Genetic
Programming Inc: "there are now 36 instances where genetic programming has automatically
produced a result that is competitive with human performance, including 15 instances where genetic
programming has created an entity that either infringes or duplicates the functionality of a previously
patented 20th-century invention, 6 instances where genetic programming has done the same with
respect to a 21st-century invention, and 2 instances where genetic programming has created a
patentable new invention."
B. Evolutionary Art:
One of the most exciting and creative areas in which genetic programming is being is applied is
evolutionary art. In contrast to most GP applications, in evolutionary art, the user often acts
directly as the fitness function. That is, the GP engine generates a set of programs which can
15. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
25
produce images (i.e. JPEG's etc.), either by transforming a given image, or generating pixel data
from scratch. These images are then shown to the user, who performs the selection by choosing
those which they most like. The GP engine then generates a population from the chosen images
and selects from it images which fairly closely resemble the ones chosen by the user, or which
have some properties similar to the chosen ones, e.g., color distribution. The user then selects
those with most appeal again, and the process continues until the user is so happy with the image
that they put it on their homepage. The evolutionary art community includes many artists and
computing professionals, and the artworks their programs produce generate much interest (similar
to how everyone was amazed by fractal images when they first came out). Such an approach was
recently used to generate images for an ad-campaign by Absolute Vodka, for example.
Table 2. :Applications of Genetic Programming
16. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
26
Table 3.:Science Oriented Applications of Genetic Programming
V. Conclusion
The data presented in this paper is formulated on various studies and research work carried out,
presenting various examples that explain well in detail about the aspects of genetic programming.
The final analysis of the data indicates that crossover is more successful than mutation overall,
though mutation is often better for small populations, depending on the domain. However, the
difference between the two is usually small, and often statistically insignificant. Apart from its
straightforward instrumental uses, the study of GP opens up a new and wide range of possibilities
for social simulators that of models based on a learning technique where the structure of what is
learnt can come to the fore. It is a methodology that can be used to generate some aspects of the
creative learning caliber of humans. Of course, the GP algorithm is not a perfect mirror of human
cognition. To be used effectively as a descriptive element in a social simulation, it needs to be
adapted to ensure that it is as realistic as possible. GP is not yet a completely mature technique.
As such, its impact in the field of social simulation has just begun. No doubt its impact will be at
17. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
27
least as great as those of previous paradigms such as neural networks or genetic algorithms, not
so much in that it introduces a new computational analogy but because it is unparalleled as a
creative computational technique thus we anticipate that in the days to come GP would be applied
and you may be genuinely surprised at the results.
VI. References
[1] Andre, D. and Teller, A. 1996. A Study in Program Response and the Negative Effects of Introns. in
Genetic Programming. In Proceedings of the First Annual Conference on Genetic Programming (GP96),
edited by John Koza et al.The MIT Press. pp. 12–20.
[2] Angeline, P.J. 1996. Two Self-Adaptive Crossover Operators for Genetic Programming. In Advances
in Genetic Programming 2, edited by P.J. Angeline and K.E. Kinnear, Jr. The MIT Press. pp. 89–109.
[3] Koza, J.R. 1992. Genetic Programming: On the Programming of Computers by Means of Natural
Selection.. The MIT Press.Koza, J.R. 1994.
[4] Genetic Programming II: Automatic Discovery of Reusable Programs. The MIT Press.Mitchell, M.
1996. An Introduction to Genetic Algorithms. The MIT Press.
[5] Shaffer, J.D., and L.J. Eshelman. 1991. On Crossover as an Evolutionarily Viable Strategy. In
Proceedings of the Fourth International Conference on Genetic Algorithms, edited by R.K. Belew and L.B.
Booker. Morgan Kaufmann.
[6] Genetic programming from tiera.ruW Banzhaf, JR Koza, C Ryan, L Spector, C Jacob - 1998 -
bib.tiera.ru
[7] Genetic programming and redundancy T Blickle, L Thiele - 1994 – Citeseer
[8] Discovery of subroutines in genetic programming JP Rosca, DH Ballard - 1996 – Citeseer.
[9] Genetic programming: A paradigm for genetically breeding populations of computer programs to solve
problems. JR Koza - Soucek and the IRIS Group – Citeseer
[10] Subtree crossover: Building block engine or macromutation PJ Angeline - Genetic Programming,
1997 - ncra.ucd.ie
[11] Fitness distance correlation in structural mutation genetic programming L Vanneschi, M Tomassini, P
Collard, M Clergue - Genetic Programming, 2003 – Springer
[12] Survey of genetic algorithms and genetic programming JR Koza - Technology Producing Quality
Products Mobile 2002
Prof.T.Venkat Narayana Rao , received B.E in Computer Technology and
Engineering from Nagpur University, Nagpur , India , M.B.A (Systems) and M.Tech in computer
Science from Jawaharlal Nehru Technological University , Hyderabad, A.P., India and a
Research Scholar in JNTUk. He has 20 years of vast experience in Computer Engineering area
pertaining to academics and industry related IT issues. He is presently Professor and Head,
Department of Computer Science and Engineering, Hyderabad Institute of Technology and
management, Gowdavally, R.R.Dist., A.P, INDIA. He has been nominated as an Editor and
Reviewer to number of International journals in Computer Science and Information Technology
area. He is currently working on research areas which include Digital Image Processing, Digital
Watermarking, Data Mining and Network Security and other emerging areas. He can be reached
at tvnrbobby@yahoo.com
18. Advanced Computing: An International Journal ( ACIJ ), Vol.1, No.1, November 2010
28
Srikanth Madiraju, pursuing B.Tech final year from Hyderabad Institute of Technology and
Management, gowdawalli, RR dist. ,Jawaharlal Nehru Technological University , Hyderabad,
A.P, India. He has organized national level tech-cultural festivals (iconix and esparto) during the
year 2008 and 2009. He is life member and college representative for STED (society for
triggering engineer’s development, a jntu student chapter). In addition to this he also won many
paper presentation events at inter-collegiate level and an active member of WWF CLUB (world
wildlife federation). He can be reached at mdrjsrikanth@yahoo.com