Communication and Intelligent Systems: Proceedings of ICCIS 2019 (Lecture Notes in Networks and Systems, 120) 9811533245, 9789811533242

This book gathers selected research papers presented at the International Conference on Communication and Intelligent Sy

116 55 20MB

English Pages 533 [518] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Communication and Intelligent Systems: Proceedings of ICCIS 2019 (Lecture Notes in Networks and Systems, 120)
 9811533245, 9789811533242

Table of contents :
Organization
General Chairs
Technical Program Chairs
Organizing Chairs
Organizing Secretaries
Coordinators
International Advisory Committee
Technical Program Committee
Preface
Contents
Editors and Contributors
Extremely High-Capacity, Secure Image Steganography Based on Composite Edge Detection, with Message Integrity
1 Introduction
2 Literature Review
3 Proposed Method
4 Simulation of Proposed Model
5 Performance Analysis with Other Existing Schemes
6 Future Work and Conclusion
References
A Dynamic Hand Gesture-Based Password Recognition System
1 Introduction
2 Related Work
3 Methodology
3.1 Video Acquisition
3.2 Background Subtraction and Gesture Segmentation
3.3 Creating an ML Model to Classify Gestures
3.4 Comparing the Gesture from a Database of Gestures
3.5 Gesture Recognition and Corresponding Action
4 Result Analysis
4.1 Performance Comparison
5 Conclusion and Future Work
References
Fuzzy Concepts and Machine Learning Algorithms for Car Park Occupancy and Route Prediction
1 Introduction
2 Background
2.1 Linear Regression
2.2 Linear Regression with Multiple Features
2.3 Overfit in Machine Learning Algorithms
2.4 Ridge Regression
2.5 Lasso Regression
3 Related Work
3.1 Previous Works on Occupancy Prediction
3.2 Route Prediction: Previous Works and Implementation of the Module
4 Theories and Concepts
5 Algorithm Used
6 System Desıgn
7 Results and Discussions
7.1 Comparing Regression Algorithms
7.2 Vehicle Parking Prediction Techniques
8 Conclusion and Future Work
References
A Distributed Algorithm to Create a Minimum Spanning Tree in a Multi-channel Cognitive Radio Network
1 Introduction
2 Related Work
3 System Model
4 Algorithm Description
5 Conclusion
References
A Distributed Fault Analysis (DFA) Method for Fault Tolerance in High-Performance Computing Systems
1 Introduction
2 Literature Survey
2.1 Distributed System-Level Analysis
2.2 Hierarchical Adaptive Distributed System-Level Analysis
2.3 Problems in Fault Diagnostic Approaches
3 Proposed Distributed Fault Analysis (DFA) Method
3.1 System Architecture
4 Experiment Evaluation
4.1 Types of Faults Evaluated
4.2 Evaluation Metrics
4.3 Results
5 Conclusions
References
Ontology-Driven Framework to Automatically Generate University Timetable
1 Introduction
2 Related Work
3 Ontological Model for Timetable Management
4 Constraint Specification
4.1 Hard Constraints
4.2 Soft Constraints
4.3 Temporal Constraints
4.4 Priority Constraints
5 Implementation
6 Conclusion
References
A Survey on Task Scheduling and Resource Allocation Methods in Fog Based IoT Applications
1 Introduction
2 Survey on Tweaking the Performance of Fog Computing
2.1 Survey on Scheduling the Task Technique in Fog
2.2 Survey on Allocating the Resources in Fog Computing
2.3 Survey on Techniques Involved in IoT Applications for Sharing the Resources
3 Conclusion
References
Improved Linear Extrapolation Technique for Crop Health Monitoring Using Hyperspectral Data
1 Introduction
2 Related Work
3 Proposed Approach
3.1 Improved Extrapolation Technique for Red Edge Position Detection
4 Experimental Design and Data Collection
4.1 Experimental Design
4.2 Leaf Spectra Measurements and Data Collection
5 Result and Discussion
6 Conclusion
References
Stratified Sampling-Based Data Reduction and Categorization Model for Big Data Mining
1 Introduction
2 Related Works
3 Data Reduction Techniques for Big Data Environment
3.1 Divide-and-Conquer
3.2 Feature Selection
3.3 Parallel Processing
3.4 Granular Computing
3.5 Incremental Learning
3.6 Sampling
4 Sampling Strategy for Big Data Environment
4.1 Uniform Random Sampling
4.2 Systematic Sampling
4.3 Progressive Sampling
4.4 Reservoir Sampling
4.5 Stratified Sampling
5 Proposed Stratified Sampling-Based Data Reduction and Categorization Model
5.1 Algorithm of Data Reduction and Categorization Model
5.2 Stratification
5.3 Sample Size
5.4 Sample Allocation
6 Computation Analysis of Proposed Data Reduction and Categorization Model
6.1 Computation Tools and Dataset
6.2 Exiting Algorithm for Comparing
6.3 Evaluation Criteria for Validation
6.4 Results
7 Conclusion
References
Product Sentiment Analysis Using Natural Language Understanding
1 Introduction
2 Related Work
3 Product Sentiment Analyzer (PSA) Methodology
4 Results and Discussion
4.1 Use of NLU API
4.2 Dataset
5 Results
6 Conclusion and Future Scope
References
Software Cost Estimation for Python Projects Using Genetic Algorithm
1 Introduction
1.1 Software Cost Estimation
1.2 COCOMO Model
2 Related Work
3 COCOMO Model with Genetic Algorithm
4 Proposed Optimization Algorithm
5 Dataset
6 Discussion
7 Analysis of Results
8 Conclusion and Future Work
References
Prediction of Rise in Violence Inclined Opinions: Utility of Sentiment Analysis in the Modern World
1 Introduction
2 Methodology and Tools Employed
3 Data Analysis
4 Results
5 Conclusion
References
Face Tagging and Recognition Using Inception Network and Triplet Loss Generator Function
1 Introduction
2 Proposed Work
3 Results and Discussion
4 Conclusion
References
Analyses of Factors Influencing Contraceptive Methods and Predicting the Use of Method of Contraception
1 Introduction
2 Related Work
3 Proposed System
3.1 Random Forest Classifier
3.2 Support Vector Classifier
3.3 K-Nearest Neighbor Classifier
4 Experimental Results
4.1 Applications of Result of Various Algorithms
4.2 Comparison of Results
4.3 Analysis of Factors
4.4 Predicting Single Inputs for Classifiers
4.5 Correlation Between Factors (Attributes)
5 Conclusion
References
Off-the-Record (OTR) Security Protocol Application in Cloud Environment
1 Introduction
2 OTR in Communication Protocols: Related Work
3 Theory Behind OTR Protocol
4 Primitives Used in OTR
4.1 Diffie–Hellman Key Exchange
4.2 Authentication
4.3 Digital Signing
4.4 Encryption Using AES Algorithm
5 Implementation of OTR
5.1 Initial Key Exchange
5.2 Authentication
5.3 Perfect Forward Secrecy and Deniability
5.4 Key Forgetting
6 Introduction to Internet of Things
7 Conclusion
References
Agricultural Marketing Transformation Through Crowdsourcing System for Product Price Analysis
1 Introduction
1.1 Problem Statement
1.2 Goal of the Study
1.3 Importance of the Study
2 Literature Review
3 Proposed Design
4 Implementation and Result Discussion
5 Conclusion
References
Malware Detection Using Multilevel Ensemble Supervised Learning
1 Introduction
2 Literature Review
2.1 Monitoring Behavior Using API Calls
2.2 Machine Learning-Based Approaches
3 Proposed Framework
3.1 Data Preprocessing
3.2 Feature Extraction
3.3 Feature Selection
3.4 Classification
4 Experimental Results
4.1 Performance Evaluation Metrics
5 Conclusion and Future Scope
References
Image Splicing Forgery Detection Using DWT and Local Binary Pattern
1 Introduction
2 Related Works
3 Proposed Approach for Splicing Detection
3.1 Preprocessing
3.2 LBP Histogram-Based Features from DWT Domain
3.3 CF-Based Features from DWT Domain
3.4 Ensemble Classifier
4 Experiments and Results
4.1 Datasets and Evaluation Parameter
4.2 Results and Discussion
5 Conclusion
References
Discrete-Time Analysis of Communication Networks with Second Optional Service and Negative User Arrivals
1 Introduction
2 Related Work
3 Model Explanation
4 Performance Analysis
4.1 Probability Computation
5 Performance Indices
5.1 Mean System Size
5.2 Throughput
5.3 Delay
6 Numerical Results
7 Conclusion
References
Emoticon Prediction on Textual Data Using Stacked LSTM Model
1 Introduction
2 Techniques and Concepts Involved
2.1 Word Embeddings
2.2 GloVe
2.3 RNN and LSTM-Based Model
2.4 Stacked LSTM Model
3 Dataset
3.1 Preprocessing of Data
4 Proposed Model
4.1 Working of the Proposed Stacked LSTM Model
4.2 Stacked LSTM Model with Parameters
4.3 Experimental Setup for Stacked LSTM Model
5 Results and Discussions
6 Conclusion and Future Work
References
A Survey on Computational Intelligence Techniques for Internet of Things
1 Introduction
2 Internet of Things
3 Computational Intelligence
4 Techniques Applied for Internet of Things Applied for Internet of Things
4.1 Artificial Neural Network on IoT
4.2 Application of Fuzzy Logic Technique on IoT
4.3 Application of Genetic Algorithms on IoT
4.4 Meta-heuristics and Swarm Intelligence
4.5 Application of Artificial Immune System Techniques on IoT
5 Conclusion and Discussions
References
A Comparative Analysis of Over-the-Top Platforms: Amazon Prime Video and Netflix
1 Introduction
2 Literature Survey
3 Data Collection
4 Result Analysis and Discussion
4.1 Comparison on the Basis of User Preference
4.2 Comparison on the Basis of Total Number of Subscribers
4.3 Comparison on the Basis of Total Annual Revenue and Income
4.4 Comparison on the Basis of Budget for Content
4.5 Comparison on the Basis Genre-Wise Split of Original Content
4.6 Additional Features for Comparison
5 Conclusion
6 Future Scope
References
An Empirical Analysis on Retrieval of Math Information from the Scientific Documents
1 Introduction
2 Related Work
3 Methodology
3.1 Corpus Description
3.2 Preprocessing
3.3 Indexer
3.4 Searcher and Ranker
4 Experimental Results
5 Conclusions and Future Scope
References
Imposition and Transmission of QPSK Communication Through LabVIEW Using USRP
1 Introduction
1.1 Low-Pass Filter
1.2 Sampling
1.3 Quantization
1.4 Encoding
1.5 Modulation
1.6 Regenerative Repeaters
1.7 Demodulation
1.8 Decoding
2 Literature Survey
3 Quadrature Phase Shift Keying (QPSK)
4 Hardware Implementation and Experimental Setup
5 Results and Discussion
5.1 Modulation and Demodulation Without AWGN
5.2 Transmitting and Receiving of Signal with Addition of AWGN
6 Conclusion and Future Work
References
Reflection of IoT Ubiquitous Connectivity and Security in Cross-industry Collaboration
1 Introduction
1.1 Mobile Communication Technology
1.2 Satellite Communication Technology
1.3 Wi-Fi
2 Internet of Things (IoT)
2.1 Ubiquitous Connectivity
3 Architecture for IoT Connectivity
4 Security Framework
4.1 Statistical Data
5 Conclusion
References
A Computationally Efficient Data-Dependent Projection for Dimensionality Reduction
1 Introduction
2 Related Work
3 Random Projection (RP)
4 Proposed Deterministic Construction of Projection Matrix
4.1 Proposed Approach
5 Experimental Evaluation
5.1 Data Sets
5.2 Results and Discussion
6 Concluding Remarks
References
Probabilistic-Based Energy-Efficient Single-Hop Clustering Technique for Sensor Networks
1 Introduction
2 Literature Survey
3 EESCT Algorithm
4 Energy Model
5 Simulation and Performance Evaluation
6 Conclusion and Future Work
References
RFID-Based Smart Shopping in IoT Environment: A Way to Become a Smart Shopper
1 Introduction
2 IoT World Forum Reference Architecture
3 Proposed System
3.1 Working of the Proposed System
3.2 Data Uploading Techniques
4 Case Study on Proposed System
5 How the Proposed System Differs from Others
5.1 To Show the Price and Discount of the Product
5.2 Give Facility to Analyze Popularity of Products to Customers
6 Conclusion
7 Future Scope
References
Area Optimized High-Level Synthesis of Bubble Check Algorithm for Check Node Processing
1 Introduction
2 Check Node Processing
2.1 Decoding of NB-LDPC Codes
2.2 Check Node Processing
2.3 Bubble Check Algorithm
2.4 High-Level Synthesis
3 Implementation of Bubble Check Algorithm Using HLS
4 Results and Discussion
5 Conclusion
References
Identification and Classification of Expertise Using Eye Gaze—Industrial Use Case Study with Software Engineers
1 Introduction
2 Related Work
3 Experiment Design
3.1 Goal and Objective
3.2 Study
3.3 Participants
3.4 Task
3.5 Procedure
3.6 Metrics
3.7 Proposed Method
4 Results and Discussion
4.1 Case Study: Software Engineers Cognitive Behavior
4.2 Case Study: Trainer Effectiveness Based on Trainee Cognitive Behavior
5 Conclusion and Future Work
References
Crypto-Wills: Transferring Digital Assets by Maintaining Wills on the Blockchain
1 Introduction
2 Current Landscape and Background
2.1 Smart Contracts
2.2 Security Tokens
2.3 ERC-20
2.4 ERC-721
2.5 Decentralized Applications
3 Proposed Methodology and Solutıons
3.1 Representation of Wills
3.2 Representation of Participants
3.3 How Will the Assets Be Represented?
3.4 How Will the Digital Will Be Created?
3.5 Verifying Death of Owner
3.6 Distribution of Assets
3.7 Updation
4 Implementation and Results
4.1 Speed of Execution
4.2 Tamper-Resistant and Tamper Evident
4.3 Eliminating a Single Point of Failure
4.4 Security Safeguards
4.5 Legal Issues
5 Conclusion and Future Scope
References
One-Shot Digit Classification Based on Human Concept Learning
1 Introduction
2 Related Work
3 Applying Human Concept Learning for One-Shot Handwritten Digit Classification
3.1 Compositionality
3.2 Causality
3.3 Learning to Learn
4 Proposed Approach
5 Results and Discussion
6 Conclusion and Future Work
References
Genetic Algorithm Tuned Sizing Scheme for Grid Integrated Hybrid Energy System
1 Introduction
2 Solar Power Plant
2.1 Solar Cell
2.2 Modelling of Solar Power
3 Wind Power
3.1 Modelling of Wind Power
4 Optimization
4.1 Reliability Evaluation Based on LPSP
4.2 Economic Analysis
5 Genetic Algorithm
5.1 GA Parameters
5.2 Fitness Function
6 Simulation and Results
7 Conclusion
References
Medical Analysis Methods for Object Identification
1 Introduction
2 Related Work
3 Proposed Method
4 Result Analyses
5 Conclusions
References
Low-Cost Smart Home Using Sensor Fusion and Autonomous Wheel Chair: Caring Lonely Elders Specially in India
1 Introduction
1.1 Motivation
1.2 Problem Statement
1.3 Application
2 Related Work
3 System Design
3.1 Hardware Design
3.2 Software Design
4 Decision-Making Logic by Sensor Integration
5 Experimental Result
5.1 Testing the Client Server
5.2 Testing RFID Card Reading While Having Linear Velocity
5.3 Testing RSSI and Vision-Based Localization
5.4 Testing the Accelerometer Data
6 Conclusion
References
Optimal Reactive Power Dispatch Using Gravitational Search Algorithm to Solve IEEE-14 Bus System
1 Introduction
2 Gravitational Search Algorithm (GSA)
2.1 Procedure of GSA
3 Formation of Reactive Power Dispatch Problem
4 Implementation of GSA on Reactive Power Dispatch Problem
5 Results and Discussion
5.1 IEEE-14 Bus Systems
6 Conclusion
References
Comparative Analysis of Ensemble Classifier and Single Base Classifier in Medical Disease Diagnosis
1 Introduction
2 Method
2.1 Datasets
2.2 Data Conversion and Processing
2.3 Base Classifiers
2.4 Ensembling Process
2.5 Ensemble Classifiers
2.6 Comparison Metric
3 Results and Discussion
4 Conclusion
References
Comparative Study on Punjabi Document Clustering
1 Introduction
2 Related Work
3 Proposed Approach
3.1 Dataset
3.2 Document Preprocessing
3.3 Feature Extraction Techniques
3.4 Clustering Algorithms
3.5 Principal Component Analysis
3.6 Testing Strategy
4 Results
5 Conclusion and Future Work
References
Appropriateness of Machine Learning Techniques for TCP with MANETs
1 Introduction
1.1 TCP with MANET
1.2 TCP Variants
2 Machine Learning
2.1 Phases
2.2 Online Learning
2.3 Offline Learning
3 TCP with Machine Learning
3.1 TCP with Online Learning
3.2 TCP with Offline Learning
4 Appropriateness of Machine Learning
4.1 Type of Machine Learning
4.2 Scope of Machine Learning
5 Conclusion
References
486435_1_En_40_Chapter_OnlinePDF.pdf
40 Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm
Correction to: Chapter “Software Cost Estimation for Python Projects Using Genetic Algorithm” in: J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_11

Citation preview

Lecture Notes in Networks and Systems 120

Jagdish Chand Bansal Mukesh Kumar Gupta Harish Sharma Basant Agarwal   Editors

Communication and Intelligent Systems Proceedings of ICCIS 2019

Lecture Notes in Networks and Systems Volume 120

Series Editor Janusz Kacprzyk, Systems Research Institute, Polish Academy of Sciences, Warsaw, Poland Advisory Editors Fernando Gomide, Department of Computer Engineering and Automation—DCA, School of Electrical and Computer Engineering—FEEC, University of Campinas— UNICAMP, São Paulo, Brazil Okyay Kaynak, Department of Electrical and Electronic Engineering, Bogazici University, Istanbul, Turkey Derong Liu, Department of Electrical and Computer Engineering, University of Illinois at Chicago, Chicago, USA; Institute of Automation, Chinese Academy of Sciences, Beijing, China Witold Pedrycz, Department of Electrical and Computer Engineering, University of Alberta, Alberta, Canada; Systems Research Institute, Polish Academy of Sciences, Warsaw, Poland Marios M. Polycarpou, Department of Electrical and Computer Engineering, KIOS Research Center for Intelligent Systems and Networks, University of Cyprus, Nicosia, Cyprus Imre J. Rudas, Óbuda University, Budapest, Hungary Jun Wang, Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong

The series “Lecture Notes in Networks and Systems” publishes the latest developments in Networks and Systems—quickly, informally and with high quality. Original research reported in proceedings and post-proceedings represents the core of LNNS. Volumes published in LNNS embrace all aspects and subfields of, as well as new challenges in, Networks and Systems. The series contains proceedings and edited volumes in systems and networks, spanning the areas of Cyber-Physical Systems, Autonomous Systems, Sensor Networks, Control Systems, Energy Systems, Automotive Systems, Biological Systems, Vehicular Networking and Connected Vehicles, Aerospace Systems, Automation, Manufacturing, Smart Grids, Nonlinear Systems, Power Systems, Robotics, Social Systems, Economic Systems and other. Of particular value to both the contributors and the readership are the short publication timeframe and the world-wide distribution and exposure which enable both a wide and rapid dissemination of research output. The series covers the theory, applications, and perspectives on the state of the art and future developments relevant to systems and networks, decision making, control, complex processes and related areas, as embedded in the fields of interdisciplinary and applied sciences, engineering, computer science, physics, economics, social, and life sciences, as well as the paradigms and methodologies behind them. ** Indexing: The books of this series are submitted to ISI Proceedings, SCOPUS, Google Scholar and Springerlink **

More information about this series at http://www.springer.com/series/15179

Jagdish Chand Bansal Mukesh Kumar Gupta Harish Sharma Basant Agarwal •



Editors

Communication and Intelligent Systems Proceedings of ICCIS 2019

123



Editors Jagdish Chand Bansal South Asian University New Delhi, Delhi, India Harish Sharma Department of Computer Science and Engineering Rajasthan Technical University Kota, Rajasthan, India

Mukesh Kumar Gupta Swami Keshvanand Institute of Technology Management & Gramothan Jaipur, Rajasthan, India Basant Agarwal Indian Institute of Information Technology, MNIT Campus Jaipur, Rajasthan, India

ISSN 2367-3370 ISSN 2367-3389 (electronic) Lecture Notes in Networks and Systems ISBN 978-981-15-3324-2 ISBN 978-981-15-3325-9 (eBook) https://doi.org/10.1007/978-981-15-3325-9 © Springer Nature Singapore Pte Ltd. 2020, corrected publication 2020 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Singapore Pte Ltd. The registered company address is: 152 Beach Road, #21-01/04 Gateway East, Singapore 189721, Singapore

Organization

General Chairs Dr. Jagdish Chand Bansal, South Asian University, New Delhi, India Dr. Seyedali Mirjalili, Griffith University, Brisbane Prof. (Dr.) Dhirendra Mathur, Professor, RTU, Kota

Technical Program Chairs Dr. Mahesh Chand Govil, Director, NIT Sikkim Dr. Nilanjan Dey, Techno India College of Technology, Kolkata

Organizing Chairs Dr. Mukesh Kumar Gupta, SKIT, Jaipur Dr. Harish Sharma, RTU, Kota

Organizing Secretaries Ms. Anjana Sangwan, SKIT, Jaipur Mr. Kailash Soni, SKIT, Jaipur

v

vi

Organization

Coordinators Dr. S. R. Dogiwal Dr. Pankaj Dhadhich Dr. Niketa Sharma

International Advisory Committee Dr. Alireza Maheri, University of Aberdeen, UK Prof. Krishna Busawon, University of Northumbria, Newcastle Prof. Ajit Kumar Verma, Western Norway University, Norway Mohammad Shorif Uddin, Jahangirnagar University Joonghoon Kim, University of Korea, South Korea Junzo Watada, Waseda University, Graduate School of IPS Montaz Ali, University of the Witwatersrand Sugam Sharma, Iowa State University, USA Prof. Suresh Sundaram, Nanyang Technological University, Singapore Neel Mani, Dublin City University Oleg Monakhov, ICMMG SB RAS Philip Moore, Lanzhou University P. N. Suganthan, Nanyang Technological University Andres Muñoz, Universidad Católica San Antonio de Murcia Andries Engelbrecht, University of Pretoria Carlosa A. Coello Coello, CINVESTAV-IPN H. J. C. Barbosa, Laboratório Nacional de Computação Científica Dharm Singh, Namibia University of Science and Technology, Namibia Basant Tiwari, Hawassa University, Awassa, Ethiopia Vaibhav Katewa, University of California—Riverside California, USA Rajalakshmi Selvaraj, College of Science, BIUST, Palapye, Botswana Mohd Helmy Abd Wahab, Universiti Tun Hussein Onn, Malaysia Shireen Panchoo, University of Technology, Mauritius Anicia Peters, NUST, Namibia Rajiv Dhiman, Botho University, Botswana Janos Arpad Kosa, Pallas Athena University, Hungary Xiao-Zhi Gao, Aalto University, Finland Sotirios Ziavras, New Jersey Institute of Technology Dharm Singh Jat, Namibia University of Science and Technology, Namibia, Africa Pallavi Kaliyar, Department of Mathematics, University of Padua, Italy Mr. Nitin Purohit, Wollo University, Dessie, Ethiopia Wei-Chiang Hong, School of Education Intelligent Technology, Jiangsu Normal University, China

Organization

vii

Vanita Verma, Panjab University, Chandigarh Z. W. Geem, South Korea Jagdish Chand Bansal, South Asian University, New Delhi Neha Yadav, Korea University Atulya Nagar, Liverpool Hope University Krishna Kambhampaty, North Dakota State University, USA Dinesh K. Sharma, Professor, Department of Management, Fayetteville State University, Fayetteville Vinod P. Nair, Department of Mathematics, University of Padua, Italy Chhagan Lal, Department of Mathematics, University of Padua, Italy Piyush Maheshwari, Amity University, Dubai, UAE

Technical Program Committee Dr. Mahesh Chandra Govil, Director, NIT Sikkim, India Amitava Chatterjee, Jadavpur University Dr. Alireza Maheri, University of Aberdeen, UK Prof. Krishna Busawon, University of Northumbria, Newcastle Dgnanaraj Thomas, Madras Christian College Prof. Suresh Sundaram, Nanyang Technological University, Singapore Dr. G. A. Vijayalakshmi Pai, PSG College of Technology Munawara Shaik, Indian Institute of Technology (IIT) Delhi Neel Mani, Dublin City University Oleg Monakhov, ICMMG SB RAS Philip Moore, Lanzhou University P. K. Kapur, University of Delhi P. N. Suganthan, Nanyang Technological University Punam Bedi, University of Delhi Pramodkumar Singh, ABV-IIITM, Gwalior Andres Muñoz, Universidad Católica San Antonio de Murcia Andries Engelbrecht, University of Pretoria Carlosa A. Coello Coello, CINVESTAV-IPN D. Ghose, IISc, Bangalore, India D.Nagesh Kumar, Indian Institute of Science, Bangalore Prof. Ajit Kumar Verma, Western Norway University, Norway Mohammad Shorif Uddin, Jahangirnagar University, Bangladesh Ghanshyamsingh Thakur, MANIT, Bhopal H. J. C. Barbosa, Laboratório Nacional de Computação Científica Joonghoon Kim, University of Korea, South Korea Junzo Watada, Waseda University, Graduate School of IPS M. K. Tiwari, IIT Kharagpur

viii

Organization

Montaz Ali, University of the Witwatersrand Sugam Sharma, Iowa State University, USA Lalit Awasthi, NIT, Jalandhar, Punjab Dharm Singh, Namibia University of Science and Technology, Namibia

Preface

The first International Conference on “Communication and Intelligent Systems” (ICCIS 2019) was held at Swami Keshvanand Institute of Technology, Management and Gramothan (SKIT), Jaipur, Rajasthan, India, on November 9–10, 2019. The ICCIS aims to showcase advanced technologies, techniques, innovations and equipment in computer engineering. It provides a platform for researchers, scholars, experts, technicians, government officials and industry personnel from all over the world to discuss and share their valuable ideas and experiences. The main keynote addresses were given by Dr. Jagdish Chand Bansal, Associate Professor, South Asian University, New Delhi; Prof. Nik Mohd Asri Bin Nik Long, Professor, University Putra, Malaysia and Prof. Mahesh Chandra Govil, Director, NIT, Sikkim. The ICCIS 2019 received 154 submissions from all over the world, including countries like Singapore, France, Tunisia, to name a few. The Technical Program Committee members carefully selected the papers after peer review by at least three reviewers. Out of 154 submissions, 39 papers were selected for presentation in the conference and publication in the conference proceedings. We wish to thank the Honourable Vice Chancellor of Rajasthan Technical University, Kota, for financial sponsoring of the event under TEQIP-III RTU (ATU) project. We are also thankful to the management of Swami Keshvanand Institute of Technology, Management and Gramothan (SKIT), Jaipur, Rajasthan, India, for providing the best infrastructure and required logistics to organize the conference. We wish to thank all the experts and reviewers for all their efforts. We are also very thankful to Springer for supporting ICCIS 2019 and Mr. Aninda Bose, Dr. Jagdish Chand Bansal and Dr. Dhirendra Mathur for the approval, continuous support and help. We hope that this proceedings would be very useful for the researchers working in the relevant areas. Kota, India Jaipur, India

Dr. Harish Sharma Dr. Mukesh Kumar Gupta

ix

Contents

Extremely High-Capacity, Secure Image Steganography Based on Composite Edge Detection, with Message Integrity . . . . . . . . . Priyanka Yadav and A. K. Mohapatra A Dynamic Hand Gesture-Based Password Recognition System . . . . . . Manasa Pisipati, Amrit Puhan, Arun Kumar, Vijay Bhaskar Semwal and Himanshu Agrawal

1 21

Fuzzy Concepts and Machine Learning Algorithms for Car Park Occupancy and Route Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mani V. Sumini, Jaison Mulerikkal, P. B. Ramkumar and Paulsy Tharakan

35

A Distributed Algorithm to Create a Minimum Spanning Tree in a Multi-channel Cognitive Radio Network . . . . . . . . . . . . . . . . . . . . . Deepak Rohilla and Mahendra Kumar Murmu

53

A Distributed Fault Analysis (DFA) Method for Fault Tolerance in High-Performance Computing Systems . . . . . . . . . . . . . . . . . . . . . . . G. Sreenivasulu, P. V. S. Srinivas and A. Goverdhan

61

Ontology-Driven Framework to Automatically Generate University Timetable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shruti Bajpai and Amrita Chaturvedi

77

A Survey on Task Scheduling and Resource Allocation Methods in Fog Based IoT Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V. Sindhu and M. Prakash

89

Improved Linear Extrapolation Technique for Crop Health Monitoring Using Hyperspectral Data . . . . . . . . . . . . . . . . . . . . . . . . . . Anjana Ghule and R. R. Deshmukh

99

Stratified Sampling-Based Data Reduction and Categorization Model for Big Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Kamlesh Kumar Pandey and Diwakar Shukla xi

xii

Contents

Product Sentiment Analysis Using Natural Language Understanding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Prachi Ayare, Ranjnishkaur Sachdeo and Milind Penurkar Software Cost Estimation for Python Projects Using Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Amrita Sharma and Neha Chaudhary Prediction of Rise in Violence Inclined Opinions: Utility of Sentiment Analysis in the Modern World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Khushboo Sansanwal, Mamta Mittal and Lalit Mohan Goyal Face Tagging and Recognition Using Inception Network and Triplet Loss Generator Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Shreya Kumari, Prachi Pandey and Maroti Deshmukh Analyses of Factors Influencing Contraceptive Methods and Predicting the Use of Method of Contraception . . . . . . . . . . . . . . . 175 Sawant Rupali and Bakal Jagdish Off-the-Record (OTR) Security Protocol Application in Cloud Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Leo Mrsic, Jurica Adamek and Ivan Cicek Agricultural Marketing Transformation Through Crowdsourcing System for Product Price Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Shambel Yilma Arega, Abhishek Ray and Prachet Bhuyan Malware Detection Using Multilevel Ensemble Supervised Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Vidhi Garg and Rajesh Kumar Yadav Image Splicing Forgery Detection Using DWT and Local Binary Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Pooja Sahani Jaiprakash, Choudhary Shyam Prakash and Madhavi Desai Discrete-Time Analysis of Communication Networks with Second Optional Service and Negative User Arrivals . . . . . . . . . . . . . . . . . . . . . 243 Rakhee and Shruti Emoticon Prediction on Textual Data Using Stacked LSTM Model . . . . 259 Mamta Mittal, Maanak Arora and Tushar Pandey A Survey on Computational Intelligence Techniques for Internet of Things . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 J. Shreyas and S. M. Dilip Kumar A Comparative Analysis of Over-the-Top Platforms: Amazon Prime Video and Netflix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Advait Lad, Shivani Butala and Pramod Bide

Contents

xiii

An Empirical Analysis on Retrieval of Math Information from the Scientific Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Pankaj Dadure, Partha Pakray and Sivaji Bandyopadhyay Imposition and Transmission of QPSK Communication Through LabVIEW Using USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Riya Chordia, Ronak Gupta, M. Ramya and A. Rajeswari Reflection of IoT Ubiquitous Connectivity and Security in Cross-industry Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Priyanka Mekala, Supriya Goel and Swapnil Sutar A Computationally Efficient Data-Dependent Projection for Dimensionality Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Raghunadh Pasunuri and Vadlamudi China Venkaiah Probabilistic-Based Energy-Efficient Single-Hop Clustering Technique for Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Khushboo Jain, Anoop Kumar and Chandra Kumar Jha RFID-Based Smart Shopping in IoT Environment: A Way to Become a Smart Shopper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Rahul Chauhan, Divya Punj and R. C. Joshi Area Optimized High-Level Synthesis of Bubble Check Algorithm for Check Node Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Himanshu Sharma, Manju Choudhary, Vikas Pathak and Ila Roy Identification and Classification of Expertise Using Eye Gaze—Industrial Use Case Study with Software Engineers . . . . . . . . . . 391 K. R. Chandrika, J. Amudha and Sithu D. Sudarsan Crypto-Wills: Transferring Digital Assets by Maintaining Wills on the Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Jainam Chirag Shah, Mugdha Bhagwat, Dhiren Patel and Mauro Conti One-Shot Digit Classification Based on Human Concept Learning . . . . 417 A. K. Thushar and V. N. Manjunatha Aradhya Genetic Algorithm Tuned Sizing Scheme for Grid Integrated Hybrid Energy System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Lakshaya Maheshwari and Hari Om Bansal Medical Analysis Methods for Object Identification . . . . . . . . . . . . . . . . 435 Ramgopal Kashyap and Surendra Rahamatkar Low-Cost Smart Home Using Sensor Fusion and Autonomous Wheel Chair: Caring Lonely Elders Specially in India . . . . . . . . . . . . . 447 Shatadal Ghosh, C. Manikanta, Ashis Mondal, S. P. Pathak, M. Bagchi and Nataraj Dasgupta

xiv

Contents

Optimal Reactive Power Dispatch Using Gravitational Search Algorithm to Solve IEEE-14 Bus System . . . . . . . . . . . . . . . . . . . . . . . . 463 Indu Bala and Anupam Yadav Comparative Analysis of Ensemble Classifier and Single Base Classifier in Medical Disease Diagnosis . . . . . . . . . . . . . . . . . . . . . . . . . 475 Samir S. Yadav, Vinod J. Kadam and Shivajirao M. Jadhav Comparative Study on Punjabi Document Clustering . . . . . . . . . . . . . . 491 Iknoor Singh, Vijay Paul Singh and Naveen Aggarwal Appropriateness of Machine Learning Techniques for TCP with MANETs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 Hardik K. Molia and Amit D. Kothari Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Amrita Sharma and Neha Chaudhary

C1

Editors and Contributors

About the Editors Dr. Jagdish Chand Bansal is an Associate Professor at South Asian University, New Delhi and a Visiting Research Fellow at Liverpool Hope University, UK. Holding a Ph.D. from the IIT Roorkee, Dr. Bansal is the Series Editor of the book series Algorithms for Intelligent Systems (AIS), published by Springer; Editor-inChief of the International Journal of Swarm Intelligence (IJSI), published by Inderscience; and an Associate Editor of IEEE ACCESS, published by IEEE. He is a steering committee member and the general chair of the annual conference series SocProS, and general secretary of the Soft Computing Research Society (SCRS). He has published more than 60 research papers in various journals and conference proceedings. Dr. Mukesh Kumar Gupta is a Professor at the SKIT, Jaipur. Holding a Ph.D. in Computer Science & Engineering from the MNIT, Jaipur, his current research interests include the security of web applications based on machine learning techniques, and modeling of web applications. Dr. Gupta is a member of the IEEE & IEEE Computer Society and a Life Member of the Indian Society for Technical Education (ISTE). He serves on the editorial board/reviewer board of various prominent international conferences/journals, and has published more than 30 papers in various journals and conference proceedings. Dr. Harish Sharma is an Associate professor at the RTU, Kota. Holding a Ph.D. from the ABV - Indian Institute of Information Technology and Management, Gwalior, India, he is the current secretary and one of the founder members of the Soft Computing Research Society of India. He is an Associate Editor of the International Journal of Swarm Intelligence (IJSI), published by Inderscience, and has also edited special issues of the journals Memetic Computing and Journal of Experimental and Theoretical Artificial Intelligence. He has published more than 50 papers in various journals and conference proceedings.

xv

xvi

Editors and Contributors

Dr. Basant Agarwal is currently working as an Assistant Professor at the Indian Institute of Information Technology Kota (IIIT) Kota, India. He has worked as a postdoctoral research fellow at the Norwegian University of Science and Technology (NTNU), Norway; and as a research scientist at Temasek Laboratories, National University of Singapore (NUS). His research interests are in natural language processing, machine learning, and deep learning. He has published more than 50 papers in various journals and conference proceedings.

Contributors Jurica Adamek Algebra University College, Zagreb, Croatia Naveen Aggarwal Department of Computer Science and Engineering, University Institute of Engineering and Technology, Panjab University, Chandigarh, India Himanshu Agrawal Department of CSE, Jaypee Institute of Information Technology, Noida, India J. Amudha Department of Computer Science and Engineering, Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Bengaluru, India Shambel Yilma Arega School of Computer Engineering, Kalinga Institute of Industrial Technology Deemed to be University, Bhubaneswar, India Maanak Arora Department of Computer Science and Engineering, G. B. Pant Government Engineering College, Okhla, New Delhi, India Prachi Ayare Department of Computer Science and Engineering, MIT School of Engineering, ADT University, Rajbaug, Loni-Kalbhor, Pune, India M. Bagchi Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India Shruti Bajpai Indian Institute of Technology (Banaras Hindu University) Varanasi, Varanasi, India Indu Bala Department of Applied Science, Northcap University, Gurugram, Haryana, India Sivaji Bandyopadhyay Department of Computer Science and Engineering, National Institute of Technology Silchar, Silchar, Assam, India Hari Om Bansal Department of Electrical and Electronics Engineering, Birla Institute of Technology and Science Pilani, Pilani, India Mugdha Bhagwat Computer Engineering Department, VJTI Mumbai, Mumbai, India Prachet Bhuyan School of Computer Engineering, Kalinga Institute of Industrial Technology Deemed to be University, Bhubaneswar, India

Editors and Contributors

xvii

Pramod Bide Department of Computer Engineering, Sardar Patel Institute of Technology, Mumbai, India Shivani Butala Department of Computer Engineering, Sardar Patel Institute of Technology, Mumbai, India K. R. Chandrika ABB Corporate Research, Bengaluru, India; Department of Computer Science and Engineering, Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Bengaluru, India Amrita Chaturvedi Indian Institute of Technology (Banaras Hindu University) Varanasi, Varanasi, India Neha Chaudhary Department of Computer Science and Engineering, Manipal University Jaipur, Jaipur, Rajasthan, India Rahul Chauhan Graphic Era Hill University, Dehradun, India Riya Chordia Department of ECE, M.B.M. Engineering College, Jodhpur, Rajasthan, India Manju Choudhary Swami Keshvanand Institute of Technology, Jaipur, India Ivan Cicek Algebra University College, Zagreb, Croatia Mauro Conti Department of Mathematics, University of Padua, Padua, Italy Pankaj Dadure Department of Computer Science and Engineering, National Institute of Technology Silchar, Silchar, Assam, India Nataraj Dasgupta Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India Madhavi Desai Department of Computer Science and Engineering, R. N. G. Patel Institute of Technology (RNGPIT), Bardoli, Gujarat, India Maroti Deshmukh Department of Computer Science and Engineering, National Institute of Technology Uttarakhand, Srinagar, Uttarakhand, India R. R. Deshmukh Department of Computer Science and Information Technology, Dr. B.A.M. University, Aurangabad, India Vidhi Garg Computer Engineering Department, Marwadi University, Rajkot, India Shatadal Ghosh Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India Anjana Ghule Department of Information Technology, GEC Aurangabad, Aurangabad, India Supriya Goel C.R. Rao Advanced Institute of Mathematics, Statistics and Computer Science, Gachibowli, India

xviii

Editors and Contributors

A. Goverdhan Department of CSE, Jawaharlal Nehru Technological University Hyderabad, Hyderabad, India Lalit Mohan Goyal Department of Computer Engineering, J.C. Bose University of Science and Technology, YMCA, Faridabad, India Ronak Gupta Department of ECE, M.B.M. Engineering College, Jodhpur, Rajasthan, India Shivajirao M. Jadhav Dr. Babasaheb Ambedkar Technological University, Lonere, Raigad, India Bakal Jagdish Department of Computer Science and Engieering, Shivajirao S. Jondhale College of Engineering, Dombivli, India Khushboo Jain Department of Computer Science and Engineering, AIM & ACT, Banasthali Vidyapeeth Tonk, Vanasthali, India Pooja Sahani Jaiprakash Department of Computer Science and Engineering, CGPIT, Bardoli, Surat, India Chandra Kumar Jha Department of Computer Science and Engineering, AIM & ACT, Banasthali Vidyapeeth Tonk, Vanasthali, India R. C. Joshi Graphic Era University, Dehradun, India Vinod J. Kadam Dr. Babasaheb Ambedkar Technological University, Lonere, Raigad, India Ramgopal Kashyap Department of Computer Science and Engineering, Amity University Chhattisgarh, Raipur, India Amit D. Kothari Gujarat Technological University, Ahmedabad, Gujarat, India; Accenture, Bengaluru, Karnataka, India Anoop Kumar Department of Computer Science and Engineering, AIM & ACT, Banasthali Vidyapeeth Tonk, Vanasthali, India Arun Kumar Computer Science and Engineering, National Institute of Technology Rourkela, Rourkela, India S. M. Dilip Kumar Department of Computer Science and Engineering, University Visvesvaraya College of Engineering, Bengaluru, India Shreya Kumari Department of Computer Science and Engineering, National Institute of Technology Uttarakhand, Srinagar, Uttarakhand, India Advait Lad Department of Computer Engineering, Sardar Patel Institute of Technology, Mumbai, India Lakshaya Maheshwari Department of Electrical and Electronics Engineering, Birla Institute of Technology and Science Pilani, Pilani, India

Editors and Contributors

xix

C. Manikanta Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India V. N. Manjunatha Aradhya Department of Computer Application, JSS Science and Technology University, Mysuru, India Priyanka Mekala C.R. Rao Advanced Institute of Mathematics, Statistics and Computer Science, Gachibowli, India Mamta Mittal Department of Computer Science and Engineering, G. B. Pant Government Engineering College, Okhla, New Delhi, India A. K. Mohapatra Associate Professor, Department of Information Technology, Indira Gandhi Delhi Technical University for Women (IGDTUW), New Delhi, India Hardik K. Molia Gujarat Technological University, Ahmedabad, Gujarat, India; Government Engineering College, Rajkot, Gujarat, India Ashis Mondal Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India Leo Mrsic Algebra University College, Zagreb, Croatia Jaison Mulerikkal Department of CSE, Jyothi Engineering College, Thrissur, Kerala, India Mahendra Kumar Murmu Department of Computer Engineering, National Institute of Technology, Kurukshetra, Kurukshetra, India Partha Pakray Department of Computer Science and Engineering, National Institute of Technology Silchar, Silchar, Assam, India Kamlesh Kumar Pandey Department of Computer Science and Applications, Dr. HariSingh Gour Vishwavidyalaya, Sagar, Madhya Pradesh, India Prachi Pandey Department of Computer Science and Engineering, National Institute of Technology Uttarakhand, Srinagar, Uttarakhand, India Tushar Pandey Department of Computer Science and Engineering, G. B. Pant Government Engineering College, Okhla, New Delhi, India Raghunadh Pasunuri School of Computer and Information Sciences, University of Hyderabad, Hyderabad, India Dhiren Patel VJTI Mumbai, Mumbai, India S. P. Pathak Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India Vikas Pathak Swami Keshvanand Institute of Technology, Jaipur, India

xx

Editors and Contributors

Milind Penurkar Department of Computer Science and Engineering, Indian Institute of Information Technology Nagpur, Nagpur, Maharashtra, India Manasa Pisipati Computer Science and Engineering, National Institute of Technology Rourkela, Rourkela, India Choudhary Shyam Prakash Department of Computer Science and Engineering, Koneru Lakshmaiah Education Foundation, Vaddeswaram, Andhra Pradesh, India M. Prakash Department of Information Technology, Karpagam College of Engineering, Coimbatore, Tamil Nadu, India Amrit Puhan Computer Science and Engineering, National Institute of Technology Rourkela, Rourkela, India Divya Punj Graphic Era Hill University, Dehradun, India Surendra Rahamatkar Department of Computer Science and Engineering, Amity University Chhattisgarh, Raipur, India A. Rajeswari Department of ECE, Coimbatore Institute of Technology, Coimbatore, Tamil Nadu, India Rakhee Department of Mathematics, Birla Institute of Technology and Science Pilani, Pilani, India P. B. Ramkumar Department of CSE, Rajagiri School of Engineering and Technology, Ernakulam, Kerala, India M. Ramya Department of ECE, Coimbatore Institute of Technology, Coimbatore, Tamil Nadu, India Abhishek Ray School of Computer Engineering, Kalinga Institute of Industrial Technology Deemed to be University, Bhubaneswar, India Deepak Rohilla Department of Computer Engineering, National Institute of Technology, Kurukshetra, Kurukshetra, India Ila Roy Swami Keshvanand Institute of Technology, Jaipur, India Sawant Rupali Department of Information Technology, Sardar Patel Institute of Technology, Mumbai, India Ranjnishkaur Sachdeo Department of Computer Science and Engineering, Indian Institute of Information Technology Nagpur, Nagpur, Maharashtra, India Khushboo Sansanwal G. B. Pant Government Engineering College, Okhla, New Delhi, India Vijay Bhaskar Semwal Computer Science and Engineering, National Institute of Technology Bhopal, Bhopal, Madhya Pradesh, India

Editors and Contributors

xxi

Jainam Chirag Shah Computer Engineering Department, VJTI Mumbai, Mumbai, India Amrita Sharma Department of Computer Science and Engineering, Manipal University Jaipur, Jaipur, Rajasthan, India Himanshu Sharma Swami Keshvanand Institute of Technology, Jaipur, India J. Shreyas Department of Computer Science and Engineering, University Visvesvaraya College of Engineering, Bengaluru, India Shruti Department of Mathematics, Birla Institute of Technology and Science Pilani, Pilani, India Diwakar Shukla Department of Computer Science and Applications, Dr. HariSingh Gour Vishwavidyalaya, Sagar, Madhya Pradesh, India V. Sindhu Department of Information Technology, Karpagam College of Engineering, Coimbatore, Tamil Nadu, India Iknoor Singh Department of Computer Science and Engineering, University Institute of Engineering and Technology, Panjab University, Chandigarh, India Vijay Paul Singh Department of Computer Science and Engineering, University Institute of Engineering and Technology, Panjab University, Chandigarh, India G. Sreenivasulu Department of CSE, J B Institute of Engineering and Technology, Hyderabad, India P. V. S. Srinivas Department of CSE, Sreenidhi Institute of Technology and Science, Hyderabad, India Sithu D. Sudarsan ABB Corporate Research, Bengaluru, India Mani V. Sumini Department of CSE, Rajagiri School of Engineering and Technology, Ernakulam, Kerala, India Swapnil Sutar C.R. Rao Advanced Institute of Mathematics, Statistics and Computer Science, Gachibowli, India Paulsy Tharakan Department of CSE, Jyothi Engineering College, Thrissur, Kerala, India A. K. Thushar Department of Computer Science Engineering, Jain University, Bengaluru, India Vadlamudi China Venkaiah School of Computer and Information Sciences, University of Hyderabad, Hyderabad, India; C.R. Rao Advanced Institute of Mathematics, Statistics and Computer Science (AIMSCS), University of Hyderabad Campus, Central University Post Office, Hyderabad, Telangana, India

xxii

Editors and Contributors

Anupam Yadav Department of Mathematics, Dr. B. R. Ambedkar National Institute of Technology Jalandhar, Punjab, India Priyanka Yadav IGDTUW, New Delhi, India Rajesh Kumar Yadav Computer Engineering Department, Marwadi University, Rajkot, India Samir S. Yadav Dr. Babasaheb Ambedkar Technological University, Lonere, Raigad, India

Extremely High-Capacity, Secure Image Steganography Based on Composite Edge Detection, with Message Integrity Priyanka Yadav and A. K. Mohapatra

Abstract Image steganography is a technique for obscuring secret message within image pixel matrix. It provides means for secretly communicating between two entities with the third party totally unaware of the embedded message. One of the most important methods for image steganography is edge detection technique, wherein secret data is inserted in LSBs of image edge pixels. Data embedding in edge pixels does not create notable distortion in image when compared to embedding data in non-edge pixels. Different types of edge pixel detectors are available including most renowned Canny edge detector, Sobel edge detector, Prewitt edge detector and many others. Hybrid edge detection uses a combination of different edge detectors for generating edge pixels of image. Message to be secretly communicated is inserted in the LSB of these edge pixels, and the image thus formed called stego image is sent to the concerned party. Major drawback of hybrid edge detection technique is its capacity. The number of edge pixels is very less in any image. In the last decade, many papers have focused on increasing capacity of edge detection by using different techniques. In this work, we have proposed an extremely high-capacity hybrid edge detection technique by using data compression. Also, data is encrypted and then inserted in the cover image pixels. For message integrity, SHA512 hash function is used. Subsequently, this work not only improves capacity of edge detection while maintaining the image quality but also provides security and message integrity. Keywords Steganography · Encryption · SHA512 · Compression · Edge detection · Canny · Sobel · Prewitt

P. Yadav (B) IGDTUW, New Delhi, India e-mail: [email protected] A. K. Mohapatra Associate Professor, Department of Information Technology, Indira Gandhi Delhi Technical University for Women (IGDTUW), New Delhi, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_1

1

2

P. Yadav and A. K. Mohapatra

1 Introduction With proliferation in Internet in the last decade, data services have become very economical and easy to use. With advent of Android applications, services are easily accessible to millions of users. These days, social networking has gained tremendous popularity. Social networking applications can be used as and when required quite easily. Sharing of images and other data can be done in microseconds. With large exchange of media in social networking applications, there comes requirement for secure exchange of data between two users. There are two methodologies for secure data exchange between two parties: cryptography and steganography. Steganography is an alternative approach to cryptography. Steganography offers an extra level of security in the sense that third party is unaware of the presence of any message in the image. It makes use of the fact that human eyes are not able to distinguish very small change in image due to message embedded in LSBs of image pixels. And hence, third party is totally unaware of any kind of secret message sharing, whereas in cryptography everybody is mindful that mystery communication is going on between included parties. Steganography is done in two diverse areas: spatial domain methods and frequency domain (includes different types of transformations), and each one comes with its own pros and cons [1]. Least significant bit (LSB) substitution, edge detection and pixel value difference (PVD) are some prominent spatial domain techniques used for image steganography. Figure 1 shows basic image steganography process. At the sender side, we have “cover image” and “message”. Confidential message is inserted in the cover image pixels without notable deformation in the image. The small amount of variation which is caused in image is not visible directly to human eyes due to limitation of human visual system. The resultant image so formed after inserting message in COVER IMAGE SECRET MESSAGE Steganography is the practice of concealing messages or information within other non secret text or data.

RECOVERED MESSAGE

KEY

EMBEDDING ALGORITHM

Steganography is the practice of concealing messages or information within other non secret text or data.

COMMUNICATION CHANNEL

STEGO IMAGE

EXTRACTING ALGORITHM

STEGO IMAGE

KEY

Fig. 1 Basic image of steganography

Extremely High-Capacity, Secure Image Steganography …

3

cover image is called “stego image”. This stego image is transmitted to receiver via communication channel. Receiver extracts the message from the stego image using same algorithm as was used for inserting the message at transmitter end. Thus, the receiver is able to comprehend the secret message send by the sender with third party totally unaware of the message which is secretly inserted in cover image. This is how the entire process of insertion and extraction of secret message is done. In the present years, different steganography techniques are employed in different digital forms (image, audio, video) and networking protocols for achieving secret information sharing between two parties. Some major applications where image steganography has been used are: authentication of images in social media platforms [2, 3], for confidentiality of data stored in cloud and for its secret sharing and authentication purposes, for secretly sending data between user and cloud, and to secure node localization in wireless sensor networks (WSNs) [4]. Image steganography is characterized by three main properties: embedding capacity, image quality (PSNR) and security. All three cannot be achieved simultaneously. If embedding capacity is increased, then image quality will decrease. And for achieving security, there is a compromise on embedding capacity and algorithm complexity. A good image steganography technique is one which provides increased capacity and security maintaining the required level of image quality. Edge detection-based image steganography is one of the prominent methods, wherein firstly edge pixels of cover image are found using any of the edge detection mechanisms or a combination of different edge detection mechanisms. Edge pixels are areas in image where sharp change in intensity of image occurs. Inserting message at these discontinuous locations in image helps to conceal message from direct human eye detection due to limitation of human visual system. The secret message is then inserted in these edge pixels of the cover image to form stego image. At receiver end, message embedded in the stego image is extracted from the edge pixels. Receiver must have information about edge pixels within the stego image itself. Edge-based image steganography can be made more efficient in terms of capacity by using some compression technique and can be made secure by using encryption mechanisms. Secret message should be compressed and encrypted to form “processed message” before embedding in image pixels, and at the receiver side the corresponding decryption and decompression must be done after extracting the “processed message”.

2 Literature Review In the last decade, many research papers in field of image steganography (spatial domain) using edge detection have been published. One of the major challenges in edge detection-based image steganography is that the number of edge pixels is very less; hence, capacity of such technique is limited. Also, edge pixel information must be available to the receiver to allow extracting of information from the edge pixels of stego image; hence, extra information about edge pixels of image is to be inserted in

4

P. Yadav and A. K. Mohapatra

the same stego image. Consequently, it is challenging to increase capacity since secret message as well as edge pixel information must be embedded in same stego image. Different techniques can be employed to increase capacity of edge detection-based image steganography system. Many research papers have presented huge number of techniques for increased capacity by using different methodologies. In [5], a novel steganography technique is presented which offers increase in capacity while maintaining image imperceptibility and robustness. It offers capacity of 1.236 bpp (ratio of number of bits embedded in message to the total number of pixels available in cover image) maintaining PSNR of 43.6209 dB and MSE of 2.8248 for 512 × 512 colour image (Mandrill.tiff and Airplane.tiff) from standard image database. The method proposed in this uses Canny edge method for detection of edge areas in a modified form of cover image followed by applying dilation operator. Data is inserted in some of the LSB planes of modified image using XOR coding technique which provides increased capacity along with security. However, the embedding capacity in this method still seems very low which could have been increased by using some compression technique in the input message. In [6], an information hiding technique is presented which provides high capacity, message encryption (RC4) and early verification of message tampering using embedded logo detection. It uses combination of Canny and Prewitt edge detection methods for forming hybrid edge detector. Data is inserted in blue and green planes of colour image, and red plane carries the information about edge and non-edge image pixels. For image size of 512 × 512 for image Lena, it provides PSNR of 57.8723 dB for embedding capacity of 38,427. For image size of 512 × 512 for image Peppers, it provides PSNR of 58.0023 dB for embedding capacity of 35,946. Also, comparing these results with results from other papers shows that there is increase in capacity compared to other proposed methods. Although the method proposed offers data security by using RC4 encryption, the capacity of proposed method still seems low and the image quality does not seem to be good considering such low embedding capacity. In [7], a high payload image steganography technique is presented based on hybrid edge detector which comprises of fuzzy and Sobel/Laplacian which provides larger number of edge pixels. It presented bit capacity of 30,987 bits with PSNR = 45.12 dB for 128 × 128 image size for Lena which was an improvement in bit capacity when compared to the previous paper of [8]. In [9], cover image interpolation technique is used to increase embedding capacity along with conventional edge detection method with no extra information to be embedded for differentiating between edge and non-edge pixels of image. For Lena image, it provides bit capacity of 389,976 bits with PSNR at 44.88 dB. In [10], embedding capacity is increased by using adaptive number of LSB substitution method based on limitation that human eyes cannot differentiate the change in intensity. Maximum 24 bits of information are required to ensure that this adaptability is easily extractable at receiver end from stego image. For standard Lena image of 512 × 512, it provides PSNR = 40.22 for embedding capacity of 618,160 bits. In [11], Huffman encoding is used to compress the secret message, 2K correction technique is used to decrease the difference between actual image and stego image,

Extremely High-Capacity, Secure Image Steganography …

5

and Canny edge detector is used for determining edge pixels. It is applied on greyscale image of Lena (512 × 512) which provides embedding capacity of 38,427 bits while maintaining PSNR at 63.4807 dB. For Peppers greyscale image of 512 × 512, it provides embedding capacity of 35,946 bits with PSNR at 63.2399 dB. In [12], a novel technique for information hiding is presented which provides more embedding capacity since edge pixel information is not needed to be stored in stego image. Edge pixels of image are generated by modified cover image which is obtained by replacing 5 LSBs of each pixel in image by bit ‘0’. And at the receiver end also for generating edge pixels, the 5 LSBs of the stego image are replaced by bit ‘0’. In this way, edge pixel information generated is same for the actual image and stego image and no extra edge information is to be inserted in cover image and thus this provides extra space for embedding payload bits. For Lena (128 × 128), it provides PSNR = 30.095 dB for capacity of 67,355 using only Canny edge detection method for determining edge areas in image. Although this method provides advantage of saving space for sending edge pixel bits, 5 LSBs are used for embedding information; hence, image quality is quite compromised. In [13], for greyscale image of Lena (512 × 512), it provides embedding capacity of 771233 bits with PSNR at 38.98 dB whereas for Peppers (512 × 512) it provides capacity of 787,880 bits with PSNR at 38.27 dB. It provides increase in capacity by detecting the edge areas after clearing 5 LSBs of all pixels of actual image, thus avoiding the addition of edge pixel information to be sent in stego image. It also provides 2K error correction for better imperceptibility. In [3], both edge and non-edge pixels are used for embedding secret data which can help in authentication of parties involved in interaction in any social media platform. This authentication information is embedded in cover image and sent to concerned party. In this way, image steganography can be used for authentication of digital images. In [4], it is shown how steganography can be used to securely detect location of sensor nodes in a wireless sensor network which is more susceptible to security breach in non-secure locations which can be intruded by enemies. A node sends a request to cluster head consisting of its node ID and a cover image. Cluster head in return will provide its position by embedding it secretly in the cover image. This stego image when received by node is used to extract its exact location. This technique is secure in the sense that only the node having that cover image will be able to get its position in the network while any other malicious node which tries to impersonate the actual node will never be able to become part of authentic network. In [14], the input message is converted into a different base number system which provides security and then it is embedded in cover image using some specific modulo operations which help in increasing capacity by reducing the number of bits to be added in cover image. In [15], a simple Canny edge detector is used for detecting change in intensity in cover image and for security of data embedded OTP scheme is used. Although OTP scheme offers very high security, it requires the key size to be same or larger than that of input data; hence, use of OTP makes it practically unusable for applications where size of input message is extremely large.

6

P. Yadav and A. K. Mohapatra

In the comprehensive literature review, we have seen how different techniques have been employed for increasing capacity, security and image quality of stego image. Also, we have seen a different variety of applications which can employ image steganography in different domains. In the next section, we present our proposed model.

3 Proposed Method In our proposed method for image steganography, many additional features are provided along with basic steganography. Hybrid edge detection mechanism is used for detection of edge as well as non-edge pixels in cover image. In order to increase capacity, proposed mechanism uses a compression function to compress the actual secret message into lesser number of bits. Proposed mechanism also provides security of compressed secret message by encrypting the compressed message with secret encryption key. Furthermore, integrity check of actual secret message is also provided using SHA512 hash methodology. Proposed mechanism broadly consists of the following different functions: hybrid edge detection, compression, encryption and SHA512 hash. Hybrid edge detection mechanism uses a combination of three different edge detectors, namely: Canny, Sobel and Prewitt edge detectors. RGB cover image is first split into three different image planes, namely: red, green and blue image planes. Green and blue planes are subjected to each edge detector to find the edge pixel matrix. Final edge pixel matrix is obtained by taking logical OR of output of all three edge detectors. Green and blue image planes are used to embed secret message, whereas red plane is used for carrying the edge as well as non-edge pixel information for green and blue planes. Red plane is also used for embedding 512 hash codes for the actual secret message. Before the secret message is inserted in edge pixels of image planes, the message is compressed using a compression function. This compression stage is the most crucial stage of our proposed algorithm because it is this stage which helps in increasing the bit capacity of our proposed algorithm by many times the capacity of cover image. Compression is higher and better if the secret message length is large, for very small message length compression may yield a compressed output which is even larger than size of the actual input message. This is the reason our proposed algorithm works well for large and very large input message lengths. For providing security to the embedded message, it is important that some kind of encryption scheme is used before embedding the message in edge pixels of cover image. Here in our proposed scheme, we use AES encryption function for encrypting our compressed message. AES function used generates an encrypted output whose length is different from the compressed input. Output length is not fixed and is variable. This variable length output further provides security. For providing integrity, the hash code for the actual secret input message is calculated using SHA512 hash function and is embedded in the LSBs of red image plane. This hash code helps in verifying the receiver that correct message has been received at its end and the message has not been modified

Extremely High-Capacity, Secure Image Steganography …

7

by any intruder. Hence, our proposed mechanism provides integrity check using SHA512 hash function. At sender end, “embedding algorithm” is used which generates stego image using the cover image and secret message. At receiver end, “extracting algorithm” extracts the secret message from the stego image. Steps involved in embedding and extracting algorithm are explained in detail in following sections: Embedding Algorithm Figure 2 shows pictorial explanation for embedding algorithm steps. Steps for embedding algorithm (along with supportive equations) are: 1. Cover image processing: RGB cover image C[RGB] is split into corresponding red (R), green (G) and blue (B) planes. Green and blue image planes are used for embedding processed message. SPLIT C[RGB] = [R], [G], [B] AES KEY

INPUT MSG

COMPRESSION

COVER IMAGE

AES ENCRYPTION

PROCESSED MESSAGE

EMBEDD(EDGE PIXELS OF G,B)

STEGO IMAGE

COVER IMAGE

HYBRID EDGE DETECTION

HYBRID EDGE MATRIX (G(E),B(E))

INPUT MSG

SHA512

EMBEDD(LSB OF RED)

HYBRID EDGE MATRIX (G(E),B(E))

COMPRESSION

Fig. 2 Embedding algorithm

EMBEDD(LSB OF RED)

STEGO IMAGE (RED)

8

P. Yadav and A. K. Mohapatra

2. Hybrid Edge Detection of Green and Blue Image Planes: Hybrid edge detector used in our proposed method consists of combination of three different edge detectors, namely: Canny edge detector, Prewitt edge detector and Sobel edge detector. Output of all these edge detectors is logically O red to obtain final edge pixel matrix. Figure 3 shows hybrid edge detector. Edge pixel matrix obtained in this step for both green and blue image planes is to be embedded in LSBs of red image plane. This will provide edge pixel information to the receiver. Step 5 shows embedding procedure for these edge pixel matrixes in red image plane. [G] → Canny = [GC] [G] → Sobel = [GS] [G] → Prewitt = [GP] [G(E)] = [GC] OR [GS] OR [GP] [B] → Canny = [BC] [B] → Sobel = [BS] [B] → Prewitt = [BP] [B(E)] = [BC] OR [BS] OR [BP] 3. Input Message Processing: Input message (M) is firstly compressed to a smaller length by using Zlib compression algorithm in Java. Compressed message is then

CANNY EDGE DETECTION

GREEN IMAGE PLANE

PREWITT EDGE DETECTION

LOGICAL OR

HYBRID EDGE MATRIX (G(E))

LOGICAL OR

HYBRID EDGE MATRIX (B(E))

SOBEL EDGE DETECTION

CANNY EDGE DETECTION

BLUE IMAGE PLANE

PREWITT EDGE DETECTION

SOBEL EDGE DETECTION

Fig. 3 Hybrid edge detector

Extremely High-Capacity, Secure Image Steganography …

4.

5.

6.

7.

9

encrypted using a secret key. Encryption function is also implemented in Java. Thus, we get processed message denoted by M(P) as output from this step. M → COMPRESSION → ENCRYPTION(SECRET KEY) = M(P) Embedding “Processed Message” in Edge Pixels of Green and Blue Image Planes: M(P) obtained in step ‘c’ is embedded in G and B image planes at LSB of edge pixels denoted by [G(E)] and [B(E)]. M(P) is embedded only at 0th LSB of edge pixels. M(P) → EMBEDD IN ([G(E)] [B(E)]) = S[G], S[B] Embedding Edge Pixel Information of Green and Blue Image Planes in Red Image LSB Pixels: For the receiver to extract M(P) inserted in edge pixels of green and blue image planes, receiver must have the information as to which are the edge pixels in the green and blue image planes. Hence, the matrix [G(E)] and [B(E)] is compressed using compression function in Java and then embedded in 0th LSB of red image plane. [G(E)], [B(E)] → COMPRESSION → EMBEDD IN [R(LSB)] = S[R] Calculating SHA512 of Message and Embedding it into Red Plane: SHA512 hash code for actual input message M is calculated using function in Java. Output of this function is 512-bit hash code M(Hash) for M. M(Hash) is embedded in first 512 pixel bits of red image plane. Embedding is done only at 0th LSB. Providing hash code of M helps in verifying message integrity at the receiver end. M → SHA512(Hash Generator) = M(Hash) M(Hash) → EMBEDD IN [R(LSB)] = S[R] Final Stego Image: Final stego image is formed by combining all three image planes S[R], S[B] and S[G]. S[RGB] is our final stego image which is transmitted by the sender. S[R], S[G], S[B] = S[RGB]

Extracting Algorithm Figure 4 shows extracting algorithm steps. Steps for extracting algorithm (along with supportive equations) are: 1. Splitting of Stego Image: Stego image S[RGB] is split into corresponding S[R], S[G] and S[B] image planes. Message is to be extracted from S[G] and S[B] image planes, whereas edge pixel matrix and M(Hash) are to be extracted from S[R]. SPLIT S[RGB] = S[R], S[G], S[B] 2. Extraction of Edge Pixel Information of Green and Blue Planes from Red Plane: Edge pixel matrix information is extracted from S[R] by using the reverse process of embedding. Firstly, information is fetched from S[R] starting from 513 pixels of the S[R] to the size of the compressed [G(E)] and [B(E)] bit vector. Size of bit vector or compressed [G(E)] and [B(E)] must be known to receiver. EXTRACT FROM LSB (S[R]) → DECOMPRESSION = [G(E)], [B(E)]

10

P. Yadav and A. K. Mohapatra AES KEY

PROCESS ED MSG

AES DECRYPTION

DECOMPRESSION

RECOV MSG

EXTRACT(EDGE PIXELS OF G,B)

STEGO IMAGE

STEGO IMAGE

EXTRACT(LSB OF RED)

RECOV MSG

SHA512

HASH CODE

STEGO IMAGE

EXTRACT(LSB OF RED)

MESSAGE HASH CODE

DECOMPRESSION

HYBRID EDGE MATRIX (G(E),B(E))

COMPAR E(1/0)

Fig. 4 Extracting algorithm

3. Extraction of Processed Message M(P) from S[G] and S[B]: From step ‘b’, receiver has edge pixel matrix [G(E)], [B(E)] information available. Using [G(E)], [B(E)] information, M(P) can be extracted from the S[G], S[B]. S[G], S[B] → EXTRACT FROM EDGE ([G(E)], [B(E)]) = M(P) 4. Recovering Actual Message M from Processed Message M(P): M(P) is subjected to decryption and decompression to recover the actual message M(recov). M(P) → DECRYPTION(SECRET KEY) → DECOMPRESSION → M(recov) 5. Extraction of Hash Code from Red Plane of Stego Image: Hash code of actual message is extracted from S[R] and compared to the hash code of recovered message. EXTRACT FROM LSB (S[R]) = M(Hash)

Extremely High-Capacity, Secure Image Steganography …

11

6. Verifying Message Integrity: Recovered message M(recov) is passed to SHA512 for calculation of hash code M(Hash_recov). M(Hash) and M(Hash_recov) are both compared for verifying message integrity at received end. If M(Hash) and M(Hash_recov) are same, then it signifies that message integrity is maintained and the recovered message is same as the actual embedded message. M(recov) → SHA512(Hash Generator) = M(Hash_recov) M(Hash_recov), M(Hash) → COMPARATOR = 1

4 Simulation of Proposed Model The proposed algorithm presented in Sect. 3 is simulated in MATLAB R2018b and Java version “1.8.0_201”. In algorithm, the functions denoted by rounded rectangle are implemented in Java and rest of the code is implemented in MATLAB. Two major metrics that can be used for comparison of visual quality of actual image and modified image are: PSNR and MSE. PSNR is obtained by comparison of cover image and stego image. It totally depends on total number of bits that get changed in the cover image due to embedding of message. Higher the value of peak signal-to-noise ratio, better the image imperceptibility and vice versa. MSE calculates mean square error between the actual image and modified image due to message embedding.  PSNR = 10 · log10 MSE =

MAX2 MSE



m−1 n−1 1  [I (i, j) − K (i, j)]2 mn i=0 j=0

(1)

(2)

where MAX is the maximum value of pixel in image, MSE is the mean square error, I is the original image, K is the modified image, i is the image dimension along x-axis, j is the image dimension along y-axis, m is the maximum image dimension along x-axis and n is the maximum image dimension along y-axis. Two standard size images (384 × 512) and (512 × 512) of Peppers and Lena are considered for simulation of proposed algorithm. For 384 × 512 size, simulation results are mentioned in Tables 1 and 3, respectively, and corresponding stego images are shown in Tables 2 and 4, respectively. Table 1 shows simulation results consisting of PSNR, MSE and percentage increase in capacity of image Peppers (384 × 512) for different payload bits. It is observed from the table that a total number of edge pixel bits in Peppers (384 × 512) image are only 33,994, but due to advantage of compression function the actual bits to be embedded are decreased by many times of actual payload bits. We can see from Table 1 that image quality is maintained to a very high PSNR value while the MSE remains low as desired. Maximum capacity of Peppers (384 × 512) is 5,429,312 bits while maintaining image quality factors PSNR and MSE to 56.3520 dB and 0.1506, respectively. It can be observed from

12

P. Yadav and A. K. Mohapatra

Table 1 Image quality parameters for Peppers (384 × 512) S. no.

Payload (bits)

Edge pixels (bits)

Compressed and encrypted payload (bits)

% increase in capacity

PSNR (dB)

MSE

1

2,078,224

33,994

16,128

12,885.81

56.8158

0.1354

2

2,872,960

33,994

20,352

14,116.35

56.6984

0.1391

3

3,848,008

33,994

25,600

15,031.28

56.5643

0.1434

4

4,896,768

33,994

31,104

15,743.21

56.4206

0.1482

5

a 5,429,312

33,994

33,920

16,006.23

56.3520

0.1506

a Maximum

capacity

Table 1 that although the payload bits are increasing by large amount the quality of PSNR is not decreasing much since there is not very large difference between the corresponding bits obtained after compression and encryption. Stego images corresponding to Table 1 are shown in Table 2. From Table 2, we can see that distortion in quality of stego image is not visible directly to human eyes. For Lena (384 × 512) image, simulation results are shown in Table 3. A maximum number of edge pixel bits in Lena image are 42,975 bits. Every image has different numbers of edge pixels due to the discontinuity in image intensities at different places. Hence, we can see that a total number of edge pixels in this image are 42,975 which is higher than that in Peppers (384 × 512) which are 33,994. Hence, this image provides more embedding capacity with very less change in image PSNR and MSE. Maximum capacity offered by Lena image is 7,043,400 while maintaining good quality of PSNR (55.4063 dB) and MSE (0.1873). Total capacity is increased by 164.2583 times as compared to number of edge pixels available for embedding. From Table 4, we can see that even in this case distortion in quality of stego image is not visible directly to human eyes. Similarly, simulations are also done for 512 × 512 size image of Pepper and Lena. Simulation results are presented in Tables 5 and 7, and corresponding stego images are given in Tables 6 and 8, respectively. Since image size here is increased to 512 × 512, the number of edge pixel bits of each image is also increased. With Peppers image, a number of edge pixel bits available are 40,039; due to compression, this can accommodate total of 6,445,208 payload bits while providing very good-quality image with PSNR = 56.5278 dB and MSE = 0.1446. Similarly, Lena (512 × 512) image with total number of edge pixels as 55,614 provides maximum payload capacity of 9,157,488 bits while maintaining PSNR = 55.4697 dB and MSE = 0.1845. Thus, simulation results show that our proposed algorithm provides an extremely high-capacity, secure image steganography technique while maintaining the image quality to very high level.

Extremely High-Capacity, Secure Image Steganography …

13

Table 2 Cover and stego images for image Peppers (384 × 512)

Cover image

Stego 1: PSNR = 56.8158, MSE = 0.1354

Stego 2: PSNR = 56.6984, MSE = 0.1391

Stego 3: PSNR = 56.5643, MSE = 0.1434

Stego 4: PSNR = 56.4206, MSE = 0.1482

Stego 5: PSNR = 56.3520, MSE = 0.1506

Table 3 Image quality parameters for Lena (384 × 512) S. no.

Payload (bits)

Edge pixels (bits)

Compressed and encrypted payload (bits)

% increase in capacity

PSNR (dB)

MSE

1

2,078,224

42,975

16,128

12,885.81

55.9716

0.1644

2

2,872,960

42,975

20,352

14,116.35

55.8784

0.1680

3

3,848,008

42,975

25,600

15,031.28

55.7675

0.1723

4

4,896,768

42,975

31,104

15,743.21

55.6511

0.1770

5

5,429,312

42,975

33,920

16,006.23

55.5866

0.1796

6

6,584,544

42,975

40,576

16,227.68

55.4552

0.1852

7

a 7,043,400

42,975

42,880

16,425.83

55.4063

0.1873

a Maximum

capacity

14

P. Yadav and A. K. Mohapatra

Table 4 Cover and stego images for image Lena (384 × 512)

Cover image

Stego 1: PSNR = 55.9716, MSE = 0.1644

Stego 2: PSNR = 55.8784, MSE = 0.1680

Stego 3: PSNR = 55.7675, MSE = 0.1723

Stego 4: PSNR = 55.6511, MSE = 0.1770

Stego 5: PSNR = 55.5866, MSE = 0.1796

Stego 6: PSNR = 55.4552, MSE = 0.1852

Stego 7: PSNR = 55.4063, MSE = 0.1873

5 Performance Analysis with Other Existing Schemes In comparison with other existing schemes, our proposed model gives much better simulation results not only in terms of capacity but also providing extremely better image quality in terms of PSNR and MSE of the image. As per Table 9, we can see that our results for standard image Lena (512 × 512) and Peppers (512 × 512) are far much better in terms of capacity and comparatively exceptional in terms of PSNR of image. Our proposed algorithm provides approximately 10 times more capacity than mentioned in [13] still maintaining PSNR to a very good level. It is important to

Extremely High-Capacity, Secure Image Steganography …

15

Table 5 Image quality parameters for Peppers (512 × 512) S. no.

Payload (bits)

Edge pixels (bits)

Compressed and encrypted payload (bits)

% increase in capacity

PSNR (dB)

MSE

1

2,078,224

40,039

16,128

12,885.81

57.0109

0.1294

2

2,872,960

40,039

20,352

14,116.35

56.9186

0.1322

3

3,848,008

40,039

25,600

15,031.28

56.8121

0.1355

4

4,896,768

40,039

31,104

15,743.21

56.6926

0.1392

5

5,429,312

40,039

33,920

16,006.23

56.6424

0.1409

6

a 6,445,208

40,039

39,808

16,190.73

56.5278

0.1446

a Maximum

capacity

note that [13] it does not provide any security to data whereas our algorithm provides encryption along with message integrity check using SHA512 hash. As per Table 10, when compared with [6], our proposed algorithm provides many times better capacity while maintaining PSNR to very good level. Our algorithm also provides integrity check for the data at receiver end which verifies that the message received is same as message which was sent.

6 Future Work and Conclusion Although tremendous amount of work has been done in increasing capacity of edge detection-based image steganography, our proposed work provides an exceptional increase in capacity. In our proposed work, we have used only 0th LSB of edge pixel for embedding data. If we need to increase capacity by even much greater amount, then we can use both 1st LSB and 0th LSB of edge pixels for embedding data. This will boost up capacity to many times with just small decrease in PSNR of stego image. Also, the compression part of the proposed method can be used before embedding the message in cover image irrespective of what method is being used to embed to message in cover image. This shows that compression methodology suggested here can be used by the authors who have implemented image steganography by using fuzzy edge detection or by PVD or by using any other method. Use of compression would in very first step assist in increasing quality of stego image thus produced. The proposed algorithm has lot of latest applications which require tremendous amount of data to be embedded secretly like data which is to be kept in cloud, data used in social media for sharing secret information among communicating parties obviously after proper authentication of parties involved, for sharing location of nodes secretly in wireless sensor networks and many more.

16

P. Yadav and A. K. Mohapatra

Table 6 Cover and stego images for image Peppers (512 × 512)

Cover image

Stego 1: PSNR = 57.0109, MSE = 0.1294

Stego 2: PSNR = 56.9186, MSE = 0.1322

Stego 3: PSNR = 56.8121, MSE = 0.1355

Stego 4: PSNR = 56.6926, MSE = 0.1392

Stego 5: PSNR = 56.6424, MSE = 0.1409

Stego 6: PSNR = 56.5278, MSE = 0.1446

Extremely High-Capacity, Secure Image Steganography …

17

Table 7 Image quality parameters for Lena (512 × 512) S. no.

Payload (bits)

Edge pixels (bits)

Compressed and encrypted payload (bits)

% increase in capacity

PSNR (dB)

MSE

1

2,078,224

55,614

16,128

12,885.81

56.1044

0.1594

2

2,872,960

55,614

20,352

14,116.35

56.0239

0.1624

3

3,848,008

55,614

25,600

15,031.28

55.9425

0.1655

4

4,896,768

55,614

31,104

15,743.21

55.8522

0.1690

5

5,429,312

55,614

33,920

16,006.23

55.8029

0.1709

6

6,584,544

55,614

40,576

16,227.68

55.6998

0.1750

7

7,043,400

55,614

42,880

16,425.84

55.6647

0.1764

8

8,125,008

55,614

49,408

16,444.72

55.5659

0.1805

9

a 9,157,488

55,614

55,552

16,484.53

55.4697

0.1845

a Maximum

capacity

Table 8 Cover and stego images for image Lena (512 × 512)

Cover image

Stego 1: PSNR = 56.1044, MSE = 0.1594

Stego 2: PSNR = 56.0239, MSE = 0.1624

Stego 3: PSNR = 55.9425, MSE = 0.1655 (continued)

18

P. Yadav and A. K. Mohapatra

Table 8 (continued)

Stego 4: PSNR = 55.8522, MSE = 0.1690

Stego 5: PSNR = 55.8029, MSE = 0.1709

Stego 6: PSNR = 55.6998, MSE = 0.1750

Stego 7: PSNR = 55.6647, MSE = 0.1764

Stego 8: PSNR = 55.5659, MSE = 0.1805

Stego 9: PSNR = 55.4697, MSE = 0.1845

Table 9 Comparison of capacity and image PSNR for Lena (512 × 512) with [13] S. no.

Cover image

Jaeb [13] a Payload

(bits)

Proposed scheme PSNR (dB)

a Payload

(bits)

PSNR (dB)

1

Lena

771,233

38.98

9,157,488

55.4697

2

Peppers

787,880

38.27

6,445,208

56.5278

= maximum capacity b Greyscale image a Payload

Inspired by the idea of designing a high-capacity edge detection-based image steganography proposed in various papers, we proposed an extremely high-capacity, secure edge detection-based scheme by using data compression before data embedding. Proposed scheme provides tremendous increase in capacity and security while

Extremely High-Capacity, Secure Image Steganography …

19

Table 10 Comparison of capacity and image PSNR for Lena (512 × 512) with [6] S. no.

Cover image

Parahb [6] a Payload

(bits)

Proposed scheme PSNR (dB)

a Payload

(bits)

PSNR (dB)

1

Lena

38,427

57.8723

9,157,488

55.4697

2

Peppers

35,946

58.0023

6,445,208

56.5278

a Payload

= maximum capacity image

b Greyscale

maintaining image quality metrics like PSNR and MSE. Simulation of proposed scheme shows how efficiently the scheme has been implemented. Proposed method provides all possible features like high capacity, security and SHA512 hash for message integrity verification. Thus, this paper provides one of the solutions for increasing capacity of edge detection scheme by extremely large number of bits.

References 1. Yu, Y.-H., Chang, C.-C., Lin, I.-C.: A new steganographic method for color and grayscale image hiding. Comput Vision Image Understanding 107(3), 183–194 (2007) 2. Muhammad, K., Ahmad, J., Rho, S., Baik, S.W.: Image steganography for authenticity of visual contents in social networks. Multimed. Tools Appl. 76(18), 18985–19004 (2017) 3. Grover, N., Mohapatra, A.: Digital image authentication model based on edge adaptive steganography. In: 2013 2nd International Conference on Advanced Computing, Networking and Security (ADCONS), pp 238–242 (2013) 4. Tondwalkar, A., Jani, P.V.: Secure localization of wireless devices with application to sensor networks using steganography. Proc. Comput. Sci. 78, 610–616 (2016) 5. Kumar, G., Ghanekar, U.: Image steganography based on canny edge detection, dilation operator and hybrid coding. J. Inf. Secur. Appl. 41, 41–51 (2018) 6. Parah, S.A., Sheikh, J.A., Akhoon, J.A., Loan, N.A., Bhat, G.M.: Information hiding in edges: a high capacity information hiding technique using hybrid edge detection. Multimeda Tools Appl. (to be published). https://doi.org/10.1007/s11042-016-4253-x 7. Ioannidou, A., Halkidis, S.T., Stephanides, G.: A novel technique for image steganography based on a high payload method and edge detection. Expert Syst. Appl. 39, 11517–11524 (2012) 8. Chen, W.J., Chang, C.C., Hoang Ngan, L.T.: High payload steganography mechanism using hybrid edge detector. Expert Syst. Appl. 37(4), 3292–3301 (2010) 9. Jung, K.H., Yoo, K.Y.: Data hiding using edge detector for scalable images. Multimedia Tools and Appl (2013). https://doi.org/10.1007/s11042-012-1293-84 10. Lie, W.N., Chang, L.C.: Data hiding in images with adaptive number of least significant bits based on the human visual system. In: Proceedings of ICIP ’99, vol. 1, pp. 286–290 (1999) 11. Sun, S.: A novel edge based image steganography with 2k correction and Huffman encoding. Inf. Process. Lett. 116(2), 93–99 (2016) 12. Bai, J., Chang, C.C., Nguyen, T.S., Zhu, C., Liu, Y.: A high payload steganographic algorithm based on edge detection. Displays 46, 42–51 (2017) 13. Jae, G.Y., Eun, J.Y., Sang, H.S., Kee, Y.Y.: A new image steganography based on 2k correction and edgedetection. In: Fifth International Conference on Information Technology: New Generations. IEEE Computer Society, pp. 563–568

20

P. Yadav and A. K. Mohapatra

14. Datta, B., Roy, S., Roy, S., Bandyopadhyay, S.K.: Multi-bit robust image steganography based on modular arithmetic. Multimedia Tools Appl. 1–36 (2018) 15. Irawan, C., Setiadi, D.R.I.M., Sari dan, C.A., Rachmawanto, E.H.: Hiding and securing message on edge areas of image using LSB steganography and OTP encryption. In: International Conference on Informatics and Computational Sciences (ICICoS), Semarang (2017)

A Dynamic Hand Gesture-Based Password Recognition System Manasa Pisipati, Amrit Puhan, Arun Kumar, Vijay Bhaskar Semwal and Himanshu Agrawal

Abstract Hand gesture recognition systems are used as an interface between computers and humans. An electronic machine capable of recognizing various types of hand gestures is easily operable using natural languages. This way of controlling a device is much more intuitive and effortless as compared to using a touch screen, manipulating a mouse or remote control, tweaking a knob or pressing a switch. This paper presents a dynamic hand gesture-based password recognition system which uses feed-forward back-propagation neural networks. The uniqueness of this system lies in the fact that it would use an ordinary low-cost webcam (built into the laptop) rather than a high-resolution Kinect camera. The advantage of using such a camera is that this software can be integrated as a security tool into everyday electronic devices such as laptops and smart phones. This can provide an additional layer of protection to security devices when combined with other security tools such as alphanumeric passwords, biometric passwords, etc. To fulfill this objective, this work uses Octave as well as a built-in laptop webcam. The obtained results show the best accuracy of 100% for the training dataset and average accuracy of 96.16% for the testing dataset. Additionally, the minimum cost function value chosen for training the samples came out as 3.556e−01. Keywords Hand gesture recognition · Password recognition · Feed-forward back-propagation · Neural networks · Octave · Computer vision · Webcam M. Pisipati · A. Puhan · A. Kumar (B) Computer Science and Engineering, National Institute of Technology Rourkela, Rourkela, India e-mail: [email protected] M. Pisipati e-mail: [email protected] A. Puhan e-mail: [email protected] V. B. Semwal Computer Science and Engineering, National Institute of Technology Bhopal, Bhopal, Madhya Pradesh, India H. Agrawal Department of CSE, Jaypee Institute of Information Technology, Noida, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_2

21

22

M. Pisipati et al.

1 Introduction Hand gestures are spontaneous and powerful communication modes for human– computer interaction (HCI). Hand gesture recognition is an extremely important form of gesture recognition because of its extensive applications such as in virtual reality, sign language recognition, etc. The human hand has very complex articulations compared with the rest of the body, and therefore, it can be easily affected by errors. Thus, it is a very challenging problem to recognize hand gestures. Traditional input devices like mouse, joystick, keyboard and touch screen are available for interaction with computers; however, they do not provide natural interface. Generally, hand gesture recognition is classified into static and dynamic gesture recognition. In static gesture recognition, hand shape is recognized and the meaning of hand expression is deciphered. In dynamic hand gesture recognition, hand motion trajectory in space is recognized and then the corresponding operations based on obtained trajectory parameters are performed. In this work, the proposed method uses dynamic hand gesture recognition. In this paper, in addition to the hand gesture recognition, there is an element of password recognition as well. Till recently, the research on gesture-based passwords has been focussed on using high-resolution cameras like the Kinect. But, this work aims at incorporating this gesture-based password protection layer on everyday electronic devices. Hence, research in this paper has been focussed on a low-resolution camera. The proposed system will consist of a desktop or laptop interface. An important aspect of this system is that the user need not wear any additional special apparatus (like gloves or colored tape) to be recognized by the system. Hence, it is very close to real-life application. In this paper, the steps to recognize the gestures will be as follows: first acquiring of video, then processing of the data. Once data is processed, each frame from the video is extracted and converted into a suitable format (here, YCbCr) for easier elimination of background. This is followed by subtraction of the background until only the hand with gesture is remaining on the screen. The gesture is then mapped to a previously created database. Based on whether the gestures match or not, the program will decide whether to lock or unlock the system. The password recognition aspect of the work is based on the above steps. Each time a sequence of gestures is inputted to create a password, a new database is created. In order to maintain the sequence of gestures, the time stamp for each gesture is also recorded and verified. If the gesture and time stamp inputted into the device are same as the one present in the database, the device will be unlocked. The rest of this paper is organized as follows: Sect. 2 presents the related work. Section 3 provides a detailed explanation of the way the research has been carried out. Section 4 consists of the results obtained. Finally, conclusion and future scope are presented in Sect. 5.

A Dynamic Hand Gesture-Based Password Recognition System

23

2 Related Work Hand gestures can be used in various applications. This type of gesture recognition involves selecting a particular sign language, storing in the database and just recognizing the hand gestures from those set of stored images. The research work has been done on a variety of sign languages like the Japanese sign languages [1], Indian sign languages [2], American sign languages [3] and also sign languages which speechdisabled people use [4]. Gesture control, on the other hand, involves using the set of recognized gestures and assigning some task to it. The research work has been done on controlling a video on a media player using gestures [5] and looking at a 3D model from various angles by translating and rotating it using gestures [6]. This type of modeling can also come in handy for medical imaging and applications [7]. Hand gesture control video games using Kinect have also been developed [8]. Gesture control robots have been built which involve making the robot do human-like activities just by gestures [9]. Hand gesture control is now being incorporated into automobiles for a more convenient and distraction-free driving experience [10]. Gesture-based password systems can improve the security level of everyday gadgets such as laptops and mobile phones. The user does not fall prey to typing text capturing, dictionary attacks or man-in-the-middle attacks. Also, the risk of losing stored passwords to attackers is eliminated. Since the human hand is capable of a very large number of gestures, it becomes more difficult to crack the password through brute-force method as well. However, considering hand gesture-based password systems, very few research works have been done in this field. A majority of the research on hand gesture-based passwords have been using Kinect camera. For example, the research [11] focused on tracking the motion of a user’s hand in front of a Kinect camera and unlocking the device by comparing the shapes created in the air by the finger. Their main focus is to improve gaming security. Another gesturebased password system [12] uses a Leap Motion device which tracks a user’s hand in three-dimensional space using infrared sensors. Their research also used RDF and neural networks.

3 Methodology The work is divided into 4 modules: • Module 1—Taking input from the webcam and converting it into a form that can be processed easily. • Module 2—Intercepting the gesture from the input of the webcam. • Module 3—Creating a neural network that trains and classifies the dataset into separate classes. • Module 4—Recognizing the gesture from a database of gestures. • Module 5—According to the intercepted gesture, choose to unlock the device.

24

M. Pisipati et al.

Fig. 1 Procedural pipeline for dynamic hand gesture recognition

Figure 1 presents the flowchart which gives a pictorial description of the steps followed.

3.1 Video Acquisition The Octave code used in the proposed algorithm does video acquisition from the built-in laptop webcam. Once that is completed, it extracts individual frames from the video.

3.2 Background Subtraction and Gesture Segmentation RGB images are usually converted to suitable formats for the following reasons: • Noise: In order for the production of a sharper image with less noise, the image is required to be in grayscale or YCbCr. An RGB image might make it difficult to identify important edges or other features. • Speed: Time can be saved exponentially by analyzing only portions of images and eliminating color channels that are not required. • Ease of Code: It is easier to work on images that have lesser color channels.

A Dynamic Hand Gesture-Based Password Recognition System

25

In order to detect the gesture, the background must first be removed completely. For that, the video frames can be filtered or converted into an appropriate format (grayscale, YCbCr). Once the video frames are converted, the gesture is then intercepted from the frames. In this work, three methods are used for background subtraction followed by gesture segmentation: • Implementation of Otsu’s Method • Converting the image to grayscale + filtering image + binarizing the image (novel code) • Converting the image from RGB to YCbCr and extracting only those pixels which are in skin color range The reason for using three methods is to compare which method performs better. The first method, Otsu’s method first takes a grayscale image as input. Then, it finds a specific threshold value that can classify the image pixels into two distinct colors (binary image). Once the image has been binarized, the background can be eliminated by comparing the pixels with a specific value. In this way, the final image obtained will be only of the gesture without any background. In the second method, a novel (developed and implemented for the first time) code takes the gesture image as input. Next, it filters the image using a combination of average, Gaussian and motion filters. It then converts the image to grayscale, and using an inbuilt Octave function, it converts the image to binary form. In the third method, the RGB image is converted to YCbCr color format, and then, the central pixel of the image is picked. For this, the hand should stay in the middle of the frame. Then, the image of the hand is segmented by using skin color range. Skin-colored pixels are marked by white while the rest are marked by black. In this paper, the third method has been used for preparing the images which will later be used for generating and testing the neural network model. The third method is the simplest and most efficient method as compared to the other two methods due to its computational cost. Since this work is being done on reduced sized images, there is no requirement of computationally heavy image processing techniques. In this work, there are 1714 images (dataset source: GitHub—Rishabh Gupta’s Indian Sign Language Recognition) of size 50 × 50 pixels which are saved as 1714 × 2500 size matrices where each column represents pixel from the image. Also, the matrices are randomly split into two separate sets. A training matrix will contain 80% of the images which will act as training feature vector and the test matrix with other 20% of the images which will act as testing feature vector. Here, 9 different classes of gestures are taken. So, a label matrix of dimension 1 × 9 is made where each index can contain either 1 or 0. Say an image belongs to the third class, the vector will look like: 

001000000



where the third index is set to 1 and the rest of the indices are set to 0 to show that the image belongs to the third class.

26

M. Pisipati et al.

3.3 Creating an ML Model to Classify Gestures The definition of the neural network in the proposed algorithm is as follows. There is one hidden layer in the network. The input layer size will be 2500 nodes since the images are 50 × 50 pixels. The hidden layer size will be 25 nodes, and the output will be 9 nodes (9 types of signs). The following universal dataset available on GitHub has been used in order to test and train the neural network model: Rishabh Gupta’s Indian Sign Language Recognition. There are 5 steps to make the ML model: 1. Load the features and labels: The first step is to load the features and labels that have already been created. This can be done by using dlmread function of Octave. 2. Randomly initialize theta values (weight of the nodes of neural network): The statistics formula of uniform distribution of variance has been used to initialize the weight of the nodes. 3. Create the cost function and forward propagation: The next goal is to implement the cost function defined in Eq. (1).

J (θ ) = − +

K m    (i)  

1    (i)   (i)    (i) yk log h θ x log 1 − hθ x + 1 − y k k k m i=1 k=1 8l+1  8l  8l  2 λ  θ (l) 2m i=1 i=1 i=1 j,i

(1)

where g is the activation function (sigmoid function in this case).   a ( j) = g θ ( j−1) a ( j−1)

(2)

h θ (x) = a ( j+1)

(3)

In order to compute the cost, feed-forward computation is used. A for-loop has been used over the examples to compute the cost. Also, an extra column of 1’s needs to be added to the matrix which represents the “bias” values. The θ 1 and θ 2 values are parameters for each unit in the neural network—the first row of θ 1 corresponds to the first hidden unit in the second layer. 4. Create the gradient for neural network cost function, i.e., back-propagation: To be able to minimize the cost function, the gradient for the neural network cost function must be computed. For that, the back-propagation algorithm, short for “backward propagation of errors”, is used for minimizing the cost function which means minimizing errors for the neural network and each output neuron.

A Dynamic Hand Gesture-Based Password Recognition System

27

5. Minimize the cost function: One of the gradients is computed, and the neural network can be trained by minimizing the cost function J() using an advanced optimizer such as fmincg. This function is not a part of the Octave, so it is obtained from machine learning course by Andrew Ng. This function is faster than the ones implemented in Octave, and it uses conjugate gradient method. After running the fmincg on the test examples, the θ values in one vector are obtained. It is then required to reshape them in matrices for easier matrix multiplication. Now, theta (weight) values from the neural network are successfully generated. The next step is to check how well the model fits the training and performs on the test data. This is done using a function that takes the theta parameters and features matrix. Then, it adds a column of 1’s which represent the “bias” values to the features matrix and just multiplies the features with the theta values for both of the neural network layers. Then, it gets the vector h2 with size (number_of_images × 9), where each column (9) represents the possibility of that image being in that class. At the end, it returns the one with the highest probability.

3.4 Comparing the Gesture from a Database of Gestures Before this step, a database of the password must be created. Each time a new password is created, a new database must be developed for that specific password. Once the database is created, comparing the inputgestures with it can begin. Since it is a password system, it must be ensured that the sequence of the inputgestures must be the same as the sequence of gestures in the database. Therefore, the proposed method includes a comparison of two things: 1. The gestures in the database with gestures that have been given as input. 2. The time stamps of gestures in the database with the time stamps of the gestures given as input for a live system to be possible.

3.5 Gesture Recognition and Corresponding Action If the gestures and the sequences do not match, the password is incorrect and the system remains locked and shows a message that the wrong password was entered. On the contrary, if the gestures and time stamps of the database and input are both similar (within error limits), then the correct password has been entered and the system is unlocked. Below is a pseudo-code of the entire procedure to develop the ML model and execute the hand gesture-based password recognition system: 1. Initialize the number of input_layer_size, hidden_layer_size and num_labels

28

M. Pisipati et al.

2. Initialize random values to weights of neural network as epsilon = sqrt (6) / (L_in + L_out); W = zeros (L_out, 1 + L_in); W = (rand (L_out, 1 + L_in) * 2 * epsilon) - epsilon;

3. Declare the sigmoid activation function   a ( j) = g θ ( j−1) a ( j−1) h θ (x) = a ( j+1) 4. Define the cost function and forward propagation J (θ ) = −

m K    (i)  

1    (i)   (i)    (i) yk log h θ x log 1 − hθ x + 1 − y k k k m i=1 k=1

8l+1  8l  8l  2 λ  θ (l) + j,i 2m i=1 i=1 i=1

5. Create a gradient for the cost function using back-propagation algorithm. 6. Once the gradient is computed, the neural network can be trained by minimizing the cost function J () using an advanced optimizer such as fmincg. 7. Compare the gesture from a database of gestures once the model is trained by predicting the label of the test image given the trained weights of neural network. 8. Compare the label sequence of the test image with label sequence of the training image. If they match then unlock, else keep it locked.

4 Result Analysis As shown in the flowchart, the steps are the acquisition of video, conversion into image frames, background subtraction (using three methods: Otsu’s method, novel method and RGB to YCbCr method) and finally segmentation of the gestures from the image. The images below are snippets of the input and output video streams for the three methods mentioned above.

A Dynamic Hand Gesture-Based Password Recognition System

– Otsu’s method for background subtraction See Fig. 2. – Novel method See Fig. 3. Fig. 2 Input images with gesture and background (left) and output images after background subtraction using Otsu’s method (right)

29

30

M. Pisipati et al.

Fig. 3 Input images with gesture and background (left) and output images after background subtraction using the proposed code (right)

– Converting the image from RGB to YCbCr and extracting only those pixels which are in skin color range. See Fig. 4. It has been observed that in order to have an efficient background-subtracted image, the hand should be completely facing the camera lens preferably at the center of the frame. In addition, if the background is not plain, then the hand must be closer

A Dynamic Hand Gesture-Based Password Recognition System

31

Fig. 4 Input images with gesture and background (left) and output images after binarization using the third and most optimal method (right). It proved to be computationally more efficient and accurate

to the camera to reduce the influence of the background on the gesture. Currently, a dataset (from online hand gesture resources) of gestures which consists of 1714 samples (80% for training, 20% for testing and validation) has been collected. As of now, nine classes are considered. The algorithm has successfully classified them using feed-forward back-propagation neural networks. Although the accuracy of the network varies with the number of iterations, till now, the best accuracy achieved is 100% for the training dataset and average accuracy of 96.16% for the testing dataset (for 100 iterations). Figure 5 shows the accuracy of the training and test datasets with increasing iterations. It has been observed that with an increase in iteration, the accuracy of the result also increases. Figure 6 shows the dependence of cost function on the number of iterations. As seen from the graph, the cost function is inversely proportional to number of

32

M. Pisipati et al.

Fig. 5 Analyzing the accuracy of training and test datasets

Fig. 6 Analyzing cost function

iterations. Hence, the developed method is successfully reducing cost function with increase in iterations.

4.1 Performance Comparison This section provides a detailed comparative analysis with four research papers ranging from the year 2012 until as recent as the year 2018. As observed, the proposed work has the highest accuracy as well as the least cost (Table 1).

5 Conclusion and Future Work In this paper, a password system using a low-cost and low-quality camera (video specs of 720p, 16:9 ratio and 30 fps) has been successfully implemented. The dataset consists of 1714 pre-existing gestures, has processed the images into a suitable format and has classified the gestures with an accuracy of 96.16%. This work also highlights

A Dynamic Hand Gesture-Based Password Recognition System

33

Table 1 Comparative study of the proposed work with other papers of a similar nature Paper

Year

Authors

Camera used

Concept used

Result accuracy

Proposed work

2019 ICCIS

Manasa Pisipati et al.

Laptop built-in webcam

Image processing + feed-forward back-propagation neural networks

96.16% for nine hand signs

Development of hand gesture-based electronic key using Microsoft Kinect (static)

2018 ICIEE

Arief Ramadhani et al.

Kinect v2

Kinect depth sensor and image processing

86.5% for three hand signs

Faceture ID: face and hand gesture multi-factor authentication using deep learning (dynamic)

2018 ICCSCI

Earl Ryan M. Aleluyaa et al.

Leap Motion controller

Image processing + convolutional neural network

96% (only hand gesture segment)

A biometric authentication model using hand gesture images (static)

2013 BioMedical Engineering OnLine

Simon Fong et al.

Logitech QuickCam webcam

10 machine learning algorithms (highest accuracy obtained from perceptron, SVM, Bayes and NB Tree)

93.75% (max obtained accuracy)

Kinect-based gesture password recognition (dynamic)

2012 Australian Journal of Basic and Applied Sciences

Mohd Afizi et al.

Kinect v1

Hand gesture, skeletal-based and appearance-based algorithms

(not provided)

the development of an efficient and accurate locking–unlocking system based on gestures. Such systems can improve the security level of everyday gadgets such as laptops and mobile phones. The biggest advantage of such a password recognition system is the strength in system security that it provides. The future scope for this work includes improvement of efficiency and accuracy of the password recognition system. Additionally, as mentioned earlier, the program works most accurately only when the background is clear and the hand faces the camera directly. Since this is difficult to achieve in a real-life scenario, the background subtraction and gesture recognition algorithms can be improved. Another important aspect of implementing a hand gesture-based password recognition system is to secure it from a snooping or shoulder-surfing attack.

34

M. Pisipati et al.

References 1. Sako, S., Kitamura, T.: Subunit modeling for Japanese sign language recognition based on phonetically depend multi-stream hidden Markov models. In Proceedings of the 7th International Conference on Universal Access in Human-Computer Interaction: Design Methods, Tools, and Interaction Techniques for eInclusion—Volume Part (2013) 2. Badhe, P.C., Kulkarni, V.: Indian sign language translator using gesture recognition algorithm. In IEEE International Conference on Computer Graphics, Vision and Information Security (CGVIS), Bhubaneswar, pp. 195–200 (2015) 3. Geetha, M., Menon, R., Jayan, S., James, R., Janardhan, G.V.V.: Gesture recognition for American sign language with polygon approximation. In IEEE International Conference on Technology for Education, Chennai, Tamil Nadu, pp. 241–245 (2011) 4. Goyal, S., Sharma, I., Sharma, S.: Sign language recognition system for deaf and dumb people. Int. J. Eng. Res. Technol. (IJERT) 02(04) (2013) 5. Rautaray, S., Agrawal, A.: A vision based hand gesture interface for controlling VLC media player. Int. J. Comput. Appl. 10. https://doi.org/10.5120/1495-2012 6. Kim, H., Albuquerque, G., Havemann, S., Fellner, D.: Tangible 3D: Hand Gesture Interaction for Immersive 3D Modeling, pp. 191–199 (2005). https://doi.org/10.2312/egve/ipt_egve2005/ 191-199 7. Yusoff, Y.A., Basori, A.H., Mohamed, F.: Interactive hand and arm gesture control for 2d medical image and 3d volumetric medical visualization. Procedia Soc Behav. Sci. 97, 723–729 (2013) 8. Zhu, Y., Yuan, B.: Real-time hand gesture recognition with Kinect for playing racing video games. In: International Joint Conference on Neural Networks (IJCNN), Beijing, pp. 3240– 3246 (2014) 9. Lavanya, K.N., Shree, D.R., Nischitha, B.R., Asha, T., Gururaj, C.: Gesture controlled robot. In International Conference on Electrical, Electronics, Communication, Computer, and Optimization Techniques (ICEECCOT), Mysuru, pp. 465–469 (2017) 10. Zobl, M., Geiger, M., Schuller, B., Lang, M., Rigoll, G.: A real-time system for hand gesture controlled operation of in-car devices. In: International Conference on Multimedia and Expo. ICME ‘03. Proceedings (Cat. No.03TH8698), 6–9 July 2003, Baltimore, MD, USA, pp. III–541 (2003) 11. Shukran, M.A.M., Ariffin, M.S.B.: Kinect-based gesture password recognition. Aust. J. Basic Appl. Sci. 6(8), 492–499 (2012) 12. Chahar, A., Yadav, S., Nigam, I., Singh, R., Vatsa, M.: A leap password based verification system. In IEEE 7th International Conference on Biometrics Theory, Applications and Systems (BTAS), Arlington, VA, pp. 1–6 (2015)

Fuzzy Concepts and Machine Learning Algorithms for Car Park Occupancy and Route Prediction Mani V. Sumini, Jaison Mulerikkal, P. B. Ramkumar and Paulsy Tharakan

Abstract Cities are evolving into smart cities, and most of its day-to-day activities are automated. One such important activity is the city vehicle parking mechanism. We propose a smart parking system which helps drivers to choose a parking slot based on historical data showing various trends, the distance vector from the location of the vehicle to the parking area and insights from the Google Traffic API. We also attempt to predict the car park occupancy on a certain day of the week at a certain time of the day using a machine learning algorithm. In contrast to the existing systems where a vehicle lies in waiting at a parking area if it is full, since the driver targets only a single car park, our system could suggest alternate car parking areas in advance based on various factors if the targeted car park is already full. This results in increased convenience and reduction in waiting time for drivers looking for a parking slot. Keywords Car parking mechanism · Google Traffic API · Machine learning

1 Introduction Automatic car parking has become an essential matter of concern since the evolution of cities to smart cities. As per statistics [1], the search for parking space creates a significant amount of additional traffic in cities which further results in an increased rate of pollution, loss of driver’s morale and high fuel consumption. These issues need to be countered efficiently as it is predicted that about 70% of the world’s population M. V. Sumini (B) · P. B. Ramkumar Department of CSE, Rajagiri School of Engineering and Technology, Ernakulam, Kerala, India e-mail: [email protected] P. B. Ramkumar e-mail: [email protected] J. Mulerikkal · P. Tharakan Department of CSE, Jyothi Engineering College, Thrissur, Kerala, India e-mail: [email protected] P. Tharakan e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_3

35

36

M. V. Sumini et al.

will start living in cities and surrounding regions by 2050 [2]. We propose a smart vehicle parking system in which vehicle parking is based on historical data showing various trends, the distance vector from the location of the vehicle to the car park and data from the Google Traffic API. We also attempt to predict the car park occupancy on a certain day of the week at a certain time of the day using a machine learning algorithm. Different business models [3] have been proposed in various studies which are parking service providers who act as an intermediary between parking vendors and parking users in case of large-scale car park systems where car parks are spread in different locations. The existing vehicle parking systems have certain limitations. They are created with the intent to cater to one single car park so that once the car park is full, the vehicles need to wait in a queue for admission and can access the car park only when another vehicle leaves. After much research, we found a solution which is to access multiple car parks, and when one car park is full, an alternate car park is suggested using a function F (Alpha, Beta) where Alpha is the distance between two car parks and Beta is the number of free parking spaces in the destination node, here the number of free parking spaces. Our attempt here is to predict this value using a machine learning algorithm. In developed countries, smart cities and smart parking common occurrence. The motivation here is to bring their smart parking ideas into the parking systems in our country. Especially with Kochin Metro Rail Ltd, we are getting a chance to showcase the principles and techniques of the already existing systems used across the world. Through this, we can be part of creating a smart Kochi with smart systems for parking. The advantages of smart car parking involve optimized parking, reduced traffic, reduced pollution, less management cost and high service and brand image. Users will find the best available location, saving time, money and energy. The parking lot fills quickly and systematically, so businesses can use it appropriately. Traffic flow improves as fewer cars who search for an open parking space are needed to drive around.

2 Background Any problem that uses machine learning to obtain a solution is an optimization problem where the maximum or minimum of a function is calculated. The function to optimize is called the loss function or the cost function which is defined for the problem to be solved. Loss function is the main metric used for evaluating the accuracy of the trained model. The loss function can be denoted by L = (Y predicted − Y actual)

(1)

Here, the loss function is to be minimized as much as possible so the prediction will be as close as possible to the true value. The following are the prediction models used in similar problems.

Fuzzy Concepts and Machine Learning Algorithms …

37

2.1 Linear Regression It is mostly used in supervised machine learning problems as it is simple but powerful. The most basic form of linear regression deals with dataset of a single feature per data point. Linear regression tries to fit a model in the form Y = β0 + β1X

(2)

where X is a vector of features and β0 and β1 are coefficients to be learned.

2.2 Linear Regression with Multiple Features In real-value problems, there is more than one feature in every row. In case of multiple features, there is a need to adapt a basic linear model to an adapted one that takes into consideration the added features. Formula for linear regression with three features is as follows Y = β0 + β1X 1 + β2X 2 + β3X 3

(3)

Even in multi-feature linear regression problems, the same iterative algorithm is performed, and it minimizes the loss function. The difference is that there are four coefficients for three features instead of two coefficients for one feature.

2.3 Overfit in Machine Learning Algorithms More features can improve the accuracy of the prediction, as the trained model is flexible and it takes into account more parameters. But, it can cause overfitting of data. The concepts of overfitting and underfitting are depicted in Fig. 1.

Fig. 1 Underfitting and overfitting. Source https://www.analyticsvidhya.com

38

M. V. Sumini et al.

2.4 Ridge Regression One of the approaches to overcome overfitting is to keep the model as simple as possible. Simple models do not usually overfit but pay attention to trade-off between overfitting and underfitting. Another mechanism is regularization where regularized machine learning model has a loss function with an extra element to be minimized. L = ε(Y predicted − Y actual) 2 + λεβ2

(4)

Here, a new parameter is introduced, namely ‘λ’, which is multiplied with the sum of the square of the coefficient β. The reason for extra term is to punish the loss function for extreme values of coefficients β. Since simple models are better performing than complex models that avoid overfitting, the model should be as simple as possible. Here, also the aim of the iterative process is to minimize the loss function. By penalizing the β values, a constraint is added to minimize them as much as possible. Ridge regression is an adapted linear regression which is also known as the regularized linear regression model. The λ parameter is a scalar that is learned using cross-validation technique. Ridge regression enforces the β coefficients to be lower but does not force them to be zero. Ridge regression will not get rid of irrelevant features but minimize their impact on the trained model.

2.5 Lasso Regression The lasso regression is yet another machine learning technique in which ridge regression is further modified where the unwanted variables are set to zero. The loss function for lasso regression is as follows. L = ε(Y predicted − Y actual) 2 + λ

 β

(5)



Prediction problems are usually dealt with by using machine learning algorithms. In this section, few papers which are most relevant to this problem are being surveyed. Here, the aim is to forecast or predict a target value (say, car park occupancy) from historical data; hence, supervised learning is being used. By the type of target value, the machine learning algorithm under supervised learning can be decided. In this case, since the target value is continuous, regression algorithms can be used. There are various types of regression algorithms, and deciding the best algorithm is a case of trial and error. In this paper, three regression algorithms are chosen for comparison. They are multiple linear regression algorithm for its simplicity and wide audience, ridge regression algorithm which is a regularized linear regression model used to avoid overfitting and lasso regression which nullify unwanted variables to get a more accurate result.

Fuzzy Concepts and Machine Learning Algorithms …

39

Also, for the car park prediction, three different methods are being used, namely the FCost method, fuzzy logic method and intuitionistic fuzzy logic method. Here, the FCost method is a modified version of a solution suggested in [2]; the fuzzy logic method is used due to the uncertainty associated with occupancy prediction and also to combine the effects of variables used in car park prediction, namely distance, occupancy and congestion and finally the intuitionistic fuzzy logic method which gives a better picture of reality combining certain influences that are of certainty and uncertainty which would otherwise be ignored in the fuzzy logic method.

3 Related Work 3.1 Previous Works on Occupancy Prediction The method introduced by Mr. Stolfi et al. [4] has predictors which are trained and are tested on unseen occupancy data. There is a Web prototype developed to visualize the current and historical parking data on a map. Users can consult occupancy rate forecast to satisfy their parking needs up to one day in advance. The various predictors used are polynomial fitting, Fourier series, K-means, KM-polynomial, shift and phase, time series. Here, the best performing algorithm seems to be time series followed by shift and phase. System architecture of their system has downloader to access different data sources available on the Internet to obtain occupancy data of car parks, data parsers to process data and a database to store data from car park to display on the Web page and also as input to the predictors. Another approach employed by Mr. Zheng et al. [1] helps people to plan their trips well ahead, saving time and traffic congestion finding available parking spots. This study used three algorithms to model parking occupancy rates which are regression tree, support vector regression and neural networks. The regression tree and support vector regression are implemented by scikit-learn and neural network implemented using PyBrain. Evaluation reveals that regression tree which is least computational intensive algorithm performs best for parking availability prediction on both datasets. The dataset for this study has been obtained is the real-time vehicle parking information collected and disseminated by the city of San Francisco, USA, and the City of Melbourne, Australia. Prior technique proposed by Mr. Ritcher et al. [5] learns models of parking availability from historic data on the back end, in order to save these models within in-vehicle navigators to predict the future parking availability. The goal is to minimize the storage requirements while maximizing the accuracy of future availability predictions. Due to the use of clustering, there is a dramatic reduction of storage requirements (up to 99%) while achieving good accuracy of predictions (up to 70%). Their approach consists of clustering and predictions being performed to analyse the parking behaviour. The clustering is applied to reduce the amount of data to be stored by identifying similar parking models. Dataset is the

40

M. V. Sumini et al.

Table 1 Comparative study of research papers Comparative study Paper

ML type

Algorithm

Predicting car park occupancy rates in smart cities

Supervised learning/unsupervised learning

Polynomial fitting, Fourier series, K-means, KM-polynomial, shift and Phase, time series

Parking availability prediction for sensor-enabled car parks in smart cities

Supervised/deep learning

Regression tree, support vector regression, neural networks

Temporal and spatial clustering for a parking prediction service

Unsupervised learning

Hierarchical clustering with dynamic time warping

Predicting parking lot occupancy in vehicular ad hoc networks

Reinforcement learning

Continuos homogenous model, time Markov

parking availability data publicly available from the project SFpark based in San Francisco. This is a project of the San Francisco Municipal Transportation Agency. A different approach by Mr. Caliskan et al. [6] presented a model to predict parking lot occupancy based on information exchanged among vehicles. The model takes the age of received parking lot information and the time needed to arrive at a certain parking lot into account and estimates the future parking situation at the time of arrival. It is based on queuing theory and uses a continuous-time homogenous Markov model occupancy information which is collected at respective parking lot and is broadcasted, received by vehicles within communication range and then disseminated within vehicular ad hoc network. Time between receiving the information and arriving at a particular parking place must be considered. The model tries to estimate the future parking lot occupancy from the information available in the VANET. A summary of the papers reviewed so far is described in Table 1.

3.2 Route Prediction: Previous Works and Implementation of the Module Route prediction is an optimization problem where the best route is suggested to the user to reach from the source to destination. The following research papers deal with similar problem. The authors Mr. Pham et al. [2] have suggested an algorithm that increases the efficiency of the current cloud-based smart parking system. Here, the network architecture is based on Internet-of-things technologies. The least-cost model (Function: F(A, B)) is used where the cost is calculated based on the distance between the current location of the vehicle and a particular parking lot (A) and total number of free spaces

Fuzzy Concepts and Machine Learning Algorithms …

41

at each car park (B). Another system introduced by Mr. Atif et al. [7] is a new business model for parking services. Here, the concept of parking service providers (PSP) is implemented which acts as an intermediary between the parking vendors and the parking consumers or the drivers. The IoT middleware enables diverse connectivity to parking spaces via numerous sensing technologies. The concept of sensing as a service is proposed which creates standard dictionaries of sensor-related metadata. Data analytics is performed along with collaborative path planning algorithm which plans paths towards vacant parking spaces considering each other’s progress, and the algorithm used for the collaborative search is A* algorithm. According to [8], the occupancy prediction was carried out by combining clustering using neural gas algorithm and data threads to improve prediction quality. Another study [9] for predicting parking space availability in real time utilizes intelligent parking reservation (IPR) which consists of three subroutines which are to allocate simulated parking requests, estimate future departures and forecast parking availability. As per [10], the idea is to predict waiting times for shared bicycles and parking lots. Our idea is to present a class of algorithms which use generalized additive models (GAMs) for demand and availability prediction on various time scales. Here, exogenous effects can be explicitly factored into the models resulting in significant gains in terms of prediction accuracy. It also estimates the distribution of the waiting time for the next available bike parking lot if the current availability is zero. Another study [11] based on parking reservation uses telecommunication APIs. The main objective here is the proposition of simple, easy to implement and low cost solution for parking lot reservations. As per [12] technique employed for car park vacancy detection is neural networks and image processing. Accuracy was 99.9% for occupied slots and 97.9% for empty slots. The study in [13] uses multi-agent approach in intelligent parking management system. We propose the network of intelligent agents which can reduce the search time needed to find a parking place. Technologies like cellular automata (CA) and multi-agent system (MAS) are being used. Now, we look into the previous papers related to route prediction and optimization. The first study we took into survey is a real-time route recommendation system [14]. This system utilizes historical taxi driving and real-time traffic data and integrates them together to provide users with real-time route recommendation. This system outperforms Google maps and Baidu maps. In another study [15], an intelligent GPSbased vehicle navigation system is used for finding street parking lots. This system checks if the vehicle would be able to get a parking lot when it arrives by utilizing the history and current status of the occupancy/availability. A study [16] utilizes neural network-based parking via Google map guidance. Here, the source and destination are entered by the user, and traffic time to reach and speed to destination from the source is estimated, and a parking lot is assigned to the user. In another work [17], a GIS-based parking management and dissemination system was proposed. Here, searching and booking of parking slots happens through an Android app. A quick response code (QR Code) was installed on each parking space, and an SMS serve established to monitor the reports and requests of drivers. After surveying the literature, it can be assumed that the technique discussed in [2] can further be modified by incorporating more parameters. Hence, a third component, namely congestion,

42

M. V. Sumini et al.

along the path was also considered, and the formula was modified for a better solution. Also as per [2], there is a requirement for huge infrastructure with sensors to calculate the occupancy of the car parks which could be avoided by using machine learning. The occupancy could be calculated from historic data by employing machine learning algorithms which reduces the cost of the extra hardware employed. Since there is a certain extent of uncertainty involved in ML predictions and also for other parameters like distance and congestion, we have adopted principles of fuzzy logic to arrive at a solution. Hence, due to the above-said reasons, we have developed three different route prediction algorithms here, namely the FCost method, fuzzy logic method and intuitionistic fuzzy logic method.

4 Theories and Concepts • Parking Strategies: There are number of parking strategies, out of which two are being discussed here. They are network models with greedy method and network model with forwarding. • Greedy Method: In the greedy method, the strategy is such that there is only an individual car park and cars arrive in order to be parked. If there is a scenario where the car park is filled up, then the newly arriving cars should queue up until more space becomes available (when a car leaves). So, there is a queue here and a waiting time involved which is not an efficient strategy. • Forwarding: In order to get past the issues of greedy method, forwarding was proposed. In forwarding, there are more than one car park. If one car park is filled up, then an alternate car park is chosen based on certain heuristics. For example, in the figure above, there are two car parks p1 and p2. When p1 is full, cars are forwarded to car park 2 provided there are free spaces there. So here, the necessity of queuing up and waiting is being reduced considerably. • Car Park Prediction Methods: When we are using the network model with forwarding, there are more than one car park to be considered. So based on the user’s location, the most apt car park to park the car based on certain criteria can be proposed. In this section, we discuss three such car park prediction methods. • The FCost Method: As per [2], a car park prediction/proposal method is suggested where a mathematical function F(Alpha, Beta) is calculated. Here, ‘Alpha’ is the distance from the point

Fuzzy Concepts and Machine Learning Algorithms …

43

where the vehicle is located to the car park or the distance between two car parks (in case of forwarding) and ‘Beta’ is the occupancy a particular car park. The formula is     F(α, β, γ ) = α ∗ di j /dup + β ∗ T j /Tup

(6)

According to [2], the car park with lowest value for F(Alpha, Beta) is considered the best car park. However, for more accuracy, the function was modified to incorporate congestion in the path between the vehicle location and car park or between two car parks in case of forwarding. Here, the congestion information is taken as Gamma. Hence the modified formula is as follows.       F(α, β, γ ) = α ∗ Di j /Dup + β ∗ T j /Tup + γ ∗ Vi j /Vup

(7)

Here, the logic is that Alpha, Beta and Gamma are weights assigned to each parameter to give due importance to them. After trial and error, the best performing values for Alpha, Beta and Gamma are fixed at 0.2, 0.4 and 0.4, respectively. Here, Dij is the distance between the current location of the vehicle and the respective car park, Dup is the maximum distance that can be attained which is a global parameter. Here, T j is the occupancy at the destination car park unlike the number of free spaces calculated in [2]. Hence, while in [2], the car park with the lowest value of the FCost function is taken as the best car park; in the modified function, the car park with maximum value of FCost function is taken as the best. Tup is the maximum occupancy which is a global parameter. Here, congestion is calculated from the formula Velocity = Displacement/Time

(8)

where both displacement and time are obtained from Google Maps API. From the formula, we can say that V ij is the velocity of travel from source ‘i’ to destination ‘j’ and V up is the maximum velocity that is attained which is a global parameter. • The Fuzzy Logic Method: Fuzzy logic is a known area of mathematics used to understand uncertainty or partial truth. Here, the fuzzy variables have membership functions with values that lie between zero and one. The fuzzy set is differentiated from crisp set in a way where the fuzzy value lies in [0, 1] range, while crisp value can take any value in the set of natural numbers. The fuzzy set is not just yes/no or true/false value but a range that tend towards more of a yes or more of a no where 1 stands for true and 0 for false. If there are variables which are independent of each other, the fuzzy composition function can be applied to these variables to create connection between each other and make the influence of each variable felt to reach a decision. The following paragraph explains how the method is designed and executed. Three matrices of size P × P (where P is the number of parking lots) L, M and N are formed where L is the distance matrix, M is the occupancy matrix and N is the congestion

44

M. V. Sumini et al.

matrix. The values of L matrix are calculated from the formula Dij /Dup , M matrix is T j /T up and N matrix is V ij /V up . Now, the composition function is applied L o M o N = R where L o M(Q) = L + M − (L * M) and Q o N = Q + N (QM). For the resultant R matrix, the row-wise average for each parking lot is calculated. The parking lot with the maximum value of this average is the most parkable lot. • The Intuitionistic Fuzzy Logic Method: The intuitionistic fuzzy logic method is an extended version of the basic fuzzy logic method with the principles of certainty and uncertainty associated with it. To explain this, when we consider an event, there is a possibility of it happening and not happening. The possibility of an event occurring is called certainty, and the same event not occurring is uncertainty. Here, in this project, if we consider an example, say, we predicted a car park for a driver using variables occupancy, congestion and distance, here suppose another factor comes into play such as a carnival is going on in that area. The simple fuzzy logic method does not take into account the carnival and with complete certainty predicts a car park while the intuitionistic fuzzy method predicts the same car park with a certain value of certainty and uncertainty taking into consideration the carnival. Suppose the certainty is 0.3 and uncertainty is 0.6 due to the carnival which reflects the reality unlike the fuzzy method. This extra information considered for prediction is called the delta value. Always, the sum of certainty and uncertainty values should be less than one. Intuitionistic fuzzy comprises two values for an option which is its wantedness and unwantedness. Wantedness = A value less than 1 and Unwantedness = 1 − Wantedness-Delta, where delta is the feature that determines unwantedness. Sum of wantedness and unwantedness should be less than or equal to 1. Here, wantedness for distance, occupancy and congestion are matrices L w = Dij /Dup , M w = T j /T up and N w = V ij /V up . Here, unwantedness for distance, occupancy and congestion are matrices L u = 1 − (Dij /Dup ) − (T j /T up ), M u = 1 − (T j /T up ) − (V ij /V up ) and N u = 1 − (V ij /V up ) − (Dij /Dup ). Now, composition of wantedness matrices L w o M w o N w and unwantedness matrices L u o M u o N u are taken separately followed by row-wise average. So, for every car park, there is wantedness and unwantedness pair. Now, the weighted average of the wantedness and unwantedness score is taken which is W 1 X 1 + W 2 X 2 . Here, X1 is wantedness and X2 is unwantedness and W 1 and W 2 are weights fixed by trial and error. The car park with maximum value of weighted average is considered the best. • Occupancy Prediction from Historic Data: One of the inputs to the above car park prediction techniques is occupancy within a particular car park. Occupancy within a car park can accurately be calculated using sensors; however, this method involves hardware costs associated with it. So, in order to reduce cost, a method to predict car park occupancy from historic data was devised. Here, the aim is to predict a target value (say, car park occupancy) from historical data; hence, supervised learning is being used. By the type of target value, the machine learning algorithm under supervised learning can be decided; in this case, since the

Fuzzy Concepts and Machine Learning Algorithms …

45

target value is continuous, regression algorithms can be used. There are various types of regression algorithms, and deciding the best algorithm is a case of trial and error. Here, the three regression algorithms chosen for comparison are multiple linear regression algorithm for its simplicity and wide audience, ridge regression algorithm which is regularized linear regression model used to avoid overfitting and lasso Regression which nullify unwanted variables to get a more accurate result.

5 Algorithm Used 1. The car park from available parking lots is proposed based on a value function depending on the method used where we use the distance between two nodes and the number of free parking spaces in the destination node. 2. The supervised learning technique based on regression algorithm is used to calculate the occupancy of a parking lot which is the available free spaces (or number of spaces occupied). 3. The parking lot with maximum value function is the best option. 4. Every parking lot has a neighbour table with the following information which are neighbour, value function, distance(Km), percentage of free spaces and capacity. 5. Instead of real-time free parking spaces available directly from IoT sensors, this data is predicted using the historical data available using machine learning algorithms. 6. Also, value function is being modified by adding a third component which is the traffic congestion at a particular route which is the path between the location of the vehicle to the location of the parking lot. The modified function includes congestion.

6 System Desıgn The overall system architecture is shown in Fig. 2, where the user sees a Web interface or an app interface with graphs showing the occupancy predicted by three machine learning regression algorithms, namely multiple linear regression, ridge regression and lasso Regression. The interface shows map of the best proposed car park and a list of car parks proposed in the order their value depending upon the method they used for calculation, namely FCost method, fuzzy logic method and intuitionistic fuzzy logic method. The parameters that determine the value functions are: (1) Distance from the current location of the vehicle to the car park, (2) Occupancy of the car park and (3) Congestion along the path to reach the car park.

46

M. V. Sumini et al.

Fig. 2 Overview of system architecture

Our system follows a bottom-up approach where the system development starts from the bottommost module which compares various regression algorithms to select the best one for this problem followed by occupancy prediction using the best algorithm which is the layer above the bottommost layer. This is followed by predicting the best parking lot based on the cost function, and the results are displayed using the Web interface which is the topmost layer. Here, the output of the lower layers is supplied as inputs to the layer above it. Overall architecture of the system is depicted in Fig. 2. It consists of a network of car parks say Car Park 1, Car Park 2, … Car Park N. When a vehicle searches for a car park, a cost function is calculated for each car park and the car park with the least value for the cost function is proposed to the driver. The driver has an App on his mobile which proposes a car park based on the cost function. There is another angle to this problem which is, if the proposed car park is full, there is an option to propose an alternate car park based on the neighbour table and cost function. Our car park design is based on the forwarding technique where if one car park is full, an alternate car park is suggested where the vehicles are forwarded. This reduces the queuing time as compared to the greedy method involving a single car park. Here, all the car parks are considered as a network with each car park with a neighbour table with information about the neighbouring car parks. Here, if a car park is full, the cost function is calculated for all its neighbours and the neighbour with the least-cost function value is proposed as the alternative. But here, the parameters change a little bit where the distance becomes the distance between two vehicle parking nodes, the occupancy becomes the occupancy of the destination car park and congestion same as in the previous case. High-level design of the system is shown in Fig. 3. The system consists of four modules which are: (1) Comparing regression algorithms to find the best one (2) Calculating occupancy of car parks

Fuzzy Concepts and Machine Learning Algorithms …

47

Fig. 3 High-level design

(3) Finding the best parking slot or an alternate parking lot if the proposed lot is full, based on cost function, (4) Design a Web interface to for visualization and interaction. In low-level design, each module specified in the high-level design in broken down and explained in detail to get a clear picture of the system. Module 1 is a Web interface is designed using Django. Module 2 deals with suggesting parking lot based on cost function and suggesting an alternate car park if the current car park is full. Module 3 deals with occupancy prediction for car parks. Beta value or the occupancy is predicted using machine learning from historical data available from Pinpark. Since it is a prediction problem and the value to be predicted is continuous, the supervised learning regression algorithm was used. Module 4 compares regression algorithms on historical data. In this module, car park from available parking lots is proposed based on the function F (Alpha, Beta) where Alpha is the distance between two nodes and Beta is the number of free parking spaces in the destination node. The parking lot with least F (Alpha, Beta) is the best option. Every parking lot has a neighbour table with the following information which are neighbour, F (Alpha, Beta), distance (Km), percentage of free spaces and capacity. Instead of real-time free parking spaces available directly from IoT sensors, this data is predicted using the historical data available using machine learning algorithms. Also, F (Alpha, Beta) is being modified by adding a third component Gamma which is the traffic congestion at a particular path between the locations of the vehicle to the location of the parking lot. The modified function is F (Alpha, Beta and Gamma). This supervised learning technique based on regression algorithm is the backbone of this proposed system.

48 Table 2 Comparative study of algorithms for occupancy prediction

M. V. Sumini et al. Machine learning (regression) algorithm

Mean square error (MSE)

Multiple linear regression

4.714027914677044

Ridge regression

4.711650271322953

Lasso regression

4.694350539356925

7 Results and Discussions 7.1 Comparing Regression Algorithms The Dataset Here, the historic data for occupancy prediction was provided by a company named Pinpark, which is a specialist in vehicle parking, who has taken up parking operations for the Kochi Metro. However, the data used for training the machine learning algorithms is worth a few months say from June to September, 2017. Comparison The occupancy prediction was implemented using three different machine learning algorithms where the mean squared error (MSE) was calculated. The lesser the MSE, the more accurate the predictions are. Here, MSE for all the three algorithms does not show much variation as shown in results. They lie at an approximate range of 4.5–4.7; hence, we can safely assume that the performance is similar which may vary with a huge dataset. Large datasets usually create better results for ML Algorithms as it helps detect, classify and understand outliers in the data. With more data, the intrinsic distribution of every attributes in the data could be better understood [18]. Comparative results of the algorithms are presented in Table 2.

7.2 Vehicle Parking Prediction Techniques After much research, we have proposed three different methods for route prediction, namely the FCost, fuzzy logic and intuitionistic fuzzy logic methods. Here, the same dataset used for occupancy prediction is being used and the different car parks considered are the real-life car parks used by the Kochi Metro. Every method calculated a cost value for each station, and the station with the maximum cost value is considered as the best car park for vehicle parking. So as per FCost method, Aluva_Open with the highest cost value of 0.539 is considered as the best parking lot. Similarly, as per fuzzy method, Kalamassery_Town with 0.146 and as per intuitionistic fuzzy, Palarivattom_LHS with 1.641 are considered the best. The three route prediction algorithms proposed are compared based on three different criteria, namely occupancy, distance and congestion. Occupancy refers to number

Fuzzy Concepts and Machine Learning Algorithms … Table 3 Route prediction algorithms performance—best cost values

Table 4 Route prediction algorithms performance—occupancy, distance and congestion

49

Route prediction algorithm

Metro station

Best cost

FCost

Aluva_open

0.539

Fuzzy logic

Kalamassery_Town

0.146

IFuzzy logic

Palarivattam_LHS

1.641

Route prediction algorithm

Occupancy prediction

Distance (km)

Congestion in path (km/h)

FCost

3

21.81

33.23

Fuzzy logic

2

14.61

40.48

IFuzzy logic

4

8.94

21.71

of parking slots occupied, distance refers to the actual distance between the current position of the vehicle to the car park which is measured in kilometres and congestion here refers to the maximum speed in which a vehicle can travel along the particular route which is measured in kilometres per hour. When comparing FCost, fuzzy and intuitionistic fuzzy methods, the fuzzy logic method shows the best performance with occupancy of 2, distance of 14.61 km and congestion of 40.48 km/h. This is followed by FCost with occupancy of 3, distance of 21.81 and congestion of 33.23 km/h. Least performances is shown by Ifuzzy method with occupancy of 4, distance of 8.94 and 21.71 km/h of congestion. It can be argued that the distance of the car park at Palarivattam_LHS is the least but is considered to show poor performance under Ifuzzy; this is because sometimes a long route with least congestion is always better than a heavily congested shorter route. The poor performance of Ifuzzy can be attributed to a delta value which needs more training and refinement. Results of the comparison are given in Tables 3 and 4.

8 Conclusion and Future Work This project is an attempt to implement occupancy and car park prediction using machine learning. The work as a whole has been divided into five modules which implements the whole project. The occupancy prediction using multiple linear, ridge and lasso regressions and optimal parking lot prediction using FCost system, fuzzy logic system and IFuzzy system has been implemented. The accuracy of machine learning algorithms was calculated using MSE values which shows similar performance while out of FCost, Fuzzy and IFuzzy, Fuzzy shows best performance followed by FCost and IFuzzy. Since KMRL produces real-time occupancy data, we could use this system for practical implementations of occupancy and car park prediction.

50

M. V. Sumini et al.

This project is a basic version of occupancy and car park prediction. As future work, we could easily adapt this system to cities with parking facilities. Since most people nowadays use smartphones for browsing, an app implementing the abovesaid system is worth considering. Apart from occupancy and car park prediction, a route prediction employing Google Maps to direct the driver through a path of least congestion can also be built. Also, apart from the three variables used in value function, we could add more variables, and a more refined delta value can result in more accurate and realistic intuitionistic fuzzy results.

References 1. Zheng, Y., Rajasegarar, S., Leckie, C.: Parking availability prediction for sensor-enabled car parks in smart cities. In: Proceedings of the 2015 IEEE Tenth International Conference on Intelligent Sensors, Sensor Networks and Information Processing, pp. 1–6 (2015) 2. Pham, T.N., Tsai, M.-F., Nguyen, D.B., Dow, C.-R., Deng, D.-J.: A cloud-based smart parking system based on Internet-of-Things technologies. IEEE Access 3, 1581—1591 (2015) 3. Napoli, C.D.., Nocera, D.D., Rossi, S.: Negotiating parking spaces in smart cities. In: Proceedings of the 8th international workshop on agents in traffic and transportation, in conjunction with AAMAS (2014) 4. Stolfi, D.H., Alba, E., Yao, X.: Predicting car park occupancy rates in smart cities. Int. Conf. Smart Cities 10268, 107–117 (2017) 5. Richter, F., Martino, S.D., Mattfeld, D.C.: Temporal and spatial clustering for a parking prediction service. In: IEEE 26th International Conference on Tools with Artificial Intelligence, pp. 278–282 (2014) 6. Caliskan, M., Barthels, A., Scheuermann, B., Mauve, M.: Predicting parking lot occupancy in vehicular Ad Hoc networks. In: IEEE 65th Vehicular Technology Conference, pp. 277–281 (2007) 7. Atif, Y., Jianguo, D., Jeusfeld, M.A.: Internet of Things approach to cloud-based smart car parking. Procedia Comput. Sci. 98, 193—198 (2016) 8. Tiedemann, T., Vogele, T., Krell, M.M., Metzen, J.H., Kirchner, F.: Concept of a data thread based parking space occupancy prediction in a Berlin pilot region. Workshop on AI for Transportation (2015) 9. Caicedo, F., Blazquez, C., Miranda, P.: Prediction of parking space availability in real time 39, 7281–7290 (2012) 10. Chen, B., Pinelli, F., Sinn, M., Botea, A., Calabrese, F.: Uncertainty in urban mobility: predicting waiting times for shared bicycles and parking lots. In: 16th International IEEE Conference on Intelligent Transportation Systems, pp. 53–58 (2013) 11. Trusiewicz, P., Legierski, J.: Parking reservation application dedicated for car users based on telecommunication APIs. In: Federated Conference on Computer Science and Information Systems, pp. 865–869 (2013) 12. Jermsurawong, J., Ahsan, M.U., Haidar, A.H., Dong, H., Mavridis, N.: Car park vacancy detection and its application in 24-hour statistical analysis. In: 10th International Conference on Frontiers of Information Technology, pp. 84–90 (2012) 13. Sana, B., Riadh, H., Rafaa, M.: Intelligent parking management system by multi-agent approach: the case of urban area of Tunis. In: 2014 International Conference on Advanced Logistics and Transport, pp. 65–71 (2014) 14. Wang, H., Li, G., Chen, S., Shen, B., Wu, H., Li, W.-S., Tan, K.-L.: R3: a real-time route recommendation system. Proc VLDB Endowment 7, 1549–1552(2014)

Fuzzy Concepts and Machine Learning Algorithms …

51

15. Pullola, S., Atrey, P.K., Saddik, A.E.: Towards an intelligent GPS-based vehicle navigation system for finding street parking lots. In: IEEE International Conference on Signal Processing and Communications, pp. 1251–1254 (2007) 16. Saranya, A., Balamurugan, R.: Neural network based parking via Google map guidance. Int. J. Eng. Res. Appl. 5, 06–12 (2015) 17. Watene, G., Musiega, D., Ndegwa, C.: A GIS based parking management and dissemination system. IJSR 2, 194–201 (2013) 18. Is more data always better. https://www.quora.com/Is-more-data-always-better

A Distributed Algorithm to Create a Minimum Spanning Tree in a Multi-channel Cognitive Radio Network Deepak Rohilla and Mahendra Kumar Murmu

Abstract Assign frequency channel to each node channel assignment technique is used in the common networks. In cognitive radio networks (CRNs), dynamic spectrum access is used in multi-channel networks. The CRNs are more efficient than traditional networks in terms of bandwidth utilization. The CRN is symbolized by selecting a channel for each unlicensed user from the set of available channels at every point in the path. Routing is possible if at least one mutual channel exists between any node pairs in the path. In traditional multi-hop networks, a theoretical graph has been used. Yet, it is not easy to simulate a multi-hop cognitive radio network efficiently or maintain the information needed in order to achieve optimal routing. Due to this, a multi-edge planer graph has been designed to implementing AODV, DSDV routing protocol. In this article, we proposed an algorithm to create a minimum spanning tree (MST) in a multi-hop CRN. The MST employs a routing protocol that is helpful to eliminate redundant links and counter loops in the network. Using this method, we intend to keep stable the performance of the networks even if some nodes increase. Keywords Cognitive radio networks (CRNs) · Multi-hop CRN’s (MHCRN’s) · Minimum spanning tree (MST)

1 Introduction Cognitive radio network (CRN) is a rising area of research in the wireless communication paradigm. It is a creative communication system that senses around and accommodates its internal seats for the statistical change within incoming radio frequency signals by building comparable changes in a conversed operating parameter in real time. The nodes present in cognitive radio networks (CRNs) are classified into two components: licensed user or primary user (PU) and unlicensed users or secondary users (SU). The primary user node holds the license of the spectrum, whereas the secondary users always cooperate with the environment while they came D. Rohilla (B) · M. K. Murmu Department of Computer Engineering, National Institute of Technology, Kurukshetra, Kurukshetra, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_4

53

54

D. Rohilla and M. K. Murmu

in influence with other SUs using white holes or free spectrum of primary user(s). The network formed by the secondary user node is temporarily available. The various functional operations of cognitive radio networks are following: Spectrum sensing: SU determines which portion of the spectrum is vacant and detects the licensed users if present in the band. Spectrum decision: After detection of spectrum holes in the licensed band, the SU decides and selects the best available channel from spectrum band for communication. Spectrum sharing: If multiple secondary users are present, the available spectrum can be shared in cooperative manner. The channel is vacated when licensed user interferes. Spectrum mobility: Spectrum mobility arises if in the current channel on which SU is communicating becomes worse or a primary user appears. At any particular instant, several licensed spectrum bands may be available for SU. The present works contribute designing of MST for CRNs. The MST is a logical graph structure which connects all SU nodes using minimum possible edges. The various uses of MST in the cognitive radio networks are message broadcasting, in image processing single-linkage clustering construction of road, TV cable/telephone network design, etc. In extent, there are some standard features while designing an algorithm for MST. These features could be as follows: (a) the MST is not creating any cycle within the graph, (b) the resultant tree must be unique, (c) algorithm must be a reliable one up to some extent and (d) unique weights for all edges in MST graph. The research on distributed minimum spanning trees has been observed as one of the most discussed domains in algorithm design. Many efforts have been made to construct MST in a distributed manner. The various authors have discussed many distributed algorithms which are modified version of Kruskal’s edge partitioning and vertex portioning and modified Prim’s algorithms. Some bio-inspired ACO metaheuristic-based MST also has been exploited for several networks. As observed, ACO-based algorithms are extensively used in MANET to solve optimization problems. The proposed algorithm assigns unique weight to each edge in multi-hop CRN. In this algorithm, graph G having N number of users which defines the networks. Every user is described by vertex V, and the edge between vertex pairs is represented by E. An algorithm is recommended to keep the minimum k neighbors to return with resolutions that can be improved to eliminate redundant neighbors for each node. MST algorithm proposes the process of creating a unique path from a single node to another node by neglecting the redundant link in the network. With the help of a priority queue, the algorithm extracts minimum edge weight and exploits the graph until a new topology is created. It is further referred to as a minimum spanning tree. The rest of the works have been organized as follows. Sect. 2 describes the related works. Next, illustration of the system model is given in Sect. 3. Sect. 4 consists of two algorithms, namely channel assignment algorithm and the creation of MST algorithm. Finally, the works have been concluded in Sect. 5.

A Distributed Algorithm to Create a Minimum Spanning …

55

2 Related Work Algorithms used for routing like DSR, DSDV and AODV are elaborated in [1– 3]. These algorithms have the highest outcomes for traditional networks. Hence, in cognitive radio networks, performance is degrading because the spectrum is dynamic. In the MHCRN, the channels usually get selected according to the primary user interaction in the topology. Thus, to find a path in this type of network, it is necessary to follow a series of steps. These steps are scanning free channel at each node and selecting a typical channel for each of the paired neighbors. When multiple common channels are included between two nodes, it is necessary to select the best channel based on various criteria. An alternative solution was suggested by a layered graph model to the primary drawback in [4]. The graph layer in the graph shows each channel or frequency. Each layer could be a sub-graph that features user nodes. If user nodes are in the range of mutual transmission, then they are connected to each other. Interlayer connections are possible to communicate between the nodes across levels. A routing strategy has been suggested to find the optimum path using this graphical model. The disadvantage of this graphical routing algorithm is that it is a complicated model of this layered graph. In [5], new graph-based models are invented for layered graph models. This places the MHCRN’s dynamic position in the edge weights. This model is simple, otherwise many criteria related to the radio channel are considered in the critical edge weights. Here, a routing protocol called distance vector routing is used for route search. It turns out that the success rate (about 90%) of multi-radio CR is much more than the success rate of single-radio cognitive radio. The disadvantage of this effort is that the complexity of the entire operation also increases with the rise of the number of nodes, i.e., it requires a long time to find paths. In [6] and [7], centralized and distributed approaches are analyzed for cognitive radio networks. Most suppose that each node has only one radio that can change between various stations. A spectrum-conscious algorithm for channel assignment was provided in [8]. It is believed that any routing algorithm program will provide the best results to support channel selection.

3 System Model In a multi-graph model, there are multiple edges between nodes, unlike the usual graph model used in routing [5]. This feature of the graph considers the set of available channels, the potential routing and neighbor set for each channel. This segment of the paper explains the proposed graph in detail. Routing in the MHCRN is based on the current channel; earlier, it was based on the primary user node interaction in the topology, that is, the best alternative to routing is to provide the routing node with information about the set of channels available at each node. In inclusion, a wide variety of interfaces accessible

56

D. Rohilla and M. K. Murmu

Fig. 1 Two nodes linked with different channels

at each node are further needed to design useful routing algorithms. For example, if there are multiple interfaces at an intermediate node in the route, interference will be reduced, and throughput will accumulate, as two very different channels are selected for input and output communication. It is supposed that information on the overall type of interface and each node available channel is given to the node’s routing layer. Every user should be described as a graph node, and every normal route between two nodes should be patterned like an edge. The multi-edge graph G is seen in [5], in which N indicates the total nodes and C indicates the total channel numbers. In multi-hop CRN, if two neighbor nodes communicate with each other, then they have more than one channel to transfer the information. Furthermore, this scenario creates a dilemma to every message transferred from source to destination node. For example, nodes X and Y having three different channels to transfer their information with each other are graphically shown in Fig. 1. Channels 1, 2 and 3 can be used by nodes X and Y to share their data to communicate. Hence, nodes X and Y are connected to each channel by the name of the three edges W 1, W 2 and W 3. The weight of an edge may be a distance or a variety of various situations such as disruption, shrinking, power, etc. The channel ID for each channel is allocated. For example, ID 1 is allocated to channel 1. Conversely, each graph node has a traditional network channel allocation. As all nodes in these networks interact via one channel, there is only one edge between the nodes that can communicate. Each radio or interface of the node can be tuned to the desired communication channel. Although precise synchronization is required between adjacent nodes and overhead is introduced, the interference between the channels can be exchanged in a very classical wireless network. All channels are, however, distributed across a broad range in the cognitive radio network and also a wide frequency band separates the channels. In this article, we look at a system where the interface of a node can change. So, to reduce the associated overhead, minimization of such switches is needed. [5] introduce techniques for capturing interface changes to minimize this overhead, given the constraints on interface changes and switching between channels. The term IC = |X − Y| is included as in [5] weight W = IC + D, whereby X is ID channel which is inbound or incoming channels, outbound channel is represented by Y and D is distance. Because X and Y are channel IDs, values are the same, and their difference is 0 when the same transmission channel is used in the incoming and outgoing transmission. As a result, the interface limit criteria are, therefore, zero, and the weight

A Distributed Algorithm to Create a Minimum Spanning …

57

W of the edge can merely distance D. The mod difference of X and Y will be a favorable nonzero value for incoming and outgoing communication when separate paths have been chosen. The IC is infinity now, and the final weight W is infinity as well. Therefore, it is not a good suitable path for this choice.

4 Algorithm Description Let us assume a topology as shown in Fig. 2, let node B has one radio, and it is not able to interact with two distinct frequencies. The routing protocol can select channel 2 or channel 1 from node A to node B. Such that with respect to [5], the weight for the next hop should be infinite and 3, respectively. W 1 appears to be infinite if node A selects channel 2, i.e., because using channel 2 no outgoing edge is available for node B. Because of this reason, standard signal from origin to destination is required from a single wireless network. Thus, by adding IC terms to the weight of a signal wireless node’s immutable output edge, the protocol at that node avoids the opportunity to select two different channels.

Fig. 2 Sample topology

58

D. Rohilla and M. K. Murmu

Weight assignment of channel

Above algorithm is introduced to build multi-edge planer graph and add weight to each channel. In this algorithm, G having N number of users defines the network model. Every user is described by vertex V, and the edge between a vertex pair is represented by E. The weight on each edge indicates the distance between the nodes. The indices i and j represent the communicating node. Finally, new topology is created as shown in Fig. 3. When the topology is formatted by MST, we can see that there is one active path from the source to another target. However, MST only considers resource available during routing; hence, it may not get the shortest distance from the source to the destination.

Fig. 3 New topology

A Distributed Algorithm to Create a Minimum Spanning …

59

Algorithm for MST creation

Algorithm 2 proposes the process of creating a unique path from a single node to another node by neglecting the redundant link in the network. To develop this process, the concept of minimum spanning tree is used. To find a path, the algorithm takes an input G(V, E) and reconstructs another topology defined as G* (V * , E * ). In this algorithm, s indicates a node where the route begins called source node, d[i] tracks latest shortest distance and p[i] includes vertex i parent node.

5 Conclusion The paper proposed a minimum spanning tree algorithm for multi-hop cognitive radio network. Our minimum spanning tree can be used for routing which can have loop-free topology. In addition, the algorithm allows alternate links to be included in the network architecture if the current link fails. Therefore, the protocol performance is observed stable up to some extent, and it is not degraded even if the number of users increases. Our MST algorithm can be used to increase the efficiency and enhance time complexity of routing protocols.

References 1. Murmu, M.K.: A distributed approach to construct minimum spanning tree in cognitive radio networks. ICECCS Procedia Comput. Sci. 70, 166–173 (2015) 2. Sun, X., Chang, C., Su, H., Rong, C.: Novel degree constrained minimum spanning tree algorithm based on an improved multicolony ant algorithm. In: Mathematical Problems in Engineering, article ID 601782, pp. 1–7. Hindwai Publishing (2015) 3. Singh, A.K., Negi, A., Kumar, M., Rathee, V., Sharma, B.: On the linear time construction of minimum spanning tree. In: ACEEE Proceedings of International Conference on Recents Trends in Information, Telecommunication and Computing, pp. 82–87 (2014)

60

D. Rohilla and M. K. Murmu

4. Kondareddy, Y.R., Agrawal, P.: A graph-based routing algorithm for multi-hop cognitive radio networks. In: Proceedings of the 4th International ICST Conference on Wireless Internet (2008) 5. Mazeev, A., Semenov, A., Simonov, A.: A distributed parallel algorithm for the minimum spanning tree problem. In: Parallel Computational Technologies, Springer CCIS Series, vol. 753, pp. 101–113 (2017) 6. Sichitiu, M.L.: Wireless mesh networks: opportunities and challenges. In: Proceedings of World Wireless Congress, vol. 2 (2005) 7. Akyildiz, I.F., Wang, X., Wang, W.: Wireless mesh networks: a survey. Comput. Netw. 47(4), 445–487 (2005) 8. Zhao, Q., Swami, A.: A survey of dynamic spectrum access: signal processing and networking perspectives. In: 2007 IEEE International Conference on Acoustics, Speech, and Signal Processing—ICASSP 07 (2007)

A Distributed Fault Analysis (DFA) Method for Fault Tolerance in High-Performance Computing Systems G. Sreenivasulu, P. V. S. Srinivas and A. Goverdhan

Abstract An increasing proportion of computing capacity is being wasted, leading to service degradation in high-performance computing (HPC) systems because of failures and recovery operations. In addition, HPC is expected to meet large-scale computation needs in the future by minimizing the average failure time to almost negligible and by overcoming the growing challenge of handling fault tolerance. This paper proposes a novel distributed fault analysis (DFA) for discovering the presence of faults to handle the failure effectively. It aims to detect the various changes of the node state in the system in a specified time period and to ensure the proper functioning of the system. The DFA algorithm reduces the holding time in the event of a crash by regularly monitoring the nodes in fully connected systems and significantly reducing recovery time. The experiment analyzing a distributed system evaluates a variety of faults to accurately predict the faulty node and measures the sensitivity and specificity in comparison with the traditional mechanism to show the effectiveness of the proposal. Keywords Distributed systems · Distributed fault analysis · Fault tolerance · HPC systems

1 Introduction As computer networks and high-performance computing (HPC) systems become larger and more complex, diagnosing defects and faults becomes a daunting task for network administrators. Any fault in the HPC system usually generates numerous alarming messages generally termed as “alarm burst.” Manually recognizing or predicting the cause of such kinds of numerous messages takes an enormous amount of G. Sreenivasulu (B) Department of CSE, J B Institute of Engineering and Technology, Hyderabad, India P. V. S. Srinivas Department of CSE, Sreenidhi Institute of Technology and Science, Hyderabad, India A. Goverdhan Department of CSE, Jawaharlal Nehru Technological University Hyderabad, Hyderabad, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_5

61

62

G. Sreenivasulu et al.

time and leads to a system halt for longer. Therefore, the diagnosis of these faults automatically, in service networks, is an unfold research problem. The implications of system failures are perhaps catastrophic in the conditions of human thoughtfulness and its surrounding impact. So, the discovery of various defects in enterprise industries is very crucial [1, 2], in order to advance the competence, superiority, and cost effectiveness in the production services. Such HPC systems, for example, telecommunications networks, have become much larger and more complex. These vast systems require continuous monitoring and alarming to have a smooth service. The bursting of alarm may be caused due to software or hardware faults, which can be raised because of the multiple service calls by a faulty component, a programming error, or accessing network device/services simultaneously. Such error or faults can propagate in the network causing the service devices/services fail and create additional alarms. Thus, the challenge for the network operators is to identify the root cause of such faults quickly and correctly by analyzing those numerous kinds of alarms [3] to efficiently run the HPC systems. In a distributed system [4], the interconnected computers’ hardware or software components coordinate their functional operations with message forwarding to analyze the status of the node. In such systems, analyzing and understanding the system behavior can be difficult to predict in different behavioral situations [5]. In such case, if a system works in an erroneous environment, it is essential to control system errors gracefully and keep systems running for better performance. In the development of fault diagnosis (FD) in HPC systems, thorough monitoring of the “hardware resources redundancy (HRR)” or “functions analytical redundancy (FAR)” [6] is needed. The main drawback with the HRR approach is the large cost of the additional equipment needed. The FAR instead uses redundant functional relationships between system variables to diagnose faults. The foremost benefit of FAR approach relates to HRR which is that it does not require any additional equipment. In a diverse functioning situation, the diagnostic algorithm performs dissimilarly. The dissimilar models such as “interaction model,” “time and clock model,” “communication model,” and “failure model” describe the operational situations [7, 8]. In the past, many such algorithms had been proposed to diagnose faults in such systems [9, 10]. These algorithms were implemented depending on the diagnosis at the adaptive distribution system level [11–13]. The term adaptive specifies various phases of algorithm assessments, where the dynamic actions are executed based on different conditions. The phrase “system level” refers to the system as a non-divisible set of units known as “processing elements.” Each node in the system operates autonomously and communicates messages to share information with others. The diagnostic algorithms proposed in the past known as, “Adaptive Distributed System-level Diagnosis (ADSD)” [12] and “Hierarchical Adaptive Distributed System-level Diagnosis (Hi-ADSD)” [11] help to minimize the diagnosis delay and decrease network resources utilization. Both algorithms are believed to be completely associated with network topology. These algorithms are based on the message exchange delay among the nodes to decide the faulty nodes, but it fails to diagnose

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

63

the actual kind of faults causing the alarms. The proposed distributed fault analysis (DFA) algorithm will enhance the adaptive algorithms for entirely connected networks by injecting different faults to evaluate the performance. This paper proposes DFA algorithm to reduce the access time of the diagnosis in the event of random failures and restores. Previous algorithms faced problems in reducing the numerous assessments at the expenditure of delay in the deficiency of dynamic circumstances. The DFA algorithm aims to reduce the number of diagnosis assessments through a feature of learning the faults and minimize the prediction delay time in the systems that are fully connected to the dynamic environment. It will be evaluated in arbitrary topologies to assess the importance of fault prediction and latency by understanding the significance of the previous algorithms. The DFA provides a comparison between the algorithms implemented earlier to propose optimization. The remaining paper is categorized in the following structure. Section 2 discusses a relevant literature survey, Section 3 presents the complete illustration of the proposed distributed fault analysis (DFA), Section 4 presents the experiment methodology and result evaluation, and finally, Section 5 presents the conclusion of the paper.

2 Literature Survey Fault analysis in the distributed HPC systems has been an active research area for several decades and has suggested a variety of different approaches [14]. The purpose of the FD researches is to improve safety, effectiveness, and consistency. Intermittent dysfunction is executed when it affects on the HPC system for intermittent phases of time [15]. Even though the possibility of an error is inevitable, it should be diagnosed as soon as achievable because it may perhaps direct to severe outcomes in the period. The existing approaches [16–18] are intended to focus on the dynamic analysis techniques, which diagnose techniques using information collected at run time [19]. It commences by summarizing the complete methods to find faults and performance problems. Current network fault management systems [2, 4, 7] are frequently executed merely on the primitive FD mechanisms considering LAN topologies. In such conventional methods, the monitoring was performed in the presence of some supervisors typically just one, and they categorized into a hierarchy from where every one of them is dependable for questioning a group of agents and informing to observers at advanced levels [20]. These approaches suffer from the drawbacks of monitoring failure or inaccessibility. In such case, if the entire diagnosis depends on input, then the full part of the network service will be halted, and to restore it, it is essential to investigate the network nodes.

64

G. Sreenivasulu et al.

2.1 Distributed System-Level Analysis Adaptive assessment and distributed diagnostics were integrated into the adaptive mechanism as in “Adaptive Distributed System Diagnostics algorithm (ADSD).” It was developed and implemented in 1990 by “Bianchini and Buskens” [21]. The “ADSD”-based application includes operational execution. It was the initial realistic online application utilizing the system-wide diagnostics in a truly distributed background. It does not limit the number of defective nodes, and it is intended to reduce network resources used to identify the faulty nodes. Every node in the network recognizes faults of all other nodes in the network and performs diagnostics locally. In the algorithm specified, each node maintains a data structure and a serial number that stores information about other nodes. It will continue to assess the node based on the serial number until it detects all the false nodes or finds any defective node. In this way, it creates a cycle of faultless absorption of nodes that run various services across the network.

2.2 Hierarchical Adaptive Distributed System-Level Analysis Duarte et al. [22] proposed the “Hierarchical Adaptive Distributed System-Level Diagnosis (Hi-ADSD)” algorithm to enhance the distributed fault diagnosis. The algorithm tries to group the nodes into a set of nodes to perform group analysis in the network. It employs the “divide-and-conquer assessment policy” to allow the nodes to independently perform a static diagnosis, generally in multiple iterations. Every node in the system at each interval makes a systematic assessment of other nodes, until it finds that all the assessment nodes are either free of faults or predicts a node having fault behaviors. In “Hi-ADSD,” the diagnosis latency is described as the iteration of assessment involved to predict the complete faultless nodes in the system. The assessment frequency is measured in the expressions of “seconds” or “minutes,” but it is not always simple. For example, an examiner could assess N number of faultless nodes instantaneously while going with an assessment of faulty nodes until all fault-free and faulty nodes are found. Since it takes a longer time to perform such an assessment, it has been configured to a time-out timer to complete each assessment. Despite this drawback, the idea of repeating the assessment is a very appropriate procedure to identify and prove the diagnostic algorithm. Even if the node can be synchronized initially, in case of intermediate faults or a fault node recovery, the system will lose initial synchronization, and if it cannot recover from this failure in that time period of the two assessments, it is considered to be faulty.

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

65

2.3 Problems in Fault Diagnostic Approaches Apart from the above diagnosis, there are special methods that aim to find a particular type of problem. They do not come to the general diagnosis of the approaches as stated above because they are only briefly inspected. Many tools intend to detect memoryassociated faults in applications [23]. These tools can detect “buffer overflows,” “memory leaks,” “uninitialized memory attempts,” “free operations on a memory area that has already been released,” and related faults. Moreover, a wide range of efforts have been invested in finding the running conditions in multi-threaded program [24, 25] executions in HPC systems. These techniques monitor the accessibility of all to lock and open with different threads in order to ensure that the locations of all thresholds are properly protected. A. Cause of Anomalies or Faults In case of fault or error trace being identified, it needs to find the cause of the anomaly. The existing approach helps the analyst by identifying the most obvious features of the problem. For example, if an application enters an infinite loop, it will direct the parser to the function containing that loop. The analyzer then uses the collected tracking or application source code to determine why the function is implemented as such. Here, it compares this technique with the methods proposed in the previous work [1, 5, 15, 17] to associate the causes of such anomalies or faults. The system then locates the trace of anomalous features; it allows the parser to identify the event responsible for that anomalous feature. Firstly, the request creates a probability level device for accepting a set of strings. The system then activates the unusual request string of the device and identifies all the changes to the lowest probability. These transformations are related to the events in which the abnormal demand has been addressed and deviated from the norm. These events are then marked as root causes of anomalies and are reported to the analyst. This approach can also be applied to the effects of our level of functionality. It may be able to identify the first function call that was present in the abnormal trace, but it is absent from normal calls. Calling the first function may lead the parser to an early display of the problem. So, analyzing such features is a more direct indicator of the problem and the most obvious features identified with such approaches. B. Failure Model In general, a system fails when it cannot deliver the services needed. If the specified HPC systems are designed to provide users with multiple services, the system fails if one or more of these services are not fully provided. Such kind of fault or error in system state will lead the systems into a failure model. Most of the implemented diagnostic algorithms considered the immediate error in the nodes to judge the node state utilizing the message provided by the network. Mostly, the state of the node is placed by a hardware device that has two states, “failed” and “works.” A failed node is not able to transmit messages and also not able to trigger any computation, whereas an operational node executes the diagnosis method

66

G. Sreenivasulu et al.

faithfully. However, such diagnostic algorithms can be improved to assessment-based algorithms utilizing various faults’ features. In utilizing the transformed features of the events observed in the nodes in a network, the algorithms can easily perform the explicit assessment and can then remove the identified fault in a specified time to improve the service of the HPC systems. To have such a combination of events and feature transformation-based diagnosis analysis, we propose the DFA algorithm as illustrated in the following section.

3 Proposed Distributed Fault Analysis (DFA) Method 3.1 System Architecture Figure 1 describes the system structure of the DFA process flow mechanism. It shows that nodes “A,” “B,” and “C” are the HPC nodes distributed in the network. The diagnostic server at regular intervals detects the new node and forms a dynamic grouping in support of the state of the node. It performs “data transformation” and “features extraction” to analyze the status of node by fault detection through a “fault analysis (FA)” algorithm. The node fault prediction was performed by the DFA process to provide the node state by analyzing the “node behavior” by extracting the features during the diagnosis period.

Fig. 1 System architecture of DFA

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

67

A. Dynamic Grouping Dynamic grouping of nodes is made through unicast or multicasting message on the network. It considers either a fully connected or non-connected network for implementing the function of dynamic grouping. Fully connected networks consist of a direct communication channel between each node pair. This is a requirement to achieve a defined accuracy with any number of node failures. Relay messages are transmitted by the intermediate nodes to a source or target nodes if the network is not fully connected. Therefore, to keep the network always connected, less number of node failures is essential. The unicast or multicast is performed as a multidiscipline for reducing overhead in fully integrated or unconnected networks. B. Data Transformation and Feature Extraction This module implements the ability to collect relevant information in a uniform format throughout the system. This structure is described as “features matrix (FM).” Here, the node’s feature is defined by any individually measurable attribute or variable. If it does not fulfill its promise, the system will fail to act. Specifically, if a distributed system is designed to provide users with multiple services, the system fails if one or more services are not fully provided. Errors can cause faults and define its state of function that may lead to a failure of the services. The FA algorithm is implemented by utilizing FM of various dynamic fault occurrences in the node, received in the form of messages from the network. The transformation to FM makes it easy to perform explicit assessing to do fault assumption and elimination. PCA is a recognized “dimensionality reduction technique” [26]. By default, a linear transformation is performed related to a specified group of data elements to a new component axis. In case of working with zero-mean data, each key component is a property that represents the maximum of the rest of the rankings, to take into account the variance already considered in the previous components. To construct FM, PCA-based feature extraction techniques are applied to generate matrices with much lower dimensional values while maintaining the main appropriate information in the data. It improves the analysis of error data by reducing the dimension of data and advances the quality of data analysis by eliminating the integral data dependencies of traditional error analysis techniques. C. Distributed Fault Analysis (DFA) Process The DFA process is utilized to learn the nodes which behave diversely from the group of nodes, it is called as “abnormal behavior.” By analyzing the FM generated feature extraction, it can quickly identify an outlier using the “FA initialization algorithm.” The result of a node state is modeled by predicting the state of the system with two states, “failed” or “working.” In this case, the failed node does not send the message nor it performs any computation, and the working node faithfully executes the process of the analysis procedure. The DFA process is performed in two stages, initially, it performs the node initialization to configure the node default state and transmit the FA message, and later, it performs a “node behavior (NB) analysis” and “fault status prediction” as discussed below.

68

G. Sreenivasulu et al.

1. FA Initialization If a node “A” status is working and the initial status condition for all other nodes is unknown, then it sends a message and initiates a “sender message timer,” and also a “receiver message timer” and waits to get messages. It repeats this mechanism periodically to monitor the status of the nodes. When a message is received from either node, “B” or “C,” node A sets the status of that node as a task and resets the timer for the reception, and when the send timer expires, it sends a message to all network nodes and sets the timer at predefined intervals. In case of the receive timer expires, the host node configures the state of that node as “failed.” The functionality of FA initialization by a node is being illustrated in Algorithm 1. Alogrithm-1: FA Initialization Method: InitExecute ( Node x ) { //-- Default working Initialization--Node [x].wstatus = "working"; //-- Set Response Wait Time Period--Q = Init_FAwaitTimer (T); //-- Transmit FA Message to the grouped nodes n-for( g = 0; g< n - 1; g++) do { if (g x) then { Node [g].wstatus = " unknown"; Node [g].Transmit_FAMsg("FA-STATUS"); Node [g].InitWaitTimer();

} } }

Utilizing Algorithm 1, it acquires the “FA-STATUS” for a time period Q and constructs the FM to predict the fault status. In the following section, we discuss the method of analyzing the behavior and predicting its functioning status. 2. Node Behavior (NB) Analysis and Fault Status Prediction To determine the state of the node, it must analyze the “node behavior (NB)” based on the data extracted from different nodes. It will try to distinguish between nodes that differ in function from the node group. The node is often different from the majority, such as “faulty” or “abnormal”. It can be expected under certain conditions [27] making NB analysis quite different from others.

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

69

The status of the node is recognized using FM values. Node behavior can be arbitrarily altered by the overload of high-speed network computing. This can also be attributed to many attacks or lack of resources to maintain network links and redirect packets from the high volume of service requests. The NB estimates will be performed by analyzing the correlation of probabilities [15] to decide the position of the node in the network. In such a case, the feature analysis lists the information that separates the node as “normal as N” or “faulty as F.” The faulty node can be considered as an unsuccessful node if its behavior is abnormal. Therefore, these nodes are no longer considered reliable and must be considered for repair. Although there is no exact source of conversions for the node, it has been considered that these common changes occur in a different communications network. The NB learning method applies the probability of FM transformation prediction to understand the exact additional state of the node. Let us assume that a network has a set of nodes as “G = {s1 , s2 , s3 , …}” and is classified according to their state change. We have a feature vector FV having the defined class and its probable attributes’ values represented as, “FV = {[F 1 (a1 , a2 , a3 , …)], [F 2 (a1 , a2 , a3 , …)], …, [F k (a1 , a2 , a3 ,…)]}”. In case of the nodes changes their state arbitrarily or remain same during the communication in a particular time interval Q as shown in Fig. 2. So, the learned FM probability of the node activity transformation based on the NB change over an interval of time Qi can be presented as Ptform = prob((Pc → FVc+1 )|(Pc → FVk ))

(1)

However, the dynamic procedure of the node can change completely at the control interval once. For example, in a time period, the Qi node resource level is low, and its state is changed to faulty. Therefore, to pretend this node is calculating the potential average of the NB changes, NBmean is calculated from the collective state changes to determine the possible state prediction, where the NB changes for each node are considered as “0” state for N and “1” state for F.  NBmeans =

Individual NB States No. of Time Interval

(2)

Using the Eq. (2), it finds the average value of NBmean of each node state in the range from 0 to 1, where “0” is considered to be least faulty and “1” is considered to be the highest faulty. If a node NBmean > Th_Val, it is considered as faulty, and it immediately requires the recovery process to maintain high-performance computing.

Fig. 2 A NB changes over a time interval

70

G. Sreenivasulu et al.

Distributed systems are superior to the centralized systems in service computing, but the selection is completely according to the necessities of the utilization. Even though the centralized system is simpler to administer and manage, the effects are much higher in case of failure in comparison with the distributed systems as it is more resistant to failures or disruptions. In the next section, we discuss the evaluation process of this proposal and measure the improvement.

4 Experiment Evaluation We evaluate the proposed DFA systematically by introducing multiple system faults manually. Although it is better to do the empirical assessment of the actual faults, the main problem with this approach is that might take several days to observe the actual fault behaviors. Also, there is no guarantee that various faults will occur in the system during the trial period. A commonly accepted solution to this problem is to inject the effects of defects into the system and monitor system behavior from injected defects [28, 29]. In these experiments, we are able to assess the mechanism of determining anomalies proposed on various fault effects by injecting these faults. It compared the outcome of the proposed DFA algorithm results with the results of “Hi-ADSD algorithm” [22] and justifies the improvisation.

4.1 Types of Faults Evaluated Introducing the evaluation faults randomly and randomly creating a faulty background thread separate from the application thread and evaluating whether other mechanisms can effectively identify the faulty node or not. There are three random factors to consider in our fault introduction. The first is to determine the various nodes to introduce faults, the second is to determine which nodes to introduce faults, and later, how to determine the type of the faults introduced. The evaluation experiments introduce faults from “0” to “20” nodes which were randomly chosen. The insertion of “0” is to assess the DFA mechanism for determining our anomalies in a fault-free environment. The evaluation process considered most general faults occurring in a system while providing services, as follows: • Memory Leak: Introduces a thread that generates memory leaked from a node in addition to the normal calculation thread on randomly selected nodes. In other words, these threads continue to consume memory periodically and without releasing the memory. • CPU-exhaustive threads: Threads inserted from randomly chosen nodes compete for CPU resources with the node’s generic calculation thread.

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

71

• Repeating I/O operations: Introduces an additional I/O intensive thread that continues reading and writing a large volume of bytes from the local disk at randomly selected nodes. • Network data overflow: An additional thread is introduced at randomly selected nodes to continue to transmit multiple packets. • Deadlock: A thread injected from a randomly selected node blocks the application process from system resources. We choose these faults based on the literature and our experience in analyzing the system logs [15]. For example, a deadlock results in a job stop error, some network related errors such as packet loss are caused by high traffic volume, and some node map file errors are caused by frequent I/O operations. In our experiments, these defects are assumed to originate in the system, not in the application. It can affect multiple subsystems of a node, including nodes’ “memory,” “CPUs,” “I/O,” and “networks,” which in turn can lead to system failures and degradation of the performance.

4.2 Evaluation Metrics The purpose of identification of abnormal network nodes is to separate the nodes into two kinds of classes as “class that contains defects as faulty (i.e., anomalies)” and “class that does not as normal.” Sensitivity and specificity are two widely used metrics for measuring binary classification assessments. Sensitivity measures the percentage of correctly identified true positives, and the specificity measures the percentage of correctly identified negatives, as Fig. 3 defined this in particular between the actual and predicted state of a node. • Sensitivity is the proportion of the ratio of the correct faulty classification to the number of actual faults, i.e., the missing ratio, which is computed using the Eq. (3).

Sensitivity =

Fig. 3 Evaluation metrics

TP TP + FN

(3)

72

G. Sreenivasulu et al.

• Specificity is the ratio of the correct non-fault classification to the actual number of normal nodes, i.e., the inverse of the false alarm rate, which is computed using the Eq. (4).

Specificity =

TN FP + TN

(4)

where “TP,” “FP,” “FN,” and “TN” represent the number of “true positive,” “false positive,” “false negative,” and “true negative,” respectively, as shown in Fig. 3. An effective prediction method provides a high value (~1.0) for both measures to show the efficiency of the performance. If the value of sensitivity is ~1.0, it means that the method of the reorganization of all faulty nodes is accurate, and if the specificity ~1.0, it means that the method identifies all the non-faulty nodes in the system accurately. High sensitivity is expected to avoid administrators to reprocess all the data to find the missing anomalies exception in the network HPC systems. This will determine the proposed automated mechanism usefulness. Low specificity and sensitivity should be avoided to eliminate false alarms and minimize the human efforts for fault handling.

4.3 Results In this experiment, we collect the function features every 30 s and 5 data samples per node. The higher the sampling frequency, the more analytical accuracy is typically increased, resulting in more computational overhead. We choose these parameters based on research on some commonly used monitoring tools and understanding of injected defect effects. Then, the threshold value as “Th_Val” required for state prediction is set to 0.4 to have an average level of state prediction. Defects are injected into randomly chosen nodes from 0 to 10 and assess whether the existing and proposed DFA mechanisms have correctly identified these nodes or not. Figs. 4 and 5 show the result comparison of sensitivity and specificity between Hi-ADSD and DFA. The Hi-ADSD results indicate much lower than DFA due to the utilization of feature extraction. This suggests that in addition to reducing the high frequency of repetitive assessing, the usage of a feature extraction method can improve the accuracy of the fault prediction. As discussed above, the DFA collects node functionality features during regular system operations, which supports to predict the false nodes’ identification more accurately in comparison with message-based HiADSD method. It suggests that feature extraction can reduce the negative prediction effects by maintaining the most useful properties of the faults. The improvisation in both the measure by DFA is due to the feature extraction in the fault data space which reduces the likelihood of identifying normal as faulty, based on the observations of the behavior.

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

73

Fig. 4 Sensitivity comparison result

Fig. 5 Specificity comparison result

It makes clear that the DFA mechanism provides the best results in terms of sensitivity and specificity. By reviewing the key differences between DFA and HiADSD, we believe that DFA has benefited from the high-level statistics of the data that perceptually characterize node behavior. The compilation of results shown in Figs. 4, 5, and 6 suggests that detecting a defect has the lowest accuracy as the number of defects increases. The DFA mechanism has shown the values of specificity are 0.12 higher than the Hi-ADSD, whereas 0.15 higher in case of sensitivity. In the case of accuracy, DFA shows 11.08% of improvisation in comparison with Hi-ADSD. Since our goal is to obtain extremely high sensitivity and high specificity, we conclude that in case of fault scenarios, DFA mechanisms are good candidates for automated fault identification in HPC systems.

74

G. Sreenivasulu et al.

Fig. 6 Accuracy comparison result

5 Conclusions In this paper, we propose an automated mechanism for distributed fault analysis (DFA) to detect the presence of faults in order to efficiently handle failures in largescale systems. Data transformation and feature extraction are applied to analyze node fault detection, through fault analysis (FA) algorithm. The DFA process performed node fault prediction and analyzed the “node behavior” using features extraction to provide node state. Our experiments on connected network systems with passive defect insertion have shown that the DFA mechanism can provide high accuracy by effectively detecting node failures with perfect sensitivity and high specificity. This indicates that DFA has the potential to identify faulty nodes efficiently on large network systems. In the future, this work will open up a new research direction using DFA to provide detection and observe anomalies in HPC systems.

References 1. Tuncer, O., Ates, E., Zhang, Y., Turk, A., Brandt, J., Leung, V.J., Egele, M., Coskun, A.K.: Online diagnosis of performance variation in HPC systems using machine learning. J. IEEE Trans. Parallel Distrib. Syst. 30(4), 883–896 (2019) 2. Khorasgani, H., Biswas, G., Jung, D.: Structural methodologies for distributed fault detection and isolation. J. Appl. Sci. 9(7), 1286 (2019) 3. Klinkenberg, J., Terboven, C., Lankes, S., Muller, M.S.: Data mining-based analysis of HPC center operations. In: Proceedings of IEEE International Conference on Cluster Computing, pp. 766–773. Hawaii (2017) 4. Boem, F., Ferrari, R.M., Keliris, C., Parisini, T., Polycarpou, M.M.: A distributed networked approach for fault detection of large-scale systems. IEEE Trans. Autom. Control 62, 18–33 (2017)

A Distributed Fault Analysis (DFA) Method for Fault Tolerance …

75

5. Tuncer, O., Ates, E., Zhang, Y., Turk, A., Brandt, J.M., et al.: Diagnosing performance variations in HPC applications using machine learning. In: Proceedings of International Supercomputing Conference, pp. 355–373 (2017) 6. Li, Z., Davidson, M., Fu, S., Blanchard, S., Lang, M.: Event block identification and analysis for effective anomaly detection to build reliable HPC systems. In: IEEE 20th International Conference on High-Performance Computing and Communications, pp. 781–788. Exeter (2018) 7. Kelkar, S., Kamal, R.: Adaptive fault diagnosis algorithm for controller area network (AFDCAN). J. IEEE Trans. Ind. Electron. 61(10), 5527–5537 (2014) 8. Duarte, P., Albini, L.C.P., Brawerman, A., Guedes, A.L.P.: A hierarchical distributed fault diagnosis algorithm based on clusters with Detours. In: Latin American Network Operations and Management Symposium, pp. 1–6. Punta del Este (2009) 9. Snir, M., Wisniewski, R.W., Abraham, J.A., Adve, S.V., Bagchi, S.: Addressing failures in exascale computing. J. Int. J. High Perform. Comput. Appl. 28, 129–173 (2014) 10. Rosich, A., Frisk, E., Aslund, J., Sarrate, R., Nejjari, F.: Fault diagnosis based on causal computations. J. IEEE Trans. Syst. Man, Cybern. Part A: Syst. Hum. 42(2), 371–381 (2012) 11. Duarte Jr., P., Nanya, T.: A hierarchical adaptive distributed system-level diagnosis algorithm. J. IEEE Trans. Comput. 47(1), 34–45 (1998) 12. Rish, I., Brodie, M., Ma, S., Odintsova, N., Beygelzimer, A., Grabarnik, G., Hernandez, K.: Adaptive diagnosis in distributed systems. J. IEEE Trans. Neural Netw. 16, 1088–1109 (2005) 13. Ferrari, R.M., Parisini, T., Polycarpou, M.M.: Distributed fault detection and isolation of largescale discrete-time nonlinear systems: an adaptive approximation approach. J. IEEE Trans. Autom. Control 57, 275–290 (2012) 14. Agelastos, A., Allan, B., Brandt, J., Gentile, A., Lefantzi, S., Monk, S.: Toward a rapid understanding of production HPC applications and systems. In: Proceedings of IEEE International Conference on Cluster Computing, pp. 464–473. Chicago (2015) 15. Nair, V., Raul, A., Khanduja, S., Sundararajan, S., Keerthi, S., et al.: Learning a hierarchical monitoring system for detecting and diagnosing service issues. In: Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 2029–2038 (2015) 16. Jin, S., Zhang, Z., Chakrabarty, K., Gu, X.: Accurate anomaly detection using correlationbased time-series analysis in a core router system. In: Proceedings of IEEE International Test Conference, pp. 1–10 (2016) 17. Baseman, E., Blanchard, S., Li, Z., Fu, S.: Relational synthesis of text and numeric data for anomaly detection on computing system logs. In: Proceedings of IEEE International Conference on Machine Learning and Applications (ICMLA). California (2016) 18. Agelastos, A., Allan, B., Brandt, J., Cassella, P., Enos, J., et al.: The lightweight distributed metric service: a scalable infrastructure for continuous monitoring of large scale computing systems and applications. In: Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 154–165 (2014) 19. Bhatele, A., Mohror, K., Langer, S.H., Isaacs, K.E.: There goes the neighborhood: Performance degradation due to nearby jobs. In: Proceedings of the International Conference on HighPerformance Computing, Networking, Storage and Analysis, pp. 1–12 (2013) 20. Brandt, J., Chen, F., De Sapio, V., Gentile, A., Mayo, J., et al.: Quantifying the effectiveness of failure prediction and response in HPC systems: Methodology and example. In: Proceedings of International Conference on Dependable Systems and Network Workshops, pp. 2–7 (2010) 21. Bianchini, R., Buskens, R.: Implementation of on-line distributed system-level diagnosis theory. IEEE Trans. Comput. 41, 616–626 (1992) 22. Duarte, E.P. Jr., Brawerman, A., Albini, L.C.P.: An algorithm for distributed hierarchical diagnosis of dynamic fault and repair events. In: Proceedings Seventh International Conference on Parallel and Distributed Systems, pp. 299–306 (2000) 23. Guan, Q., Fu, S.: A data mining framework for autonomic anomaly identification in networked computer systems. In: Proceedings of IEEE IPCCC (2010)

76

G. Sreenivasulu et al.

24. Shames, I., Teixeira, A.M., Sandberg, H., Johansson, K.H.: Distributed fault detection for interconnected second-order systems. Automatica 47, 2757–2764 (2011) 25. Lan, Z., Zheng, Z., Li, Y.: Toward automated anomaly identification in large-scale systems. IEEE Trans. Parallel Distrib. Syst. 21(2), 174–187 (2010) 26. Zhang, J., Figueiredo. R.: Application classification through monitoring and learning of resource consumption patterns. In: Proceedings 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS), Rhodes Island (2006) 27. Chen, M., Zheng, A., Lloyd, J., Jordan, M., Brewer, E.: Failure diagnosing decision trees. In: Proceedings of International Conference on Autonomic Computing (ICAC), New York (2004) 28. Khosrowjerdi, H., Meinke, K., Rasmusson, A.: Virtualized-fault injection testing: a machine learning approach. In: IEEE 11th International Conference on Software Testing Verification and Validation (ICST), pp. 297–308 (2018) 29. Yu, L., Lan, Z.: A scalable non-parametric method for detecting performance anomaly in large scale computing. J. IEEE Trans. Parallel Distrib. Syst. 27(7), 1902–1914 (2016)

Ontology-Driven Framework to Automatically Generate University Timetable Shruti Bajpai and Amrita Chaturvedi

Abstract Timetables have been an important part of any organization. They are related to resource allocation and time scheduling problems. To date, many universities make timetables manually, which are inefficient and consume a lot of time. Also, a large number of backtracks are required if some inconsistency is encountered. To generate a university timetable automatically, we present an ontology-driven approach that is much more efficient than the existing approaches. This model represents various concepts of the academic domain into classes and relationships and satisfies four types of constraints—hard, soft, temporal and priority. The model is transformed into an application built using the Apache Jena library. This application automatically generates the timetable when resource instances like faculty, venue and timeslot are populated to it. The inconsistencies are removed using ontology reasoners. The main objective of this work is to find a reusable solution or template that provides generality of the domain. Due to the inherent features of ontology, the model also provides interoperability among different departments of the university as well as different vendor-specific applications. Keywords Timetable scheduling problem · Ontology · Resource allocation · Reusability · Interoperability · Constraint specification · Semantic web application

1 Introduction Timetables have been an important part of any organization for decades. It ensures the effective functioning of universities, public transportation systems and many other time scheduling problems. Timetable scheduling problem at universities is always of keen interest to researchers [1]. Earlier the task of timetable generation was done manually which requires a lot of effort and time. Also, on the encounter of any inconsistency or some change in the timetable at a later point of time, these S. Bajpai (B) · A. Chaturvedi Indian Institute of Technology (Banaras Hindu University) Varanasi, Varanasi, India e-mail: [email protected] A. Chaturvedi e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_6

77

78

S. Bajpai and A. Chaturvedi

manually generated timetables require exhaustive backtracks. So there is a need for automation of university timetable generation. In literature, many techniques are addressing this issue [2–4]; however, they lack the generality of the domain and are complex procedures. At most of the universities, especially small and isolated ones, timetables are still manually generated by some persons in charge because there is not any simple and easy-to-use tool or application to generate timetable. Most of the techniques or procedures require some computer science expertise, especially if we are using genetic algorithms [2] or some more complicated concepts [5]. This task will further complicate when the institute grows in size, have multiple campuses and interdisciplinary courses. This paper is aimed to propose an ontology-driven model for timetable generation. The reason behind using ontology is threefold. Firstly, ontology enables us to model the domain concepts in a machine-accessible format which makes it a powerful and intelligent semantic web technology for efficient knowledge management. Secondly, the ontology provides implicit reasoning for hierarchy, quantification, functional properties, etc., so we do not have to state these constraints explicitly. Thirdly, ontology enables one to share a common understanding of the structure of information to people and agents, so it is useful in providing interoperability. This interoperability feature of ontology can be exploited by different vendors under the same application domain. Ontology exists in different forms like thesauri, dictionaries, lexicons and first-order logic models. We have to choose them as per our requirement. To achieve the above-stated benefits of ontology, we have proposed an ontologydriven model for university timetabling problem. The main purpose of this model is optimal resource allocation in the timetabling domain and to check for any inconsistency using ontology reasoners and remove it. The model is able to accommodate domain-specific constraints as well as dynamic requests based on priority which makes it flexible. It separates domain knowledge from operational knowledge and gives a generic solution or template. This reusable template provides common knowledge for communication between different educational stakeholders. It also provides interoperability among various departments of a university. For ensuring ease of use by the end user who has no knowledge about ontology and how to use them, a semantic web application is build to validate the model. This paper is organized into five sections. In Sect. 2, the related research work done in the field of timetable scheduling problems is discussed. In Section 3, the proposed ontology-driven model with the concepts and properties used in the model is discussed. In Section 4, the various domain-specific constraints as well as modelspecific constraints satisfied for solving the problem are provided. In Sect. 5, we describe the implementation of this model, i.e., semantic web application with an instantaneous description of a typical university timetable scenario. Finally, Sect. 6 concludes our paper where we have discussed the future possibilities of our approach.

Ontology-Driven Framework to Automatically Generate …

79

2 Related Work Several attempts have been made to solve the scheduling problem of timetable management. The focus of researchers is both on the techniques and tools. In [2], a modified genetic algorithm technique is proposed which uses a modified selection scheme, crossover and mutation strategy. In this method, on reducing the mutation rate to 0.02, zero conflict is reported. In [5], four approaches are discussed for solving timetable scheduling problems. These include sequential methods, constraint-based methods, cluster methods and metaheuristic methods. In the sequential method, the construction of a conflict-free timetable is modeled as a graph coloring problem. In cluster methods, the set of events is split into groups that satisfy hard constraints and then the groups are assigned to time periods to fulfill the soft constraints. In constraint-based models, a set of variables are assigned certain values to satisfy several constraints. In the metaheuristic method, a variety of approaches like simulated annealing, genetic algorithm and hybrid approaches have been investigated. All these methods give a high-quality solution, but at a considerable computation cost. In [6], a time ontology is proposed as a specification of conceptualization for temporal knowledge. In this, relative event-based temporal relations for point-based and interval-based events are well represented using a temporal ontology and validated for a medical domain. In [3], a case-based heuristic selection approach is used for solving the timetabling problem. In this, previous problems and their solutions for timetabling problems are collected, stored and later used to solve new similar problems. However, it requires a large amount of time for data preparation and analysis. Also, partial solutions were not stored. In [4], Benders’ partitioning is used to solve the timetable scheduling problem. The quality of course schedule, evaluated by distance traveled by each faculty from their offices to the classroom, is increased. Most of the work done is complex to understand by an end user who is designing a timetable. Also, these approaches lack the generality of the domain. Besides the above work, the timetable scheduling problem is addressed for other application domains also. In [7], a method to find the time interval sequence in a fuzzy environment with improved reverse flow is proposed. However, this dynamic timetable scheduling approach is basically meant for the public transportation system. In [8], an enhanced particle swarm optimization technique along with a local search is used for finding a solution to the examination timetable scheduling problem. In [9], a biobjective and bi-level integer programming model is proposed for addressing public transport timetable synchronization and vehicle scheduling.

3 Ontological Model for Timetable Management “An ontology is a formal, explicit specification of a shared conceptualization” [10]. Here entities are examined and organized into concepts and relations. These relations are represented over unary or binary predicates. The concepts, also known as classes,

80

S. Bajpai and A. Chaturvedi

have data type and object properties that depict the relationship between classes, their data type values and their relation with other classes. Both implicit and explicit rules of the domain are well stated. So we can incorporate domain rules as well as explicitly stated business rules in our proposed model. Ontology provides the knowledge of a domain in a formal, machine-accessible format that can be reused for different purposes by different application vendors. It also helps in communication between user and machine and different applications making interoperability possible among various applications of the same domain. A university timetable is an allocation of various resources like lecturers, venues and timeslots to different courses running under different departments in such a way to ensure optimal use of resources. The various concepts under timetable scheduling domain are faculty, faculty_properties describing a faculty like name, ID, etc., course, course_properties like course name, course ID, etc., semester in which course is running, department to which course belongs, day and time that compose to timeslot, lecture_hall and status_flag. The status flag is further divided into three subclasses— is_engaged tells the status if a particular faculty is engaged or not, is_free tells if a timeslot is free or not, and is_vacant tells the status if a venue is free or not. The Protégé implementation of classes is shown in Fig. 1. These concepts are related to each other by some relationships or properties which are presented in Table 1. The Protégé implementation of properties is shown in Fig. 2. A graphical representation showing the overall model of this timetable ontology obtained from OntoGraf plug-in of Protégé is shown in Fig. 3.

4 Constraint Specification Constraints are the restrictions put on the allocation of resources to reduce the inconsistency and ensure unambiguous allotment. These constraints can be any of the domain constraints as well as model-specific constraints. Domain constraints are the rules specified for the domain problem under consideration. For example, faculties cannot be given more than two courses and one student can attend only one lecture at a timeslot, etc. Model-specific constraints are the rules to generate the model like hierarchy rule, quantification rule, functional properties, symmetric properties. The university timetable scheduling problem is a well-known constraint satisfaction problem (CSP). In the timetable ontology model, we have applied four types of constraints. These are hard constraints [3], soft constraints [3], temporal constraints [11] and priority constraints. These four types of constraints contain both domain and modeling rules.

Ontology-Driven Framework to Automatically Generate …

81

Fig. 1 Classes in timetable ontology model built using Protégé software

4.1 Hard Constraints These constraints are very critical and cannot be avoided under any circumstances. For example, no student can attend two lectures simultaneously; no faculty can teach two courses at one time; one course must be offered by exactly one department.

4.2 Soft Constraints These constraints can be violated as they are not essential. Using them gives us a more restrictive model. However, ignoring them does not have any significant impact on the model. For example, one faculty can take only two courses in a semester.

82

S. Bajpai and A. Chaturvedi

Table 1 Properties of timetable ontology Property

Description

has_faculty_properties

Relationship between faculty and its faculty_properties like name, faculty ID

has_course_properties

Relationship between course and its course_properties like course name, course ID, credits

belongs_to

Relationship between course and department and semester in which it is running

composed_of

This property tells that a timeslot is composed of day and time. So, we have days*time periods number of timeslots

offers

Relationship between department and course offered by the department

takes

Relationship between faculty and course taught by her

runs-at

Relationship between course and lecture_hall where it is running.

runs_at_timeslot

Relationship between course and time of the day in which course is running

has_status

This relation is divided into four sub-relations. It tells the occupancy status of various resources

has_faculty_status

Tells if a faculty is engaged or not

has_timeslot_status

Tells if a timeslot is free or not

has_venue_status

Tells if a lecture_hall is vacant or not

Fig. 2 Properties in timetable ontology model built using Protégé software

Ontology-Driven Framework to Automatically Generate …

83

Fig. 3 Timetable ontology graph obtained from OntoGraf plug-in of Protégé. Relationships are: 1—has_faculty_properties, 2—has_course_properties, 3—takes, 4—offers, 5— belongs_to, 6—runs_at_timeslot, 7—runs_at, 8—has_health_status, 9—has_faculty_status, 10— has_venue_status, 11—has_timeslot-status, 12—subclass

4.3 Temporal Constraints In [11], temporal constraints are represented by 13 relationships. These are— before, meets, overlaps, during, starts and finishes and their inverses—after, met-by, overlapped-by, contains, started-by, finished-by, respectively, and equal. We have used some of these relationships in our application to ensure proper scheduling of lectures. For example, two lectures of a faculty cannot be overlapped. Students cannot have two lectures started or finished at the same time.

4.4 Priority Constraints These constraints are meant for special purposes. Suppose, a faculty has some health problems and is unable to take lectures at a lecture hall situated other than the ground floor. Then on a priority basis, she will be allotted a ground-floor lecture hall. Another example is, suppose some preferences are made by faculty members, then they will be allotted resources, i.e., timeslot and lecture hall as per their seniority. These constraints ensure flexibility in our approach.

84

S. Bajpai and A. Chaturvedi

5 Implementation For a casual user who has no information about ontology and how to use it, an end application interface is always useful. For this purpose, we have built a semantic web application to implement the above-mentioned timetable ontology model. By incorporating ontology into an application, we can bring the benefits of the semantic web to end users who never need to know about it. In a typical application scenario, there is a central data repository or database connected to a server. Clients send requests to process or retrieve the data. The server fulfills their request, makes possible operations and responds to the client. For a semantic web application, ontology plays an important role. The ontology model is populated with instances to build an RDF triple-store. This triple-store acts as a central data repository which is used by a semantic web server to store and retrieve data. The architecture of semantic web application is shown in Fig. 4. The ontology model is built using Protégé [5], an open-source ontology editor. This model is populated with instances of the domain resulting in an RDF triplestore as the back-end storage system of the desired university. These instances include various faculties taking different courses having some course ID. These courses are running at various lecture halls theaters in different timeslots. All these resources can either be stored earlier or can be submitted at runtime. Relationships between these resource instances are well managed by the ontology model. A reasoner is continuously running to check any inconsistency in the model. Protégé comes with several reasoners like Pellet, Ontop, Hermit and FaCT++. We can run one or multiple reasoners to search for any possible inconsistency. A resource description framework (RDF) triple-store that acts as the central repository is built this way. This RDF triplestore is imported on the Jena framework [12], an open-source Java framework for

Eclipse IDE User Interface HTML

Response Apache Tomcat and Fuseki Servers

CSS Response

Retrieve Data

Ontology Model on Protege Fig. 4 Architecture of semantic web application

Store Data

RDF Triple Store

Imported via Jena Library

Ontology-Driven Framework to Automatically Generate …

85

building semantic web applications. Once the model is imported, extensive queries are made to retrieve data from this RDF dataset using SPARQL [13], a query language for RDF data. Constraints are specified in the OWL model as well as hardcoded in Java application. The user interface is developed using front-end technologies, HTML and CSS. In the ontology-based RDF model, we have populated the information of department, semester, lecture halls and time slots comprising day and time. Domain, quantification and existential constraints are incorporated at the time of developing the ontology on Protégé editor. Hence, these are the precoded data in our model. This RDF triple-store is imported on Web development IDE Eclipse using Jena libraries. In our application, we have asked users to input the course details and faculty details assigned to each course. This information is further used for allotment of venues and timeslots to respective courses and faculties. Flowchart describing the functionality of the application is shown in Fig. 5. This flowchart takes course details and faculty details from the user as input and generates a timetable as output. We have considered the working of the flowchart after the ontology is imported. All the CRUD operations are performed on the RDF triple-store using SPARQL, so this triple-store gets updated continuously. Various constraints as described in Sect. 4 are implemented as program logics in the application. These constraints are implemented in the order—hard, soft, temporal and priority. Each time some slot and venue is allocated to a faculty to teach some course, these constraints are checked for any violation. The variables is_vacant, is_free and is_engaged are used for finding if the venue is vacant, timeslot is free

Fig. 5 Flowchart of the proposed timetable generation approach

86

S. Bajpai and A. Chaturvedi

Fig. 6 Generated timetable

and faculty is not engaged in other lecture at same time, respectively. These variables set their values after checking all constraints, and when there is no violation, they are set to true means allocation can now be performed. This process is repeated for all allocations till the final timetable is constructed. The final timetable incorporates all the constraints and then generated. Hence, there is only one timetable generated by our approach. This application runs on Apache Jena Fuseki server and Apache Tomcat server. A typical application scenario is shown in Fig. 6. In Fig. 6, the generated timetable using this semantic web application, satisfying all the incorporated constraints, is shown.

6 Conclusion In this paper, we have proposed an ontology-driven model for solving the university timetabling problem. The model is flexible and reusable and satisfies both domainspecific and model-specific constraints. Four types of constraints hard, soft, temporal and priority are specified. A semantic web application is built to implement the model which generates timetable when it is populated with instances. The model provides interoperability among various departments of the university. One feature that lacks here is the students’ point of view. So, we are working on adding the students’ perspective to this model and extend the model to other academic-related tasks of the university like exam scheduling and develop it to a full-fledged academic resource management tool.

Ontology-Driven Framework to Automatically Generate …

87

References 1. Burke, E.K., Petrovic, S.: Recent research directions in automated timetabling. Eur. J. Oper. Res., pp. 266–280 (2002) 2. Modupe, A.O., Olusayo, O.E., Olatunde, O.S.: Development of a university lecture timetable using modified genetic algorithms approach. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 4, 163–168 (2016) 3. Burke, E.K., Petrovic, S., Qu, R.: Case-based heuristic selection for timetabling problems. J. Sched. 9, 115–132 (2006) 4. Sarin, S.C., Wang, Y., Varadarajan, A.: A university-timetabling problem and its solution using Benders’ partitioning-a case study. J. Sched. 13, 131–141 (2010) 5. Protégé documentation, https://protegewiki.stanford.edu/wiki/. Last Accessed 2019/04/08 6. Hemlatha, M., Uma, V., Aghila, G.: Time ontology with reference event based temporal relations (RETR). Int. J. Web Semant. Technol. 3, 23–31 (2012) 7. Zhang, Y., Hu, Q., Meng, Z., Ralescu, A.: Fuzzy dynamic timetable scheduling for public transit. Fuzzy Sets Syst. (2019) 8. Abayomi-Alli, O., Abayomi-Alli, A., Misra, S., Damasevicius, R., Maskeliunas, R.: Automatic Examination Timetable Scheduling Using Particle Swarm Optimization and Local Search Algorithm. Data Engineering and Applications. Springer, Singapore (2019) 9. Liu, T., Ceder, A.: Integrated public transport timetable synchronization and vehicle scheduling with demand assignment: a bi-objective bi-level model using deficit function approach. Transp. Res. Procedia 23, 341–361 (2017) 10. Staab, S., Studer, R.: Handbook on Ontologies, 2nd edn. Springer, Heidelberg (2009) 11. Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26, 832–843 (1983) 12. Apache Jena documentation, http://jena.apache.org/documentation/. Last Accessed 2019/04/10 13. Bob, D.: Learning SPARQL, 1st edn. O’Reilly Media, 1005 Gravenstein Highway North, CA 95472, USA (2011)

A Survey on Task Scheduling and Resource Allocation Methods in Fog Based IoT Applications V. Sindhu and M. Prakash

Abstract With the phenomenal growth of Internet, the technologies associated with the Internet like cloud computing and fog computing also grown massively. At the same time, the issues in this technology also need to be addressed while allocating and deploying resources. Regardless of rapid growth of cloud computing, plenty of issues are there which are necessary to be solved due to ingrained property of cloud computing such as location awareness, unreliable delay and lack of mobility support. Fog computing means bringing the centralized computing cloud resources to the edge of the network. Fog computing copes with the problems in cloud computing by giving flexible resources and services to end users, even cloud computing is more approximately imparting resource dispersed in the core network. The differences between compute-intensive applications and resource-limited gadgets result in restricting the quality of the system. In fog technology, the logical inconsistency should be tackled by task scheduling. Because of the mushrooming of Internet of things, effective means of allocating resource for the clients whenever it is requested is very challenging task in fog technology. This paper gives a survey of different mechanisms proposed for scheduling the tasks and allocating the resources in fog technology. The various techniques proposed by different authors are reviewed in detail. Finally, an analysis is made by comparing the disadvantages of each technique and suggestions are given for betterment in task scheduling and resource allocation in fog effectively. Keywords Fog computing · Cloud computing · Internet of things · Task scheduling · Resource allocation

1 Introduction During the last few years, a great revolution has been emerged in how people interact, communicate, work, etc. This revolution has been caused by a technology called V. Sindhu (B) · M. Prakash Department of Information Technology, Karpagam College of Engineering, Coimbatore, Tamil Nadu, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_7

89

90

V. Sindhu and M. Prakash

cloud computing. The cloud environment reduces the computing and storage load of traditional data storage system. After the development of IoT, several problems come to light in the cloud computing platform. IoT concept is altering the way individuals can interact with the corporeal world, introducing an ignition of connectivity toward it. Internet of things refers to the exploitation of numerous interconnected smart devices supporting everyday tasks. IoT will present new applications with boundless potentiality and great impact by enabling mass involvement of users. Huge amount of data is handled by IoT using cloud platform. But it will increase network traffic issues and latency. To provide solution for the above problems, fog technology [1] was addressed. Fog is the extension of cloud where the storage and computation are moved from core network to the edge to serve the real-time applications (RTA) and to decrease the network load of data center. Fog computing network consists of a huge number of fog nodes (FNs) Several data center of the cloud deploys the FNs at various geographic areas to supply services like data to the client’s application needs. The fog nodes are not visible to the clients but the clients can be provided with the resources they need for their further working process. This is highly possible through the virtualization of the network in the fog. The resources for each and every application are assigned by the task scheduling [2]. Because of the resource limitations, environmental necessities, locality restrictions and demanding resource needs the resource allocation [3] and the major problem is scheduling the task in cloud and fog environment. In this article task scheduling and resource allocation techniques and approaches are discussed. The main intention of this article is studying the detailed information on different techniques and approaches for scheduling the task and allocating the resources in fog. In addition, the limitations of these techniques are addressed to further develop the performance of fog computing efficiently. The Sect. 2 depicts the previous research pertaining to task scheduling and allocating resource in fog techniques, and Sect. 3 concludes the survey that reviews an entire discussion.

2 Survey on Tweaking the Performance of Fog Computing 2.1 Survey on Scheduling the Task Technique in Fog The heterogeneous fog network, a technique called “multi-user system model [4]” was addressed. The replicative task nodes will continuously calculate the offload task. It is used in several helper heterogeneous nodes. Hence, the cloud executed the tasks in a parallel manner. Furthermore, a new concept called process efficiency (PE) was described to combine communication and resource capabilities. A stable, decentralized and scalable algorithm called DATS was addressed to diminish delay in service in assorted fog networks. DATS comprised of two main mechanisms are PE-based progressive computing resources competition (PCRC) and quality of

A Survey on Task Scheduling and Resource Allocation …

91

experience (QoE)-oriented synchronized task scheduling (STS). These components effectively scheduled tasks in fog computing. “A maximal energy-efficient task scheduling (MEETS) algorithm [5]” was proposed based on scrupulous mathematical scrutiny for scheduling the task in uniform fog networks. It obtained an optimal scheduling decision for multiple neighboring helper nodes and a task node with the consideration of time allocations and feasible modulation schemes. By obtaining the offloading time slots and the accent plan selection approach, the MEETS algorithm achieved energy-efficient task scheduling among uniform nodes in fog computing. In addition to this, the convergence properties of the MEETS algorithm were studied. The scheduling the task for geographic-based cloud algorithm [6] was proposed for scheduling the task in fog. Initially, “fog-based region and cloud architecture (FBRC)” was the technique to supply nearby computing resources. In this architecture, a scenario was considered where computation was processed wither at remote cloud servers or local regions or at both. To achieve the proficient scheduling of the task at cloud servers and regions, it was required to lessen the transmission and computation time delay of all requests. In FBRC, scheduling the task problem was formulated as a numeral program (FBRC-IP). The most advantageous scheduling problem is NP-hard problem. Therefore, a capable process of trial and error algorithm was designed to unravel the FBRC-IP. The collaborative task scheduling problem [7] was formulated for general homogenous fog network. It achieved an unbiased system routine in time delay of service and power utilization. It considered user traffic, local execution, incentive constraint, queuing, task offloading and wireless transmission model. “Delay energy balanced task scheduling (DEBTS)” was addressed for task scheduling in homogenous fog network. The DEBTS is a cross-layer analytical framework which simultaneously reduced the energy consumption and service delay in fog network. In DEBTS, the analysis of control parameter was combined with Lyapunov optimization techniques. The power consumption is minimized when the delay jitter and service delay is minimized. “A cost-makespan aware scheduling (CMaS) algorithm [8]” was proposed for scheduling the task in fog computing. It achieved the equilibrium between the obligatory cost for the utility of cloud resources and execution act of the application. In CMaS algorithm, a plan like assigning the task again was presented which was accountable for tuning the results as per deadline. It enhanced the quality of service (QoS). The scheduling of the task techniques in fog computing depicted above were scrutinized and compared based on the methodologies, pros and the cons are tabulated in Table 1.

92

V. Sindhu and M. Prakash

Table 1 Comparison of task scheduling techniques in fog computing Method used

Merits

Demerits

Performance metrics

DATS [4]

Reducing service delay in heterogeneous fog networks

Most important energy-latency trade-off problem in heterogeneous fog networks is not considered

Latency reduction ratio (@0.3 active ratio) = 67%

MEETS [5]

Maximum energy efficiency was attained performance under different service conditions and parameters

MEETS algorithm is best suitable only for homogenous fog network

Energy efficiency (@9 helper nodes) = 3.6 × 105 bits/s/W Energy efficiency (@600 CPU cycles per bit computation) = 2.907 × 105 bits/s/W Energy efficiency (@10 spectrum bandwidth MHz) = 2 × 105 bits/s/W

FBRC-IP [6]

Flexibility in selecting computation resources

Computation time is more due to delay in the queue

Response time (@11 region processing rate) = 2.7 s Response time (@7.5 task arrival rate) = 2.5 s Response time (@20 cloud server processing rate) = 3.2 s

DEBTS [7]

Performance is better with energy consumption and service delay

Performance of DEBTS is less in more complex homogenous fog network

Average energy consumption (@6 control parameter) = 0.5 × 105 mW Delay jitter (@6 control parameter) = 5.2 ms

CMaS algorithm [8]

Better cost effectiveness

It is not deployed into real-world systems

Cost-makespan trade-off (@20 number of tasks) = 0.66 Cost (@15 number of cloud nodes) = 7500 G$

A Survey on Task Scheduling and Resource Allocation …

93

2.2 Survey on Allocating the Resources in Fog Computing “Double matching resource allocation strategy [9]” was proposed based on effectiveness in cost on resource allocation in fog. First problem was depicted as double-sided identical problem. Later on, the deferred acceptance (DA) algorithm and (DA-DMS) was proposed. The DA algorithm was a basic algorithm to resolve the double side identical algorithm in a variety of systems like coexistence among WiFi and LTE-U. A technique called “energy-efficient computation offloading and resource allocation (ECORA)” [10] was addressed in fog “Internet of everything“(IoE). The ECORA scheme decoupled the computation offloading problem into smaller problems of allocating the resource and off-loads decisions. In other words, it was defined as it worked iteratively between resource allocations and offloading decisions to get the optimal transmission power, calculative offload planning and computation of allocating supply. The strategy for resource allocation [11] was implemented using the concept called “priced timed Petri Nets.” From a gathering of pre-assigned assets fog, “priced timed Petri Nets” was selecting and satisfying resource autonomously. It took the parameters like the cost and time required finishing the job, the acceptability assessment of the fog resources and users to choose the resources. The priced time Petri Nets of odd jobs in fog were constructed based on the characteristics of fog resource. The concept was addressed to calculate the trustworthiness evaluation of fog resources. A resource contribution model on repeated game [12] was proposed for resource sharing in fog. By keeping the characteristics of fog and cloud data centers, a framework structure dependent on the neural system of human was presented and then the reasonability of this structure was analyzed. A “reward and punishment mechanism” was established which was depend on the idea of swarm backing that combined the processing limit of geologically disseminated gadgets. It urged the asset proprietors to contribute their space assets and keep track the supply followers to accomplish the job certainly. It enhanced the operational competence of fog computing. The containers fog [13] scheduling the task and allocating the supply was addressed for smart manufacturing. A task scheduling mechanism based on containers was constructed to guarantee that jobs were accomplished on time and simultaneously optimized the more quantity of in step tasks for the node in fog. A reallocation mechanism was also proposed for allocating the resource in fog computing. The latency while accomplishing the jobs was reduced due to the properties of container. The resource allocation techniques in fog computing depicted above was analyzed and compared using the methodologies, the advantages and demerits of the parameters and tabulated in Table 2.

94

V. Sindhu and M. Prakash

Table 2 Comparison of resource allocation techniques in fog computing Method used

Merits

Demerits

Performance metrics

Double matching resource allocation strategy [9]

Achieve stable results

It is not suitable for three-layer networks

Cost efficiency (@0.5/ms service rate of each CRB & 60 number of users) = 0.397 Cost efficiency (@1.0/ms service rate of each CRB & 60 number of users) = 0.25 Cost efficiency (@1.5/ms service rate of each CRB & 60 number of users) = 0.215

ECORA [10]

Minimizes the system cost

High complexity

System average cost (@3000 computational resource of fog node) = 3.82 System average cost (@5 number of IoE devices) = 3.65

Priced timed petri nets [11]

Gives an effective selection of resources in the self decisive scheduling of tasks and the fog supply was utilized at the maximum

The strategy followed here using the learning function for allocating the resources could be used in a better way to improve the correct services provided to the users

Price cost of computing tasks (@10 user index) = 6

Resource sharing model [12]

Enhance working efficiency of fog computing network

An important issue of fog computing is energy consumption which is not considered in this model

SLA violation rate (@200 number of tasks) = 1.8% Completion time (@100 number of tasks) = 25 s

Task scheduling and reallocation mechanism [13]

Viably lessen job latency and enhances the synchrony of jobs in the nodes

The finite amount of cloud resources and computation time in the cloud was optimized

Floating-point operations per second (@1 number of container) = 4,300,000

A Survey on Task Scheduling and Resource Allocation …

95

2.3 Survey on Techniques Involved in IoT Applications for Sharing the Resources “A flexible machine-to-machine (M2M) radio resource sharing scheme [14]” was proposed in LTE network. A channel resource that was shared was considered and the allocation was in a coexistence scenario of human-to-human and machine-tomachine. Initially, the problem in the sharing of resource in H2H, M2M was formulated like a bipartite graph (BG). Moreover, the scheme that controls the power was proposed for the simultaneously communicating the M2M nodes to improve the capability of H2H and the chance of on proportional integrative derivative controller that was set reflecting the interference level. Finally, Kuhn–Munkres (KM) algorithm was utilized to solve the greatest weighted similar problem of weighted BG. An interference-aware bipartite graph approach [15] was proposed for radio resource sharing in machine-type communication (MTC) in LTE-A. Here, M2M and device-to-device (D2D) were combined owing to lower the power that transmits in the machine-type devices (MTD). Therefore, this process stimulates the distribution of resource more effectively. Initially, the problem in the distribution of resource was demonstrated as increase in the sum-rate. The optimal solution of this problem was required to be proved as non-deterministic polynomial-time hard. The calculative complexity of the best possible solution was solved by modeling novel interferenceaware bipartite graph approach. The allocation of resources for the M2M was done by the centralized and semi-distributed algorithms. “A LTE uplink scheduling algorithm” called M2M-aware scheduling algorithm (M2MA-SA) [16] was proposed in LTE. This algorithm differentiates the M2M and H2H. The utmost self-efficacy scheduling and round-robin scheduling were integrated by presenting a compound two-phase scheduling techniques for M2M. The close restriction of LTE uplink resource allocation was satisfied by the iterative maximum expression. Time-controlled scheduling plan called Dynamic Access Grant Time Interval (DAGTI) [17] was proposed in LTE networks to share resources between M2M and H2H. The DAGTI addressed the problems in AGTI time-guarded scheduling plan. The M2M clusters in AGTI share the DAGTI resources with dynamism. The resource utilization and quality of service (QoS) of H2H and M2M traffic were methodically focussed. It receives the expressions for the jamming chance percentage of resource utilization. The resource sharing techniques for IoT applications depicted above were analyzed and compared using variety of techniques, the pros and cons and the criteria used. The comparison is given in Table 3.

96

V. Sindhu and M. Prakash

Table 3 Comparison of resource sharing techniques in fog computing Method used

Merits

Demerits

Performance metrics

“Flexible M2M radio resource sharing scheme [14]”

Keep away from noteworthy degradation of H2H services

This comes at the expense of the total average data rate decrease

Max-min’s fairness index H2H = 0.325 H2H + M2M: random allocation = 0.126 H2H + M2M: fixed-radio resource sharing algorithm = 0.174 H2H + M2M: adaptive radio resource sharing algorithm = 0.3

Interference-aware bipartite graph approach [15]

Low communication overhead

Interference introduced by H2H communication is maximum because of the huge power transmission

Average aggregate network sum-rate (bps) (@100 number of users) = 1.55 bps Average H2H sum-rate (@100 number of CUEs) = 1.2 bps sD-MTCRA algorithm

M2MA-SA [18]

Improves the system throughput

High complexity

Average delay (@60 H2H users) = 10 ms Timeout packet loss probability (@ 60 H2H users) = 0.02 System throughput (@ 60 H2H users) = 1.4 Mbit/s

Dynamic access grant time interval [17]

Better percentage resource utilization

It does not support for multiple M2M and H2H traffic classes

Blocking probability of H2H traffic (@ 0.4 arrival rate M2M traffic) = 10−4

3 Conclusion Fog computing is a paradigm where the centralized cloud computing services are directly brought to end users. The services like scheduling, resource allocating computation, application and memory allocation are provided by the fog computing to the end users in a way that resembles the cloud computing. However, several challenges were addressed in fog computing with respect to scheduling the tasks and allocating the resources. The advancements that are made recently in the allocation of resources and scheduling the tasks in fog were addressed in this article. The advancements made in the technology for sharing the supply and resources for IoT

A Survey on Task Scheduling and Resource Allocation …

97

applications were scrutinized by depicting the novel ideas integrated into them. The above works and analysis enhance the techniques for better understanding to achieve maximum performance. This survey also helps to stimulate the motivation for our future researches as well.

References 1. Kimovski, D., Ijaz, H., Saurabh, N., Prodan, R.: Adaptive nature-inspired fog architecture. In: 2018 IEEE 2nd International Conference on Fog and Edge Computing (ICFEC), pp. 1–8. IEEE (2018) 2. Liu, L., Qi, D., Zhou, N., Wu, Y.: A task scheduling algorithm based on classification mining in fog computing environment. Wirel. Commun. Mobile Comput. (2018) 3. Attar, A.H., Sutagundar, A.: A survey on resource management for fog-enhanced services and applications. Int. J. Sci. Res. 17(2), 138 (2018) 4. Liu, Z., Yang, X., Yang, Y., Wang, K., Mao, G.: DATS: dispersive stable task scheduling in heterogeneous fog networks. IEEE Internet Things J. 6(2), 3423–3436 (2018) 5. Yang, Y., Wang, K., Zhang, G., Chen, X., Luo, X., Zhou, M.T.: MEETS: maximal energy efficient task scheduling in homogeneous fog networks. IEEE Internet Things J. 5(5), 4076– 4087 (2018) 6. Hoang, D., Dang, T.D.: FBRC: Optimization of task scheduling in fog-based region and cloud. In: 2017 IEEE Trustcom/BigDataSE/ICESS, pp. 1109–1114. IEEE (2017) 7. Yang, Y., Zhao, S., Zhang, W., Chen, Y., Luo, X., Wang, J.: DEBTS: delay energy balanced task scheduling in homogeneous fog networks. IEEE Internet Things J. 5(3), 2094–2106 (2018) 8. Pham, X.Q., Man, N.D., Tri, N.D.T., Thai, N.Q., Huh, E.N.: A cost-and performance-effective approach for task scheduling based on collaboration between cloud and fog computing. Int. J. Distrib. Sens. Netw. 13(11), 1550147717742073 (2017) 9. Jia, B., Hu, H., Zeng, Y., Xu, T., Yang, Y.: Double-matching resource allocation strategy in fog computing networks based on cost efficiency. J. Commun. Netw. 20(3), 237–246 (2018) 10. Li, Q., Zhao, J., Gong, Y., Zhang, Q.: Energy-efficient computation offloading and resource allocation in fog computing for internet of everything. China Commun. 16(3), 32–41 (2019) 11. Ni, L., Zhang, J., Jiang, C., Yan, C., Yu, K.: Resource allocation strategy in fog computing based on priced timed petri nets. IEEE Internet Things J. 4(5), 1216–1228 (2017) 12. Sun, Y., Zhang, N.: A resource-sharing model based on a repeated game in fog computing. Saudi J. Biol. Sci. 24(3), 687–694 (2017) 13. Yin, L., Luo, J., Luo, H.: Tasks scheduling and resource allocation in fog computing based on containers for smart manufacturing. IEEE Trans. Industr. Inf. 14(10), 4712–4721 (2018) 14. Hamdoun, S., Rachedi, A., Ghamri-Doudane, Y.: Radio resource sharing for MTC in LTEA: an interference-aware bipartite graph approach. In: 2015 IEEE Global Communications Conference (GLOBECOM), pp. 1–7. IEEE (2015) 15. Zhenqi, S., Haifeng, Y., Xuefen, C., Hongxia, L.: Research on uplink scheduling algorithm of massive M2M and H2H services in LTE (2013) 16. Edemacu, K., Bulega, T.: Resource sharing between M2M and H2H traffic under timecontrolled scheduling scheme in LTE networks. In: 2014 8th International Conference on Telecommunication Systems Services and Applications (TSSA), pp. 1–6. IEEE (2014) 17. Prakash, M., Ravichandran, T.: An efficient resource selection and binding model for job scheduling in grid. Eur. J. Sci. Res. 81(4), 450–458 (2012) 18. Mohan, P., Thangavel, R.: Resource selection in grid environment based on trust evaluation using feedback and performance. Am. J. Appl. Sci. 10(8), 924 (2013)

Improved Linear Extrapolation Technique for Crop Health Monitoring Using Hyperspectral Data Anjana Ghule and R. R. Deshmukh

Abstract Red edge position is observed between 680 and 780 nm of spectral reflectance of green vegetation. REP has a strong correlated with foliar chlorophyll content, and this is one of the key indicators of plant health. In this paper, improved linear extrapolation technique is proposed, which generalizes the processes of finding four points used for detecting red edge position. Hyperspectral reflectance of healthy and infected plants was recorded using Analytical Spectral Devices (ASD) FieldSpec Pro spectroradiometer in the range of 350–2500 nm. Reflectance and firstorder derivative transform in the range 680–780 nm is used for experimentation. Results are compared with maximum first derivative, linear interpolation and linear extrapolation techniques. It is observed that improved linear extrapolation technique is more precise in detecting REP for plant health monitoring. Results are also verified by calculating hyperspectral vegetation indices of red edge region. Keywords Maximum first derivative · Improved linear extrapolation · Hyperspectral reflectance · Red edge position · Crop infection · Crop discrimination · Vegetation indices

1 Introduction Hyperspectral remote sensing provides information of an object in the form of reflectance spectra comprising various narrow bands over electromagnetic spectrum. Hyperspectral remote sensing has become important in the field of agriculture and vegetation monitoring. Hyperspectral vegetation indices are widely used to describe crop characteristics characterize also to discriminate and classify crops. Plant health has a direct impact on the health of ecosystem. Detection of ill health of plant is very important in protecting the crop and improving the health [1]. Infection A. Ghule (B) Department of Information Technology, GEC Aurangabad, Aurangabad, India R. R. Deshmukh Department of Computer Science and Information Technology, Dr. B.A.M. University, Aurangabad, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_8

99

100

A. Ghule and R. R. Deshmukh

or stress on the crop results into changing the chlorophyll. Monitoring changes in chlorophyll, by remote sensing is a nondestructive method for analysing plant health [2]. In the spectral reflectance range between 680 and 780 nm, chlorophyll absorption changes from very low to very high, and this results into a sudden rise in the red edge region of vegetation spectra. Red edge position lies on the red edge region which is highly correlated with plant health [3].

2 Related Work There are quite a few approaches for finding REP from the red–NIR region of the vegetation spectra. Most commonly used method is maximum first derivative. The highest peak in the first derivative transform is located as REP [4]. There are two limitation of in this method—(1) when we have large number of contiguous bands and we get MFD value over a range of wavebands, and (2) in some cases, a doublepeak nature of the first derivative spectra is observed which make it difficult to find correct REP–chlorophyll relationship. To solve the problem of double peak in first derivative transform, linear extrapolation method was implemented. In this technique, first derivative of the reflectance between 680 and 780 nm is used. REP is calculated using four coordinates; two points from 680 to 700 and two points from 725 to 780 regions are selected. Straight lines, one in each region, are drawn on the edges of the FD curve [5]. Finding fixed four points is difficult in this method. Far Red Line FDR = (m 1 λ + c1 )

(1)

NIR Line FDR = (m 2 λ + c2 )

(2)

REP =

−(c1 − c2 ) (m 1 − m 2 )

(3)

MFDS-mean algorithm, which is an extension to MFD algorithm, gives good results but only for single peak in the FD transform [6]. Linear interpolation technique is based on four fixed points, but nature curve varies with respect to biophysical and biochemical changes in the plant [7]. Modified extrapolation technique is also implemented for automating the task of finding four points for extrapolation which is based on calculating further transforms which may not contain significant information [8].

Improved Linear Extrapolation Technique for Crop Health …

101

3 Proposed Approach 3.1 Improved Extrapolation Technique for Red Edge Position Detection The objectives of this paper is (1) to study shape and size of the FD curve, (2) to develop an algorithm for finding four dynamic points based on each individual crop spectra for calculating REP, which can be used both for single-peak and double-peak nature of the first derivative transform of crop reflectance curve, (3) to discriminate healthy and infected crops using hyperspectral vegetation indices with red edge. This modified algorithm is a fusion of maximum first derivative and linear extrapolation algorithms. Four dynamic points for extrapolation are calculated using magnitude of MFD. Figure 1 depict proposed approach. 1. Record spectral reflectance of healthy and unhealthy crops in the range of 680– 780 nm 2. Find first derivative transform in the range of 680–780 nm 3. Record FDλmin , waveband in the Far_Red (FR) region at which first derivative changes from −ve to +ve (here FD curve starts) 4. Record FDλmax , waveband in the Near_Infra_Red (NIR) region at which first derivative changes from +ve to −ve (here FD curve ends)

Fig. 1 Proposed method

102

A. Ghule and R. R. Deshmukh

5. Find spread of first derivative (FD) curve and divide it into two parts, i.e., Far_Red and NIR region 6. Find maximum first derivative (MFD) value 7. Fix points in FR region and NIR region points i. ii. iii. iv.

FR_I will be at wavelength where FD = (MFD) * 0.2 FR_II will be at wavelength where FD = (MFD) * 0.7 NIR_I = will be at wavelength where FD = (MFD) * 0.2 NIR_II = will be at wavelength where FD = (MFD) * 0.7

8. Draw a straight lines through two points in each region i. Far Red Line FDR = (m 1 λ + c1 ) ii. NIR Line FDR = (m 2 λ + c2 ) m and c represent the slope and intercept of the straight line 9. Extrapolate these lines, wavelength value at the point of intersection is red edge position.

4 Experimental Design and Data Collection 4.1 Experimental Design The study area for this experimentation was chosen near to Aurangabad city, Maharashtra, India, which is at lat 19.85 and long 75.85. For the data collection, a farm was selected where different crops are grown. Healthy and infected leaves of different crops were collected from different locations of the farm based on visual judgment [9].

4.2 Leaf Spectra Measurements and Data Collection Spectral reflectance of the leaves was acquired with an ASD FieldSpec Pro spectroradiometer, and using RS3 software, in the Laboratory of Computer Science and Information Technology Department of Dr. Babasaheb Ambedkar Marathwada University, Aurangabad, ASD files were converted to ASCII formats using ENVI software. Reflectance spectra range of 350–2500 nm is acquired. First derivative transform of the samples was calculated. Healthy and infected spectra of brinjal and jowar were selected for further experimentation. Figure 2 shows spectral reflectance of the two crops. This algorithm is based on fusion of maximum first derivative and extrapolation method. It is observed that we do not get a (1) single point of maximum derivative and

Improved Linear Extrapolation Technique for Crop Health …

103

Fig. 2 a and b Spectral reflectance of healthy and infected plants of brinjal and jowar in range of 400–2500 nm. X-axis—wavelength in nm and Y-axis—reflectance

(2) we may get double peak on the FD curve. This algorithm finds four points based on the reflectance spectra of individual crop for calculation of red edge position.

5 Result and Discussion Determining REP in the red edge region is very important for crop health monitoring. In the proposed method, REP was calculated by combining maximum first derivative and linear extrapolation algorithms. These have shown good results in finding REP in single-peak and double-peak nature, respectively (Fig. 3).

Fig. 3 a and b shows first derivative curve of healthy and infected plants of brinjal and jowar in range of 680–780 nm with four points and REP. X-axis—wavelength in nm and Y-axis—magnitude of first derivative

104

A. Ghule and R. R. Deshmukh

In MFD method, spectral band having maximum magnitude of first derivative is determined as REP. But, it is observed that, in case of single peak of FD curve, multiple bands have maximum magnitude, and in double peak, this method fails to find correct REP. Linear interpolation can be used for single-peak and double-peak curves. This is based on fixed four points. But size and shape of the curve changes, and fixed four points may not give correct result. Linear extrapolation algorithm is based on two lines drawn in far red and NIR region, and point of intersection is REP. Four points are fixed by chemical analysis of nitrogen concentration. Determining REP in the red edge region is very important for crop health monitoring. In the proposed method, REP was calculated by combining maximum first derivative and linear extrapolation algorithms. These have shown good results in finding REP in single-peak and double-peak nature, respectively. Table 1 shows red edge position and other features like maximum first derivative, spread of first derivative curve, reflectance at REP. Table 2 shows red edge position calculated by different methods. In Fig. 4 a, four points and REP are calculated using improved extrapolation technique for healthy and infected crops. Figure 4b is a display of REP calculated by MFD, linear interpolation and improved extrapolation technique. From the results, we can observe (1) there was considerable curve shift and REP in the brinjal infected curve with respect to healthy because level of damage was more. MFD technique gives good results in finding REP if there is single peak. (2) Table 1 Red edge position and other features used for describing plant health Brinjal healthy

Brinjal infected

Jowar healthy

Jowar infected

MFD

0.009

0.004

0.005

0.004

Spread of FD curve

90

65

79

76

FDλmin

679

787

679

682

FDλmax

767

751

757

755

FR_I

685

690

681

682

FR_II

690

697

690

689

NIR_I

717

726

730

729

NIR_II

738

743

750

747

REP

703

710

715

705

Reflectance at REP

0.2175

0.1011

0.2766

0.1804

Table 2 REP calculated by different methods REP calculation method

Brinjal healthy

Brinjal infected

Jowar healthy

Jowar infected

Maximum FD

700

710

719

718

Linear interpolation

678

688

668

659

Improved extrapolation

703

710

715

705

Improved Linear Extrapolation Technique for Crop Health …

105

Fig. 4 a Four points and REP calculated using improved extrapolation technique for healthy and infected crops. b REP calculated by MFD, linear interpolation and improved extrapolation techniques

In case of jowar, damage level was comparatively less and curve was of double-peak nature. REP shift occurred because of infection (Table 3). Three hyperspectral indices are calculated, namely (1) normalized vegetation red edge, (2) simple ratio red edge and (3) red edge chlorophyll index [10, 11]. As compared to the fixed red edge (750, 705) indices, the difference between indices of healthy and infected is larger in case improved linear extrapolation technique. Table 3 Hyperspectral vegetation indices calculated using static red edge position, and red edge position calculated by the proposed method HVI

Brinjal healthy

Brinjal infected

Jowar healthy

Jowar infected

ND red edge (705)

0.439171

0.298600

0.298600

0.265513

ND red edge

0.469301

0.203788

0.203788

0.140570

SR red edge (705)

2.566146

1.851440

1.851440

0.714706

SR red edge

2.860423

1.625565

1.625565

1.234857

CI red edge (705)

1.566146

0.851440

0.851440

0.714706

CI red edge

1.860423

0.511895

1.511895

1.348528

106

A. Ghule and R. R. Deshmukh

6 Conclusion Plant health monitoring is very important for growth of the crop, and REP is an indicator of plant health. The experimentation was done on brinjal and jowar having different damage level and nature of first derivative curve. Improved extrapolation techniques gives good results for determining REP. Along with REP, the other parameters calculated for finding REP are also helpful in discriminating healthy and infected crops. ASD FieldSpec Pro provides spectral reflectance over 350–2500 nm. We have used only red edge region (680–780 nm) for the study; use of other regions will be helpful in detail analysis of crop health.

References 1. Pérez-Patricio, M., Camas-Anzueto, J.L., Sanchez-Alegría, A., Aguilar-González, A., Gutiérrez-Miceli, F., Escobar-Gómez, E., Voisin, Y., Rios-Rojas, C., Grajales-Coutiño, R.: Optical method for estimating the chlorophyll contents in plant leaves. Sensors 18, 650 (2018) 2. Pavlovi´c, D., Nikoli´c, B., Ðurovi´c, S., Waisi, H., Andelkovi´ c, A., Marisavljevi´c, D.: Chlorophyll as a measure of plant health: agroecological aspects Pestic. Phytomed. (Belgrade) 29(1), 21–34 (2014) 3. Dawson, T.P., Curran, P.J.: A new technique for interpolating red edge position. Int. J. Remote Sens. 19(11), 2133–2139 (1998) 4. Horler, D.N.H., Dockray, M., Barber, J.: The red-edge of plant leaf reflectance. Int. J. Remote Sens. 4, 273–288 (1983) 5. Cho, M.A., Skidmore, A.K.: A new technique for extracting the red edge position from hyperspectral data: the linear extrapolation method. Remote Sens. Environ. 101, 181–193 (2006) 6. Ghule, A., Deshmukh, R.R., Gaikwad, C.: MFDS-m red edge position detection algorithm for discrimination between healthy and unhealthy vegetable plants. In: Proceeding of International Conference on Recent Trends in Image Processing & Pattern Recognition (2018) 7. Guyot, G., Baret, F.: Utilisation de la haute résolution spectrale pour suivre l’état des couverts végétaux. In: Proceedings of the 4th International Colloquium on Spectral Signatures of Objects in Remote Sensing. ESA SP-287, Assois, France, pp. 279–286 (1988) 8. Das, P.K., Choudhary, K.K., Laxman, B., Kameswara Rao, S.V.C., Seshasai, M.V.R.: A modified linear extrapolation approach towards red edge position detection and stress monitoring of wheat crop using hyperspectral data. Int. J. Remote Sens. 35(4), 1432–1449 (2014) 9. Lamb, D.W., Steyn-Ross, M., Schaare, P., Hanna, M.M., Silvester, W., Steyn-Ross, A.: Estimating leaf nitrogen concentration in ryegrass (Lolium spp.) pasture using the chlorophyll red-edge: theoretical modelling and experimental observations. Int. J. Remote Sens. 23(18), 3619–3648 (2002) 10. Xie, Q., Dash, J., Huang, W., Peng, D., Qin, Q., Mortimer, H., Casa, R., Pignatti, S., Laneve, G., Pascucci, S., Dong, Y., Ye, H.: Vegetation indices combining the red and red-edge spectral information for leaf area index retrieval. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. (2018) 11. Zhou, X., Huang, W., Zhang, J., Kong, W., Casa, R., Huang, Y.: A novel combined spectral index for estimating the ratio of carotenoid to chlorophyll content to monitor crop physiological and phenological status. Int. J. Appl. Earth Obs. Geoinf. 76, 128–142 (2019)

Stratified Sampling-Based Data Reduction and Categorization Model for Big Data Mining Kamlesh Kumar Pandey and Diwakar Shukla

Abstract Nowadays, communication, digital and real-time-based applications are widely used by the user. These types of technologies change the speed of data generation, the format of data, storing natures, and their management. The common challenges of big data mining are related to the data volume, and data volume is indirectly related to the variety of data and data velocity. The volume-related challenges isolated by the big data analysis strategies are divide-and-conquer, feature selection, parallel processing, granular computing, incremental learning, and sampling. These big data analysis strategies reduce the data for the data mining and also categorized the variety. This paper used sampling for data reduction and categorization through stratified sampling because stratified sampling has capability data categorization in efficient ways. From a theoretical, practical, and the existing research perspective, the paper focuses on big data and characteristics, big data mining, big data reduction strategies, sampling techniques for big data, and design the model for data reduction and categorization through stratified sampling, and this model describes the new data mining technique based on stratified sampling which is known as stratified samplingbased (data mining algorithm name). The data reduction and categorization model is explained by using the partitioning-based K-means clustering algorithm, which is known as the SSBKM through this model. Keywords Big data · Big data mining · Big data characteristics · Big data sampling · Big data clustering · Data reduction · Stratified sampling · Sampling validation estimator · Stratified sampling-based K-means (SSBKM)

1 Introduction In the current time world going on the digital technology era, then reason different type of data as structured, unstructured and semi-structured are generated through different sources such as internet of things, social network, sensor machine, use of the internet, cloud computing or other communication, digital and real-time based K. K. Pandey (B) · D. Shukla Department of Computer Science and Applications, Dr. HariSingh Gour Vishwavidyalaya, Sagar, Madhya Pradesh, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_9

107

108

K. K. Pandey and D. Shukla

technologies. The growing of these technologies changes the format of traditional data to big data due to volume, variety, and velocity. According to literature review of [1] by 2020 a total 40 zettabytes data is generated, simulated, and consumed per day. 205 exabytes data are generated every day in all over the world in which 95% data are organized in an unstructured format. Facebook 500 terabytes and in Walmart 2.5 petabytes data are generated, consumed, and managed every hour all over the world [1]. The relational model is not sufficient for data management due to the above volume-related challenges, and therefore, big data technologies support key/value and graph-based data model [2]. Data volume is the main characteristic of big data that defines the size of data in TBs or PBs scale. A large volume-based database suffers especially query-related challenges because it returns several millions of records through data analysis/data mining algorithms and these challenges give the design of the proper algorithm based on data analysis/data mining. This type of problem is occurring on the basis of the three basic characteristics of big data with four supportable characteristics. The first characteristic of big data is volume that defines a huge amount of data that is stored, processed, and captured through various heterogeneous sources. The second characteristic of big data is variety that defines the structured, unstructured, and semistructured data captured from heterogeneous sources. The third characteristic of big data is velocity that defines the speed of data generated by heterogeneous sources. The fourth characteristic of big data is veracity that is defining how to improve the accuracy of the big data sources. The next characteristic of big data is variability that defines how to change the meaning and behavior of data with respect to time. The sixth characteristic of big data is value that defines the constraint attribute for data mining and data analysis. The seventh characteristic of big data is visualization that defines how to visualize the mined results as user expectation [1, 3, 4]. The summarization of big data characteristics is shown in Fig. 1 [5]. Zicari et al. [6] categorize the big data mining challenges into data, process, and management category based on the data analysis or mining behavior [6]. Data challenges are covered to all challenges under the seven characteristics of the big data. Process challenges are to identify the challenges during the data mining and analysis. Management challenges are cover privacy, security, data authorization, and other big data management-related challenges. The common challenges are under the data, process, and management related to the volume. The volume-related challenges are recovered by fundamental big data analysis techniques like divide-and-conquer, feature selection, parallel processing, granular computing, incremental learning, and sampling [7]. Some researchers used sampling in big data mining under data reduction techniques and want to design the big data mining algorithm. Sampling is one of the techniques that represent the smaller data from large volume [8]. The objective of this paper is designing the data reduction and categorization model for big data mining through stratified sampling and achieve to this objective through six sections. These section describing the big data, big data mining, data reduction techniques, sampling, existing research due to sampling, with experimental analysis of proposed model for big data mining through stratified sampling.

Stratified Sampling-Based Data Reduction and Categorization …

109

Fig. 1 7 V’s characteristics for big data

2 Related Works In this section, this paper describes various sampling models for the big data environment based on the existing research perspective. Chen et al. introduced the efficient two-step data reduction approach, which is based on the sampling and relevant to the data mining for fast discovery of association rules [9]. Kollios et al. design the alternative forms of density-biased sampling for speed up the operations such as cluster creation, reduce the data computation time, and outline detection in the huge volume of real time data and synthetic data. In this research, the volume presents a large amount of data, variety present as structured and unstructured data format, and velocity present as real-time data [10]. Xu et al. give a CloudVista framework for the cloud, which performs the clustering as parallel under the big data. CloudVista framework is capable to handle large-scale data through BIRCH and sampling method reducing the size of data and visualization [11]. Cormode et al. present tutorial reviews of sample design in the big data respect to huge datasets, streaming, and graph-structured data [12]. Satyanarayana et al. focused on how to select many samples for data mining such as clustering and classification from the big data environment [13]. Zhao et al. proposed the cluster sampling arithmetic algorithms for classification of the data sample. This paper covers various sampling problems for big data mining and explains the reduced execution time and space cost through the proposed algorithm [14]. Kim et al. analyzed the big data on the basis of bias selection and proposed inverse sampling with data integration for independent big data sample through unbiased sampling [15]. Boicea et al. determine and compare various sampling algorithms on the basis of execution time, accuracy, and sampling case as a

110

K. K. Pandey and D. Shukla

single set, set intersection, set union, and set difference [16]. Zhao et al. proposed the SSEFCM algorithm which is based on stratified sampling. In this paper, the authors discussed the sampling model that reduces the execution time and increases clustering quality in a larger volume dataset. The proposed SSEFCM algorithm is also compared to other sampling-based fuzzy c-means clustering [17].

3 Data Reduction Techniques for Big Data Environment The data reduction scheme eliminates unnecessary processing of non-representative, unrelated, redundant, and unuseful data in the big data mining time with efficient time and memory utilization [18]. The various authors describe big data analysis strategies under the data reduction scheme through divide-and-conquer, feature selection, parallel processing, granular computing, incremental learning, and sampling categories [7, 17–19]. This section presents the principal idea of various data reduction schemes under the big data mining based on existing research perspective.

3.1 Divide-and-Conquer Divide-and-conquer strategies depend upon the three steps. The first step divides the whole dataset into various data chunks, the second step applies data mining techniques in each small data chunks, and the final step combines all data mining results to the final result. This technique is very useful for volume characteristic of big data.

3.2 Feature Selection This technique removes the common feature of data and pattern during the mining and obtains automatically those features which are related to the value characteristic of big data. This technique reduces the dimensionality of data and these data fetch unexpected difficulties for data mining. This technique is very useful for volume characteristic of big data.

3.3 Parallel Processing This strategy divided the whole problems into smaller and after that processed these smaller problems at the same time. Every problem executes the same data mining techniques based on the data chunks and combines all results to final results according

Stratified Sampling-Based Data Reduction and Categorization …

111

to parallelization algorithms. This technique is very useful for volume and variety characteristics of big data.

3.4 Granular Computing Granular computing is a subpart of divide-and-conquer and sampling strategies. According to this technique, whole dataset is divided into granules and granules define in the form of classes, clusters, groups, relations, and intervals for high computation in less time. This approach is very useful for data size reduction with different levels of data granularity. This technique is very useful for volume, variety, and velocity characteristic of big data.

3.5 Incremental Learning This is a dynamic form of supervised and unsupervised data mining techniques when training data taken out of memory size or time. According to this method, if the data size is very large and it cannot fit into memory and takes more time during the mining, then data mining techniques used only current data block. This technique is very useful for velocity characteristic of big data.

3.6 Sampling Sampling is based on probability and statistics inside of reduction to computing time in the huge amount of data and results accuracy. According to sampling techniques, it takes some sample from the entire dataset and after that applies useable data mining algorithms in this sample and analyzes sample result. This sample result describe the entire dataset result according to statistics. This approach creates a relationship between probability (sample) and statistics (whole dataset). This technique is very useful for volume, variety, and velocity characteristic of big data.

4 Sampling Strategy for Big Data Environment Data sampling is a more usable data reduction approach under the volume, variety, and velocity characteristic of big data with respect to utilizing the memory and time, reducing the size of data for mining and analyzing fast processing. Sampling has the capability to increase the performance with accuracy for any data mining or analyzed algorithms of the large dataset [9, 20].

112

K. K. Pandey and D. Shukla

Fig. 2 General framework of sampling

A good sampling strategy always reduces the data size and gives the guarantee sample of data must behold, all characteristics of the sample and gives high-quality mining results [14]. The general sampling framework is shown in Fig. 2 based on big data mining. According to this sampling framework, firstly it takes a sample from the big data dataset through any problem resolver sampling techniques and after that applies data mining techniques in this sample and validates the mining result. After that, data mining result is applied to the unsampled data, and getting the final result, final result is validated. This sampling strategy gives better to better results through sampling [17]. The common probability-based sampling techniques are random, systematic, reservoir sampling, progressive, and stratified sampling used in big data mining [15, 17, 21]. This section paper describes sampling strategies and shows their capability due to the characteristic of big data based on existing theoretically and practically research perspective and capability summarization shown in Table 1. Table 1 Sampling strategy for the characteristic of big data [7–19]

Sampling strategies

Volume

Variety

Velocity

Random sampling

Yes

No

No

Systematic sampling

Yes

No

No

Reservoir sampling

Yes

No

Yes

Progressive sampling

Yes

No

Yes

Stratified sampling

Yes

Yes

Maybe

Stratified Sampling-Based Data Reduction and Categorization …

113

4.1 Uniform Random Sampling The uniform random sampling selected n distinct data from the N data points using with or without replacement techniques. This sampling technique is assigned to a number between 1 to N to every data point. The probability of data selection from the sample unit is 1/N with non-duplication data in with replacement policy, and the probability of data selection under the without replacement policy is 1/((N¦n)). Here, parallel random number generator is needed for preemption on random number duplication [18, 21]. Some random sampling-based clustering algorithms are clustering using representatives (CURE), clustering large applications based on randomized sampling (CLARANS), and random sampling plus extension fuzzy C-means (RSEFCM) [17].

4.2 Systematic Sampling The systematic sampling techniques not used parallel random number generator but it’s used random number generator. The selection of data into a sample unit is done by using R + i * k, where R is the random number between 1 to k = N/n and ith data selected in a random method [18].

4.3 Progressive Sampling Progressive sampling starts from a smaller to larger size sample for data analysis based on sample efficiency and accuracy. When the selected sample size does not give appropriate results, then sample size continuously increases to the desired efficiency and accuracy is not met. Progressive sampling describes as schedule S = {n0 , n1 … nk } where each nk describes the sample size, which is contiguous increases through an induction algorithm [22]. Some progressive sampling-based sampling algorithm is geometric progressive fuzzy c-means (GOFCM) [17].

4.4 Reservoir Sampling Reservoir sampling is based on the randomized algorithms, memory efficient, and type of simple random sampling without replacement policy, which is taking samples from an unknown size of the huge dataset. Reservoir sampling takes sample S ≥ n, where n is the size of a random sample. This sampling technique takes first n data for data analysis and the rest of the data takes sequentially [23]. Some reservoir sampling techniques are R, Z, and D [16].

114

K. K. Pandey and D. Shukla

4.5 Stratified Sampling Here, heterogeneous dataset N is divided into homogeneous groups S0, S1, … Sn, which is known as strata and after that used uniform random or systematic sampling in every stratum for data selection. The main advance of stratified sampling over the other sampling technique is minimizing the estimation error [17, 18]. Inside of strata, relative homogeneous data objects is grouped together according to needed conditions and after that takes a sample for data analysis through random sampling [24]. Some stratified sampling techniques are stratified sampling plus extension fuzzy C-means (SSEFCM) [17].

5 Proposed Stratified Sampling-Based Data Reduction and Categorization Model A good sampling technique must follow the big data characteristic volume with variety and/or velocity. This paper discussed under the fourth section supportable sampling strategies for big data mining based on literature reviews. Big data is a collection of heterogeneous data that is collected from distributed sources. Data mining techniques are applied to this type of data, then data should be a need according to data mining techniques or similar types of data, such as numerical data, categorical data, continuous data, text data, video data, and so on. According to literature reviews, sampling is more suitable for data reduction and stratified sampling is suitable for data categorization or extracting from big data databases. This section tries to resolve the data categorization challenges and data reduction problems through the stratified sampling and proposed the data reduction model for categorization through stratified sampling. To archive, this model paper firstly presents the algorithms and describes these algorithms on the basis of stratified sampling via stratification, sample size, sample allocation, and its validation property [15, 17, 21, 25, 26].

5.1 Algorithm of Data Reduction and Categorization Model 1. According to the research problem or research condition, whole dataset X of the heterogeneous N data object is divided into various groups or categories or H strata between N 1 , N 2 … N H through stratified sampling. 2. Estimate the sampling validation criteria such as y¯ hU (dataset mean in stratum h), y¯ h (dataset mean inside of sample unit by URS), th (total dataset in stratum h), th (total dataset inside of sample unit by URS), total dataset mean t, tˆstr , y¯u (overall dataset mean), y¯str for validation of right categorization on H strata. 

Stratified Sampling-Based Data Reduction and Categorization …

115

3. Identify the sample size n on each H strata through Eq. (7). If sample size n > N * MAX(Nh ) then sample size n need to normalized according to n = N * MAX(Nh ). 4. Identify the number of data objects and create sample units via uniform random sampling methods from each strata H through the optimal allocation because its variance accuracy and difference are better than other sample allocation methods and define value characteristic of big data. 5. Validate the sample unit n h and strata H through variance and standard errors for achieving the result in high accuracy and precision. 6. Use data mining techniques according to the research problem or research condition on these sample data n h and get the partial mine result and this data mining algorithm known as stratified sampling-based data mining (algorithm name). 7. Measure and evaluate the partial mined data through data mining techniques related to evaluating criteria such as accuracy, use case set, error, variances, precision, relative recall, speedup ratio, statistical test, and other data mining algorithm-related criteria. 8. When the partial mine result fulfills the evaluate criteria, then this partial mine result is applied to unsample data which is not selected through optimal allocation and get final mine result. 9. Apply to again data mining evaluate criteria to final mine result if need.

5.2 Stratification Stratified sampling is based on two steps. The first step says to categorize heterogeneous data object to homogenous data object according to data analysis condition and known as stratification. The second step says to apply any random sampling for selection of data objects in every category of the homogenous data. This paper used a uniform sampling method for taking on the sample for data mining. Suppose dataset X consists of N heterogeneous data objects. According to the stratification dataset, X is dividing the total H strata with a total N h sampling unit in each stratum h. Here, every stratum h has an N homogenous data object. The number of data objects in stratum 1 to H is denoted by N 1 , N 2 … N H . Therefore, the total size of dataset X is N = N 1 + N 2 + · · · + N H . After that creation on H strata, apply to uniform random sampling for taking on data for mining. Suppose uniform random sampling (URS) defines S h sampling set of nh data object, which is selected on every N h sampling unit in each stratum h. Therefore, the total size of sampling unit S h is n = n1 + n2 + · · · + nH . Some sampling validation estimator y¯ hU (dataset mean in stratum h) via y¯ h (dataset mean inside of sample unit by URS), th (total dataset in stratum h) via th = Nh y¯ h (total dataset inside of sample unit by URS), total dataset mean t via tˆstr , and y¯u (overall dataset mean) via y¯str are need when takes on nh data unit sampled from N h unit on hth stratum and through URS. tˆstr and y¯str are based on unbiased 

116

K. K. Pandey and D. Shukla

estimation on t and y¯u . The formulation of these estimators defines Eqs. (1a) to (4b).  Nh j=1

y¯ hU =

yh j

(1a)

Nh 1  y¯ h = yh j n h j∈S

(1b)

h

th =

Nh 

yh j

(2a)

j=1 

th =

Nh  yh j = Nh y¯ h n h j∈S

(2b)

h

t=

H 

th

(3a)

h=1

tˆstr =

H  h=1

t = y¯u = N y¯str =



th =

H 

Nh y¯ h

(3b)

h=1

 H  Nh j=1

h=1

yh j

(4a)

N

H  Nh tˆstr = y¯ h N N h=1

(4b)

During the big data mining, it is important to evaluate the accuracy and precision for every sampling estimator via strata and random sampling. Accuracy is based on the degree of systematic error, and precision is based on the degree of variability. The standard error measures the precision and variance and confidence intervals measure the accuracy [27]. Variability is one of the dimensions of big data and variance is useful to measure the variability in the form of mean and average. In big data mining, variance value is always smaller, which measures the accuracy of the validation estimator in the form of stratum independently of each other in the samples taken time. The expected variance value of stratum is defined in Eq. (5). V (t¯str ) =

 H H      S2 nh 1− Nh2 h V th = Nh nh h=1 h=1 

where Sh2 defines the variance of stratum on each h so Sh2 =

(5)

 Nh ( yh j − y¯hu )2 . j=1

Nh −1

Stratified Sampling-Based Data Reduction and Categorization …

117

The standard error Vˆ (t¯str ) is obtained by subtracting on the variance of the sample obtained by uniform random stratum sh2 and the variance of the stratum Sh2 estimator. The formulation of standard errors is shown as Eq. (6b) and gives the square root of standard errors in Eq. (6c). Vˆ (t¯str ) =

 H   S2 nh 1− Nh2 h Nh nh h=1

 2 2 H   Nh Sh 1 ˆ nh ˆ V ( y¯str ) = 2 V (t¯str ) = 1− N Nh N nh h=1 SE ( y¯str ) = Vˆ ( y¯str )

(6a)

(6b) (6c)

5.3 Sample Size The size of the sample for big data mining is depending on the data object selection. The size of the sample is formulated as Eq. (7). If the size of the sample n is higher than 5% of the whole dataset size N, then n need to adjust. In this formula, V (t¯str ) is denoted as the variance of the whole dataset X and SE ( y¯str ) is denoted as the standard deviation of the data object of the stratum Sh .

 H

2 Nh SE ( y¯str ) n= H V (t¯str ) + h=1 Nh V (t¯str )h h=1

(7)

5.4 Sample Allocation The choosing of data point to strata is suffering various challenges due to accuracy and precision. To archive, highest accuracy and precision are done by sample allocation techniques. The sample allocation techniques are classified into proportional and optimal. Proportional allocation techniques work when the stratum size differs from each one. These techniques manage static sampling fraction throughout the dataset. The number of sample units via uniform random sampling in every stratum is proportional due to their size. The inclusion probability of sample allocation using the proportional allocation techniques is hj = nh /N h . The optimal allocation techniques determine the size of every stratum when it calculates the stratum size during the data object variability between all strata at the same time. Sampling units are obtained by uniform sampling and it is always

118

K. K. Pandey and D. Shukla

minimized via variance estimation for a fixed total sample size. The formulation of optimal allocation is shown as Eq. (8), where ch represents the cost of data taken in the sample. ⎛ nh =

N √h Sh ⎝  ch H Nh Sh √ t=1 ct

⎞ ⎠

(8)

6 Computation Analysis of Proposed Data Reduction and Categorization Model Any computation analysis of any algorithms or model depends upon the computation environment (tools), related dataset, an existing algorithm for comparing, evaluation criteria of analysis and validation to the proposed and existing algorithm, and final results. In this section, the paper describes the performance of the proposed optimized sampling Strategy.

6.1 Computation Tools and Dataset The experimental environment of the proposed data reduction and categorization model has used the R computing environment and Anuran Calls (MFCCs) dataset. Anuran Calls (MFCCs) dataset consists of 7195 real data points with 22 dimensions. This dataset is defining the volume and velocity criteria of big data mining [28].

6.2 Exiting Algorithm for Comparing Proposed model used clustering data mining techniques for validation of a given model. The paper [29–31] describes K-means, BIRCH, CLARA, CURE, CLARANS, DBSCAN, and DENCLUE more satiable under the higher dimensions, velocity, and volume data. This paper takes the partitioning-based K-means (KM) algorithm with Manhattan distance for cluster constructions using the proposed data reduction and categorization model because the K-means algorithm is the top second algorithm for data mining techniques [32].

Stratified Sampling-Based Data Reduction and Categorization …

119

6.3 Evaluation Criteria for Validation Accuracy and running time are the external evaluation criteria of clustering-based research under big data mining. This paper used to clustering algorithm for proposed data reduction and categorization model so that clustering accuracy is identified the correctly classified unlabeled data points and running time gives the total execution time of sampling-based clustering and without sampling-based clustering (traditional clustering algorithm). The formulation of the clustering algorithm shows in Eq. (9) [17, 33] k CA (%) =

i=1



maxkj=1 Ni, j N

∗ 10

(9)

In the formulation of CA, N is total data object, k (undefined class) and k  (predefined class) are the total number of cluster, and N (i,j) is the common object.

6.4 Results According to the algorithm of the proposed data reduction and categorization model through stratified sampling, this paper divides the Anuran Calls dataset into three strata based on categorical, numeric, and char data type with an optimal sample allocation scheme according to clustering data mining technique. Here, K-means algorithm is used as a data mining technique which is known as stratified sampling-based K-means (SSBKM) under stratified sampling-based data reduction and categorization model. The clustering accuracy and the average running time of SSBKM and KM are shown in Tables 2 and 3. Table 2 Clustering accuracy of SSBKM (sample size=20%) and KM

Table 3 Average running of SSBKM (overall with sampling validation and sample size=20%) and KM

Algorithms

Clustering accuracy (%)

KM

96.55

SSBKM (overall)

97.02

Algorithms

Execution time (s)

KM

96

SSBKM

23

120

K. K. Pandey and D. Shukla

7 Conclusion This paper reviewed the core idea of big data, big data mining, big data characteristics, data reduction techniques, sampling techniques, and sampling under the big data mining. The first section provides an introduction about big data, big data characteristics, big data mining, speed of data generation, and data reduction technique as sampling. The second section defines the related work of sampling techniques which are related to big data characteristics such as volume, variety, and velocity. This section identifies how a different type of sampling technique works under big data mining and how to validate them. The third section presents and gives the basic working process for data reduction techniques such as divide-and-conquer, feature selection, parallel processing, granular computing, incremental learning, and sampling. The fourth section gives a sampling strategy for big data environments such as uniform random sampling, systematic sampling, progressive sampling, reservoir sampling, and stratified sampling. This section identifies based on existing research perspective and related work section, uniform random sampling and systematic sampling is suitable under the volume, progressive sampling and reservoir sampling suitable under the velocity and volume, and stratified sampling suitable under the volume and variety. The fifth section proposed the algorithm of stratified sampling-based data reduction and categorization model for big data mining. This algorithm describes how to define stratification, sample size, sample allocation, sample validation, and data mining algorithms. The fifth section evaluates the proposed model by using clustering as a data mining algorithm with the help of the R computing environment, Anuran Calls dataset, and K-means clustering (Manhattan distance). This section finds the proposed model-based SSBKM clustering that has high accuracy and low computation time as compared to the traditional K-means algorithm.

References 1. Sivarajah, U., Kamal, M.M., Irani, Z., Weerakkody, V.: Critical analysis of big data challenges and analytical methods. J. Bus. Res. 70, 263–286 (2017). https://doi.org/10.1016/j.jbusres. 2016.08.001 2. Weichen, W.: Survey of big data storage technology. Internet Things Cloud Comput. 4(3), 28–33 (2016). https://doi.org/10.11648/j.iotcc.20160403.13 3. Grover, P., Kar, A.K.: Big data analytics: a review on theoretical contributions and tools used in literature. Glob. J. Flex. Syst. Manag. 18(3), 203–229 (2017). https://doi.org/10.1007/s40171017-0159-3 4. Gandomi, A., Haider, M.: Beyond the hype: big data concepts, methods, and analytics. Int. J. Inf. Manage. 35(2), 137–144 (2015). https://doi.org/10.1016/j.ijinfomgt.2014.10.007 5. Pandey, K.K., Shukla, D.: A study of clustering taxonomy for big data mining with optimized clustering MapReduce model. Int. J. Emerg. Technol. 10(2), 226–234 (2019) 6. Zicari, R.: Big Data: Challenges and Opportunities, pp. 103–128. Chapman and Hall/CRC (2014) 7. Czarnowski, I., J˛edrzejowicz, P.: An approach to data reduction for learning from big datasets: integrating stacking, rotation, and agent population learning techniques. Complexity 2018, 1–13 (2018). https://doi.org/10.1155/2018/7404627

Stratified Sampling-Based Data Reduction and Categorization …

121

8. Lutu, P.E.: Database sampling for data mining. In: Encyclopedia of Data Warehousing and Mining, pp. 344–348 (2005). https://doi.org/10.4018/978-1-59140-557-3.ch066 9. Chen, B., Haas, P., Scheuermann, P.: A new two-phase sampling based algorithm for discovering association rules. In: Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining—KDD 02, pp. 367–370 (2002). https://doi.org/10. 1145/775047.775114 10. Kollios, G., Gunopulos, D., Koudas, N., Berchtold, S.: Efficient biased sampling for approximate clustering and outlier detection in large data sets. IEEE Trans. Knowl. Data Eng. 15(5), 1170–1187 (2003). https://doi.org/10.1109/tkde.2003.1232271 11. Xu, H., Li, Z., Guo, S., Chen, K.: CloudVista. Proc. VLDB Endowment 5(12), 1886–1889 (2012). https://doi.org/10.14778/2367502.2367529 12. Cormode, G., Duffield, N.: Sampling for big data. In: Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining—KDD 14, p. 1975 (2014). https://doi.org/10.1145/2623330.2630811 13. Satyanarayana, A.: Intelligent sampling for big data using bootstrap sampling and Chebyshev inequality. In: IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE), pp. 1–6 (2014). https://doi.org/10.1109/ccece.2014.6901029 14. Zhao, J., Sun, J., Zhai, Y., Ding, Y., Wu, C., Hu, M.: A novel clustering-based sampling approach for minimum sample set in big data environment. Int. J. Pattern Recogn. Artif. Intell. 32(02), 1850003-1–1850003-20 (2017). https://doi.org/10.1142/s0218001418500039 15. Kim, J.K., Wang, Z.: Sampling techniques for big data analysis in finite population inference. Statistics Preprints (2018) 16. Boicea, A., Truic˘a, C., R˘adulescu, F., Bu¸se, E.-C.: Sampling strategies for extracting information from large data sets. Data Knowl. Eng. 115, 1–15 (2018). https://doi.org/10.1016/j.datak. 2018.01.002 17. Zhao, X., Liang, J., Dang, C.: A stratified sampling based clustering algorithm for large-scale data. Knowl.-Based Syst. 163, 416–428 (2019). https://doi.org/10.1016/j.knosys.2018.09.007 18. Yıldırım, A.A., Özdo˘gan, C., Watson, D.: Parallel data reduction techniques for big datasets. In: Big Data Management, Technologies, and Applications (Advances in Data Mining and Database Management), pp. 72–93 (2014). https://doi.org/10.4018/978-1-4666-4699-5.ch004 19. Wang, X., He, Y.: Learning from uncertainty for big data: future analytical challenges and strategies. IEEE Syst. Man Cybern. Mag. 2(2), 26–31 (2016). https://doi.org/10.1109/msmc. 2016.2557479 20. Tsai, C., Lai, C., Chao, H., Vasilakos, A.V.: Big data analytics. In: Big Data Technologies and Applications, pp. 13–52 (2016). https://doi.org/10.1007/978-3-319-44550-2_2 21. Thompson, S.K.: Sampling. Wiley, Hoboken, NJ (2012) 22. Provost, F., Jensen, D., Oates, T.: Progressive sampling. In: Instance Selection and Construction for Data Mining, pp. 151–170 (2001). https://doi.org/10.1007/978-1-4757-3359-4_9 23. Vitter, J.S.: Random sampling with a reservoir. ACM Trans. Math. Softw. 11(1), 37–57 (1985). https://doi.org/10.1145/3147.3165 24. Jing, L., Tian, K., Huang, J.Z.: Stratified feature sampling method for ensemble clustering of high dimensional data. Pattern Recogn. 48(11), 3688–3702 (2015). https://doi.org/10.1016/j. patcog.2015.05.006 25. Rice, J.: Mathematical Statistics and Data Analysis. W. Ross MacDonald School Resource Services Library, Brantford, Ontario (2015) 26. Lohr, S.L.: Sampling: Design and Analysis. South-Western Cengage Learning, Mason, OH (2010) 27. Haas, P.J.: Data-stream sampling: basic techniques and results. In: Data-Centric Systems and Applications Data Stream Management, pp. 13–44 (2016). https://doi.org/10.1007/978-3-54028608-0_2 28. Dua, D., Karra Taniskidou, E.: UCI Machine Learning Repository [http://archive.ics.uci. edu/ml]. University of California, School of Information and Computer Science, Irvine, CA (2017)

122

K. K. Pandey and D. Shukla

29. Pandove, D., Goel, S.: A comprehensive study on clustering approaches for big data mining. In: Proceedings of IEEE 2nd International Conference on Electronics and Communication Systems, pp. 1333–1338. IEEE Xplore Digital Library (2015). https://doi.org/10.1109/ecs. 2015.7124801 30. Fahad, A., Alshatri, N., Tari, Z., Alamri, A., Khalil, I., Zomaya, A.Y., Bouras, A.: A survey of clustering algorithms for big data: taxonomy and empirical analysis. IEEE Trans. Emerg. Top. Comput. 2(3), 267–279 (2014). https://doi.org/10.1109/tetc.2014.2330519 31. Pandey, K.K., Shukla, D.: An empirical perusal of distance measures for clustering with big data mining. Int. J. Eng. Adv. Technol. 8(6), 606–616 (2019). https://doi.org/10.35940/ijeat. f8078.088619 32. Dave, M., Gianey, H.: Different clustering algorithms for big data analytics: a review. In: Proceedings of IEEE International Conference System Modeling & Advancement in Research Trends, pp. 328–333. IEEE Xplore Digital Library (2016). https://doi.org/10.1109/sysmart. 2016.7894544 33. Aggarwal, C.C., Reddy, C.: Data Clustering Algorithms and Applications. CRC Press Taylor & Francis Group (2014). ISBN 978-1-4665-5822-9

Product Sentiment Analysis Using Natural Language Understanding Prachi Ayare, Ranjnishkaur Sachdeo and Milind Penurkar

Abstract In the twenty-first century, there is a need for a quick, effective, and automatic feedback analysis technique to understand client’s needs in real time. Growth of any business depends upon catering to customers’ needs as quickly as possible. The branch of computer science, which helps people to achieve their goals, is known as artificial intelligence and machine learning. This paper proposed one such mechanism to ease out sentiment analysis process. Artificial intelligence covers multiple algorithms ranging from simple SVM classifier to complex neural network. We present an innovative approach for analysing sentiments using hybrid cloud offering called natural language understanding, in which data from a social networking site is analysed. Apart from product review, this system is worthwhile for hospital feedback management system, food review analysis, and blood donation pattern finding. Keywords IBM Cloud · Sentiment analysis · Natural language understanding · Twitter data analysis · Emotions recognition

1 Introduction In the era of computer science and technology, the Internet has become the main source of information. This information can be in the form of blogs, huge documents, videos, Wikipedia, advertisements and much more. E-commerce websites like Flipkart, Amazon, and e-bay sell products and earn money online. These websites also provide a facility for product reviews, ratings, etc. These reviews contain opinions expressed by customers about the product they purchased. These opinions are useful for any other person who is willing to buy the same product. This reduces the time required to make decisions. In early days, whenever a person wanted to buy P. Ayare (B) Department of Computer Science and Engineering, MIT School of Engineering, ADT University, Rajbaug, Loni-Kalbhor, Pune 412201, India R. Sachdeo · M. Penurkar Department of Computer Science and Engineering, Indian Institute of Information Technology Nagpur, Nagpur, Maharashtra 440006, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_10

123

124

P. Ayare et al.

a mobile, tv, or any other appliances or products, he/she used to ask his/her relatives for opinion—this consumed a lot of time. But the Internet has made this process simpler and a lot of time would get consumed. But, with the help of the Internet, this process has become simpler. There are many cognitive tools which capture a person’s buying patterns and suggest some more similar products based on the previous searches. This is possible with the help of artificial intelligence (AI) and machine learning. Caporusso et al. proposed a system that analyses user product experience before and after purchasing of the product [1]. Ye et al. implemented a system to extract sentiments from visual textual data present in product reviews [2]. AI is the branch of computer science which forces machines to think like human brains. IBM Watson Assistant, Amazon AI, and Microsoft cognitive services are some AI cloud offerings. Popular examples of AI are Apple’s Siri, Alexa, Cortana, and Google assistant [3]. Siri is a virtual assistant who possesses the intelligence to assist people in performing tasks, memorising meetings, calendar events, etc. Now, AI is used in manufacturing, health care, education, business, finance, etc. NLP deals with the processing of human language corpora. ML enables computers to learn by themselves using the information given to the machine. NLP and ML are used in combination to extract sentiments from the provided data. The sentiment analysis is not limited to only the English language but also expanded to analyse emotions expressed in Arabic language [4]. We now see how industry utilizes AI and ML to aid customers in choosing the products. Operational Manager (OM) acts as a mediator between customers and the development team. His responsibility is to take the product’s feedback from customers and convey them to the development team. The team then acts on the input and makes suitable changes, so the product becomes customer friendly. In this way, he makes sure the quality of the product is maintained. The feedbacks are taken in the form of reviews, meetings, notes, blogs, etc. Some customers post their feedback on Twitter, Facebook, Instagram, and other social media sites. Reading every feedback manually is a very tedious task, which takes lots of efforts, energy, and time. The process can be disentangled with the help of product sentiment analyzer (PSA). PSA is a cognitive tool which helps OM to extract sentiments from the data and generate reports effectively. These reports help in deciding improvements that need to be done to improve the quality of the product. This paper presents a PSA tool. The key contributions comprise three primary modules: 1. Extract data from the Twitter website. 2. Perform sentiment analysis on the data. 3. Generate automatic reports. Further sections cover the related work, working methodology, output, followed by a conclusion and future scope.

2 Related Work Peng et al. implemented a system for finding out aspect value in the sentiments expressed in the Chinese language [5]. The traditional method of finding emotions has two disadvantages. First is, it does not look towards the context of the information.

Product Sentiment Analysis Using Natural Language Understanding

125

It breaks down the sentences and then analyses the feelings. Thus, the authors have come up with the three-step model which consists of an adaptive learning model, sequence learning model based on aspect value, and third is the granularity analysis model. Chinese text has three types of granularity, viz. character, radical, and word. Adaptive learning model consists of sentence sequence learning, aspect target unit learning. Sequence learning involves the inclusion of long short-term memory (LSTM) neural network to find out the context of the sentence. Fusion involves late fusion and early fusion techniques. The evaluation has been performed on a car, camera, phone, network. Mike Thelwall reviewed different sentiment analysis methods. He also suggested some methods to use in sentiment analysis [6]. Lexical analysis, machine learning analysis, universal sentiment analysis, etc. are some types of sentiment analysis. Lexical-based sentiment analysis uses a dictionary-based method. It finds out positive or negative sentiments based on the list of keywords. Each keyword has a value associated with it. In the machine learning method, the text is trained using classifiers and therefore, it is time-consuming. The author has also described the advantages and disadvantages of each approach with examples. He has analysed a tourism case study. Applications of this are trip advisor website, online booking sites, finding market trends, competitive analysis, etc. Abinaya et al. proposed a methodology which divides the sentiments in positive, negative, or neutral based on the feedback provided by the customer [7]. Here, the customer is asked to watch a video stored in the database and must provide feedback. Clustering and pre-processing are performed to clean the data and remove the duplicates. A dictionary-based algorithm is implemented to extract the data. Support vector machine is used for evaluation of the data. The graph is created in order to visualise the data. The future scope is to analyse the data present on the social media sites, tweets, retweets given by the customers, and monitor follow, unfollow pattern. Godse et al. implemented a system for information technology service management (ITSM) [8]. In the traditional approach, if an end-user is facing some issue, then he has to search for answers in blogs or technical documents. If he does not find any solution to the problem, then he must open a ticket with the support system. Then support system solves this issue, and the ticket is dismissed. It is a very time-consuming process and requires lots of efforts. Instead, the team has created a chatbot which can interact with the end-user and helps in solving the problem. The system takes a JSON file as input and sends this to the chatbot plugin; this plugin sends feedback to the IBM Watson conversation API service. The response is captured, and modification is done if necessary; otherwise, it is displayed as it is on the console. The authors have created various use cases to train the data, and these are coffee vending machine not working, VPN is not working, installation queries, etc. This system is handy for new joiners as it assists them and tries to solve questions faster. This system can be enhanced to incorporate attachments along with the chat conversation. Abbasi et al. developed a system to help people to know blood donation patterns [9]. It used social media site, Twitter to extract data. They studied request and response behaviour of the people to fulfil the requests. They targeted Twitter accounts having more than 40,000 followers. The system takes tweets and retweets as input using the Twitter search API. Then it analyses the text and searches for

126

P. Ayare et al.

several donations, groups of blood that are requested the most, causes of blood donations, application usage, completion of the blood donation request, etc. This system is useful for hospitals and clinics to fulfil the request. It also extracts the frequency of a certain blood group request. Many health care systems should incorporate these features to provide services to the people who are in need. The process can be automated to respond as early as possible. Bandana implemented a system which is useful for movie reviews [10]. The author has used a movie review dataset. The dataset is pre-processed to remove HTML tags, punctuation marks, stop words. The system is implemented using a combination of machine learning and lexicon-based methods. SentiWordNet Scores, Term Presence SentiWordNet scores, Top 10 TF-IDF SentiWordNet, Exaggerated word shortening, and emotions are extracted from the text. In machine learning approaches, Naïve Bayes algorithm and linear support vector machine algorithm are used to extract polarity of sentiments. Finally, the system has extracted class labels from the data and divided data into positive and negative classes. The system can be extended to use new features to extract sentiments, incorporate multiple heterogeneous machine learning algorithms to provide more accurate results. Deep learning features like Word2Vec and Doc2Paragraph can also be used. Victoria Ikoro et al. developed a system for analysing sentiments expressed on Twitter by the UK energy consumers [11]. Here, dataset is considered as the combination of tweets by the customers, retweets by the energy company, tweets sent in response to the customer’s message, etc. These datasets are collected in the form of threads of messages between the customer and the energy suppliers in the specific time frame. Authors have used two types of lexicons for retrieving positive and negative sentiments, one is a sentiment and another is Hu and Liu lexicon. Sentiment lexicon was able to provide negative sentiments more accurate than the positive one, whereas Liu and Hu lexicon provided positive sentiments more accurately. The system then combined results from both lexica. While extracting sentiments author has also considered domain-specific data. The system classifies the sentiments for the same word into general sentiments and domain-specific sentiments. Li et al. devised a new approach to find out the sentiments from short microblogs [12]. Traditional sentiment calculation rules are not able to extract emotions from short written text. The author has built a relationship between modifier and emotion words to derive results. The system involves data analysis on multiple stages. These are dependency parsing, sentiment relationship, sentiment relationship migration, and find the modified distance. For dependency, parsing language technology platform (LTP) is used. Parsing derives the relationship between two words, which is not enough; hence, they have further described the relationship between words using dependency relationship. Then, they analysed two negative sentences of different intensities using modified distance. A word can have multiple meanings; hence, sentiment structure is defined. It describes all sentiment relationship pairs of the single word. Results are derived from the combined value of sentiment structure and sentiment calculation of short text. This methodology gives 4% more accurate results than their previously proposed model. Nabil et al. implemented a recommendation system based on Twitter streaming data [13]. Data is extracted using Twitter streaming API and spark. The data is then analysed to find out the percentage of positive, negative, and

Product Sentiment Analysis Using Natural Language Understanding

127

neutral results. Sabra et al. implemented a sentiment lexicon generation system for Arabic language using the semi-supervised learning method [14]. The authors have taken a small set of positive and negative seed words. WordNet relations are used to extract the relation between the words. A queue is created for storing synset. Seed word is compared with the synset; if they are matched, then the synset is pushed into the queue. There are some words which have the same name and POS but belong to different synsets; those are removed to recover atomic value. Sentiment score is calculated depending on the depth of positive and negative keywords. SAMA comparison is performed to match results with the standard repository. The scores are then normalised to extract positive and negative orientation of the seed word. Shahnawaz et al. discussed open issues and approaches in sentiment analysis [15]. Three types of approaches, namely statistical, hybrid, and knowledge-based are described in the paper. Open issues involve sarcasm, comparison, more focus towards English language sentiment extraction, comparison with inadequate amounts of labelled data, limited use of knowledge-based lexicon, etc. Trupthi et al. extracted sentiments from Twitter streaming API [16]. The methodology focuses on training data and data classification. The data is extracted using the Twitter streaming API and stored in the MongoDB database. NLTK is used to perform initial phases of cleaning the data. Classification phase uses the map-reduce algorithm to extract sentiments from the data. Patil et al. devised a new approach to find out specific features of the product and sentiments of the user [17]. Authors have used Amazon review dataset to find out important features of the product. K-means clustering and LDA algorithms are used to cluster different features of the product. In the absence of sufficient data, the author has chosen to use tenfold algorithm to cluster features. They developed three systems using logistic regression, support vector machine, and naïve Bayes for determining the accuracy of the proposed model. Zheng implemented a system to extract sentiments from the news article data [18]. CRF learning model, feature vector, and opinion polarity classification methods have been used to calculate sentiments in the text. The method proposed by the author extracts sentiments from the data more efficiently and gives accurate results. Table 1 shows the summary of some of the research work using comparative parameters.

3 Product Sentiment Analyzer (PSA) Methodology This segment presents the working procedure and system implementation of product analyzer system. The system has been built on the IBM Cloud platform. Operational Manager (OM) needs to compile a lot of information at once, so the PSA system reduces its work by automating a daily task. Figure 1 demonstrates the block diagram of the PSA system. The application is deployed in the IBM Cloud. IBM Cloud provides a platform to deploy and manage application using toolchain. This toolchain includes GitHub connectivity for continuous delivery of code, eclipse tool to change the code, and one deployment-build engine which automatically deploys application after the building is done. The system is divided into three major components: 1.

128

P. Ayare et al.

Table 1 Analysis and comparative study of sentiment analysis parameters Parameters

ICIA-IW [8]

SLSMA [9]

SATSA [16]

TMALSA [17]

PSA-NLU (Proposed)

Dataset

User query

Twitter

Twitter

Amazon

Twitter

Development framework

Bag of words

Dependent, independent variables

MongoDB, map-reduce algorithm

LDA, K-means clustering

Twitter standard API, IBM Watson API

Functionalities

Generate ticket for solving queries

Calculate blood donations, pattern capturing analysis, location analysis, app usage

Positive, negative, neutral sentiment extraction

Find out the important features of the product

Sentiment score extraction

Domain

IT

Health care

News and entertainment

E-commerce

Software research and development

Objectives

Develop information technology service management system

Provides a platform to understand blood donation patterns

To understand user reviews

Ease out decision-making process

To extend help to the operational manager to simplify data review process

Fig. 1 Block diagram of PSA

Extract data from the Twitter website. 2. Perform sentiment analysis on the data 3. Generate automatic reports. Algorithm 1 demonstrates PSA system implementation, which is initiated via a web application. Input to the system is the search word or a hashtag inserted by OM.

Product Sentiment Analysis Using Natural Language Understanding

129

All tweets related to the search word are extracted. The response is given as an input to natural language understanding (NLU) API to extract results. Algorithm 1: PSA system implementation Input: User input (Keywords/ Hashtags related to the product ) Output: Sentiments displayed in the table. Begin: PSA 1. Extract twitter data for the last seven days. 2. Use NLU to extract sentiments from the data. 3. Display results in table form. 4. Display results using the chart End

Major steps given in Algorithm 1 are described below: 1. Extract Twitter data Algorithm 2 shows a method to extract tweets from Twitter. The search string is given to the textbox in the web application. To extract Twitter data, one should create a Twitter developer application. This application provides consumer key, consumer secret, access token, and access token secret. The user is authenticated using these credentials; then only data can be extracted. Twitter standard API is used to extract tweets and retweets from the site. It extracts maximum of 100 tweets/last seven days data whichever is maximum. The results are displayed in table format. Algorithm 2: Extract twitter data Input: User input (Keywords/ Hashtags related to product ) Output: Text/urls displayed in the table. Begin: Extract twitter data Create a twitter developer application. Retrieve credentials. Use REST API with the search string and timeframe Display data in the table. End

2. Perform sentiment analysis on the data Algorithm 3 shows a method to extract sentiments from the tweets. IBM Watson provides an API service for extracting sentiments from the data. To use the service, one must create an application to get a URL and key. User is authenticated and then given access to the service. API service is called by providing text/URL data and sentiments are extracted. Before extracting sentiments, the API removes unwanted texts and advertisements present in HTML content. Pre-processing on data is performed which consists of mechanisms like tokenization and stop word removal. The pre-processed data is then compared against the words in the database system and sentiments are extracted from the data.

130

P. Ayare et al.

Algorithm 3: Perform sentiment analysis Input: Tweets extracted from twitter in text/URLs Output: Positive, negative, neutral sentiments Begin: Perform sentiment analysis Create an NLU service in IBM cloud Extract URL and key Use REST API along with credentials Get positive, negative, and neutral sentiments End

3. Analyse the sentiments Algorithm 4 describes the process of analyzing sentiments. Input to the system is URL/text extracted from Twitter. Each text is given to Watson’s NLU API and processed to extract positive, negative, and neutral sentiments. Features supported by API include emojis, sentiment score, a bag of related positive/negative words, and the context of the text. API provides sentiment score between −1 and 1 which contributes to extracting sentiments from the data. If the score is between −1 and 0, the text belongs to the class negative. If the score is 0, then the text belongs to class neutral. And if the score is between 0 and 1, then the text belongs to class positive. Algorithm 4: Analyse the sentiments Input: Text/URLs that are giving negative sentiments Output: Display words that are giving negative emotions Begin: Analyse the sentiments If sentiment score is between -1 to 0 then classify text as negative If sentiment score is 0 then classify text as neutral If sentiment score is 0 to+1 then classify text as positive. Calculate positive, negative, and neutral sentiments Graphically represent the data End

4 Results and Discussion 4.1 Use of NLU API Consider a sentence: A Fortune 1000 business can see $65M of extra income with only a 10% increase in data accessibility. Learn how you can also. This is a positive sentence. And the URL related to it is https://twitter.com/IBMcloud/status/ 1149780407682052096. The Internet has multiple sentiment analysis APIs. These are tested for extracting sentiments from text and URL. The results are displayed in Table 2. Table 2 shows that only Aylien and IBM NLU provide URL processing capability, but Aylien provides 0.55% positive sentiments when entered sane test in

Product Sentiment Analysis Using Natural Language Understanding Table 2 Comparison of different sentiment analysis APIs

131

APIs available on Internet

Percentage and sentiment classes

URL processing capability

ParallelDots

Neutral 40.2%

No

Aylien

Positive 70.2%

Positive 55%

Google

Neutral 20.0%

No

SummarizeBot

Positive 60%

No

IBM NLU

Positive 78%

Positive 76%

Fig. 2 UI of PSA

URL form. And IBM NLU provides nearly the same sentiments when entered as text and URL. The above statement exhibits positive sentiment, but, ParallelDots, Google provides neutral sentiment. SummarizeBot provides positive sentiment but does not process URL. The reason behind using IBM NLU is that it provides correct sentiment analysis for text and URL.

4.2 Dataset Twitter tweets and retweets are taken as the dataset for analysis of sentiments. For data extraction, Twitter standard API is used which extracts last seven days tweets/retweets or 100 tweets whichever is maximum.

132

P. Ayare et al.

5 Results Figure 2 shows the user interface for the PSA. Product sentiment analyzer module is implemented to extract positive, negative, and neutral sentiments from the data. This system uses a standard Twitter search API which gives tweets for the last seven days. It only extracts 100 tweets per search. Figures 3 and 4 show sentiments extracted for keyword ibmcloud, the total number of positive, negative, and neutral sentiments, and it’s a graphical representation. Figure 3 shows the positive, negative, and neutral sentiments. A full smile shows sentiment is positive. Meh, smile shows that the sentiment is neutral. Percentage of positive (ps), negative (ns), and neutral (nes) sentiments are calculated using formulae: % ps =

Total number of sentiments that are predicted to be positive . Total number of sentiments

(1)

% ns =

Total number of sentiments that are predicted to be negative . Total number of sentiments

(2)

Total number of sentiments that are predicted to be neutral . Total number of sentiments

(3)

% nes =

PSA outputs are analysed for five different products available in the market. These products are lakme, ibmcloud, makemytrip, Watson, and ibmmq. Table 3 shows the results obtained for each product. Table 4 describes the accuracy of the proposed methodology. The methodology is compared with the traditional Naive Bayes algorithm. The results displayed in Table 4 show that NLU works more efficiently and gives more accurate results. Table 4 describes the percentage macro average of the three classes, i.e. positive, negative, and neutral. The macro average is performed using Eqs. (4), (5), (6).

Fig. 3 Results for keyword ibmcloud

Product Sentiment Analysis Using Natural Language Understanding

133

Fig. 4 Analysis of keyword ibmcloud

Table 3 Results of different products

Product

Positive (%)

lakme

61.00

Negative (%) 3.00

Neutral (%) 36.00

ibmcloud

57.60

3.00

39.40

makemytrip

24.00

44.00

32.00

Watson

55.00

30.00

15.00

ibmmq

55.00

19.00

26.00

Table 4 Comparative analysis of accuracy parameters using Naive Bayes and NLU Products

Classifiers Naive Bayes Precision

NLU Recall

F1-score

Precision

Recall

F1-score

lakme

53.00

49.00

47.60

70.3

70.00

69.30

ibmcloud

47.00

45.33

44.66

71.60

51.60

65.66

makemytrip

74.66

77.60

67.30

83.30

86.00

83.60

ibmmq

61.55

79.00

70.52

66.66

64.30

64.33

Watson

60.00

70.00

72.50

72.00

80.02

75.52

134

P. Ayare et al.

Macro avg. precision = Macro avg. recall =

Precision score for all classes . 3

(4)

Recall score for all classes . 3

(5)

Macro avg. F1 - score =

F1 score for all classes . 3

(6)

6 Conclusion and Future Scope We have successfully implemented the automation of product sentiment analysis using natural language understanding (NLU) service provided by IBM Cloud. The service extracts sentiment class and sentiment score. The proposed system is compared with the Naive Bayes algorithm. The system produced more accurate results when NLU is applied. This system is useful for real-time analysis of the data. PSA can be extended to analyse streaming Twitter data, data from other sources, viz. Facebook, Instagram, newsfeeds, LinkedIn. Applications of PSA are product review analysis in industry, hospital management system, blood donation pattern recognition.

References 1. Caporusso, N., Walters, A., Ding, M., Patchin, D., Vaughn, N., Jachetta, D., Romeiser, S.: Comparative user experience analysis of pervasive wearable technology. In: International Conference on Applied Human Factors and Ergonomics, pp. 3–13. Springer, Cham (2019) 2. Ye, J., Peng, X., Qiao, Y., Xing, H., Li, J., Ji, R.: Visual-textual sentiment analysis in product reviews. In: IEEE International Conference on Image Processing (ICIP), pp. 869–873. IEEE (2019) 3. López Herrera, G., Quesada Quirós, L., Guerrero Blanco, L.A.: Alexa vs. Siri vs. Cortana vs. Google assistant: a comparison of speech-based natural user interfaces. In: International Conference on Applied Human Factors and Ergonomics, pp. 241–250. Springer, Cham (2017) 4. Al-Smadi, M., Al-Ayyoub, M., Jararweh, Y., Qawasmeh, O.: Enhancing aspect-based sentiment analysis of Arabic hotels’ reviews using morphological, syntactic and semantic features. Inf. Process. Manage. 56(2), 308–319 (2019) 5. Peng, H., Ma, Y., Li, Y., Cambria, E.: Learning multi-grained aspect target sequence for Chinese sentiment analysis. Knowl.-Based Syst. 148, 167–176 (2018) 6. Sigala, M., Rahimi, R., Thelwall, M.: Big Data and Innovation in Tourism, Travel, and Hospitality: Managerial Approaches, Techniques, and Applications, pp. 87–104. Springer, Singapore (2019) 7. Abinaya, R., Aishwaryaa, P., Baavana, S., Selvi, N.T.: Automatic sentiment analysis of user reviews. In: IEEE Technological Innovations in ICT for Agriculture and Rural Development (TIAR), pp. 158–162. IEEE (2016) 8. Godse, N.A., Deodhar, S., Raut, S., Jagdale, P.: Implementation of chatbot for ITSM application using IBM Watson. In: Fourth International Conference on Computing Communication Control and Automation (ICCUBEA), pp. 1–5. IEEE (2018)

Product Sentiment Analysis Using Natural Language Understanding

135

9. Abbasi, R.A., Maqbool, O., Mushtaq, M., Aljohani, N.R., Daud, A., Alowibdi, J.S., Shahzad, B.: Saving lives using social media: analysis of the role of twitter for personal blood donation requests and dissemination. Telemat. Inform. 35(4), 892–912 (2018) 10. Bandana, R.: Sentiment analysis of movie reviews using heterogeneous features. In: 2nd International Conference on Electronics, Materials Engineering & Nano-Technology (IEMENTech), pp. 1–4. IEEE (2018) 11. Ikoro, V., Sharmina, M., Malik, K., Batista-Navarro, R.: Analyzing sentiments expressed on twitter by UK energy company consumers. In: Fifth International Conference on Social Networks Analysis, Management and Security (SNAMS), pp. 95–98. IEEE (2018) 12. Li, J., Qiu, L.: A sentiment analysis method of short texts in microblog. In: IEEE International Conference on Computational Science and Engineering (CSE) and IEEE International Conference on Embedded and Ubiquitous Computing (EUC), vol. 1, pp. 776–779. IEEE (2017) 13. Nabil, S., Elbouhdidi, J., Yassin, M.: Recommendation system based on data analysisapplication on tweets sentiment analysis. In: IEEE 5th International Congress on Information Science and Technology (CiSt), pp. 155–160. IEEE (2018) 14. Sabra, K.S., Zantout, R.N., El Abed, M.A., Hamandi, L.: Sentiment analysis: Arabic sentiment lexicons. In: Sensors Networks Smart and Emerging Technologies (SENSET), pp. 1–4. IEEE (2017) 15. Astya, P.: Sentiment analysis: approaches and open issues. In: International Conference on Computing, Communication and Automation (ICCCA), pp. 154–158. IEEE (2017) 16. Trupthi, M., Pabboju, S., Narasimha, G.: Sentiment analysis on twitter using streaming API. In: IEEE 7th International Advance Computing Conference (IACC), pp. 915–919. IEEE (2017) 17. Patil, P.P., Phansalkar, S., Kryssanov, V.V.: Topic modelling for aspect-level sentiment analysis. In: Proceedings of the 2nd International Conference on Data Engineering and Communication Technology, pp. 221–229. Springer, Singapore (2019) 18. Zheng, Y.: Opinion mining from news articles. In: Recent Developments in Intelligent Computing, Communication and Devices, pp. 447–453. Springer, Singapore (2019)

Software Cost Estimation for Python Projects Using Genetic Algorithm Amrita Sharma and Neha Chaudhary

Abstract Software cost estimation is a process of planning, risk analysis, and decision making for project management in software development. Cost of project development encompasses a software project’s effort and development time. One popular model of software cost estimation is constructive cost model (COCOMO) model, which is a mathematical model proposed by Boehm, used for estimate the software effort and development time. The objective of this paper is to improve the basic COCOMO model’s coefficients for modern programming languages like Python, R, C++, etc. Many techniques were presented in the past for effort and time estimation using machine learning. But all these techniques were trained and tested for older programming languages. In order to improve the accuracy of COCOMO for modern programming languages, six Python projects have been considered and genetic algorithm (GA) is applied in these projects to define new values for basic COCOMO coefficients and the development time is calculated for Python projects. The time estimated using GA coefficients is compared with the original COCOMO and actual time. Using mean magnitude relative error, the error from the original COCOMO time is 54.49% and error from GA time is 21.23%. Keywords Genetic algorithm · Software cost estimation · Development time · Python project dataset · Modern programming languages

The original version of this chapter was revised: The incorrect affiliation of authors “Dr. Neha Chaudhary” and “Amrita Sharma” has now been replaced with the correct one. The correction to this chapter is available at https://doi.org/10.1007/978-981-15-3325-9_40 A. Sharma (B) · N. Chaudhary Department of Computer Science and Engineering, Manipal University Jaipur, Jaipur, Rajasthan, India e-mail: [email protected] N. Chaudhary e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020, corrected publication 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_11

137

138

A. Sharma and N. Chaudhary

1 Introduction To evaluate the development process against the expected budget and time, a project manager requires to estimate software development cost. The topic of software cost estimation has always been important and interesting to the researchers. A project manager always wants that a project will be developed on the lower price.

1.1 Software Cost Estimation To estimate the cost for software development, many methods exist. They are divided into mainly three categories as (1) expert judgment, (2) algorithmic models, and (3) machine learning methods [1]. Expert judgment is based on consultation and experience of one or more experts. Algorithmic models use mathematical equations. The main input for these models is the size of software projects [2]. Example of this type of models is COCOMO. In the third type, different types of soft computing techniques such as a neural network, fuzzy logic, and genetic algorithm [3–6] are used for software cost estimation. As the technology and the user requirements are growing, there is a requirement for an improved model for cost estimation with accuracy. In this paper, genetic algorithm is used to evaluate values of four coefficients for COCOMO model. The software cost of project development involves the software effort that is required for the development of the project and the duration of project development. The effort is measured in man-month, and time is calculated in months. Many different optimization algorithms were also used to optimize the coefficients of the COCOMO model like bat algorithm, tabu search algorithm, etc. [7, 8].

1.2 COCOMO Model Most widely used algorithmic model is Boehm’s constructive cost model (COCOMO model) [1]. It is a mathematical model that estimates the cost of project development using the four coefficients that were evaluated from previous data using the regression analysis. The formula to calculate effort and development time is specified in Eqs. (1) and (2), respectively. The primary input for this model is the size of the software that affects the estimation of the cost of the software. The size matric used in the COCOMO model is the lines of code, function point, and use case point. Line of code is the most used size matrix that includes all the program instruction and the program statements. E = a × KLOCb

(1)

Software Cost Estimation for Python Projects Using Genetic … Table 1 Dataset of software project development

Project no.

Project size (KLOC)

139 Development time (months)

Training dataset 1

16.675

7

2

44.144

12

3

5.206

2

4

2.78

1

5

2.015

1

6

8.392

5

Testing dataset 7

12.00

3

8

5.6

3

9

16.00

4

T = c × Ed

(2)

where E = effort required for software developments KLOC = kilo lines of code T = time required for software development a, b, c, d = coefficients of COCOMO model. Cost estimation using the COCOMO model mainly depends on the size of the software. The projects are classified based on the project size into three classes as (1) organic, (2) semi-detached, and (3) embedded. The coefficients of the COCOMO model have different values for the different classes of projects. Table 1 shows the values of the coefficients of the model and size of projects. The coefficients of the COCOMO model were derived from the projects of 1981 [9]. The projects contained in the dataset were developed using older programming languages and they were mostly procedure-oriented languages. The COCOMO model with original coefficients cannot calculate software cost accurately for the modern programming languages. For accurate estimation of development time for new programming languages, these coefficients need to be modified. To modify these coefficients, a genetic algorithm-based technique is proposed in this paper.

2 Related Work Dhiman and Diwaker [10] used the genetic algorithm to optimize the coefficients of COCOMO II Post-Architecture model. For the optimization, the Turkish and Industry dataset is used [11]. Software effort is calculated with the optimized COCOMO II PA model coefficients where the error is less than the error from the original

140

A. Sharma and N. Chaudhary

COCOMO II PA model. mean magnitude relative error is used for the validation of the experiment. In other work, Galinina et al. [12] proposed the optimized coefficients for the basic COCOMO model. The proposed model optimized the coefficients for the two categories of software projects: organic and semi-detached. Development time and the effort of the project development are estimated with the proposed model. Authors used the mean relative error to validate the proposed algorithm. The results obtained with the proposed model for the organic type of category are better but the results for the semi-detached are near to the current COCOMO model. Sheta [13] proposed the two models using the genetic algorithm for effort estimation. The NASA COCOMO projects are used for the experiments of these models, where the three parameters are obtained to estimate the effort for the software. In the first model, two coefficients were generated. The second model was proposed by adding a bias value which was multiplied with the methodology of software projects. This was added with the first model of effort estimation. Many other works have been done by the researchers where different types of optimization techniques were used for estimation of software cost, effort, and development time. Gupta and Sharma [8] used the bat algorithm for optimization. This algorithm was used to optimize the coefficients for the intermediate type of COCOMO model. This work proposed the two new coefficients for the three categories of COCOMO. This work was tested on the software project dataset of NASA. To estimate the software development effort, Huang et al. [14] implemented the neuro-fuzzy technique with the COCOMO model. With this model, author defined the new 22 cost drivers. For the implementation of this neuro-fuzzy technique, the COCOMO’81 project dataset and 6 industry projects were used. The validation of this model was done using the mean magnitude relative error method. Kaur et al. [7] proposed tabu search algorithm for derive new coefficients of COCOMO II Past Architecture model for calculating software effort. These derived values were used to reduce the original model’s uncertainty. The proposed model was tested on the 15 projects from the Turkish and Industry dataset. All these works have been implemented using the datasets, e.g., COCOMO’81, COCOMO NASA, NASA2, Desharnais, Turkish and Industry datasets [15]. These datasets have the projects of older programming languages or procedural languages from 1970 to 1990 [15]. Accuracy for these datasets has achieved best using proposed methods, but the estimation for the projects of new object-oriented languages, like Python, R, C++, Java, etc., may not give accurate results using the previously proposed methods. Mean relative error for new projects has more than mean relative error for the new projects.

3 COCOMO Model with Genetic Algorithm Many researchers have proposed different soft computing techniques for estimation of development time. But the development time of software projects depends on the size of the projects and size varies with the programming languages. Therefore, projects in the dataset have vital role in computation of coefficients.

Software Cost Estimation for Python Projects Using Genetic …

141

None of the researchers has computed development time for modern programming languages using basic COCOMO model. In this work, we have proposed genetic algorithm-based coefficients computation of COCOMO model for Python programming languages. The steps of the algorithm are described below [12]: (i)

(ii)

The individuals are generated randomly in the genetic algorithm with the realbinary coding for the four variables that are considered as the four coefficients of the COCOMO model. The initialize population is x i = 1, 2 … 10 , where x i is number of population. Each variable of individuals contains the decimal value. Each variable contains numbers from 0 to 9. The objective function (shown in Eq. (3)) is defined for the estimation of the development time for the software development projects using the individuals. T = c(a ∗ KLOCb )d

(3)

The development time for each project j is calculated with the individual i.  predtimei j = X i 3 X i 1 ∗ KLOC j

(iii)

where i is number of individuals and j is number of projects. Fitness of an individual for the specific project is calculated using Eq. (4). The fitness formula of the algorithm is the error between the actual development time and estimated development time.  fitnessi j =

(iv)

 Xi 2 Xi 4

predtimei j − actualtime j predtimei j

 (4)

where the predtimeij is the estimated time with individual i for project j and actualtimej is the actual time of project j. The fitness of projects is measured as the difference error between estimated time and actual time. The fitness of an individual is measured by calculating the average of all project fitness calculated in the previous step with the Eq. (5). Fitness = average(fitnessi j )

(5)

where i is individual number and j is project number. The algorithm will stop when it will reach its maximum iterations or when the best fitness of the population is found. The maximum iterations are set to 3000. (vi) For the selection of individuals for parents, the roulette wheel selection method is used to make the offsprings. (vii) For a crossover, uniform crossover method is used to make the children from the selected parents. In this method, the genes are randomly chosen from the parents. First, a random chromosome is generated, and then the children are (v)

142

A. Sharma and N. Chaudhary

generated using Eqs. (6) and (7). Child1 = a ∗ p1 + (1 − a) ∗ p2

(6)

Child2 = a ∗ p2 + (1 − a) ∗ p1

(7)

where a is a random chromosome and p1 and p2 are parents chromosome. (viii) Offsprings are merged in the initial population to form the new populations and the fitness of the merged population is checked. The best results are saved. Then, again new parents are selected using the roulette wheel method.

4 Proposed Optimization Algorithm 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.

Begin Ps: initial population PsSize: size of initial population DSize: size of database; DSize=6 Time: development time X1,x2,x3,x4: chromosome of population prdtime: predicted development time actualtime: actual development time Generate initial population Ps For i=1:maximum iteration Fitnessfunction() { For i=1:PsSize{ For i=1:DSize{ x4  Time=x3i j ∗ x1i j ∗ K L OC x2i j i j MREij =(prdtimeij -actualtimej )/prdtimeij }End fitness=average(MRE) }End } Best fitness=minimum(fitness) Parent selection by roulette wheel selection S=sum (fitness) Selection_probability=fitness*(1/S) RouletteWheelSelection(selection_probability) {r: randomly generate a value c: Cumulative of selection probability return value if r>c }

Software Cost Estimation for Python Projects Using Genetic …

30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.

143

P1,P2: parents chromosome UniformCrossover(P1, P2) { a: randomly generate chromosome child1=a*P1+(1-a)*P2 child2=a*P2+(1-a)*P1 } Merge_population() { Ps=Ps+child1+child2 }End

5 Dataset In our study, we use the dataset of projects from Python programming languages from different sources. The dataset includes the six academic projects for training and the three projects for testing. The dataset contains the size of the project in kilo lines of code and the development time in months. The dataset with the included information is mentioned in Table 1. In the table, first six projects are the academics projects which are used for training and the last three projects are used for testing purpose and these are collected from the official Web site of Python [16].

6 Discussion The experimentation of the genetic algorithm is done with the MATLAB code. First we defined the 10 initial population and 3000 iterations. We start the optimization with the genetic algorithm for six Python projects of organic class. In the experiment, we used the uniform crossover method. Best results are achieved in many iterations, and from these results, a set of solution is got for the COCOMO coefficients. An individual depicted in Eq. (8) is achieved based on the best fitness of all individual as the new coefficients of basic COCOMO model. 1.556619047

0.467688093 0.303540284 1.750846971

(8)

The new proposed coefficients are a = 1.557, b = 0.468, c = 0.304, and d = 1.751. In this work, we use the mean magnitude relative error as the fitness function. To find the best fitness, we compare our absolute error of the genetic model to the absolute error of the original COCOMO model. After the comparison, the absolute error of original COCOMO time and the actual time is found 54.49%, while the absolute error of proposed COCOMO model time

144

A. Sharma and N. Chaudhary

Fig. 1 Results of the actual development time, GA development time, and original COCOMO development time

and actual development time is 21.23% which is 2 times less than as with the original COCOMO. The results are more close to the actual development time of projects. Figure 1 shows the results of the development time achieved from the proposed model, actual development time and the original COCOMO development time. The fitness in the form of mean magnitude error of individual projects is shown in Fig. 2. The values of the GA development time are also shown in Table 2. This solution set is tested on three Python projects. The error we got between actual development time and GA COCOMO is 29.66% which is also 2 times less than the error of actual and original COCOMO development time which is 62.29%. The development time of testing projects is shown in Table 3.

7 Analysis of Results For the analysis of the results of the coefficients, the development time of the dataset of Python projects is also calculated with the COCOMO model using optimized coefficients of previous work. Dhiman and Diwaker [10] optimize COCOMO coefficient using the Turkish and Industry dataset and the mean magnitude error using these coefficients is 56.57% and it is 2% more than the original COCOMO model which is 54.49%. The error percentage for the Python project development time from the results of Galinina et al. [12] is 64.95% where they used dataset which is made by Lopez-Martin [17], and it is three times greater than the results of this work which is

Software Cost Estimation for Python Projects Using Genetic …

145

Fig. 2 Mean magnitude relative error of actual-GA estimated time and actual-COCOMO estimated time Table 2 Actual development time, GA development time, and original COCOMO development time (in months) for the training dataset Project no.

Actual development time

Proposed model development time 6.622391

Original COCOMO development time

1

7

2

12

3

2

2.551075

6.734501

4

1

1.525638

5.243173

5

1

1.171965

4.611328

6

5

3.772673

8.147842

14.70587

10.7158 15.80244

Table 3 Actual development time, GA development time, and original development time (in months) for the testing dataset Project no.

Actual development time

Proposed development time

1

3

5.057378309

2

3

2.708239639

3

4

6.40189782

Original COCOMO development time 9.397527336 6.933416718 10.54057138

Actual time (months)

7

12

2

1

1

5

Project no.

1

2

3

4

5

6

3.773

1.172

1.526

2.551

14.7056

6.622

Time with new coefficients (months)

32.532

14.673

34.454

21.602

18.3999

5.702

Error from proposed model (MMRE)

9.0197

6.086

6.651

7.907

14.257

10.8999

Time from [10] (months)

44.566

83.569

84.964

74.706

15.8299

35.780

Error from [10] (MMRE)

11.656

5.9697

6.942

9.317

25.391

16.084

Time from [12] (months)

57.102

83.249

85.595

78.534

52.739

56.478

Error from [12] (MMRE)

8.148

4.611

5.243

6.735

15.802

10.716

Original COCOMO time (months)

Table 4 Comparison of development time (months) and error (MMRE) from this work with the development time from previous work

38.634

78.314

80.928

70.302

24.062

34.676

Error from original COCOMO (MMRE)

146 A. Sharma and N. Chaudhary

Software Cost Estimation for Python Projects Using Genetic …

147

Fig. 3 Error of development time between different models

21.23%. The previous work had implemented their work on the Turkish and Industry dataset, NASA dataset, COCOMO’81 dataset, and other datasets. The projects of these datasets are developed with the old programming languages. Therefore, the results of the previous work may not give a better cost estimation for the modern programming languages. The result is shown in Table 4. Comparison of the error from different work is also depicted in Fig. 3.

8 Conclusion and Future Work In this work, we have proposed improved COCOMO coefficients with the genetic algorithm. The development time for the software projects is calculated using the proposed model for a dataset of Python projects. To validate the proposed model, the mean magnitude relative error method is used. The results show the substantial improvement in the development time for Python projects as compared to development time calculated using original COCOMO and the previous proposed optimization techniques. The proposed algorithm can be extended for projects with other modern programming languages. Other machine learning methods are also used for cost estimation for the latest dataset of projects for new languages. Also, the coefficients of other types of COCOMO models will be optimized with different types of evolutionary algorithms.

148

A. Sharma and N. Chaudhary

To generalize the results, a big dataset of different size of projects will be used. For the COCOMO model, the projects lie in three categories based on the size of projects. As mentioned above, to improve the COCOMO coefficients, six student projects and three other projects of Python language are used for training and testing the genetic algorithm technique. However, this implementation may be difficult to achieve best results because the availability of good and reliable dataset is limited in this work.

References 1. Saeed, A., Butt, W.H., Kazmi, F., Arif, M.: Survey of software development effort estimation techniques. In: Proceedings of the 2018 7th International Conference on Software and Computer Applications, pp. 82–86. ACM (2018) 2. Pal, G., Kumar, M., Barala, K.: A review paper on COCOMO model. J. Comput. Sci. Eng. 4, 83–87 (2015) 3. Idri, A., Amazal, F.A., Abran, A.: Analogy-based software development effort estimation: a systematic mapping and review. Inf. Softw. Technol. 58, 206–230 (2015) 4. Pospieszny, P., Czarnacka-Chrobot, B., Kobylinski, A.: An effective approach for software project effort and duration estimation with machine learning algorithms. J. Syst. Softw. 137, 184–196 (2018) 5. Azzeh, M., Nassif, A.B.: A hybrid model for estimating software project effort from use case points. Appl. Soft Comput. J. 49, 981–989 (2016) 6. Nassif, A.B., Ho, D., Capretz, L.F.: Towards an early software estimation using log-linear regression and a multilayer perceptron model. J. Syst. Softw. 86(1), 144–160 (2013) 7. Kaur, J., Sindhu, R.: Parameter estimation of COCOMO II using Tabu search. Int. J. Comput. Sci. Inf. Technol. 5(3), 4463–4465 (2014) 8. Gupta, N., Sharma, K.: Optimizing intermediate COCOMO model using BAT algorithm. In: 2nd International Conference on Computing for Sustainable Global Development, pp. 1649– 1653 (2003) 9. Boehm, B.W.: Software engineering economics. IEEE Trans. Softw. Eng. 10(1), 4–21 (1984) 10. Dhiman, A., Diwaker, C.: Optimization of COCOMO II effort estimation using genetic algorithm. Am. Int. J. Res. Sci. Technol. Eng. Math. 13(278), 208–212 (2013) 11. Manalif, E.: Fuzzy expert-COCOMO risk assessment and effort contingency model in software project management. Electronic thesis and dissertation repository, 1159, The University of Western Ontario, Apr 2013 12. Galinina, A., Burceva, O., Parshutin, S.: The optimization of COCOMO model coefficients using genetic algorithms. Inf. Technol. Manag. Sci. 15(1), 45–51 (2013) 13. Sheta, A.F.: Estimation of the COCOMO model parameters using genetic algorithms for NASA software projects. J. Comput. Sci. 2(2), 118–123 (2006) 14. Huang, X., Ho, D., Ren, J., Capretz, L.F.: Improving the COCOMO model using a neuro-fuzzy approach. Appl. Soft Comput. J. 7(1), 29–40 (2007) 15. Shirabad, J.S., Menzies, T.J.: The PROMISE Repository of Software Engineering Databases. School of Information Technology and Engineering, University of Ottawa, Canada. Retrieved from http://promise.site.uottawa.ca/SERepository (2005) 16. Do, C.: Python allows us to produce maintainable features in record times, with a minimum of developers. Retrieved from https://www.python.org/success-stories/ 17. Martin, C.L., Pasquier, J.L., Yanez, C.M., Tornes, A.G.: Software development effort estimation using fuzzy logic: a case study. In: Sixth Mexican International Conference on Computer Science (ENC’05), pp. 113–120. IEEE (2005)

Prediction of Rise in Violence Inclined Opinions: Utility of Sentiment Analysis in the Modern World Khushboo Sansanwal, Mamta Mittal and Lalit Mohan Goyal

Abstract Internet has over the time become an important platform of discussion, in turn becoming a rich source of information, whose analysis can be of immense use to the concerned organizations. Acquiring such knowledge from the analysis of the data available over the Internet has facilitated their decisions whether to improve, modify or reorganize the product. As a prototype, Python Program has been used in this article to understand the operation of sentiment analysis on online data set such as available on Twitter, to identify tweets exuding violent tone and their polarity. The results obtained have been further analyzed to understand the utility of sentiment analysis in the modern world, and from the findings of the analysis, it is evident that there is indeed a reflection of increased inclination of tweets or expressions tendered by Twitter users on social platform of Twitter toward violence-oriented opinions. Keywords Sentiment analysis · Python · Twitter · Violence · Polarity

1 Introduction Since ages, it has been an endeavor of the business houses, to know about the tastes, trends, likings, affiliation of people toward the products manufactured by them, as well as by other contemporaries and competitors [1]. Acquiring such knowledge obviously facilitated their decisions whether to improve, modify or reorganize the product [2]. However, in earlier days, until the last decade, of the last millennium, it was a tedious and exhaustive exercise to gather the opinions, feedback or reviews from the people [3]. Then, finally analyzing it to know the findings. However, in those times, the data freely available was scarce and required immense active labor to gather the same from subjects and thus was unacceptably time-consuming [4]. However, as the time progressed, telecom services experienced a boom; Internet K. Sansanwal · M. Mittal G. B. Pant Government Engineering College, Okhla, New Delhi, India L. M. Goyal (B) Department of Computer Engineering, J.C. Bose University of Science and Technology, YMCA, Faridabad, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_12

149

150

K. Sansanwal et al.

progressively became cheaper culminating into advent of smart phones. Thus, people armed with smart phone and associated cheap Internet drew them more and more toward social interactive platforms available online where they could freely express their opinions. This revolutionized the way people’s opinions were gathered and analyzed, and decisions obtained on analysis of the same [5]. However, advantage came with certain limitations to be overcome, such as, data, though easily and freely available, was magnanimous, difficult to interpret on such large scale, came attached with redundant details of no use and quite difficult to easily analyze [6]. It implied that the availability of data though solved the problem of getting closer to people’s opinion, albeit partially [7]. Such magnanimous data required cleaning, structuring, processing and thereby posed a serious challenge in analyzing [8]. The challenge was even more serious, realizing the fact that it was not the straightforward clear-cut statements, but there were thousands of words from which qualitative views have to be inferred to know their true intent, by analyzing tool or software, to arrive on the correct inferences and decisions [9]. Analyzing computing tool has to understand the exact theme emerging from the written text which is not always easy as people may use satire or sarcasm, whereby though words used may be positive the sentiment exuded is ultimately negative [10]. The solution came forward in the form of advancements made in the field of data sciences, especially in the field of data mining [10]. As a result of these advancements, analysts and researchers got empowered with intelligent and powerful tools such as sentiment analysis, by use of which they can analyze even such magnanimous data comprising of thousand and lakhs of opinions and reviews, lying on online medium, to know about the sentiments shown by the individuals in their reviews and opinions [11]. The results could be utilized to know the people’s response toward their products and to accordingly revise/modify their strategy [2]. Such sentiment analysis could be performed using several techniques executed through respective programs [11]. One such program Python [12] has been utilized by the researcher in this present article, to analyze the selected data set in order to understand its operation. This paper has organized as follows: Sect. 2 presents the methods and tools employed for performing analysis with a brief discussion about the performance of sentiment analysis using different techniques. The procedure followed for analysis of the selected data set has been laid out in Sect. 3. Further, the results obtained have been presented in Sect. 4 followed by the conclusion of the work carried out in this article in Sect. 5.

2 Methodology and Tools Employed The objective of the researcher in this article has been to understand sentiment analysis as a tool for data mining on a data set for inferring positive, negative or neutral sentiments emerging in the opinions given by people on online social online platforms. The problem statement has been drafted for defining the area of opinion mining as—“To apply a selected tool on a selected Data Set of twitter to study the

Prediction of Rise in Violence Inclined Opinions: Utility …

151

prevalence of tweets of violent tone,” which has been chosen after a thorough review of available literature so as to remain relevant to the current challenges faced by the society. Twitter, the online social interactive platform, has been chosen for the ease of availability of freely expressed opinions. Presently, more than hundred million users are using Twitter to display online what is going in their mind. Thus, Twitter has become a rich hub of conglomeration of people’s perception on politics, entertainment, current affairs and topics of people’s concern such as gender equality, orthodox customs, religion and political refugees [13, 14]. This gives an immense platform and opportunity to the scientists to delve into these texts, material posted in real time and their meaning, orientation or sentiment which in turn can be utilized by business houses, political adversaries marketing firms and government agencies to their advantage of operations [15, 16]. There is an artificial intelligence program of Twitter known as Twitter API which comes very useful in such analysis [17]. Analysis employed in this article is regarding the burning issue of several forms of violence that has been raging in the country [18], presently affecting just not the larger public but often reaching the celebrities as well. The violence can be of many forms. While in the physical world violence largely connotes to physical blows, the literature says that bullying, verbal abuse and using expletives are classified to be a form of violence and psychological assault. It has been evidenced in the several researches that the incidence of violence whether physical or in the virtual world is on rise [19]. Even a mere innocuous-looking post of somebody’s (his/her) opinion online has been followed with unpleasant trolls, grossly equating to as good as abuse [20]. In the present article, tweets on Twitter laden with a tone of violence has been attempted to identify to see whether the hypothesis that the online posted tweets by users laden with violence is on rise or not. Cambridge dictionary defines violence as “actions or words that are intended to hurt people” [21]. World health organization in its publication “Chap. 1. Violence—a Global Public Health Problem” [22] has broadened the interpretation of its phrase “the use of physical force or power” [22] used in the definition of violence given by them earlier, including neglect and all types of physical, sexual and psychological abuse, as well as suicide and other self-abusive acts. The data available in the form of tweets on the online social platform of interaction at “Twitter” has been selected as the data set for present article. The method of selection employed was purposive selection. The tool employed for sentiment analysis on the selected data set is Python and has been selected by method of purposive selection from among the two available, i.e., Python and R [23, 24]. The words were identified indicating connotations for violence on the basis of the literature search made in this regard. Pointwise mutual information (PMI) is used to classify tweets as positive or negative on the basis of the selected pro-violence words. PMI for two words w1 and w2 is calculated by the following equation PMI(w1 + w2 ) = log2

p(w1 and w2 ) p(w1 ) p(w2 )

152

K. Sansanwal et al.

Fig. 1 Performance of sentiment analysis

The semantic orientation (SO) of an obtained tweet can be calculated as follows: SO(tweet) = PMI(tweet, w1 ) − PMI(tweet, w2 ) Sentiment is a subjective feeling which, in turn, is composed of attitude, opinion and emotions [25]. An analysis of texts to know such attitude, opinion, emotion or collectively to be addressed as a sentiment exuding from the text is known as sentiment analysis. This analysis can be performed in three ways as pointed out in Fig. 1. Sentiment analysis using supervised machine learning techniques: In this technique, two types of data sets are required: training data set and test data set. Various machine learning algorithms are available such as support vector machine (SVM), naive Bayes (NB) and maximum entropy (ME) which can be used to classify the documents. The first step in supervised machine learning technique is to collect the training set and then select the appropriate classifier. Once the classifier is selected, the classifier gets trained using the collected training set. The key step in the supervised machine learning technique is feature selection. The classifier selection and feature selection determine the classification performance. Sentiment analysis using unsupervised machine learning techniques: Lexiconbased method is an unsupervised learning approach since it does not require prior training data sets. It is a semantic orientation approach to opinion mining in which sentiment polarity of features present in the given document is determined by comparing these features with semantic lexicons. The key steps of lexicon-based sentiment analysis are preprocessing, feature selection, sentiment score calculation and sentiment classification. Sentiment analysis using hybrid techniques: Another approach of performing sentiment analysis is by combining both the supervised and unsupervised techniques [26] to gain a relatively improved performance.

Prediction of Rise in Violence Inclined Opinions: Utility …

153

3 Data Analysis The following steps have been followed as portrayed in Fig. 2 to analyze and identify the sentiments indicated by the Twitter texts. • Python script has been used to download and analyze the tweets. The Python script communicated with Tweepy through the Twitter API, which has been used

Fig. 2 Proposed methodology

Fig. 3 Tweets obtained for analysis

154

• •

• • •

K. Sansanwal et al.

by firstly obtaining the Twitter API credentials through creation of an app on developer.twitter.com. The running command has been given one by one for the chosen words, for identifying the tone of tweets whether laden with tone of violence and the identification of their polarity with respect to positive, neutral and negative. For identifying such tweets which could have a tone of violence, words have been tried to be identified from literature which have a hint of violence. Words so identified on the basis of literature search are brutality, savagery, cruelty, sadism, roughed, ferocity, ruthless, merciless, inhumanity and heartlessness. The tweets have been preprocessed and cleaned, to facilitate deriving of information regarding exuded sentiment through application of appropriate algorithms. Tokenization and stemming have been done so as to increase the effectiveness of sentiment analysis. The results thus obtained have been plotted in the form of bar charts.

4 Results The words which have been used in the analysis done in this article to find out whether a tweet exudes sentiment of violence are those which in the usual course of conversation are used when there is an aggression or a hint of violence exerted in speech or text. The results have been obtained by the Python script, run with Tweepy and Twitter API, and further, the bar graphs are shown in Figs. 4, 5, 6, 7, 8, 9, 10, 11, 12 and 13. The data set so collected is shown in Fig. 3. Sentiment orientation of the chosen words in the selected data set is shown in Table 1. Fig. 4 Sentiment analysis of the term “brutality” in data set

Fig. 5 Sentiment analysis of the term “savagery” in data set

Prediction of Rise in Violence Inclined Opinions: Utility … Fig. 6 Sentiment analysis of the term “cruelty” in data set

Fig. 7 Sentiment analysis of the term “ferocity” in data set

Fig. 8 Sentiment analysis of the term “roughed” in data set

Fig. 9 Sentiment analysis of the term “sadism” in data set

Fig. 10 Sentiment analysis of the term “ruthless” in data set

155

156

K. Sansanwal et al.

Fig. 11 Sentiment analysis of the term “merciless” in data set

Fig. 12 Sentiment analysis of the term “inhumanity” in data set

Fig. 13 Sentiment analysis of the term “heartlessness” in data set

Table 1 Sentiment orientation of the words in the obtained data set Negative (in %)

Neutral (in %)

Positive (in %)

Brutality

72

9

19

Savagery

69

12

19

Cruelty

21

31

48

Ferocity

31

26

43

Roughed

36

28

36

Sadism

14

2

84

Ruthless

82

9

9

Merciless

72

13

15

Inhumanity

22

42

36

Heartlessness

54

27

19

The results obtained have been on seven-point Likert scale consisting of strongly positive, weakly positive, positive, neutral, negative, weakly negative and strongly negative, which has been subsequently converted into three-point Likert scale of positive, neutral and negative, as seven-point Likert scale was not offering any specific

Prediction of Rise in Violence Inclined Opinions: Utility …

157

advantage and using three-point Likert scale is easy to comprehend and much more instantly informative. The results, however, are specific to the sample of tweets analyzed on a given date and time and thus cannot be generalized to be a representative of expression of all Twitter users. Also, the results may have been different among the opinions of population who are not using the Twitter. It is worthwhile to note that when tweets were analyzed for the word brutality as shown in Fig. 4, a word having a violent connotation, 72% of tweets were identified to be having a negative sentiment where the word brutality was mentioned, in comparison with only 19% of tweets identified to be having a positive sentiment for the chosen word, and 9% of tweets were found to be having a neutral sentiment. A similar picture was seen when analysis was done with using word savagery as shown in Fig. 5; 69% of tweets were identified to be having a negative sentiment where the word savagery was mentioned, in comparison with only 19% of tweets identified to be having a positive sentiment for the chosen word, while 12% of tweets were found to be having a neutral sentiment. When analysis was done for word cruelty, somewhat reverse picture was revealed—48% of tweets were having positive sentiment, while 31% of tweets possess a negative sentiment, as shown in Fig. 6. When analysis was done for word sadism, also a reverse picture was revealed—84% of tweets were having positive sentiment, while 14% of tweets possess a negative sentiment, as shown in Fig. 9. This shows that it is not necessary that a negative word is always used in a negative way in a text. A person may use a negative word in his opinion while criticizing or opposing a wrong oppressive act. Similarly, a happy word may not truly show a happy emotion but may be an act of sarcasm. The results shown in context of brutality and savagery support the hypothesis that there is a trend of violent tweets on Twitter. The high percentage of tweets bearing a negative emotion in context of words brutality and savagery is in line with finding in the work of Jumhare et al. [19], wherein also a negative emotion has been found prevailing in significantly high number of tweets. However, that observation was found after a specific incidence of an event which was against the sovereignty of the country. On the other hand, in one of the work Miró-Llinares and Rodriguez-Sala [27] if any set pattern could not be found in analysis of tweets that could determine any significant difference in the tweets having hate content when compared with general social tweets. According to Amnesty International’s one of the works “Toxic Twitter—A Toxic Place for Women” shows that Twitter though a very important social online platform for expressing opinions has also shown to be a place of violence and abuse of women.

5 Conclusion In context of sentiment analysis, an indication of the growing trend of unrest and unacceptable behavior, inappropriate to known limits of social conduct, has been observed. On condition of concealed or impersonating identity, a person in the guise

158

K. Sansanwal et al.

of unaccountability, due to virtually no risk of identification, falls for unacceptable behavior. However, sooner or later, society and authorities related to the Internet users’ affairs have to rise to the occasion to take appropriate steps so as to contain this behavior before it becomes a widespread malaise and at the same time keeping the freedom of speech preserved. The insight gain in the area of Twitter analysis is huge and handsomely rewarding, and can be used in multitude of areas for shaping the strategy of action whether it is business problems, political campaign or government initiatives for larger public. Future researchers could use more extensive analytic software for analysis of more representative samples of tweets to identify trend in sentiment toward acts of violence regarding generalized criminal behavior or violence having origin in gender biases to effectively know their incidence and prevalence. The findings can be used by appropriate agencies in mitigating such propagation of violent tweets and their translation into addition of violent acts of public.

References 1. Liu, Y., Huang, X., An, A., Yu, X.: ARSA: a sentiment-aware model for predicting sales performance using blogs. In: Proceedings of the 30th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 607–614. New York (2007) 2. Gupta, S.: Applications of Sentiment Analysis in Business. Accessed at https://itnext.io/ applications-of-sentiment-analysis-in-business-4267e3c622fc 3. Sarin, K.: Customer reviews: why they matter now more than ever before and how to get them? Published on 22 June 2017. Accessed at https://razorpay.com/blog/customer-reviewswhy-they-matter-now-more-than-ever-before-and-how-to-get-them/ 4. Cogburn, D.L., et al.: Accelerating social sciences for the new age. Moving from traditional methods for analyzing large scale textual data to socially high-performance computational methods. Paper presented at the CSCW’J2, Seattle, Washington, USA, 11–15 Feb 2012 5. Witell, L., Kristensson, P., Gustafsson, A., Löfgren, M.: Idea generation: customer co-creation versus traditional market research techniques. J. Serv. Manag. 22(2), 140–159 (2011) 6. Bennett, S.: The 10 Biggest Challenges Facing Social Media Marketers, Adweek. Published on 14 Nov 2014 7. Chaffey, D., Ellis-Chadwic, F., Mayer, R., Johnston, K.: E-Business and E-Commerce Management, 4th edn. Financial Times Prentice Hall, London (2009) 8. Stieglitz, S., Mirbabaie, M., Ross, B., Neuberger, C.: Social media analytics—challenges in topic discovery, data collection, and data preparation. Int. J. Inf. Manage. 39, 156–168 (2018) 9. Mislove, A., et al.: Measurement and analysis of online social networks. In: Proceedings of the 7th ACM SIGCOMM Conference on Internet Measurement, pp. 29–42. ACM (2007) 10. Jayasanka, S., Madhushani, T., Marcus, E.R., Aberathne, I.A.A.U., Premaratne, S. (2013). Sentiment analysis for social media 11. Lucas, C.: Sentiment Analysis a Multimodal Approach. Department of Computing, Imperial College, London (2011) 12. https://www.analyticsvidhya.com/blog/2018/07/hands-on-sentiment-analysis-dataset-python/ mainpaper 13. Jaidka, K., Zhou, A., Lelkes, Y.: Brevity is the soul of twitter: the constraint affordance and political discussion (2018) 14. Arceneaux, N., Weiss, A.S.: Seems stupid until you try it: press coverage of Twitter, 2006–9. New Media Soc. 12(8), 1262–1279. https://doi.org/10.1177/1461444809360773

Prediction of Rise in Violence Inclined Opinions: Utility …

159

15. Duhan, N., Divya, Mittal, M.: Opinion mining using ontological spam detection. In: 2017 International Conference on Infocom Technologies and Unmanned Systems (Trends and Future Directions) (ICTUS), Dubai, pp. 557–562 (2017). https://doi.org/10.1109/ictus.2017.8286071 16. Singh, A., Ranjan, J., Mittal, M.: Big data and behavior analytics in marketing. In: Handbook of E-Business Security. CRC Press, Taylor & Francis (2018) 17. Dhanush, M., et al.: Analysis of a topic on twitter using tweepy. Int. Res. J. Eng. Technol. (IRJET) 05(05) (2018) 18. Mittal, M., Goyal, L.M., Sethi, J.K., Hemanth, D.J.: Monitoring the impact of economic crisis on crime in india using machine learning. In: Computational Economics, pp. 1–19. Springer (2018) (SCIE Indexed Journal, IF = 1.03). https://doi.org/10.1007/s10614-018-9821 19. Jumhare, N., Rajeswari, G., Jayakrishnan, B.: Sentiment analysis based on twitter data on violence. Asian J. Pharma. Clin. Res. 20. Alisha, Mittal, M., Kaur, S., Kaur, T., Malhotra, A.S.: Infotube—a study of Youtube trends. Int. J. Curr. Eng. Technol. 7(6), 2025–2028 (2017). ISSN 2277-4106 21. Cambridge Dictionary. Accessed at https://dictionary.cambridge.org/dictionary/english/ violence 22. WHO: Violence—a global public health problem, Chap. 1. In: WHO Report on World Violence and Health. https://www.who.int/violence_injury_prevention/violence/world_report/en/ full_en.pdf?ua=1 23. Shastri, M., Roy, S., Mittal, M.: Stock price prediction using artificial neural model: an application of big data. SIS, EAI (ESCI Indexed) (2019). https://doi.org/10.4108/eai.19-12-2018. 156085 24. Mittal, M., Goyal, L.M., Monika: Airline popularity prediction on twitter data through sentiment analysis. J. Multi-Discipl. Eng. Technol. 10(2), 1–6 (2016) 25. Mejova, Y.: Sentiment Analysis: An Overview. Comprehensive Exam Paper. University of Iowa, Computer Science Department (2009) 26. Rahmath, H., Ahmad, T.: Sentiment analysis techniques—a comparative study. Int. J. Comput. Eng. Manag. 17(4) (2014). ISSN (Online): 2230-7893 27. Miró-Llinares, F., Rodriguez-Sala, J.J.: Cyber hate speech on twitter: analyzing disruptive events from social media to build a violent communication and hate speech taxonomy. Int. J. Des. Nat. Ecodyn. 11, 406–415 (2016). https://doi.org/10.2495/dne-v11-n3-406-415

Face Tagging and Recognition Using Inception Network and Triplet Loss Generator Function Shreya Kumari, Prachi Pandey and Maroti Deshmukh

Abstract Tagging friends and acquaintances is quite popular in modern scenarios. The paper models the concept of triplet loss generator function based on anchor, positive, and negative images for face detection, recognition and tagging on the color FERET dataset. The designed neural network will output 128 face encodings for a given person’s image and then these encodings are compared against each other to achieve face recognition. Once recognized, name tags appear over the faces present in the picture so as to utilize this name functionality to tag them. The experimental results show that the proposed method performs better in terms of tagging as well as recognition in small duration of time. Keywords Face tagging · Face recognition · Neural network · Triplet loss function

1 Introduction Face recognition and tagging is a stimulating area of research. It is also a very popular and common feature as everyone wants to share who they are within a particular frame or the people they are with to get notified of the pictures they have uploaded. Many social networking sites such as Facebook, Twitter, Instagram, etc. provided the feature of tagging people if they are present in the picture uploaded by the user. The 2 images of the same person are categorized as anchor (A) and positive (P) image and an image of any other person is referred to as negative (N) image. Applying the concept of TLG function is that we should select anchor, positive and negative S. Kumari (B) · P. Pandey · M. Deshmukh Department of Computer Science and Engineering, National Institute of Technology Uttarakhand, Srinagar, Uttarakhand, India e-mail: [email protected] P. Pandey e-mail: [email protected] M. Deshmukh e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_13

161

162

S. Kumari et al.

triplets that are hard to train on. The model should learn to reduce the distance between encodings of anchor and positive image and increase the distance between encodings of anchor and negative image. The TLG function is formalized as: || f (A) − f (P)||2 − || f (A) − f (N )||2 PT H then Continue receiving data //reduce overhead contender else Return to initialize the sensor network Pi (τ ) end if else if (E τC H (i) < E T H & P < PT H ) then Send CH_ Nominee_clear()& Cluster_terminate() //to clear clusters return to initialize the network Pi (τ ) //new CH request end if

4 Energy Model This section presents the energy model to moderate energy restraint of our proposed EESCT model. The energy model used in our analysis is taken from first-order radio model as used in [20]. There are usually four working systems of a SN which are processing unit, sensing unit, radio communication subsystem which includes a receiver, transmitter, amplifier and antenna; and an energy unit (Fig. 1). The energy dissipation in a SN is depended on the processing unit, sensing unit and radio unit of the SN. In this model, energy dissipation is accomplished as the transmitter fritters energy to route the radio electronics. This model uses both freespace (fs) and multipath (mp) fading channels based on distance between the receiver and transmitter. A threshold is defined to determine the channel to be used. If the distance is less than the threshold, fs channel is used on the other hand if the distance is more than the threshold; the mp channel is used. Consequently, to send a data packet of k-bit over a distance d, the radio spends: E TX (k, d) = E TX−elec (k) + E TX−amp (k, d)  E TX (k, d) =

Fig. 1 Energy dissipation model

E elec ∗ k + kεfs d 2 if d < d0 E elec ∗ k + kεmp d 4 if d ≥ d0

(2) (3)

Probabilistic-Based Energy-Efficient Single-Hop Clustering …

359

where threshold d 0 is given as  d0 =

εfs εmp

(4)

To receive the data packet, the radio spends: E RX (k) = E RX−elec (k) = k E elec

(5)

5 Simulation and Performance Evaluation The proposed EESCT technique has been simulated and evaluated using Network Simulator 2 (NS-2) [21]. The area under monitoring is supposed to be a square topography with measurement of 1000 m × 1000 m. The simulation parameter measured in simulation is depicted in Table 1. The performance of our proposed EESCT technique is evaluated by analysing the following metrics: throughput, packet delivery ratio, reliability, packet loss, end-to-end delay, network lifetime and average energy consumption. The performance metrics are then compared with already existing protocols: SEECH and DDEEC protocols. a. Energy consumption: It is one of the most fundamental criterions to determine the efficiency of WSN. It is the sum of the transmitted energy and receiving energy with the number of SNs. It is defined as:

Table 1 Simulation parameters

Parameter

Value

WSN area

1000 m × 1000 m

Total no. of SNs

100

Simulation time

600 s

SN initial energy

100 J

Cluster radius

15 m

Transmission energy

150 nJ/s for 1-bit

Aggregation energy

5 nJ/bit/s

Reception energy

50 nJ/s for 1-bit

First space amplifier energy

10 pJ/bit/m2

Multipath fading amplifier energy

0.0013 pJ/bit/m4

Radio electronics energy

50 nJ/bit

Data packet size

512 bytes

360

K. Jain et al.

Fig. 2 Energy consumption versus time

Energy consumption = E TX + (E RX × no. of SNs) Figure 2 demonstrates the energy consumption analysis for our proposed technique with the existing techniques. It is experientially shown that the energy utilization at each time interval has been reduced. During data transmission, the EESCT protocol consumes around 20 J and 12 J, respectively, less than the DDEEC and SEECH protocols, respectively. The results depict an improved performance of EESCT protocol with better energy saving than the previous comparing techniques. b. Throughput analysis: It is the proportion of the number of data packet acknowledged by the CH to the packet communication delay in the transmission procedure. It is defined as:

Throughput =

No. of data packet recieved at the CH delay in communication process

The graph in Fig. 3 displays the throughput analysis of our proposed EESCT technique by DDEEC and SEECH protocols. The amount of data delivered in our proposed method to the CH is 25% and 15% earlier when compared with DDEEC and SEECH protocols, respectively. Thus, the throughput measurement has increased over time as equated with the existing protocols. c. End-to-end delay: It is calculated as the ratio of the overall time taken to send the data packet to the CH divided by the number of data packets revived by it.

End to end delay =

Total time taken to deliver data packet to the CH No. of data packets recieved by CH

Probabilistic-Based Energy-Efficient Single-Hop Clustering …

361

Fig. 3 Throughput versus time

Figure 4 depicts the end-to-end delay measure of the proposed technique. The time taken by EESCT to deliver the data packet from SNs to the CH is less than 70 ms at most time instances, which is earlier than the DDEEC and SEECH transmission period. By maximizing rate of data transfer, the delay will be reduced noticeably in EESCT technique as compared to existing protocols d. Packet delivery ratio analysis: It is defined as the total number of data packets successfully received by the CHs to the total number of data packets sent by the SNs.

Packet delivery ratio =

Fig. 4 End-to-end delay versus time

Total data recived by CH Total data paket transmitted by SNs

362

K. Jain et al.

Figure 5 illustrates the PDR metric of EESCT technique with DDEEC and SEECH methods. It has been seen that the ratio of packets delivered to the CH by the SNs by EESCT protocol is high at all time instances than the compared protocol. e. Packet loss analysis: It is characterized as the number of data packets, which have not reached at the CH in a predefined time period.

Packet loss =

Number of packet loss time

The graph in Fig. 6 depicts the packet loss over time comparison between the DDEEC, SEECH and EESCT protocols. At the start of the simulation, there was no

Fig. 5 Packet delivery ratio versus time

Fig. 6 Packet loss versus time

Probabilistic-Based Energy-Efficient Single-Hop Clustering …

363

Fig. 7 Reliability versus time

packet loss, but after 100 ms, the packet loss starts. The packet loss in percentage was certainly more for DDEEC and SEECH methods at later interval of time than EESCT technique during the data transmission in the WSN. f. Reliability analysis: It measures the lifetime of the sensor network over a time period. It is calculated as follows:

Reliability = 1 −

t mean time between failure

Figure 7 illustrates the reliability ratio of EESCT technique with DDEEC and SEECH methods. The outcome shows that EESCT is better in terms of reliability when compared with the reliability DDEEC and SEECH protocols by around 8% and 12%, respectively. g. Network lifetime: It is defined on the basis of First Node Dies (FND), Half Node Alive (HNA) and Last Node Died (LND) over the successive simulation time. Figure 8 depicts the network lifetime of the DDEEC, SEECH and EESCT techniques. It has been observed that in case of EESCT, the FND metric is at round 174, which is for other protocols it is at 58 and 86, respectively. On comparing the HNA metric, the EESCT has HNA until round 742, while in case of DDEEC and SEECH, HNA is until round 419 and 597, respectively. Similarly, we can observe a great difference in LND of the three protocols. EESCT extends the network lifetime around 500 rounds ahead than DDEEC and SEECH.

364

K. Jain et al.

Fig. 8 FND, HND and LND of sensor nodes

6 Conclusion and Future Work In this paper, a distributed clustering technique is proposed to optimize the problems of sensor networks. The proposed EESCT technique minimizes the energy depletion and enhances lifetime while reducing the overheads involved. We have introduced two threshold functions, namely energy threshold function and optimum cluster head (CH) threshold function for initializing the sensor network in order to minimize the overheads in communication and needless CH alterations for round of communication. Therefore, instead of changing CHs for dynamic clustering at every round, we intend these threshold functions to postulate the dynamicity of CH on the based on the current energy intensities. The efficient functioning of our proposed technique has been verified by performing extensive simulation with the support of various performance evaluation measures and metrics. These include throughput, end-toend delay, packet delivery ratio, reliability, packet loss, network lifespan and average energy consumption. Furthermore, a comparative study has been performed with DDEEC and SEECH protocols, which tells the supremacy of EESCT technique. As a scope of future research, we are focused to develop a novel CH threshold function for initializing the sensor network and setup phase clustering for multitier heterogeneous sensor network. Future work in this area can produce enhanced results, and they will be useful for multimedia and heterogeneous sensor networks.

References 1. Akyildiz, I.F., Vuran, M.: WSN-Wireless Sensor Networks (2010) 2. Gupta, K., Sikka, V.: Design issues and challenges in wireless sensor networks. Int. J. Comput. Appl. 112(4), 26–32 (2015)

Probabilistic-Based Energy-Efficient Single-Hop Clustering …

365

3. Dargie, W., Poellabauer, C.: Fundamental of Wireless Sensor Network: Theory and Practice (2010) 4. Jain, K., Bhola, A.: Data aggregation design goals for monitoring data in wireless sensor networks. J. Netw. Secur. Comput. Netw. 4, 1–9 (2018) 5. Kandukuri, S., Murad, N., Lorion, R., et al.: A single-hop clustering and energy efficient protocol for wireless sensor networks. In: IEEE Radio Antenna Days Indian Ocean (RADIO), Sep 2015, Belle Mare, Mauritius (2015) 6. Nayak, C.K., Das, S.: An enhanced approach of clustering protocol to minimize energy holes in wireless sensor networks (WSN). Int. J. Comput. Sci. Inf. Secur. 16, 31–37 (2018) 7. Padmanaban, Y., Muthukumarasamy, M.: Energy-efficient clustering algorithm for structured wireless sensor networks. Inst. Eng. Technol. https://doi.org/10.1049/iet-net.2017.0112 (2018) 8. Palaniappan. S., Periasamy, P.: Enhanced approach for wireless sensor network based on localization, time synchronization and quality of service routing (2017) 9. Elbhiri, B., El, S., Aboutajdine. D.: Developed distributed energy-efficient clustering (DDEEC) for heterogeneous wireless sensor networks. In: 2010 5th International Symposium on I/V Communications and Mobile Network, pp. 1–4 (2010) 10. Kumari, C.U., Padma, T.: Energy-efficient routing protocols for wireless sensor networks. In: Soft Computing and Signal Processing. Advances in Intelligent Systems and Computing, vol. 898. Springer, Singapore (2019) 11. Shi, L., Zhang, B., Mouftah, H.T., Ma, J.: DDRP : an efficient data-driven routing protocol for wireless sensor networks with mobile sinks. Int J Commun Syst. (2012) 12. Xun-xin, Y., Rui-hua, Z.: An energy-efficient mobile sink routing algorithm for wireless sensor networks. In: 7th International Conference on Wireless Communications, Networking and Mobile Computing, pp. 0–3 (2011) 13. Agarwal, A., Gupta, K., Yadav, K.: A novel energy efficiency protocol for WSN based on optimal chain routing. In: IEEE Xplore 2016 3rd International Conference on Computing for Sustainable Global Development, pp. 488–493 (2016) 14. Sinha, A. , Lobiyal, D.K.: Probabilistic data aggregation in information-based clustered sensor network. Wirel. Pers. Commun, 1287–1310 (2014) 15. Tyagi, G.D.S.S.: SMEER : secure multitier energy efficient routing protocol for hierarchical wireless sensor networks. Wirel. Pers. Commun. (2018) 16. Tarhani, M., Kavian, Y.S.: Siavoshi: SEECH: scalable energy efficient clustering hierarchy protocol in wireless sensor networks. IEEE Sens. J. 14, 3944–3954 (2014) 17. Pathak, S., Jain, S.: An optimized stable clustering algorithm for mobile ad hoc networks. Eurasip. J. Wirel. Commun. Netw. (2017) 18. Pathak, S., Jain, S.: A novel weight based clustering algorithm for routing in MANET. Wirel. Netw. 22, 2695–2704 (2016). https://doi.org/10.1007/s11276-015-1124-8 19. Titouna, C., Moumen, H., Abba Ari, A.A.: Cluster head recovery algorithm for wireless sensor networks. In: 2019 6th International Conference on Control, Decision and Information Technologies, pp. 1905–1910 (2019) 20. Heinzelman, W.B.: APC and HB: an application-specific protocol architecture for wireless microsensor networks. IEEE Trans. Wirel. Commun. 1, 660–670 (2002) 21. Issariyakul, T., Hossain, E.: Introduction to Network Simulator 2 (NS2). Springer Science+Business Media. Springer, Boston, MA (2012)

RFID-Based Smart Shopping in IoT Environment: A Way to Become a Smart Shopper Rahul Chauhan, Divya Punj and R. C. Joshi

Abstract There has been an emerging demand for smart shopping in supermarkets. This paper describes how to build an automatic system that smartly helps customers to choose any product using IoT. This system uses Arduino, LCD, Zigbee, Wi-Fi module and rc522 RFID reader. Every shopping cart of the canteen and shopping malls are embedded with this system, and it consists of all necessary information about the available products. The product with the unique ID tag is brought near the RFID system which details the product about the best discount and deals, and this information is uploaded, processed and analyzed on cloud. This system also helps retailers and customers to know the popularity of every product among customers by uploading product details on the cloud which is justified by a case study. This system is designed to help both customer and retailer to become a smart shopper. Keywords IoT · Arduino · Zigbee · RFID · Wi-Fi · Smart shopping

1 Introduction Internet of things (IoT) is a trending term in information technology. It refers to a network of various communicating and non-communicating devices, or heterogeneous end systems, that are made identifiable through sensing technology. The data collected through them are used to produce umpteen digital services. Digitization is a trending feature where we address issues related to everyday tasks and solve them with the help of technology, by developing a digital system. This milestone is difficult to achieve without using the trending technologies and clubbing them to produce something innovative. Innovation will begin by fixing electronics into our R. Chauhan (B) · D. Punj Graphic Era Hill University, Dehradun, India e-mail: [email protected] D. Punj e-mail: [email protected] R. C. Joshi Graphic Era University, Dehradun, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_28

367

368

R. Chauhan et al.

everyday devices and making them “smart” and integrating them with the global network which will give a new physical structure. IoT is heterogeneous in nature, i.e., it provides easy access and interaction capabilities to wide variety of devices such as home appliances, cameras, television, shopping objects, etc. Shopping is another such task. It is an everyday experience which can be digitized and therefore made better for both customers and retailers. Let us consider a problem instance: These days products come with different offers and discounts and the same products are offered at different prices at different stores. Therefore, if any customer wants to know about the discount or price of any product, then they have to go to the bill counter or shop owner to enquire about the price offered by their canteen or mall. For example, suppose a customer want to buy a product and MRP of that product is 100 INR, but in subsidized canteen the same product is available at the MRP of 89 INR. Although the customer will buy the product at subsidized rates from canteen, he is still unaware of the extra discount that he has availed on the product. The customer would come to know about the price and the discount of that product when he gets a bill for the entire purchase. Smart shopping is a solution for this problem. Smart shopping is an experience where a customer buys best products at best prices. Therefore, a smart shopper is one who buys a product judiciously by analyzing the quality, price, offers and discounts offered by the shopping mall [1]. Generally, customers are aware about the quality of products, but they do not have any idea about the different offers and discounts offered by different shopping malls on the same product, and this becomes a major obstacle in way to become a smart shopper. Other than this, retailers and investors are interested in understanding the buying pattern and preference of the customers. They want to invest in the hot selling products (most searched and purchased). IoT is a solution for this problem. IoT refers to Internet of things, and it is coined from two terms: Internet and Things. “Internet” is a global system of interconnected network or a network of networks that consists of private, public business, academics and millions of information that are linked by various technologies and “Things” refers to any object or any person that can be living like animal, human, plants or nonliving like chair, car or any electronic equipment [1, 2]. Internet of things does not have any unique definition, but there are many who have defined it and a common feature of all the definitions is “Internet of things is an open and comprehensive network of intelligent objects that has capacity to auto-organize, share information, data and resource, reacting and acting in face of situation and change in the environment.”. IoT describes a world where anything can be connected and communicated with anyone[3]. Internet of things was initially inspired by the members of RFID community, who identified the possibility of discovering information about a tagged object by browsing an Internet address or database entry that corresponds to particular RFID or near-field communication technologies [1]. RFID stands for radio frequency identification. It is a system that works on wide range of radio frequency. It has a variety of modulation and encoding scheme to transmit the identity of an object or person wirelessly by using radio waves, in the form of serial number. RFID was first used during the Second World War to solve the problem of allied aircraft being targeted

RFID-Based Smart Shopping in IoT Environment …

369

by friendly antiaircraft gun as they return to their base [4]. The main components of RFID are tag, reader, antenna, access control, software and server. RFID tags are divided into two types: active and passive tags. Active tags require power to operate, but their range is in hundreds of kilometer, whereas passive tags do not require power to operate, and therefore, their range is in few millimeters or centimeters. Various techniques based on RFID, Arduino and microcontrollers, etc. have been presented earlier for their implementation in smart shopping. Some of the existing techniques are discussed below: Zeeshan Ali et al. present a RFID-based smart shopping and billing system which was developed to assist the customer to locate and select products and further allow them the facility of automatic billing [5]. But the issue with this system is that it is too expensive, high security required as automatic billing is involved. It is complex and difficult to use for a new user, and does not work in IoT environment. Ashmeet Kaur et al. [6] proposed a system which had an Arduino-based smart cart with RFID providing an automatic billing computation. This system also requires high security as automatic billing is used, and it does not work in IoT environment and has no concept of product popularity rating. Mathankumar et al. [7] presented a system that is based on the design and implementation of smart supermarket system for vision impaired which was developed to assist the visually impaired to locate and select product by using recorded audio file corresponding to each product. It uses PIC microcontroller in spite of Arduino. The issues are that it is more expensive and has no concept of IoT involved in this project. There are many RFID-based smart shopping systems, but all of them focus on automatic billing system. None considers the scope of making shopping easier and beneficial for customers and creating a smart database for the shopkeepers to increase sales. The paper is detailed as • • • • • • •

Introduction of the paper and the previously presented models for smart shopping. The IoT architecture. An illustration on the proposed architecture with a flowchart representation. Detailed discussion on the working of the proposed system. A case study to show the analysis performed by the system. A discussion on the differences in the proposed system and the existing systems. The future works related to the proposed architecture.

2 IoT World Forum Reference Architecture The IoT world forum architecture is given by a committee which has organizations like CISCO, IBM, THALES, etc. as its members. The world forum reference model (top-down) [8] is shown in Fig. 1 and described as follows: • Collaboration and processes: It includes people and business processes.

370 Fig. 1 IoT world forum architecture

R. Chauhan et al.

Collaboration & processes

Application Data abstraction Data accumulation Edge computing Connectivity Physical device and controllers

• Application: The data should have an application. Therefore, the task of controlling the information, analyzing the information and generating reports of the information is done in application layer. • Data abstraction: It refers to the process of reducing the data to a simple representation based on essential characteristics. Here, data abstraction includes aggregation and access right which form a part of security in IoT. • Data accumulation: It means the storage of data or the process of accumulating the data. • Edge computing: It is a method of performing the data processing of data at the edge of the network, i.e., cloud end or gateway or near the data source. Then, it involves the analysis or data elements and their transformation. • Connectivity: It is composed of communication and processing units. Basically, how and which connection technology should be used for communication keeping in mind the data rates, power range constraints, etc., e.g., Wi-Fi, Zigbee. • Physical devices and controllers: It includes electronic devices like sensors, communicating and non-communicating devices, etc. basically the “Things” in IoT.

3 Proposed System The issues with the above-discussed systems were that most of them were automatic billing centric. They are generally expensive and do not use IoT environment. None of these systems focuses on benefitting both customers and sellers. The proposed

RFID-Based Smart Shopping in IoT Environment …

371

system benefits both customers and sellers by incorporating IoT in shopping and therefore making it smart shopping. The proposed system consists of Arduino, RFID (rc522) reader, wireless Zigbee module, Wi-Fi module and an LCD. The idea is to connect all these devices together and mount this system on the shopping cart. When the customer brings a product with a unique RFID tag near the RFID system (attached to the cart), it senses the product information and displays the price, discount, offer and popularity rating of that product. It will also send all the information of the cart reader to the main server through wireless Zigbee module. Shopping cart reader consists of the details of visited products. The main server collect details of visited products from the RFID system and information of the purchased products from the billing counter. Further, it processes all the available information and uploads the information about the picked and purchased products on the cloud using Internet. This information can be accessed and utilized by customers to check the best deals on popular products and other relevant and needed information. The information will help the retailer buy the products which are most popular and decide its product rates based on the analyzed information it has collected from various sources, helping both customer and retailer to become a smart shopper. Through this system, retailer can efficiently invest their money in the most popular product, and customer will know the best discounts, prices and popularity ratings of the product at the comfort of their home. The flowchart of the proposed system is shown in Fig. 2.

3.1 Working of the Proposed System In this system, the configuration consists of RFID reader, Arduino, wireless Zigbee, Wi-Fi module [9]and an LCD. The system’s working is as follows: • The system of the above configuration is mounted on the cart. Each product has a product ID. As the customer brings the product near this system, the RFID reader reads the tag and compares the tag ID to all the tag IDs given in Arduino. The working of RFID based system is represented in Fig. 3. After the ID is compared, the information regarding the product price, discount, offer and popularity rating are displayed on the LCD as shown in the Fig. 4. • Then, the system consists of Arduino, RC522 RFID reader and wireless Zigbee for wireless communication, and 16 * 2 LCD screen is used for display. Each product has a unique tag ID. As different products with different tag IDs are brought near smart shopping system, the RFID of this system will read the tag of that product and will show the corresponding messages that are coded into the microcontroller of this Arduino. The message contains the price, discount, offer and popularity rating of that product. Information like offers on the product is shown on LCD with auto-scrolling mode. • All the data of the products that have been visited by the customers are temporarily stored in the RFID system. All the carts are connected through a local area network,

372

R. Chauhan et al. Start RFID System senses Product ID

RFID reader reads product ID Information sent to Arduino Controller

Product tag ID matched with programmed tag ID

Information of product displayed on LCD Account information is maintained & sent to main server

Bill Generation and bill payment through mobile wallet

Is Bill Paid

Visited and purchased product information sent to server

Processed information is uploaded on cloud and analysed

Stop

Fig. 2 Flowchart of proposed system Reader signal

Product with ID

RFID reader Tag response

Fig. 3 Sensing of the product and reading through RFID reader

RFID-Based Smart Shopping in IoT Environment …

PRICE: DISCOUNT: POPULARITY RATING:

Arduino Mega 2560 (RC522) RFID Reader

373

RC522 RFID

WIRELESS ZIGBEE MODULE

PRODUCT 1 WITH TAG ID

PRODUCT 2 WITH TAG ID

PRODUCT 3 WITH TAG ID

Fig. 4 Information collection in Arduino and display on LCD

and the details are sent to the bill counter through wireless communication. This system consists of Zigbee module for wireless communication Zigbee technology [10]. It is a low-power wireless network protocol based on IEEE 802.15.4 standard. Zigbee has bandwidth of 250 kbps and a range of 100 m. It works on star, mesh or cluster tree topologies [1, 10]. It is generally used for short transmission range, and bill counter makes an account under the name of the system that has been used by the customer. As the customer using that system pays the bill for the purchased products, then the information of purchased products and visited products is sent to the counter server for further processing, e.g., rating the product according to its popularity and preference among the customers. All of the collected data are organized and uploaded on the Internet cloud so that other retailers and investors can understand customer’s taste and preference and market trends. • When the customer has put all the needed products in the cart, the bill is calculated by the processing unit and displayed to customer on the counter. Payment is done through customer’s mobile wallet. After the purchase, all the details of the visited and purchased products are uploaded on the cloud. If any product is removed by the customer from the cart, the details of the products are removed from the purchase and the product is not added for processing. To summarize, bill is calculated for only those products which are present in cart.

3.2 Data Uploading Techniques The various approaches to upload data on the cloud are as follows:

374

R. Chauhan et al. Customers Retailers, Investors, owner

INTERNET CLOUD

.

All the data is gathered from different carts and counter about visited product and buyed product and processed to upload the updated information in both shopping carts and internet

COUNTER

ENTER AND EXIT

PRODUCT 7(TAG 7)

PRODUCT 8(TAG 8)

PRODUCT 6(TAGG6)

CART PRODUCT 9 (TAG 9)

PRODUCT10(TAG10)

CART1

PRODUCT11TAG(11) CART 3

2 3

PRODUCT 12(TAG12)

PRODUCT13(TAG13)

PRODUCT14(TAG14)

4

PRODUCT 5(TAGG 5)

SHOPPPING CART

5 CART4 6 7 8

PRODUCT 1(TAG1)_

PRODUCT2(TAG2)

PRODUCT3(TAG3)

PRODUCT4(TAG 4)

Fig. 5 Data collected and uploaded on cloud

3.2.1

Using Router and SSID

A wireless router with default SSID (service set identification) and passphrase is required for data uploading techniques. When the router is turned on, any node can join to that SSID network. In this, bill counter appears as an access point with its own SSID and passphrase. It continuously broadcasts its SSID, so that customers and retailers can connect wirelessly and directly to the bill counter (Fig. 5).

3.2.2

Using Wi-Fi

In this approach, an ESP8266 Wi-Fi module and an IP address of a local server are implemented. The Wi-Fi module is connected to Wi-Fi router for network connectivity, and then, the server is configured to send the data on the web [11]. The steps are: Step 1: Wi-Fi module sends a command to check the connectivity of Wi-Fi module and get an acknowledgment corresponding to it.

RFID-Based Smart Shopping in IoT Environment …

375

Step 2: ESP8266 is operated in dual mode as it allows both of them to work as client and host. Step 3: Wi-Fi module is reset and connected to Wi-Fi router. Step 4: IP is obtained using certain commands for device. Step 5: Configuration of ESP8266 is done as a server, and data can be sent using commands of data sending. Step 6: IP address is placed in the address bar of the web browser, and the user can view the transmitted data on the web page. There are many other approaches that can be used to connect a device to Internet, but all the approaches have common functional view [12]: • One approach is a module for interaction with local IoT devices within short range. This module should be responsible for collecting the observations and forwarding the information to server for further analysis and permanent storage. • Other approach is a module for analyzing and processing the observation obtained from IoT devices. • Another approach includes a module for interaction with remote IoT devices, directly over the Internet. • Other approach is a module for application specific data analysis and processing. It is responsible for taking request from the client, IoT observation and generation of output as knowledge that is later on presented to users. • One of the approaches is implementing a module of IoT-generated information into business process. • A user interface is required which includes interaction with user and visual representation of observed data from the IoT devices into graphs, charts, etc. • As shown in Fig. 6, data are transmitted from different shopping carts to main bill counter through wireless Zigbee module. Cart 1, Cart 2, Cart 3, Cart 4, Cart 5 and Cart 6 are near shopping bill counter. Therefore, they can directly communicate with bill counter, whereas Cart 7, Cart 8 and Cart 9 and Cart 10 are outside the range of Zigbee module. Therefore, Cart 7, Cart 8, Cart 9 and Cart 10 are using hop system to transmit data to bill counter using routing. For example, as shown in Fig. 6, Cart 7 is outside the range of Zigbee module, and therefore, it is using Cart 4 to transmit its data to the bill counter. All the carts act as trans-receivers, and therefore, they help each other to transmit data to bill counter and receiving the data [13] . All the data are gathered from different shopping carts and then transmitted to the Internet cloud [14]. • Popularity rating is given as = (Total purchased product/Total visited product) * 100.

4 Case Study on Proposed System According to the proposed system, the transmitted data of the visited products and the purchased products are uploaded on the cloud using Wi-Fi module. Figure 7 shows

376

R. Chauhan et al. Shopping Bill Counter

cloud

Wi-Fi module

Cart 1 Cart 3 Cart 2

Cart 4 Cart 5

Cart 11

Cart 6

Cart 7 Cart 9

Cart 10

Cart 8

Fig. 6 Data transmission from different shopping carts to main bill counter through wireless Zigbee module

the data collection and transmission process with the help of a RFID system and cloud services. The table consists of all the information about the products including prices, discounts, offers and the product rating. All of the data are represented in the form of a graph for better understanding. • As depicted in Fig. 8(ii), that product 2 is most popular among customers in the month of January, whereas product 1 is least popular among the customers. • According to Fig. 8(i), most visited product is product 2 and least visited product is product 7. However, product 3 is the second most visited product among all products, but still its popularity rating is very less as compared to product 2. This can be analyzed from Fig. 8(i) and (ii) that people are interested in product 2, but available discount and offers are not good enough to make product 2 popular among customers. • Other than this, product 7 is totally neglected by the customer so either retailer has to discard that product or provide a better discount or offer on product 7 to increase the popularity rating of that product among customers.

RFID-Based Smart Shopping in IoT Environment … Smart shopping cart with RFID system

377

Data is collected and processed at the server

Cloud network

USER1:VISITED=30 BUYED:10

USER3:VISITED=30 BUYED=20

USER2:VISITED=50 Purchased=15

Product name

Product price

discount

offer

visited

buyed

Product rating

Product 1

100

15

-

1000

100

10

Product 2

150

18

Buy 4 get 1 free

5000

3003

60.06

Product 3

300

29

Bucket free

3000

1000

33.33

Product 4

100

12

-

1000

300

30

Fig. 7 Data collection and transmission

• Product 6 is the second most popular product after product 2 but its “visited” rating is very less. Thus, it can be concluded that product 6 is popular among customers, but still customer is not aware of this product. Therefore, retailer has to opt proper marketing and advertising techniques for products like product 6. • Product 5 has a good “visited” rating, but the discount offered is not attracting many customers. Therefore, retailer has to either provide more discounts or provide any new offer to increase the popularity rating of product 5. • Product 1 is least popular product among customers despite of having very high discount and its “visited” rating is also very low. Therefore, it is better to discard product 1 from the shopping mall as it is totally dispraised by the customer. • All above data can help retailers to smartly invest on only those products which are popular among customer. Other than this, it also helps retailer to analyze the customer reaction on available offers and discount. On the customers’ end, they get the best deals on the desired products.

378

R. Chauhan et al.

6000

(i) product1

5000

product2

4000

product3

3000

product4

2000

product5

1000

product6

0 visited 70

product7

Purchased

(ii) product1

60

product2

50

product 3

40

product4

30

product5

20

product6

10

product7

0 january

february

march

april

Fig. 8 (i) Graphical representation of visited and purchased products, (ii) products purchased in January

5 How the Proposed System Differs from Others 5.1 To Show the Price and Discount of the Product The system has a bill generation through processing unit, and the payment is done through E-wallets using various payment gateways. This is easier to use and more cost-effective. Customers have no load of bill calculation and processing. All a customer has to do is bring the product near RFID system to enquire about the price, discount, offers and product popularity rating, and the bill will be calculated only for products added to the cart.

5.2 Give Facility to Analyze Popularity of Products to Customers Proposed system consists of LCD that will show product price, discount, offer and popularity rating.

RFID-Based Smart Shopping in IoT Environment …

379

Popularity rating is given as = (Total purchased product/Total visited product) ∗ 100. It would help customers to analyze the popularity of product so that they can smartly do smart shopping. The proposed system helps customers to show the price and discount of any product without enquiring about product at the bill counter. In India, people have a mentality that they buy any product according to the discount and price offered to them. Therefore, this system indirectly helps the customers to do smart shopping.

6 Conclusion In this paper, a system has been created to make shopping a better experience for the customers. The IoT environment helps the customers to get the best products at best prices and offers. In today’s market where customer is the king of the market, producer’s retailers and other investors are keen on knowing and understanding customer taste and preferences, and this system helps in creating a data base for the supplier side therefore leading to a better understanding of the market trends and higher profitability. Therefore, it not only helps customer to become a smart shopper but also helps retailers to become a smart retailer. Retailer can analyze the customer interest through the data that is being uploaded on cloud/server by this system. The customer can find best deals on the products, and the purchase experience is less hectic. This system is designed in order to help both retailer and customer to become a smart shopper. With the analysis of visited and purchased products business can be enhanced and made more productive, helping with the overall sales and profits.

7 Future Scope This project is implemented using Zigbee which has a 100 m range and is designed on a small local area network. Further, with technology advancement a much wider range of connection can be established and a wider network can be formed. In the future, the system can be implemented in a shopping mall with a common billing counter. With a wider network, security will be a prominent issue, and hence, it will be necessary to implement security at all the levels of shopping. Therefore, various security methods like verification and authentication can be implemented on both seller’s and customer’s end.

380

R. Chauhan et al.

References 1. Madalam, S., Ramaswamy, R., Tripathi, S.: Internet of Things (IOT): a literature review. J. Comput. Commun. 3, 164–173 (2015) 2. Ambekar, K., Dhole V., Sharma, S., Wadekar, T.: Smart shopping Trolley using RFID. Int. J. Adv. Res. Comp. Eng. Tech. 4(10) (2015) 3. Balakrishna, T., Swetha, N.R.: Development of ARM7 based sensor interface for industrial wireless sensor network in IOT environment. Int. J. Eminent Eng. Tech. 4(3) (2016) 4. Circuit Digest: How to send data from Arduino to webpage using Wifi. https://circuitdigest. com/microcontroller.projects/sending-arduino-data-to-webpage 5. Sojitra, S., Patel, R.: A review of smart shopping systems. Int. Res. J. Eng. Tech. 3(5) (2016) 6. Ali, Z., Sonkusare, R.: RFID based smart shopping and billing. Int. J. Adv. Res. Comp. Comm. Eng. 2(12) (2013) 7. Kaur, A., Garg, A., Verma, A., Bansal, A., Singh, A.: Arduino based smart cart. Int. J. Adv. Res. Comp. Eng. Tech. 2(12) (2013) 8. Vermasan, O., Friess, P.: Internet of Things—From Research and Innovation to Market Development. River Publisher Series in Communication (2014) 9. Yi, Z., Hou, H., Dong, Z., He, X., lv, Z., Wang, C., Tang, A.: ZigBee technology application in wireless communication mesh network of ice disaster. In: International Workshop on Wireless Technology Innovation in Smart Grid (2015) 10. Rohitha, P., Kumar, R., Adinarayana, N., Venkat, T.: Wireless networking through ZigBee technology. Int. J. Adv. Res. Comp. Sci. Soft. Soft. Eng. 2(7) (2012) 11. Mathankumar, M., Kavitha, T.: Design and implementation of smart supermarket system for vision impaired. Int J. Eng. Tech. (2016) 12. Roberti, M.: The history of RFID technology (2005). http://www.rfidjournal.com/articles/ view?1338 13. Gupta, S., Kaur, A., Garg, A., Verma, A., Bansal, A., Singh, A.: Arduino based smart cart. Int. J. Adv. Res. Comput. Eng. Technol. (IJARCET) 2(12) (2013) 14. Beata Reformat University of Economics in Katowice, Poland: The idea of smart shopping— the generation of smart consumers. Internet of Things world forum “Building the Internet of Things” (2014)

Area Optimized High-Level Synthesis of Bubble Check Algorithm for Check Node Processing Himanshu Sharma, Manju Choudhary, Vikas Pathak and Ila Roy

Abstract This paper presents the high-level synthesis (HLS) of the low complexity algorithm for the check node processing, i.e., bubble check algorithm in non-binary LDPC decoders. After a review of the state-of-the-art, there is a focus on decreasing the hardware requirement for check node processing using HLS. The main problem associated with the check node processing is that it demands a large amount of hardware when it is implemented on an FPGA. HLS optimizes the resultant hardware design because it performs computational scheduling, resource binding and pipelining while mapping code into hardware design. By using directives, the design can be further optimized according to the designer’s requirements. This motivated us to use HLS for implementing bubble check algorithm. In this paper, HLS is carried out for Artix-7 FPGA. The synthesis results show that the number of slices required to implement the bubble check algorithm using HLS is 193, which is further reduced to 125 slices by applying directives. Keywords Non-binary low-density parity-check decoders · Check node processing · Bubble check algorithm · High-level synthesis · Directives

1 Introduction Low-density parity-check codes [1] also known as LDPC codes are a type of linear block codes which can approach to the Shannon limit. They were developed by R. G. Gallager in the year 1962. But at that time, they were not much used. There were two main reasons behind this. The first reason was that the algorithm which decodes the LDPC codes was having high complexity. The second reason was that the integrated circuits technology was not that much developed in 1960s and 1970s as it is in the present scenario. That is why not much interest was given to these codes. So, as a result, these codes were forgotten for several years. But in the last two decades, the integrated circuit technology was developed at a very fast pace which leads to the rediscovery of these codes. They were rediscovered in 1999 [2]. Presently, binary LDPC codes are used in several applications and standards, like H. Sharma (B) · M. Choudhary · V. Pathak · I. Roy Swami Keshvanand Institute of Technology, Jaipur, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_29

381

382

H. Sharma et al.

optical communications [3], 10GBase-T Ethernet [4], digital video broadcasting and magnetic and solid-state drives. Binary LDPC codes can approach channel capacity but for this, they must have a codeword length of large order. The system using larger codeword length results in the use of large size buffers for storing the messages. They also utilize larger chip area in order to implement the encoders and decoders for the code. This also increases the latency of the system. When we are dealing with moderate codeword length, NB-LDPC codes are used. They are designed for Galois field GF(q), where ‘q’ is greater than 2. When compared with binary LDPC codes, non-binary LDPC codes [2, 5] have better error-correcting performance. Also, these codes are better when there is a need for correcting bursts of errors and are also not much affected by error floor issue. The decoders require a larger chip area because they utilize the multiplication operation in decoding process. To remove this issue, a bubble check algorithm is used but area requirement is still a constraint. So, in this paper, the area requirement is further reduced using HLS. The paper is organized as follows: Sect. 2 explains the basics of check node processing, bubble check algorithm, HLS and directives. Section 3 explains the methodology used for the HLS of bubble check algorithm. Section 4 shows the synthesis results of the bubble check algorithm. Section 5 concludes the discussion.

2 Check Node Processing 2.1 Decoding of NB-LDPC Codes Despite the error-correcting performance advantages, NB-LDPC codes suffer from high decoding complexity [6]. When a code is defined over GF(q), every received symbol may be any of the defined elements present in the GF(q). So, it is mandatory to have an array having ‘q’ messages which represent the probability that every received data equals each data had to be stored in the memory and checked among check nodes and variable nodes while decoding in order to find a valid sent message. It summarizes that the decoding of NB-LDPC codes is complex because of two reasons. The first reason is the complex check node processing and the other is the need for higher amount of storage. The decoders which are used for decoding binary LPDC codes can also be utilized for decoding NB-LDPC codes with some minor modifications. The decoding process of NB-LDPC codes [7] is very much identical to the decoding process of LDPC codes. Basically, the decoding uses the tanner graph of the code to decode the received bits. As we know that a tanner graph consists of check nodes and variable nodes. So, based on this, in a decoder, two types of processing take place with received bits. They are check node processing and variable node processing. After following these two steps, it is decided that whether the received bits are correct or it is affected by noise in the channel and needs some error correction.

Area Optimized High-Level Synthesis of Bubble Check Algorithm …

383

In decoder of these codes, the processing of rows and columns of H matrix takes place. When every parity-check equation is satisfied, then only a received bit is termed as correct. The rows and columns of the parity-check matrix in the tanner graph are termed as check nodes and variable nodes, respectively. So, the processing of rows of H matrix is termed as check node processing. For implementing check node processing, bubble check algorithm is used. The processing of columns of H matrix is termed as variable node processing. Those decoding algorithms that are currently used for binary LDPC codes can be easily modified to be used for decoding the non-binary LDPC codes. Presently, belief propagation decoding algorithm, min-max decoding algorithm, extended min-sum (EMS) [4] decoding algorithm are used for decoding these codes. Some decoders involve multiplication operation for decoding but implementing multiplication operation on the hardware results in high resource utilization and floor area. So, for reducing the hardware requirement, extended min-sum (EMS) [4] decoding algorithm is used where instead of multiplication operation, addition operation is utilized with a sorting algorithm.

2.2 Check Node Processing As previously mentioned, the processing of rows of H matrix with the received bits is termed as check node processing. The belief propagation algorithm utilized for decoding binary LDPC codes can be used to decode NB-LDPC codes. But here, the check node processing part will also calculate the sum of products of probabilities. The calculations in non-binary check node processing can be considered as the convolutions of the received messages. The belief propagation decoding algorithm used for NB-LDPC codes has many drawbacks like it needs multiplication operation which is expensive to be implemented on the hardware or it needs to calculate Fourier transform in log domain which is harder to implement, etc. So, then extended min-sum algorithm and the min-max algorithm were developed which are in the log domain. The hardware complexity was greatly reduced because only addition operations are required in there check node processing. In EMS and min-max algorithms, log-likelihood ratios are defined which are associated with each symbol. These LLRs are declared with respect to the most likely finite field element. So, according to this, all the LLRs are always positive, and the LLRs for the most likely field element is always zero in each and every vector. Those LLRs having smaller values have more chances for the received symbol to be equal to the respective field element. The LLRs in the array are then sorted and the smallest values from this array are sorted out to the resultant output array. It can be noted that due to the sum operation performed, the next smallest entry may not be always the neighbor of the current smallest entry. That is why some sorting needs to be implemented. When a new smallest value is found, then its respective field elements are compared with those of the previous entries. If a field element is found to be different, then only the next smallest entry is swapped to the output array. For sorting, a bubble check algorithm is used.

384

H. Sharma et al.

2.3 Bubble Check Algorithm The bubble check algorithm [8] can be described as follows: (1) Initialize the nb (number of bubbles) elements of the sorter with the first nb values of the first column of T . (2) Extract the smallest value in the sorter to the output vector E. This element is denoted as T (i, j). (3) Flag control: Change the value of H. (i) If (i = 1), then H = 1, H = 0. (ii) If (j = 1 and i = nb ), then H = 0, H = 1. (4) Replacing rule: (i) If T (i + H, j + H) has never been introduced in the sorter, then include T (i + H, j + H) in the sorter. (ii) Else include T (i + H, j + H) in the sorter. (5) Go to Step 2, until E is completed or the maximum number of operations nop (number of operations) is reached.

2.4 High-Level Synthesis High-level synthesis [9, 10] is also termed as C synthesis or behavioral synthesis or algorithmic synthesis. It is a process in which a description of an algorithm is given as input and then it converts that description of the algorithm into digital hardware that implements the behavior of the algorithm. The input behavior is in high-level languages like ANSI C/C++/System C/MATLAB [11]. The code is then analyzed, architecturally constrained and scheduled to transcompiled into a register-transfer level (RTL) design in a hardware description language (HDL), which is generally synthesized into the gate level by the use of a logic synthesis tool. Here, the designer needs not to worry about hardware description language. Instead of it, the designer just needs to know any of the above-mentioned high-level languages. This makes the task easier as now the designer only needs to concentrate only on the simple and precise description of the algorithm. HLS follows a specific design flow in all projects (see Fig. 1). The HLS tool will generate an RTL or hardware [10] based on the description given by the designer. The main aim of HLS is that the hardware designer can design and check the hardware with an increased level of optimization over the design. The tool also optimizes the design in best possible way to exactly meet the timing constraints. Moreover, if the designer needs to optimize certain parameters according to the user’s demand, then this function is also available in the form of directives. The designer will apply certain required directives that force the system to optimize

Area Optimized High-Level Synthesis of Bubble Check Algorithm …

385

Fig. 1 HLS design flow

the hardware according to the user’s parameters. HLS works as an interface between the hardware and software. When an algorithm is synthesized in high level, then there are some basic steps that are performed by the HLS tool. As we write the algorithm description in highlevel language, it has to be converted into hardware language or hardware operation and that is done by the HLS tool. The decisions like when will an operation will execute, when an operation will end and what will be the sequence of operation these all things are decided by the tool itself. The HLS design flow [9, 10] is as follows: (1) Firstly, it checks the C code. For this, it compiles it then executes the C code and finally debugs the C code for any bug. (2) Next, it synthesizes the C code of the algorithm to an RTL design (this process may include optimization directives if specified by the designer). It is a conversion step from C code to RTL design. (3) After the generation of RTL design, it provides different reports, related to the timing, resource utilization and input/output summary details of the design, to analyze the design. (4) It then verifies the RTL design for the exact functionality. (5) The last step is the packaging the RTL design so that it can be further utilized for the implementation. After performing HLS of the algorithm, further optimization is possible with the help of directives. The directives can be understood as the directions given by the designer to optimize the resultant design. The directives are chosen according to the requirement which includes what is to be optimized.

386

H. Sharma et al.

Fig. 2 Methodology for HLS of bubble check algorithm

3 Implementation of Bubble Check Algorithm Using HLS The tool used for HLS of the bubble check algorithm is Xilinx Vivado HLS 2017.4. The code for the bubble check algorithm is written in C language and then simulated with the same tool. HLS is performed and an RTL is generated after verification using a test bench. The RTL is exported from Vivado HLS 2017.4 tool. The bubble check algorithm is implemented on Nexys 4 DDR (Artix-7 family) FPGA kit with actual device named as ‘xc7a100tcsg324-1.’ The methodology adopted for HLS of bubble check algorithm is shown in Fig. 2. The code for the bubble check algorithm is written in C language containing the exact functionality of the algorithm. The code is then converted into a top-level function for performing HLS. Apart from the code, a test bench file is also coded for verifying the functionality of the algorithm. After performing HLS for the algorithm, different directives and their combinations are tested for optimized results in terms of area requirement. Finally, the most optimized hardware design is exported for implementing on the FPGA.

4 Results and Discussion After performing the HLS, the C code for the bubble check algorithm is converted into an RTL design. First of all, the description of the bubble check algorithm is written in C language. That C code is synthesized in high level. The C simulation result for the simulation of the C code for the bubble check algorithm is shown in Fig. 3. In C simulation, the C code for the bubble check algorithm is simulated and checked for any error. The exact working of the code is verified in this manuscript.

Area Optimized High-Level Synthesis of Bubble Check Algorithm …

387

Fig. 3 C simulation result for bubble check algorithm

After verifying the functionality of the algorithm, HLS has to be performed. On performing the HLS for any code, Vivado 2017.4 tool performs the estimation of the timing details and the resource usage for the hardware design generated. It then generates the report of all these details. In resource usage, it provides the total number of LUTs and flip-flops used on the FPGA chip. Then, the HLS is performed for the C code, and Table 1 gives the timing result generated after performing HLS. Table 2 gives utilization estimate results. The resource usage results and timing results generated after HLS are given in Tables 3 and 4, respectively. Table 3 shows the number of slices, flip-flops and LUTs required. Finally, for further optimization, different directives were applied but the RESOURCE directive, applied on the arrays (used for storing the input and output arrays), provided the best result. This directive directs the tool to use the memory core according to the user. The results for HLS with applying the RESOURCE directive are given in Table 5. Table 1 Timing results after performing HLS

Clock

Target

Estimate

Uncertainty

ap_clk

10.00 ns

8.13 ns

1.25 ns

388

H. Sharma et al.

Table 2 Utilization estimate for bubble check algorithm Name

BRAM_18K

DSP48E

FF

LUT

DSP









Expression





0

1148

FIFO









Instance









Memory





36

13

Multiplexor







440

Register





572



Total

1

0

608

1601

Available

270

240

126,800

63,400

Utilization (%)

~0

0

~0

2

Table 3 Resource usage for bubble check algorithm synthesized using HLS (without using directive)

Table 4 Timing summary for bubble check algorithm synthesized using HLS

Table 5 Resource utilization for bubble check algorithm synthesized using HLS (using ‘RESOURCE’ directive)

Resource usage

VHDL

Slice

193

LUT

459

FF

476

DSP

0

BRAM

1

SRL

0

Timing summary

VHDL (ns)

Clock pulse required

10.000

Clock pulse achieved post-synthesis

5.764

Clock pulse achieved post-implementation

8.326

Resource details

Amount

Slice LUTs

332

Slice registers

349

F7 Muxes

14

Slice

125

LUT as logic

278

LUT as memory

54

LUT flip-flop pairs

90

Block RAM tile

0.5

Area Optimized High-Level Synthesis of Bubble Check Algorithm … Table 6 Resource utilization for bubble check algorithm synthesized using HLS (without using directive)

Resource usage

Artix family

Virtex7 family

Zynq family

Slice

193

220

184

LUTs

459

530

489

FF

476

465

470

1

1

1

BRAM

Table 7 Resource utilization for bubble check algorithm synthesized using HLS (using ‘RESOURCE’ directive)

389

Resource usage

Artix-7

Virtex7

Zynq family

Slice

125

147

135

LUTs

332

318

322

FF

349

337

342

1

1

1

BRAM

It is clear from resource utilization Tables 3 and 5 that the number of slices used for bubble check algorithm using HLS (without directive) is 193 and it is coming out to be 125 with the directive. For comparison, apart from xc7a100tcsg324-1 (Artix-7 FPGA), the HLS is also performed for the bubble check algorithm on xc7vx980tffg1928-2 (Virtex7 family FPGA) and xc7z010clg400-3 (Zynq family FPGA). Table 6 gives the comparison results of resource utilization without using any directive for all the three FPGAs. Table 7 gives the comparison results of resource utilization using ‘RESOURCE’ directive for all the three FPGAs. The use of ‘RESOURCE’ directive is reducing the area requirement in all FPGAs.

5 Conclusion In this paper, the bubble check algorithm that is used in check node processing for sorting out optimum LLR values for performing the decoding of NB-LDPC codes is synthesized using HLS. The FPGA kit used for implementing the bubble check algorithm is Nexys 4 DDR (Artix-7 family) FPGA kit having xc7a100tcsg324-1 FPGA on the board. The resource usage result shows that the number of slices used here is 193. Further, on applying directive, this value reduced to 125. So, it is concluded that when the algorithm is implemented using HLS, there is a significant reduction in the hardware requirement. There is a further reduction possible in the number of slices required by applying more directives. This is also verified on other FPGAs also of different families.

390

H. Sharma et al.

References 1. Gallager, R.: Low-density parity-check codes. IRE Trans. Inf. Theory 8(1), 21–28 (1962) 2. MacKay, D.J.C.: Good error-correcting codes based on very sparse matrices. IEEE Trans. Inf. Theory 45(2), 399–431 (1999) 3. Xuena, X.: Construction analysis of low-density parity-check codes for free-space optical communication. In: Proceedings of 2nd International Conference on Future Computer and Communication, Wuha, China, pp. 791–793 (2010) 4. Venkateshwari, P., Anbuselvi, M.: Decoding performance of binary and non-binary LDPC codes for IEEE 802.11n standard. In: Proceedings of International Conference on Recent Trends in Information Technology, Chennai, Tamil Nadu, India, pp. 292–296 (2012) 5. Ni, W., He, J.: Performance comparison of non-binary RA and QC-LDPC codes. In: Proceedings of IEEE International Conference on Computer and Communications (ICCC), Chengdu, China, pp. 232–235 (2016) 6. Lin, C.-L., Tu, S.-W., Chen, C.-L., Chang, H.-C., Lee, C.-Y.: An efficient decoder architecture for nonbinary LDPC codes with Extended Min-Sum algorithm. IEEE Trans. Circuits Syst. II: Express Briefs 63(9), 863–867 (2016) 7. Zhou, L., Sha, J., Wang, Z.: Efficient EMS decoding for non-binary LDPC codes, In: Proceedings of International SoC Design Conference (ISOCC), Jeju Island, South Korea, pp. 339–342 (2012) 8. Boutillon, E., Conde-Canencia, L., Simplified check node processing in nonbinary LDPC decoders. In: Proceedings of 6th International Symposium on Turbo Codes & Iterative Information Processing, Brest, France, pp. 201–205 (2010) 9. Xilinx Inc.: Vivado design suite user guide: high-level synthesis (UG902). Retrieved from https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug902-vivadohigh-level-synthesis.pdf 10. Coussy, P., Morawiec, A.: High-level synthesis: From algorithm to digital circuit. Springer, Netherlands (2008). ISBN-978-1-4020-8588-8 11. Lin, C.-H., Yoon, D.-H.: A new efficient high-level synthesis methodology for lower power design. In: Proceedings of International Conference on New Trends in Information and Service Science, Beijing, China, pp. 534–537 (2009)

Identification and Classification of Expertise Using Eye Gaze—Industrial Use Case Study with Software Engineers K. R. Chandrika, J. Amudha and Sithu D. Sudarsan

Abstract Identifying and classifying based on expertise in an objective manner is a challenge as it is difficult to distinguish between ability to solve with and without stress. Ability to complete the task in a comfortable manner results in a more productive and healthier workforce by eliminating competency-related stress at work. We use cognitive load as an indicator of stress while understanding the skill and comfort level of software testers in an industrial setting as a case study. We conducted our study using eye tracking techniques. Our findings are reported, and they were corroborated by interacting the participants of the study pre- and post-eye-tracking experiments. The results are encouraging to extend such exercises for additional use cases, e.g., trainer effectiveness evaluation. Keywords Eye tracking · Cognitive load · Software engineering

1 Introduction An efficient human resources process aims at finding right fit for a right job. In case of software engineers, talent identification and subsequent classification of the level of expertise have typically been based on interviews, written/online tests, discussions, and programming challenges. Current competitive environment demands organizations to have workforce that is not just capable but also competent. How do we distinguish individuals with similar skill sets and level of performances? Prolonged working conditions, delivery deadlines, pressure from the peer groups, etc., affect K. R. Chandrika (B) · S. D. Sudarsan ABB Corporate Research, Bengaluru, India e-mail: [email protected]; [email protected] S. D. Sudarsan e-mail: [email protected] K. R. Chandrika · J. Amudha Department of Computer Science and Engineering, Amrita School of Engineering, Amrita Vishwa Vidyapeetham, Bengaluru, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_30

391

392

K. R. Chandrika et al.

performance and demand highly competent talents with sustainable performance. The cognitive resources such as attention and working memory vary with individuals based on their competency levels in delivering specific tasks. While performing specific tasks, even if performances look comparable, the amount of cognitive load experienced by the individual is directly related to their competency. Researchers have used various technologies to measure the cognitive load like electroencephalograms (EEGs), eye tracking, functional magnetic resonance imaging (fMRI), electrocardiogram (ECG), blood volume pulse (BVP), and electrodermal activity (EDA), and a combinational of these [1–4]. Eye tracking provides a rich source of information about the cognitive process of individuals [5]. It has been widely used in studies of programming to understand the cognitive load of individuals. The advantage of the eye tracking technology is that individuals do not have to be trained. Eye tracking does not interfere with natural behavior. An eye tracking study was conducted to measure cognitive load of individuals to understand their behavior at different task difficulty levels [6, 7]. The study was conducted in an industry setup participated by software engineers with different competency levels. Software engineers were categorized into three competency groups—high, average, and low based on their performance in debugging task. We compared intergroup and intragroup cognitive behaviors. We highlight our results by sharing important observations based on the cognitive load and performance of select participants in the paper. Following are the contributions of the reported study: 1. Eye tracking is useful in understanding the level expertise and comfort for specific tasks carried out by individuals. Level of expertise is identified from the successful completion of the task, while comfort is reflected in the cognitive load that the person undergoes while completing the task. 2. We showcase the results by taking the case of ‘software testing’ which requires understanding syntactic requirements of the programming language and understand the way the program was written by the developer(s) and associated semantics. 3. We showcase specific cases to support the ability to identify categories of ‘software testers’ from among the practitioners. 4. We propose extension of our approach for other use cases, particularly for estimating trainer effectiveness. The paper is organized as follows: Sect. 1 introduces the theme of the paper, Sect. 2 the related work, Sect. 3 the experimental study, Sect. 4, the results and discussion, and Sect. 5, conclusion and future work and followed by references.

2 Related Work Measuring cognitive load of software engineers plays a key role in software engineering tasks. Software engineers apply cognitive load to process various task like code comprehension [8–10], interpreting different abstract levels of software artifacts

Identification and Classification of Expertise Using …

393

Table 1 Eye movement data and indication Eye movements data Indication Blink rate Pupil size Saccade count Saccadic duration Fixation duration

Low blink rate indicates high cognitive load An increase in pupil size while performing task by 0.5 mm or more indicates cognitive load An increase in cognitive levels, increase number of saccades An increase in cognitive levels, decrease in saccadic duration An increase in cognitive levels, increase the frequency of long durations

[11–13], and solving problems [14]. Other studies include measuring the cognitive load during code comprehension [8], while activity switching, analyzing visual stimuli etc. [13, 15]. Several studies are also reported on understanding the difficulty of tasks based on cognitive load measurements. This information is used for various goals like predicting the tendency for errors, time estimation of tasks [16],etc. Studies are also reported where cognitive load of developers is used in classifying and recognizing emotions [10], accessing their stress levels, performance, and predicting the productivity [4]. However, previous research works have pointed out that measuring cognitive load of software engineers in understanding software development activities is still a problem. Researchers have used various eye movement metrics to measure cognitive workload. Pupil dilation is the most commonly used metric [17–19]. It is well known from various studies that pupil dilates with increasing workload. The effect has been demonstrated in tasks such as solving arithmetic problems and reading comprehension [20, 21]. Changes in pupil dilation used as an Index of Cognitive Activity (ICA) [22] are used in complex environments to estimate levels of cognitive effort of user. Blink rate and duration are another commonly used metrics to measure cognitive load [18, 21, 23]. Operators working in air-controller operations are found to have shorter blink duration under severe weather conditions indicating higher workload levels [18]. Operators with low blink rates have also shown higher levels of cognitive load. Furthermore, increases in workload have also been found to increase the number of saccades, decrease in saccadic duration, and increased frequency of long durations (atleast 500 ms) [18]. Table 1 summarizes various measures to estimate cognitive load of user.

3 Experiment Design 3.1 Goal and Objective The goal is to understand the cognitive load of the software engineers while debugging code snippets. The objective of our work is to understand the variance in

394

K. R. Chandrika et al.

cognitive load while debugging programs with different levels of difficulty for a given programming language. This is important because cognitive load of engineers affects their performance that in turn affects the quality of the software. The study also shows how participants with different levels of performance like high, average, and low in debugging a program and its relationship with cognitive load of the participant.

3.2 Study The experiment was conducted using a binocular eye tracker, SMI Redn Professional with 60 Hz sampling frequency. The stimulus was designed in SMI Experimental Suite [24]. An image slide show was designed, where the images were the snapshots of the code snippets. All participants were asked to review specific source code snippets to identify bugs if any.

3.3 Participants The eye tracking study was conducted on 33 software engineers who have various roles including developers, testers, project managers, and scientists as part of their employment. All the participants had a basic understanding of programming.

3.4 Task The participants were provided with three code snippets (tasks) written in C#, containing syntactical and logical errors. The source code was in the increasing levels of difficulty. Task was to read the source code and think aloud the buggy line numbers. The code snippets were presented to all the participants in the same order and there were no time restrictions for completing the tasks. Task 1 and 2 were program snippets with 16 and 27 lines of code, respectively, and Task 3 was a complete algorithm with 42 lines of code.

3.5 Procedure Participants were selected by sending out a general request for participation on their volition. Participants were interviewed to collect information on years of experience and expertise in C# programming among other things. They were briefed about the task. A nine-point calibration was conducted to measure the characteristics of the

Identification and Classification of Expertise Using …

395

participant’s eye. Data was collected using the eye tracker. The eye movement data was then analyzed using Python-based Gaze Analyzer (PyGaze) [25], an open source gaze analysis software. All participants were given feedback on their performance on the completion of the analysis.

3.6 Metrics Eye movements data was recorded for every participant. Pupil size, blinks, and fixation duration are the metrics of interest to the study. Blink rate was computed for each task using the Eq. 1 Blink RateT =0,1,2 =

Number of BlinksT Task DurationT

(1)

where T is the task average pupil size for each task was computed for evaluating peaks in the pupil size. Peaks provide information on the variation of the cognitive load. High number of peaks represents cognitive load. Peak finding algorithm was used to compute peaks where height threshold was set to average pupil sizeT + 0.2 mm. Any variation of 0.2 mm from average pupil size was assumed as the peak. To evaluate visual attention of the participants, we used percentage dwell time. Dwell time is the amount of time (fixation duration) on the region of interest. Here, region of interest is the source code.

3.7 Proposed Method The objective of the research is to use cognitive load as an indicator of stress while understanding the skill and comfort level of software testers in an industrial setting as a case study. We used eye movements as a tool to investigate the cognitive load and skills of the software testers. In the proposed work, we categorized the software testers into three categories—high, average and low performers—based on their competency level in a debugging task. The eye movements were used to classified them as high and normal. An experiment was conducted to collect the eye movements of the software testers while debugging a source program. Based on the errors identified by the testers, they were categorized as high, average, and low performers. Testers who identified all errors were categorized as high, no errors as low, and others as average performers. The eye tracking data collected was analyzed to classify them as high and normal cognitive loads. From the raw eye movement data collected, pupil size, blinks, and fixations were derived and peak variability, blink rate and dwell time were computed. Using the peak finding algorithm, we evaluated number of peaks to classify the tester’s cognitive load as high and low. The testers with large number of peaks are classified as high cognitive

396

K. R. Chandrika et al.

load and with less peaks as normal cognitive load. The following is the step by step procedure used for classifying the participant’s cognitive load: Step1. Designing the experiment stimuli for the user study Step2. Selecting the participants Step3. Briefing the task. Step4. Calibrating the eyes of participants Step5. Collecting eye movements and response of participants Step6. Categorizing participants as high, average and low performers based on the response Step7. Compute blink rate, peak variability, and dwell time from raw eye movements Step8. Classify the participant’s cognitive load as high and normal based on the eye movements

4 Results and Discussion The participants were categorized as high, average, and low performers based on the bugs identified in the debugging task. Participants who identified most of the bugs (4–6 bugs) were categorized as High performers. Participants who did not identify any bugs were categorized as Low performers and others as Average performers. Table 2 represents the number of participants who were categorized as high, average, and low. Figure 1 represents the peak variability of an average performing participant with high cognitive load. The graph shows large number of peaks. Figure 2 represents the peak variability of an average performing participant with normal cognitive load. The graph shows a smaller number of peaks. Figure 3 represents the cognitive peak variation of high performing participants. Participant 13 did not have much variation at the beginning but gradually it increased based on task difficulty. Whereas participants 17 and 31 had lot of variations at the beginning indicating high cognitive load but gradually reduced as they found the task was much familiar. The analysis of variance (F1 Score = 2.05, p-value = 0.2) does not show any statistical difference in their behavior within the group. Figure 4 represents the peak rate of average performing participants. We observed a lot of variability among the participant behaviors. Participants 28, 30, and 32 have high peak rates. This indicates high cognitive load. The statistical analysis between the participants showed significant differences in their behavior within this group. (F1 Table 2 Performance of participants

Performance

Number of participants

High Average Low

3 19 11

Identification and Classification of Expertise Using …

397

Fig. 1 Peak variability of average performers with high cognitive load

Fig. 2 Peak variability of average performers with normal cognitive load

Score = 5.6 and p-value < 0). Figure 5 represents the peak rate variability of low performers. Participants 3, 9, 10, and 35 experience high cognitive load for task 3. The statistical analysis of variance shows no significant difference in their peak rate variability within the group (F1 score = 0.624, p-value = 0.777). One-way ANOVA test on peak rate variability between three groups for task 1 shows significant differences (F1 Score = 3.26, p -value = 0.0551). This indicates that for task 1 participants in various groups behaved differently. For task 2, no significant differences between the peak rate variability is observed (F1-Score = 1.49, p-value = 0.24). This indicates participant behavior for task 2 was almost similar. For task 3, no significant difference between peak variability between groups was observed (F1score = 0.22, p-value = 0.799). This indicates that peak rate variability even though is a good indicator interpreting the cognitive load of an individual but cannot be used

398

K. R. Chandrika et al.

Fig. 3 Peak rate variability of high performers

Fig. 4 Peak rate variability of average performers

Fig. 5 Peak rate variability of low performers

independently for classifying participants as high, average, or low performers. This might be due to insufficient data. Figure 6 represents the number of participants experiencing high (H) and normal (N) cognitive load, taskwise for each performance category. The analysis was conducted based on the blink rate. The graph indicates that average performers experienced more cognitive load compared to high performers and low performers. High performers for task 1 experienced normal cognitive load. Participants with performance as high had high cognitive load in the task 3 which has the difficulty level high. The low performers had high cognitive load from the beginning of the task 1. Statistical analysis on blink rate showed no significant differences between the task

Identification and Classification of Expertise Using …

399

Fig. 6 Taskwise cognitive load for each performance category

with levels of difficulty among different groups. (Task 1 -F1 Score-1.3, p-value = 0.28, Task 2-F1 score = 1.007, p-value = 0.3, Task 3-F1-score = 0.84, p-value = 0.44). These analyses show that a combination of blink rate, peak rate are not enough for predicting the cognitive load of the participants. It also requires to understand the level of experience, demographic information, the environment, and the activities before the study. We present two use cases, one pertinent to observations and results from the study and another on training the trainer.

4.1 Case Study: Software Engineers Cognitive Behavior In this case study, we discuss few pertinent observations and results from the study with software engineers. High Performer with High Cognitive Load. Figure 7 represents the heat map of a high performing participant for a task who completed all the task and identified all the bugs in the program. The dwell time% = 93% for the task indicating high visual attention and blink rate = 2.4 indicating high cognitive load. The participant is recommended to take breaks to reduce the cognitive load and advised a resilience training. This is expected to enhance the productivity of the participant. High Performer with Normal Cognitive Load. Figure 8 represents the heatmap of a participant with dwell time% = 94%, with blink rate = 5.23 The participant is a high performer with expected behavior of a skilled tester and can be groomed to be an expert. Low Performer with Normal Cognitive Load. Figure 9 represents the heatmap of a low performing participant with dwell time% = 71% showing less code coverage, blink rate = 6.6 The participant seems to be unskilled and recommended for skill training.

400

Fig. 7 Heat map of a high performer with high cognitive load

Fig. 8 Heat map of a high performer with normal cognitive load

K. R. Chandrika et al.

Identification and Classification of Expertise Using …

401

Fig. 9 Heat map of a low performer with normal cognitive load

Fig. 10 Heat map of a low performer with high cognitive load

Low Performer with High Cognitive Load. Figure 10 represents the heat map of participant with dwell time% = 71%, blink rate = 27.6 The engineer is unskilled and requires both resilience training and skill training. Participant with Unmatched Skill. Figure 11 represents the heat map of a participant with unmatched skill. The observer observed while thinking aloud the errors, the participant pointed out the errors related to C++ language rather than C#. This was

402

K. R. Chandrika et al.

Fig. 11 Heat map of a unmatched skill participant Table 3 Participant behavior Performance High Average Low

High cognitive load

Normal cognitive load

2 8 4

1 11 7

reported by the observer and recommended for a change in project as the participant skill set did not match the requirements of the project. For a software to be free of bugs requires the engineer to have a good understanding of programming and high visual attention over the code. The heatmaps and the results of cognition indicate the following: 1. A focused participant with good code coverage, high cognitive load and high performers will be skilled, and the skill. 2. A focused participant with good code coverage, less cognitive load and high performers will be skilled, and the skill is naturally acquired. 3. An unfocussed participant with or without cognitive load and low performers is unskilled. Table 3 shows the results of participants normal and high cognitive loads. We found that 42.4% of the participants have normal behavior and 57.6% participants were experiencing high cognitive load while performing their task. Understanding the cognitive behavior and performance of software engineers will help the management to place them at appropriate role or provide necessary

Identification and Classification of Expertise Using …

403

skill-based training or resilience training to enable the employees to perform their tasks with lower cognitive load which ultimately results in a stress free and healthier workforce. This improves the confidence of the engineers and quality of the software being developed.

4.2 Case Study: Trainer Effectiveness Based on Trainee Cognitive Behavior Another use case where eye tracking has application is in understanding the cognitive behavior of the trainer. The study can be extended to understand the effectiveness of the trainer offering skill development and resilience trainings. For this, we conduct the cognitive behavior of the trainees before and after the training. By analyzing the differences, which is essentially overall reduction in the cognitive load post training, effectiveness of the trainer can be studied. For more complex trainings, at predetermined steps, participants can be tested for acceptable cognitive load before being allowed to take further modules. Those who do not improve on the cognitive load are not in a state to proceed making the trainings meaningful and effective.

5 Conclusion and Future Work Automation and productivity improvements in industry are resulting various tools and programming languages for software engineers to cope up with. Evaluating skill and competency on these are becoming a challenge. We proposed cognitive load as an indicator of competency using eye gaze properties for identified tasks. Accordingly, we designed an experiment to identify and categorize software testers in an industrial setting for C# testing. Our results show that the proposed approach is able to successfully identify both the skill and competency levels. We presented details on one use case and outlined another use case. We believe that the key to success includes careful experimental design, engaging with the participants through out the study, creating an initial skill and competency classification and sharing the findings to reassess with each participant. The above two use cases one of software engineers and other of trainees indicate that eye movements can be a good recommender for cognitive load and skillset matching. Along with other biometric indicators, eye movements can be used to develop a recommendation system for predicting the cognitive load and skillset of the user. Based on the results, we believe that the approach can be extended for various use cases including self-assessment where individuals can check if their own competency levels for select skill sets, hiring and career progression, trainer and training effectiveness studies, and so on.

404

K. R. Chandrika et al.

References 1. Fritz, T., Begel, A., Müller, S.C., Yigit-Elliott, S., Züger, M.: Using psycho-physiological measures to assess task difficulty in software development. In: Proceedings of the 36th International Conference on Software Engineering, pp. 402–413. ACM, New York (2014) 2. Crk, I., Kluthe, T.: Assessing the contribution of the individual alpha frequency (IAF) in an EEG-based study of program comprehension. In: 2016 38th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), pp. 4601–4604. IEEE, New York (2016) 3. Minas, R.K., Kazman, R., Tempero, E.: Neurophysiological impact of software design processes on software developers. In: International Conference on Augmented Cognition, pp. 56–64. Springer, Cham (2017) 4. Gonçales, L., Farias, K., da Silva, B., Fessler, J.: Measuring the cognitive load of software developers: a systematic mapping study. In: Proceedings of the 27th International Conference on Program Comprehension, pp. 42–52. IEEE, New York (2019) 5. Chen, S., Epps, J., Ruiz, N., Chen, F.: Eye activity as a measure of human mental effort in HCI. In: Proceedings of the 16th International Conference on Intelligent User Interfaces, pp. 315–318. ACM, New York (2011) 6. Sharif, B., Falcone, M., Maletic, J.I.: An eye-tracking study on the role of scan time in finding source code defects. In: Proceedings of the Symposium on Eye Tracking Research and Applications, pp. 381–384. ACM, New York (2012) 7. Chen, S., Epps, J., Chen, F.: Automatic and continuous user task analysis via eye activity. In: Proceedings of the 2013 International Conference on Intelligent User Interfaces, pp. 57–66. ACM, New York (2013) 8. Porter, G., Tro´scianko, T., Gilchrist, I.D.: Pupil size as a measure of task difficulty in vision. Percept. ECVP Abstr. 31 (2002) 9. Bednarik, R., Tukiainen, M.: An eye-tracking methodology for characterizing program comprehension processes. In: Proceedings of the 2006 Symposium on Eye Tracking Research and Applications, pp. 125–132. ACM, New York (2006) 10. Chandrika, K.R., Amudha, J., Sudarsan, S.D.: Recognizing eye tracking traits for source code review. In: 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), pp. 1–8. IEEE, New York (2017) 11. Crosby, M.E., Scholtz, J., Wiedenbeck, S.: The roles beacons play in comprehension for novice and expert programmers. In: PPIG, p. 5 (2002) 12. Bednarik, R., Tukiainen, M.: Analysing and interpreting quantitative eye-tracking data in studies of programming: phases of debugging with multiple representations. In: PPIG, p. 13 (2007) 13. Shaffer, T.R., Wise, J.L., Walters, B.M., Müller, S.C., Falcone, M., Sharif, B.: iTrace: Enabling eye tracking on software artifacts within the ide to support software engineering tasks. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pp. 954–957. ACM, New York (2015) 14. Sweller, J.: Cognitive load during problem solving: effects on learning. Cogn. Sci. 12(2), 257– 285 (1988) 15. Walters, B., Falcone, M., Shibble, A., Sharif, B.: Towards an eye-tracking enabled IDE for software traceability tasks. In: 2013 7th International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), pp. 51–54. IEEE, New York (2013) 16. Tsai, Y.-F., Viirre, E., Strychacz, C., Chase, B., Jung, T.-P.: Task performance and eye activity: predicting behavior relating to cognitive workload. Aviat. Space Environ. Med. 78(5), B176– B185 (2007) 17. Pomplun, M., Sindhura, S.: Pupil dilation as an indicator of cognitive workload in humancomputer interaction. In: Proceedings of the International Conference on HCI (2003) 18. Ahlstrom, U., Friedman-Berg, Ferne J.: Using eye movement activity as a correlate of cognitive workload. Int. J. Ind. Ergon. 36(7), 623–636 (2006)

Identification and Classification of Expertise Using …

405

19. Pfleging, B., Fekety, D.K., Schmidt, A., Kun, A.L.: A model relating pupil diameter to mental workload and lighting conditions. In: Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, pp. 5776–5788. ACM, New York (2016) 20. Busjahn, T., Bednarik, R., Begel, A., Crosby, M., Paterson, J.H., Schulte, C., Sharif, B., Tamm, S.: Eye movements in code reading: relaxing the linear order. In: 2015 IEEE 23rd International Conference on Program Comprehension, pp. 255–265. IEEE, New York (2015) 21. Amudha, J., Roja Reddy, S., Supriya Reddy, Y.: Blink analysis using eye gaze tracker. In: International Symposium on Intelligent Systems Technologies and Applications. Springer International Publishing, Berlin (2016) 22. Marshall, S.P.: The index of cognitive activity: measuring cognitive workload. In: Proceedings of the IEEE 7th Conference on Human Factors and Power Plants, pp. 7–7. IEEE, New York (2002) 23. Jyotsna, C., Amudha, J.: Eye gaze as an indicator for stress level analysis in students. In: 2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp. 1588–1593. IEEE, New York (2018) 24. SMI REDn Professional. https://www.smivision.com/eye-tracking/product/redn-pro-ux/ 25. Dalmaijer, E.S., Mathôt, S., Van der Stigchel, S.: PyGaze: an open-source, cross-platform toolbox for minimal-effort programming of eyetracking experiments. Behav. Res. Methods 46(4), 913–92 (2014) 26. Kowler, E.: Attention and eye movements. In: Encyclopedia of Neuroscience, pp. 605–616. Elsevier Ltd (2010) 27. Sharafi, Z., Shaffer, T., Sharif, B., Guéhéneuc, Y.-G.: Eye-tracking metrics in software engineering. In: 2015 Asia-Pacific Software Engineering Conference (APSEC), pp. 96–103. IEEE, New York (2015) 28. Chandrika, K.R., Amudha, J.: An eye tracking study to understand the visual perception behavior while source code comprehension. In: Proceedings of the Second International Conference on Sustainable Computing Techniques in Engineering, Science and Management (2017)

Crypto-Wills: Transferring Digital Assets by Maintaining Wills on the Blockchain Jainam Chirag Shah, Mugdha Bhagwat, Dhiren Patel and Mauro Conti

Abstract Traditional methods of transferring assets post demise are tedious and problem-ridden. These methods do not account for the increasing variety of digital assets (including crypto-assets) present today. Hence, when a person dies, his/her tangible assets can be distributed according to his/her Will, or the prevailing legal framework. However, his/her digital assets are left inaccessible (due to their inherent security) and are, in turn, lost forever. In order to provide a reliable and secure way of transferring digital assets, we propose a system to execute Wills after the demise using blockchain. The proposed solution maps the assets using ERC-20 and ERC721 tokens and enables the owner of the Will to deploy a smart contract mentioning his wishes. The contract is executed based on the defined consensus mechanism, and the assets are transferred to the beneficiaries. Keywords Crypto-assets · Security tokens · Blockchain · Smart contract · Proof of Vote · Cyber security

1 Introduction The Bitcoin boom, in the year 2017, familiarized the world with the concept of cryptocurrencies. Today, there is a surge in the number of people investing not only in cryptocurrencies but also in other crypto-assets. Platform tokens, crypto-commodities, utility tokens, and transactional tokens have greatly increased the amount owned in J. C. Shah (B) · M. Bhagwat Computer Engineering Department, VJTI Mumbai, Mumbai, India e-mail: [email protected] M. Bhagwat e-mail: [email protected] D. Patel VJTI Mumbai, Mumbai, India e-mail: [email protected] M. Conti Department of Mathematics, University of Padua, Padua, Italy e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_31

407

408

J. C. Shah et al.

these virtual assets along with their corresponding valuations. The blockchain community has enforced protocols and consensus algorithms to maintain a framework to validate transactions, prevent fraudulent exchanges and mainly to add reliability to the network ensuring rewards to rightful miners [1]. The system is secure till the private key of the user remains private to himself; however, there arises a problem when the user in question passes away. Unless the private key is known, all the digital assets are permanently abandoned. To avoid such situations, it is the need of the hour to have a system in place to transfer the assets to the beneficiaries. This system will keep a track of all the digital assets, mapping each to a token. In case of death of the owner, the system fires up to verify the death of the person using proof of vote and distributes the assets using smart contracts to the designated heirs. The Crypto-Wills contain the beneficiaries represented by their addresses, assets that need to be distributed, and the execution process of the Will. Our solution not only simplifies the transfer, but also provides an inherent security by keeping Wills very private and raising an alarm if someone tries to tamper with them. The rest of the paper is organized as follows: Sect. 2 discusses present difficulties and defines basic terminologies. In Sect. 3, proposed methodology and solution are discussed in detail. Section 4 discusses implementation scheme and results. Conclusion and future scope are presented in Sect. 5 with references at the end.

2 Current Landscape and Background In today’s scenario, if a person dies without a Will, there are laws and defined legalities to divide the assets of the person to legitimate heirs. His tangible property can yet be divided according to the state’s legal calculations; however, there are no defined laws to govern the transfer of the digital and crypto-assets. Crypto-assets, by definition, are inaccessible by anyone without a private key, including authoritative governments. The assets are undeniably lost with the death of the owner unless the key has been shared. Not only could the assets be worth a significant amount, but the owner may be a stakeholder in a larger setup where the owned assets play important roles, e.g., tokens that provide voting rights. The loss of these valuable tokens can cause chaos and even damage the existence of the entire setup or company. If we consider the situation where the person deflects this situation by writing down his private key or storing it on some storage device or entrusting a third party with his key, he/she is effectively compromising the security that surrounds the secrecy of the private key. Crypto-assets are usually open-source, volunteer-based, unincorporated, and reject traditional corporate structures [2]. With the rapidly advancing changes in the crypto-space, an emergent solution needs to be presented now. The Crypto-Wills focus on some of the fundamental concepts of blockchain. We present the basic terminologies required to practically implement Crypto-Wills.

Crypto-Wills: Transferring Digital Assets …

409

2.1 Smart Contracts Smart contracts are software programs that live on a blockchain and form the basis of many of the new blockchain applications and schemes [3]. A smart contract is a contract binding between parties, automated to fire up when certain conditions have been satisfied. The contract includes lines of code or scripts or dedicated instructions to fulfill a particular contract. These contracts are usually self-destructing after their successful execution.

2.2 Security Tokens A token is a representation of something in its particular ecosystem. It could be value, stake, voting right, or anything. A token is not limited to one particular role; it can fulfill a lot of roles in its native ecosystem [4]. Security tokens are designed to represent complete or fractional ownership interests in assets and/or entities. While utility tokens have no limitations on who can send or receive the token, security tokens are subject to many restrictions based on identity, jurisdiction, and asset category [5]. A security token shares many of the characteristics of both fungible (ERC-20) and non-fungible tokens (ERC-721).

2.3 ERC-20 ERC-20 is a technical standard used for smart contracts on the Ethereum blockchain for implementing tokens. The majority of tokens issued on the Ethereum blockchain are ERC-20 compliant. ERC-20 defines a common list of rules for Ethereum tokens to follow within the larger Ethereum ecosystem, allowing developers to accurately predict interaction between tokens. These rules include how the tokens are transferred between addresses and how data within each token is accessed [6].

2.4 ERC-721 ERC-721 is a free, open standard that describes how to build non-fungible or unique tokens on the Ethereum blockchain. While most tokens are fungible (every token is the same as every other token), ERC-721 tokens are all unique. ERC-721 defines a minimum interface a smart contract must implement to allow unique tokens to be managed, owned, and traded. It does not mandate a standard for token metadata or restrict adding supplemental functions [7].

410

J. C. Shah et al.

2.5 Decentralized Applications A decentralized application (dApp for short) refers to an application that is executed by multiple users over a decentralized network [8]. Decentralized applications are a piece of software that communicates with the blockchain, which manages the state of all network actors. The interface of the decentralized applications does not look any different from any Web site or mobile app today.

3 Proposed Methodology and Solutıons The Crypto-Wills are the fundamental core of the proposed solution. These Wills are empowered using samart contracts and security tokens, guarded by the Proof of Vote consensus mechanism.

3.1 Representation of Wills A Will or testament is a legal document by which a person, the testator, expresses their wishes as to how their property is to be distributed at death, and names one or more persons, the executor, to manage the estate until its final distribution [9]. The Crypto-Will will be in the form of a smart contract as shown in Fig. 1. This contract, deployed to the blockchain, will contain the wishes of the owner of the

Fig. 1 Representation of Wills in the form of smart contracts

Crypto-Wills: Transferring Digital Assets …

411

Will, to be executed after his/her demise. In order to associate the Will to the owner, the main smart contract will contain a mapping from the public address of the owner of the Will to the smart contract holding his or her Will.

3.2 Representation of Participants Crypto-Wills are open to all those who wish to generate a smart contract to distribute his/her assets. All participants need to be represented by a public address. The public address could be the public key of any blockchain-based platform capable of executing smart contracts.

3.3 How Will the Assets Be Represented? The assets a person owns could be platform tokens or crypto-commodities, etc. Platform tokens, e.g., Ether, can be easily associated with a fixed value and can be represented using a fungible token, ERC-20. However, some assets like voting rights cannot be associated with a fixed value. Such assets can be mapped to a non-fungible token, ERC-721. The Will, in the form of a smart contract, thus maintains two different sets of data structures; one to maintain the ERC-20 assets along with the number owned by the owner of the Will and other to maintain the ERC-721 assets.

3.4 How Will the Digital Will Be Created? The drafting of the Will commences when the user decides. To avoid the inconvenience of drafting a smart contract by a novice, a decentralized app (dApp) provides a simple form to the user as shown in Fig. 2. The user then fills out the form by mentioning each of his assets, the distribution of the assets to various beneficiaries, and also listing the executors of the Will. Each of the beneficiaries and the executor are represented using their public keys. The system then takes care of the Will by drafting it in the form of a smart contract. It ensures that the mapping from all the digital and crypto-assets is done by representing them as either ERC-20 or ERC-721 tokens. The smart contract now contains the data structure holding the security tokens; it now simply adds the corresponding public addresses mentioned by the owner of the Will to whom the assets are to be transferred, and in case of an ERC-20 token, it mentions the number of tokens. The smart contract, representing the Will, is then deployed to the blockchain. The details of the deployed contract are entered in the global contract, which maps the public key of the owner of the Will to the smart contract.

412

J. C. Shah et al.

Fig. 2 Digital Will created by filling a form on a dApp

To ensure no fraudulent assets are being transferred, once the Will is deployed, the contract enforces a security check. This check enables the contract, on deployment, to ascertain if all the digital and crypto-assets mentioned by the owner of the Will are actually owned by him/her. It verifies that the public key of the owner is the last known owner of all the digital assets that the owner specified he owns. The power of the blockchain to maintain an immutable history of all asset transactions is harnessed here. In case an erroneous condition arises when the assets do not add up, the contract self-destructs after emitting the reason for failure.

3.5 Verifying Death of Owner An important trigger to execute the smart contract is the death of the owner of the Will. When the owner passes away, any one of the executors of the Will can initialize the voting. The voting system implemented is a form of Proof of Vote consensus mechanism as shown in Fig. 3. This system empowers the executors with rights to commence the voting after the passing of the owner of the Will and to cast a vote to agree that the event has occurred. By creating the Crypto-Will, the owner had essentially agreed to consider the vote trigger equivalent to him actually dying. The voting takes place where at least k out of n members need to vote YES for the transfer of transactions to start. Each vote is then signed by the private key of the voter. The Proof of Vote system uses a group signature to verify the authenticity of the death, which is required to actually initialize the transfer of funds. The system is also empowered with a veto vote which resides with the owner of the Will. If any of the executors commences the voting claiming the death of the owner and the owner is actually alive, the owner can then suspend the falsely initialized

Crypto-Wills: Transferring Digital Assets …

413

Fig. 3 Verifying death of owner through proof of vote consensus mechanism

voting with a veto. The commencement of the voting initializes a timer, which makes sure that the voting must take place within a designated amount of time from when it was initialized, thus, ensuring that each of the voter is given a limited time frame, minimizing the chances of hampering. The process of voting can be suspended by the veto vote, or if k out of n people have not voted YES. In either of the cases, the process of voting can be reinitialized only after a designated amount of time after the last suspension.

3.6 Distribution of Assets A stipulated time period is assigned between the completion of voting and the initialization of distribution of assets. This is to prevent colluding executors from “stealing” the assets by voting at the same time and giving the owner enough time to issue his/her veto vote. The outcome of the voting is a crucial factor to be taken into account. If the outcome favors the execution of the Will, the system begins its process of distributing the assets. The system is checked to verify that the stated assets still belong to the owner of the Will or not. This is to check if any transactions of the assets, since the Will was written, have taken place. This check takes place in the same way as the check done during deployment of the Will. Any assets no longer owned by the owner are dropped outright. Once the above-mentioned check is cleared, all the assets are then distributed immediately to the beneficiaries in accordance with the contract. Each of the transaction is added to the blockchain immediately. The contract then self-destructs.

414

J. C. Shah et al.

3.7 Updation In case of unforeseen circumstances, or transactions or any other reason a user wants to change the contents of his/her Will, he/she is free to do so with minimal time wastage. To update the Will, the owner can make the updates through a dApp as shown in Fig. 4. This process is similar to the process of creating the Will in the first place. Internally the dApp copies the existing contract, makes the corresponding changes to it, and then deploys the new updated contract to the blockchain. It then goes through the same checks, to ascertain the ownership of the assets, as it did when the original Will was deployed. To make this more efficient, only the differences between the two copies are checked, thus saving time. The dApp then updates the mapping in the global contract to map the public key of the owner to the new public address of the contract. This is done to circumvent security concerns with maintaining the same public address and delegating calls to the updated contract. This updating process also takes place automatically at regular intervals to maintain consistency. Any assets that were mentioned in the Will but no longer owned by the owner are dropped during this process. However, any addition of assets needs to be done manually only. Note: Any mention of “fixed time frame” or “regular interval” or “designated time” corresponds to either the time taken to add a fixed number of blocks to the blockchain in use or a span of real time depending on the stability of the platform being used.

4 Implementation and Results Crypto-Wills fare better than the traditional route, eliminate middle men, minimizing the time delay while ensuring the necessary security by the following:

Fig. 4 Updating the Will through the dApp

Crypto-Wills: Transferring Digital Assets …

415

4.1 Speed of Execution Legal proceedings can take months to transfer ownership of assets even if there is no dispute. Compared to this, this solution only requires the time designated for voting other than the time required to add the transfer transactions to the blockchain.

4.2 Tamper-Resistant and Tamper Evident Traditional Wills are more prone to tampering, accidental destruction, or loss compared to Crypto-Wills, which use blockchain to ensure integrity.

4.3 Eliminating a Single Point of Failure Proof of Vote consensus mechanism allows the owner of the Will to name “n” people to initiate the execution of the Will, post his/her death, eliminating the single point of failure that could have been introduced by using a single oracle to validate the death of the owner of the Will and to initiate the execution [10]. The mechanism also ensures that the process of initiation of execution of the Will is not hindered even if few members misplace their private keys.

4.4 Security Safeguards As mentioned above, each participant is identified by a public–private key pair. The owner can prove that he owns the Will by owning the private key associated with the address of the owner of the Will. The smart contract only allows actions originating from the address of the creator of the Will to modify his/her Will, safeguarding it against impersonators. The smart contracts containing the person’s Will are safeguarded by their selfdestructing (after their successful execution) property. In Ethereum, the self-destruct operation at the EVM level is used to free up the redundant contract’s data when it will no longer be used. In the case of Crypto-Wills, the contract becomes redundant when either the contract executes successfully or when the security check before Will deployment or updation is unsuccessful (i.e., the public key of the owner is not the last known owner of all the digital assets that the owner specified he/she owns). In these two cases, the contract self-destructs. In case of a blockchain with no support for self-destruct operations, an equivalent should be used to terminate the contract.

416

J. C. Shah et al.

4.5 Legal Issues Crypto-assets are a relatively new phenomenon, currently ungoverned by the traditional law framework. The transfer of tokens is trustless and does not require any interference or dependence on third-party governmental or similar authorities. However, should there be any changes in the legal framework in the future, necessary changes can be incorporated into the implementation of Crypto-Wills.

5 Conclusion and Future Scope In this paper, we discussed the issues that arise when owners die without disclosing their private keys and proposed a solution directive to resolve crypto-assets and Wills using blockchain. Currently, the proposed solution, Crypto-Wills, enables the users to transfer their assets using any blockchain-based platform capable of executing smart contracts. In the future, with the emergence of standard interchain transfer protocols, this system can be extended to transfer assets on other chains too (like BTC).

References 1. Zheng, Z., Xie, S., Dai, H., Chen, X., Wang, H.: An overview of blockchain technology: Architecture, consensus, and future trends In: IEEE International Congress on Big Data (Big Data Congress), 2017 2. Carter, N.: A cross-sectional overview of cryptoasset governance and implications for investors 3. How Smart Contracts Work, https://spectrum.ieee.org/computing/networks/how-smartcontracts-work 4. What are Security Tokens?, https://blockgeeks.com/guides/security-tokens/ 5. The Security Token Standard, https://thesecuritytokenstandard.org/ 6. Wikipedia ERC-20, https://en.wikipedia.org/wiki/ERC-20 7. ERC-721, http://erc721.org/ 8. Wu, K.: An empirical study of blockchain-based decentralized applications. In: Proceedings of ACM Conference (Conference’17), ACM, New York, NY, USA 9. Wikipedia Will and Testament, https://en.wikipedia.org/wiki/Will_and_testament 10. Egberts, A.: The Oracle Problem an Analysis of How Blockchain Oracles Undermine the Advantages of Decentralized Ledger Systems. Chair at EBS Business School

One-Shot Digit Classification Based on Human Concept Learning A. K. Thushar and V. N. Manjunatha Aradhya

Abstract One of the key challenges of present machine learning approaches is to match the human-level performance in terms of number of examples for training. Even though deep learning has achieved remarkable accuracy and speed for classification problems, the performance still depends on the number of examples used for training. In this paper, we explore the problem of classification of handwritten digits from a single training example using a probabilistic approach based on the process in which characters are generated and learned by humans. The results obtained suggest that understanding of the human process can help in achieving good classification results even with sparse data for training. Keywords Human concept learning · Compositionality · Causality · One-shot classification

1 Introduction Humans can learn new concepts from very few examples. For example, after seeing a few examples of an object, even a child can generalize and learn related concepts. This is in contrast to the current deep learning algorithms which are data hungry for providing higher levels of accuracies. Also, the generalization capabilities of these algorithms are limited. How can learning in humans happen with very few examples and how do we learn such abstract and rich representations that can be used in understanding new concepts? In this paper, we examine the properties exhibited by humans while learning that help to answer the question. It is observed that the concepts of compositionality, causality, and learning to learn help humans to generalize concepts from sparse data. This work attempts to apply the above concepts in a single example digit classification experiment. We have used the MNIST data set of handwritten digits for the experiment and used features which model the causal A. K. Thushar (B) Department of Computer Science Engineering, Jain University, Bengaluru, India V. N. Manjunatha Aradhya Department of Computer Application, JSS Science and Technology University, Mysuru, India e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_32

417

418

A. K. Thushar and V. N. Manjunatha Aradhya

structure of the real-world handwriting process. The classification accuracy with single training example was compared with a standard kNN algorithm for MNIST also, and the results are promising.

2 Related Work A computational model that captures human learning abilities for recognizing handwritten characters from world’s alphabet was presented by Lake et al. [1]. The work elucidates this learning by three key ideas. Given a single object, humans can: (a) classify new examples (b) generate new examples of similar type (c) parse it into parts and understand their relation. The paper conceptualizes this through the Bayesian Program Learning (BPL) framework, which allows an algorithm to obtain the abilities described above. The BPL framework uses the ideas of compositionality, causality, and learning to learn to make simple stochastic programs to represent concepts, building them compositionally from parts, subparts, and spatial relation. Given a single image of a new character, the classification task is to select images of the same type from 20 distinct characters. The results indicate that BPL and human showed similar error rate (3.3 and 4.5%). The activities done by the current machine learning applications fall under two distinct categories [2]. One is model building and the other is prediction. The focus of neural networks particularly based on deep learning is generally on the latter. To build more human-like learning in neural networks, principles of cognitive psychology can help. Wellman and Gelman [3] suggested two such components. The first is intuitive physics: Infants have primitive object concepts that allow them to track objects over time and discount physically implausible trajectories. Equipped with these principles, people can learn more quickly and make more accurate predictions. The second component is intuitive psychology: Understanding and beliefs gained from one learning task help in learning of new tasks. A generative model for MNIST digit classification was proposed by Hinton et al. [12]. In this model, digits are generated by two pairs of opposing springs whose stiffness is controlled by a motor program. An interesting aspect of this learning is that the network creates its own training data, so it does not require training images to be labeled with motor programs. The computational model proposed by Lake et al. [13] utilized this learning to render trajectories as grayscale images in Hierarchical Bayesian Program Learning (HBPL) approach. Rezende et al. [4] use a deep generative model to allow one-shot generalization learning of images. It is built on the principles of feedback and attention. The model is a generalization of the existing models such as DRAW [5], composited VAEs [6], and AIR [7]. However, it introduces hidden canvas step, which allows the pre-image to be constructed in a hidden space. Another note is that it allows the model to be sampled without feeding back the result of the canvas to the hidden state which provides more efficiency compared to the BPL model by Lake [1], which uses naturally occurring causal structures of objects; this method is applicable to many settings.

One-Shot Digit Classification Based on Human Concept Learning

419

Computational neuroscience-based object recognition models were proposed by Riesenhuber and Poggio through the introduction of HMAX class of models [8–10]. HMAX stands for hierarchical models of object recognition in cortex. The model proposed was consistent with physiological data from inferotemporal cortex that accounts for the complex task of visual recognition and made testable predictions.

3 Applying Human Concept Learning for One-Shot Handwritten Digit Classification Our framework brings together the ideas of compositionality and causality for performing classification using a single training example. The method is using a probabilistic approach based on how characters are recognized by humans. For this, the MNIST data set [14] of handwritten digits is used. The MNIST data set includes many examples with high degree of variation which makes the classification difficult. More explicitly, two vectors of a long series of pixels identifying the same character are very likely to be completely distinct. This variability is handled using human learning abilities for visual concepts based on compositionality, causality, and learning to learn.

3.1 Compositionality Any character can be considered as a combination of parts and subparts formed from primitives. Characters can be parsed based on strokes initiated by pressing a pen down and terminated by lifting it up (called as “part”). Then, each stroke can be further separated by brief pauses of pen (“subpart”). For instance, if a character, “B,” is given, “B” can be parsed into two parts: one stick and another with two curves. Also, the second part can be further broken into a set of two half circles which are subparts. Parts and subparts can be combined in new ways to generate new characters. Compositionality is one of the key features which helps human to learn new concepts from the existing concepts.

3.2 Causality A character can be parsed based on strokes and pauses, thereby capturing the natural causal structure of the real-world writing process. Learning can proceed by constructing programs that best explain the observed strokes and pauses under a Bayesian criterion. In other words, causality models the relation between parts and subparts which help in the recognition process.

420

A. K. Thushar and V. N. Manjunatha Aradhya

i

ii

a b

c d

Fig. 1 Causal structure of handwritten digits. i Digit 3 is obtained by drawing curve a followed by curve b. ii Digit 2 is obtained by drawing curve c followed by line d

The causal structure while humans normally write numbers 3 and 2 is illustrated in Fig. 1. Number 3 has a causal structure consisting of consecutive curves (indicated as a and b), while number 2 has a causal structure with a curve and a line (indicated as c and d).

3.3 Learning to Learn For character recognition problem, learning to learn implies that the causal structure can be shared across characters or even across different alphabets. This enables learning of new characters using the primitives and causal structure for already learned characters. In the example shown in Fig. 1, if number 2 has been learned by a character recognizer using the primitives c and d, it can relate number 3 as consecutive occurrence of the primitive c, instead of learning as a new concept. Further, the learned concepts can be used in a generative way for newer concepts.

4 Proposed Approach The experiment done was done on the MNIST data set of handwritten digits. The data set consists of 60,000 training examples and 10,000 test examples. Our experiment was to apply the human-level concept learning based on compositionality and causality in recognizing a digit after training on a single example from the training set. The model learns by fitting a conditional distribution to the training set using both image and the stroke data. Prediction is achieved using Bayes classification rule: (DigitType = x/Strokedata) = (Strokedata/DigitType = x) × p(DigitType = x) (1) where x = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 are the 10 classes for classification. The process is depicted in the block diagram in Fig. 2 and explained subsequently.

One-Shot Digit Classification Based on Human Concept Learning Thinned Image

421

Compute Stroke Transition Probabilities

Traverse the image using TSP

Bayes Classification Engine

Fig. 2 One-shot digit classification process

1. Obtain a one-pixel skeleton for each image. In MNIST data set, each image is a 28 × 28 matrix of pixel values which is in grayscale. We used the publicly available MNIST thinned image data set [11] derived from the original MNIST data set [14]. 2. Generate a feature vector for each training image which captures the causal process involved when humans generate the image. For this, we use a directed path generating algorithm which traverses the image skeleton starting from the point nearest to the origin. At each point, it steps in one of the eight directions (Fig. 2b) toward the next nearest point. If multiple steps in the same direction are there, it is treated as a stroke. The feature vector for an image consists of the following: (a) First stroke probability: This is the probability that the image starts with a stroke in one particular direction. For both training and test data, this is calculated as the direction of the first longest step sequence observed. (b) Causal transition probability matrix: This is calculated as the probability that a particular stroke follows another stroke in the entire training data. This is a measure of the causal relation between strokes in a digit. Sample stroke sequence obtained on traversing image skeleton of digit 3 is illustrated in Fig. 3. 3. During the prediction phase, a skeleton of the test image is extracted as in the case of training image. The first stroke and transition matrix are extracted for the test image by traversing the pixel sequence. A likelihood score is assigned for the test image against each train image, i.e.,

(a)

(b)

2 1

3 4

8 7

(c)

5 6

4 4 4 5 5 7 7 5 5 5 6 6 7 7 8 8 8 Fig. 3 a Image skeleton and traversal path for digit 3. b Step directions. c Stroke sequence

422

A. K. Thushar and V. N. Manjunatha Aradhya

Score ( j) = First Stroke Probability ( j) ∗ Causal Probability of the StrokeSequence ( j) (2) where j = 0, 1, 2 …9 represent the train images. Test image is classified as the label of the training image which has the maximum likelihood score.

5 Results and Discussion The algorithm was implemented using R version 3.5.1 on 64-bit Windows environment. R provides an integrated suite of software facilities for data manipulation, calculation, and graphical display along with packages for statistical computing. The results obtained after 100 simulations of the algorithm with single training digit and 9990 test digits are illustrated in Fig. 4. To study the effect of causality on the accuracy, the experiment was conducted without using causal probability, i.e., only taking the a priori probability of a particular digit. It is observed that average accuracy with the a priori probability is 9.01% and with causal probability is 15.3% over 100 tests, which means an average improvement of 69% on using the casual approach. The approach was further compared with kNN using single training digit. The highest accuracy for MNIST digit classification as reported with kNN is 99.5 when using the full 60,000 training images. However, when the kNN was run with single

Fig. 4 Comparison of accuracy with the algorithm (red) against the a priori probability (blue) for 100 tests

One-Shot Digit Classification Based on Human Concept Learning

423

Fig. 5 Comparison of accuracy with the algorithm (red) against the kNN algorithm (blue) for 100 tests

training digit and 9990 test digits, the accuracy dropped to 9.31%, whereas 15.3% accuracy was obtained with our approach. Results obtained on 100 simulations of the algorithm with single training digit using our approach and kNN algorithm are depicted in Fig. 5.

6 Conclusion and Future Work The study suggests that the approach can perform classification at substantial accuracy even with a single training example. Despite the significant advances in artificial intelligence landscape, people remain far better than machines in learning new tasks: They require fewer examples and can use concepts in newer ways. Principles of compositionality, causality, and learning to learn will be critical in building machines that narrow this gap. The concept can be applied to other similar learning tasks where the principles of compositionality, causality, and learning to learn can be applied. One example is voice recognition where a word can be broken into syllables and each syllable can be further broken down to voice primitives such as phoneme. Learning can progress in a generative way using probabilistic priors representing each new structure. The approach can be integrated with classic machine learning algorithms such as kNN, SVM, and decision tree for the one example classification task. The accuracy obtained after using the approach and effect on number of training examples is an area for further study. The approach is also relevant in other areas where one-shot learning is important. One instance is scene understanding which is easily performed by humans. A neural network performing labeling of objects in a scene is just a first step toward this. To obtain meaningful inference from the scene, right causal models of objects

424

A. K. Thushar and V. N. Manjunatha Aradhya

are required which can be built based on properties of objects, physical forces at work, etc.

References 1. Lake, B.M., Salakhutdinov, R., Tanenbaum, J.B.: Human level concept learning through probabilistic program induction. Sci. Mag. 350(6266), 1332–1338 (2015) 2. Lake, B. M., Ullman, T. D., Tanenbaum, J. B., Greshman, S. J., Building machines that learn and think like People. Behav. Brain Sci., 1–72 (2017) 3. Wellman, H.M., Gelman, S.A.: Cognitive development: Foundational theories of core domains. Annu. Rev. Psychol. 43, 337–375 (1992) 4. Rezende, D. J., et al.: One-shot generalization in deep generative models. In Proceedings of the 33rd International Conference on Machine Learning, W&CP, JMLR, vol. 48, 2016 5. Gregor, K., Danihelka, I., Graves, A., Rezende, D. J., Wierstra, D.: Draw: A recurrent neural network for image generation. In ICML (2015) 6. Huang, J., Murphy, K.: Efficient inference in occlusion-aware generative models of images. arXiv preprint arXiv:1511.06362, (2015) 7. Eslami, S. M., Heess, N., Weber, T., Tassa, Y., Kavukcuoglu, K., Hinton, G. E.: Attend, infer, repeat: Fast scene understanding with generative models. arXiv preprint arXiv:1603.08575, (2016) 8. Riesenhuber, M., Poggio, T.: Hierarchical models of object recognition in cortex. Nat. Neurosci. 2, 1019–1025 (1999) 9. Serre, T., Wolf, L., Poggio, T.: Object recognition with features inspired by visual cortex. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition, CVPR, vol. 2, 994–1000 (2005) 10. Serre, T., Wolf, L., Bileschi, S., Riesenhuber, M., Poggio, T.: Robust object recognition with cortex-like mechanisms. IEEE Trans. Pattern Anal. Mach. Intell. 29, 411–426 (2007) 11. de Jong, E. D.: Incremental sequence learning. arXiv preprint arXiv:1611.03068, (2016) 12. Hinton, G. E., Nair, V.: Inferring motor programs from images of handwritten digits. In Adv. Neural Inf. Process. Syst. 19, (2006) 13. Lake, B., Salakhutdinov, R., Tenenbaum, J.: One-shot learning by inverting a compositional causal process. Adv. Neural Inf. Process. Syst. (2015) 14. LeCun, Y., Bottou, L., Bengio, Y., Haffner, P.: Gradient-based learning applied to document recognition. Proc. IEEE 86(11), 2278–2324 (1998)

Genetic Algorithm Tuned Sizing Scheme for Grid Integrated Hybrid Energy System Lakshaya Maheshwari and Hari Om Bansal

Abstract In this article, a scheme is discussed to obtain optimal solutions of the parameters for a grid integrated hybrid energy system (HES), consisting of photovoltaic (PV) panels and wind turbines. The parameters considered here are the net area covered by the PV modules and the net area swept by the revolving blades of the wind turbine. The objective of this scheme is minimization of life cycle cost (LCC) of the HES and to ensure its reliability at the same time. Loss of power supply probability (LPSP) is the factor considered to measure the reliability of the proposed system. This paper discusses a fitness function which can be used for the combined optimization of the two objectives. The proposed model uses genetic algorithm (GA) to obtain the best suiting values of the decision variables. Keywords Hybrid energy system · Genetic algorithm · Photovoltaic · Wind · Life cycle cost · Loss of power supply probability

1 Introduction Energy is a major building block in human development and a key factor influencing the sustainable development of any nation. The conventional sources of energy have a significant impact on the environment, health, and society. The rising issue of global warming and depleting fossil fuel reserves has shifted the focus towards sustainable energy solutions to save the earth and its resources for coming generations. So, there is an urgent requirement to promote usage of renewable energy in the present power sector in a sustainable and eco-friendly way with the least carbon emissions. Renewable energy has the capacity to reduce the dependence on coal and other fossil fuels significantly. Power sector plays a major role in the economic growth of a country, and by moving towards renewable energy, we can reduce global warming L. Maheshwari · H. O. Bansal (B) Department of Electrical and Electronics Engineering, Birla Institute of Technology and Science Pilani, Pilani, India e-mail: [email protected] L. Maheshwari e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_33

425

426

L. Maheshwari and H. O. Bansal

emissions, improve air quality, create new industries and jobs, and move towards a cleaner, safer, and affordable energy. Among all the renewable energy sources, wind and PV energy hold a great potential to fulfil energy requirements. Wind energy has the potential to supply large amounts of energy, but its high unpredictable presence can lead to an energy crisis. Similarly, solar energy is available in the entire daytime, but the irradiation level varies as per the environmental conditions. Therefore, the common problem with wind and PV systems is their intermittent nature, which leads to grid stability issues making these power resources unreliable [1]. However, if we combine these two intermittent sources together, the power reliability and transfer efficiency of the combined system improve significantly. A hybrid energy system (HES) is capable of satisfying the load demand, because when a single source is unable to fulfil the complete load demand, the other source can compensate for the remaining load. Solar and wind are almost complementary, thus increasing power reliability. The capital cost is lowered by 5–7% in hybrid solar wind plants as compared to stand-alone solar or wind as there is optimum utilization of common infrastructure like land, road, evacuation system, etc.

2 Solar Power Plant 2.1 Solar Cell Solar (PV) cells convert solar radiation into DC electricity. Solar cell electrons are released by absorbing the photons from the sunlight which are then drawn by metal conductors producing DC. Inverters are required to convert produced DC into AC. Solar cells are made up of various types of semiconductor materials and technology to design cells having low cost as well as high conversion efficiency [2].

2.2 Modelling of Solar Power The power produced by a solar panel at any time t depends on the solar insolation that is the amount of solar energy incident on the panel surface at that time [3]. The power generated by a group of PV panels covering total area Apv (in m2 ) and having efficiency ηpv is given by Ppv(t) = Apv · ηpv · S(t) where S(t) is the hourly solar insolation on the panel surface in kW/m2 at hour t and Ppv is the power generated by panel at time t.

Genetic Algorithm Tuned Sizing Scheme …

427

3 Wind Power The wind energy sets the blades around the rotor into motion. The rotor is connected to the main shaft. The shaft rotates the generator producing AC electricity. The electricity produced by windmill needs is AC which is connected to DC bus only after connecting it into DC. The height of windmill is an important factor to be considered while setting up the plant as it hugely affects the power produced by the wind farm. Usually, taller windmills are set up for better power generation.

3.1 Modelling of Wind Power The equation for the rated power (Pr ) of a wind turbine generator is Pr =

1 · Cp · ρa · (Vr )3 · Aw · ηg 2

In the above equation, C p is the turbine power coefficient which is specified as the ratio of the wind generator output power divided by maximum power. ρ a refers to the air density at the location of the wind farm in kg/m3 , ηg denotes the efficiency of the wind turbine, and Aw refers to the total area swept by the rotating turbine blades in m2 . Wind power is directly proportional to the cube of wind speed, so even a slight change in wind speed largely impacts the power generation by wind turbine [3]. The power generated by wind turbine (Pw ) is modelled as follows where v(t) denotes the speed of wind at any time t in m/s.

Pw (t) =

⎧ ⎪ ⎨ ⎪ ⎩

0 v(t)3 −V 3 Pr V 3 −V 3ci r ci

Pr

v(t) ≤ Vci or v(t) ≥ Vco Vci < v(t) < Vr Vr ≤ v(t) < Vco

In the above equation, V ci refers to the cut-in speed of the wind; there is no power generation by the wind turbine at speeds lower than V ci . V r is the rated speed of the turbine. Till V r , the power generated is directly proportional to the cube of the wind speed. Above V r , the power generated by the wind turbine is equal to the rated power (Pr ) until it reaches the cut off speed V co [4]. V co refers to the maximum speed of the wind till which the wind turbine is operated. The wind turbine is not operated above V co as it is highly dangerous to run after this wind speed, and hence, the power generation is zero. Total power generation by a hybrid power plant Pg (t) at any time t is equal to Ppv (t) + Pw (t).

428

L. Maheshwari and H. O. Bansal

4 Optimization 4.1 Reliability Evaluation Based on LPSP In this paper, reliability is considered as one of the objective functions while deciding the optimum sizing scheme of the HES. The system should fulfil the load requirement of the area for maximum time. It is measure of the power supply quality. In this research, the factor used to express the reliability of the system; LPSP is the ratio of power shortage over the total required power at any time. The power deficiency at any time t can be described as follows: LPS(t) = Pl (t) − Pg (t); where Pl (t) refers to the power requirement (load) at any time t and Pg (t) refers to the power generated by the hybrid power plant at that time t [5]. LPSP for a time period T is T 

LPSP =

LPS(t)

t=1 T 

Pl (t)

t=1

LPSP indicates if the load is satisfied or not, if it is equal to zero, then the load requirement is always covered, and if it is one, then the load requirement is never completely covered. So, the ideal value of LPSP is zero. The excess power generated (EPG) by the hybrid system is defined as that part of the generated power which not utilized by the load.

4.2 Economic Analysis The life cycle cost (LCC) of an HES is dependent on the capital cost (C), operating and maintenance cost (OM), replacement cost (R), and salvage cost (S) of each component of the system [6]. LCC = C + OMnpv + Rnpv − Snpv The subscript npv in each term refers to the fact that the LCC is calculated using the present values. So, the LCC of HES can be calculated by adding LCC of each component [7]. LCC = LCCpv + LCCw

Genetic Algorithm Tuned Sizing Scheme …

429

The optimized size of the plant should be such that the total cost of the hybrid energy plant should be as low as possible while considering the minimization of LPSP. Calculations for LCC: The capital cost of a PV array can be calculated using the initial settling cost α pv in $/m2 multiplied by the total area covered by the PV panels in a hybrid plant in m2. Cpv = αpv · Apv The following equation can calculate the per year OM cost of PV array OMpv = βpv · Apv where β pv is the OM cost in $ per m2 for a year. Now, if the annual growth rate of the cost is μpv , the net present value of the OM cost for PV array can be written as OMnpv(PV) = βpv · Apv ·

N   1 + μpv j j=1

1+i

In the above equation, N is the total lifetime of the PV array and i is the rate of interest. If the lifetime span of PV panels is the same as the project lifetime, then there is no replacement required, and therefore, the replacement cost for the panels is equal to zero. The resale price can be calculated by assuming the resale value λpv $ of per m2 area and δ inflation rate. The total net present value of the resale income can be written as follows  Snpv.PV = λpv · Apv ·

1+δ 1+i

N

So, the net LCC of PV array considering zero replacement cost can be calculated as follows LCC = Cpv + OMnpv,PV − Snpv.PV The LCC of wind can be calculated using the same equations just by using the parameters of wind turbine. The parameters of wind are denoted by the subscript w [8].

430

L. Maheshwari and H. O. Bansal

5 Genetic Algorithm Genetic algorithm (GA) is based on the process of natural selection, the process driving the biological evolution. This algorithm is used to find optimized solutions to problems with or without constraints. In each iteration, GA selects best fitting individuals from the current population and these individuals are the parents for the succeeding generation (children). The population moves towards an optimal solution after various iterations [9].

5.1 GA Parameters 5.1.1

Fitness Function

The objective function which is desired to be optimized is called the fitness function. GA can be used to either minimize or maximize the fitness function.

5.1.2

Individual

Any value to which the fitness function can be applied is called individual.

5.1.3

Population and Generations

The collection of the individuals is population. In GA, it is possible for the same individual to appear multiple times in the population. A series of computations are done on the current population to produce a new generation. So, each new population is the new generation.

5.1.4

Fitness Values

Fitness value of an individual is obtained by putting the individual into the fitness function. The minimum fitness value obtained for any individual in the population is called the best fitness value of the population.

5.1.5

Parents and Children

GA selects those individuals as parents to create new individuals for the next generation (children), who have better fitness values in the current population. So as this

Genetic Algorithm Tuned Sizing Scheme …

431

algorithm selects best fitness value parents, the population starts leading towards an optimal solution after various iterations

5.1.6

Working of GA

GA works by undergoing these steps: Step 1: Initial Population GA starts by creating random initial population. Step 2: Calculation of Fitness Function Score for each individual is calculated by putting it in the fitness function. Step 3: Next Generation On every step, GA uses the present population to generate the next generation. Step 4: Stopping Conditions. When the stopping constraints are met, algorithm is not applied further and the best fitness value is considered as the optimal solution for the problem, otherwise repetition of the above-mentioned steps.

5.2 Fitness Function Since we have two optimizing objectives here, namely LPSP and LCC which need to be minimized together, a combined fitness function was used for their optimization. As both objective functions (fun1 and fun2) must be optimized together that is improving anyone one of them only is not helpful, one can add the two optimizing objectives together and subtract the magnitude of their difference of them as shown below: Fitness function = (fun1 + fun2) − |fun1 − fun2| In the above fitness function, if one objective starts improving without the other, the difference in the objectives will increase; thus, the entire fitness function will not improve so that value will not be the optimized solution. For instance, if fun1 increases without any change in fun2, the sum of fun1 and fun2 increases but the absolute difference (|fun1 − fun2|) also increases, so overall their difference, i.e. the fitness comes close to the same value. So, the improvement of only one of the objectives will not lead to an optimal solution in this case. The fitness value will reduce only in the case if both the functions decrease as in that case the sum will change more as compared to the difference, thus leading to a better value of the fitness function. Therefore, this fitness function will lead to the combined optimization of both the objectives. Thus, fitness function used for this study was LPSP + LCC − |LPSP − LCC|. The optimal solution was calculated using genetic algorithm with constraints Apv , Aw > 0

432

L. Maheshwari and H. O. Bansal

6 Simulation and Results The objectives of the proposed study are minimization of LCC of the project and LPSP. The decision variables considered to find the optimal size of each power are the area of PV array (Apv ) and area covered by wind turbines (Aw ). GA has been used to minimize the two objectives collectively and thereby get the best suiting values of the decision variables. The proposed scheme is simulated using MATLAB. Data of a site [10] has been optimized using the above methodology (Tables 1 and 2). Results obtained for the optimal size of the grid-connected HES by simulation for the above data set: Apv = 68 m2 = 8 kW Aw = 110 m2 = 13 kW So, the results show that, to satisfy the load requirement of the simulated data, the HES should be set up with an 8 kW solar power plant and 13 kW wind power plant considering cost optimization and reliability of the system simultaneously. Table 1 Parameters considered for simulation

Parameter

Symbol

Value

Interest rate

i

0.1

Lifetime of project

N (years)

20

Rate of inflation

δ

0.045

Rate of escalation

μpv /μw

0.075

Efficiency of inverter

ηinv

0.9

Initial cost of PV

α pv ($/m2 )

519.6

Annual O&M (PV)

β pv

1% of α pv

Resale price (PV)

λpv ($/m2 )

25% of α pv

Efficiency of PV

ηpv

0.14

Lifetime of PV

L pv (years)

20

Initial cost of wind turbine

α w ($/m2 )

544.25

Annual O&M (wind)

β w ($/m2 /year)

2% of α w

Wind turbine resale price

λw ($/m2 )

30% of α w

Lifetime of wind generator

L w (years)

20

Power coefficient

Cp

0.5

Density of air

ρ a (kg/m3 )

1.22

Efficiency of wind generator

ηg

0.85

($/m2 /year)

Genetic Algorithm Tuned Sizing Scheme …

433

Table 2 Data of site used for simulation purposes averaged data recorded on a site [10] Month

Irradiation (kWh/m2 /d)

Wind speed (m/s)

Requirement of load (kWh)

January

4.17

1.6

7010

February

4.67

2.2

6010

March

5.03

2.1

6560

April

5.08

2.2

6500

May

4.96

2.2

7240

June

4.37

2.1

6400

July

3.66

2.6

5890

August

3.34

2.1

5510

September

3.79

2.2

6500

October

4.43

2.1

5500

November

4.65

1.5

6870

December

3.86

1.6

6230

7 Conclusion In this paper, a study has been carried out on developing an optimizing scheme for deciding the size of a grid integrated hybrid energy system consisting of solar PV panels and wind turbines. The proposed sizing scheme is based on minimizing two objectives: loss of power supply probability and life cycle cost of the hybrid system. A single fitness function has been derived such that the two objectives can be minimized together using that function. The optimal values of the entire area covered by the PV panels and net area swept by the blades of the wind turbines while rotating, considered as decision variables, has been found using genetic algorithm. The simulation results signify that the proposed algorithm has the capability to decide sizing of HES plant.

References 1. Nehrir, M.H., Wang, C., Strunz, K., Aki, H., Ramakumar, R., Bing, J., Miao, Z., Salameh, Z.: A review of hybrid renewable/alternative energy systems for electric power generation: configurations, control, and applications. IEEE Trans. Sustain. Energy 2(4) (2011) 2. Pooran, S.: Hybrid Power Generation by Using Solar and Wind Energy Hybrid Power Generation Applicable To Future Electric Vehicle IJETST, vol. 04(11), pp. 6285–6294, ISSN 2348–9480 (2017) 3. Sawle, Y., Gupta, S.C., Bohre, A., Meng, W.: PV-wind hybrid system: a review with case study. Cogent Eng. 3, 1189305 (2016). https://doi.org/10.1080/23311916.2016.1189305 4. Akram, U., Khalid, M., Shafiq, S.: Optimal sizing of a wind/solar/battery hybrid grid-connected microgrid system. IET Renew. Power Gener. 12 (2017). https://doi.org/10.1049/iet-rpg.2017. 0010

434

L. Maheshwari and H. O. Bansal

5. Erdinc, O., Uzunoglu, M.: Optimum design of hybrid renewable energy systems: overview of different approaches. Renew. Sustain. Energy Rev. 16, 1412–1425 (2012) 6. Sediqi, M.M., Furukakoi, M., Lotfy, M.E., Yona, A., Senjyu, T.: Optimal economical sizing of grid-connected hybrid renewable energy system. J. Energy Power Eng. 11(2017), 244–253 (2017). https://doi.org/10.17265/1934-8975/2017.04.005 7. Mousa, K., Alzu’bi, H., Diabat, A.: Design of a hybrid solar-wind power plant using optimization. In: 2010 2nd International Conference on Engineering System Management and Applications (ICESMA), pp. 1–6 (2010) 8. Okinda, V., Odero, N.: Modelling, simulation and optimal sizing of a hybrid wind, solar PV power system in Northern Kenya. Int. J. Renew. Energy Res. 6, 1210–1999 (2016) 9. Lingaraj, H.: A study on genetic algorithm and its applications. Int. J. Comput. Sci. Eng. 4, 139–143 (2016) 10. Acakpovi, A., Hagan, E.B., Fifatin, X.F.: Cost optimization of an electrical energy supply from a hybrid solar, wind and hydropower plant. Int. J. Comput. Appl. 114, 44–51 (2015). https:// doi.org/10.5120/20092-2149

Medical Analysis Methods for Object Identification Ramgopal Kashyap and Surendra Rahamatkar

Abstract The examination of the therapeutic pictures is a necessary errand for the forecast of fundamental malady in everyday life. The picture preparing gives a different technique for the investigation of primary infection, for example, division. This paper proposed a self-loader image division method for the research of image division. The proposed calculation is productive as far as precision and affectability of the utility of the vein division procedure requesting the improvement of division territory and increments the estimation of exactness. For the development of the picture, the division procedure utilized a limit method with some target work enhancement strategy. The target work enhancement strategy improves the division territory and increments the estimation of affectability. The vein division procedure utilized Gabor to change method; in this system used set fuzzy c-means and subterranean insect settlement streamlining. The set level picture division procedure improves the division territory and division nature of limit discovery and article recognition. Keywords Accurate segmentation · Blood vessel detection · Fuzzy C-means · Local binary fitting · Local intensity fitting · Medical image segmentation · Object detection

1 Introduction Picture division assumes a significant job in picture investigation and computer vision. It is frequently used to segment a picture into isolated areas, which is a perfect world relate to various certifiable articles. Thresholding is one of the most important and viable strategies for picture division because of the benefit of littler extra room, quick preparing rate, and simplicity in control; thresholding strategies have drawn a ton of consideration during the most recent few decades. Since thresholding is a welllooked into the field, there exist numerous calculations for deciding an ideal limit R. Kashyap (B) · S. Rahamatkar Department of Computer Science and Engineering, Amity University Chhattisgarh, Raipur, India S. Rahamatkar e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_34

435

436

R. Kashyap and S. Rahamatkar

of the picture the appropriateness of computer vision and example acknowledgment is expanding every day in the field of therapeutic science and remote detecting [1]. Presently, the necessity of the picture division procedure is expanding. At first, the division procedure performs by bunching method, for example, k means. The procedure of picture division traded off the theses of information and commotion sway. For the decrease of clamor and mutilated region, creators applied delicate processing and neural system approach. The division system separated as an edge-based, districtbased, and region-based division strategy. For the improvement of the vessel, division calculation utilized fuzzy c-means and insect settlement enhancement system. The insect settlement enhancement procedure advanced the future estimation of the vein. The picture division assumes an exceptional job in computer vision. The seeds are frequently marked physically, which means chart-based strategies may not fragment pictures naturally. Hence, a technique that can pick the best element mix, as well as the ideal limit, is sought after. Ongoing years have seen the development of different component determination and self-versatile picture division calculations. Highlight choice calculations [2] can choose a compelling component subset instead of the entire list of capabilities to decrease reality utilization. Most versatile calculations center around identifying bunch focuses. Our instinct is that, for a specific picture, blending a few sorts of highlights will deliver greater picture sections than utilizing just a single sort of highlight, yet combining different highlights would not. It is vital to choose and consolidate the most discriminative highlights. After acquiring the best element mix, the most significant test for area-based division calculation is to decide the ideal edge that chooses whether to combine little districts or not. The strategy improves the presentation by the particular element combination and the versatile limit. Besides, exploratory outcomes exhibit that our calculation can deliver unrivaled picture fragments than some prominent methodologies.

2 Related Work Picture division is a basic undertaking in computer vision and example acknowledgment. There are two key difficulties for picture division. One is to locate the most discriminative picture list of capabilities to get top-notch fragments. The other is to accomplish great execution among different pictures. In this paper, we right off the bat propose a particular element combination calculation to pick the best list of capabilities by assessing the consequences of segmentation. In particular, the proposed strategy breakers chose includes and applies the combined highlights to area developing division calculation. The versatile limit can accomplish the preferred execution on each picture over the fixed edge. Test results show that our technique improves the exhibition of common areas developing by specific element combinations and versatile edge. Also, our proposed calculation acquires promising outcomes and beats some prominent methodologies. Before, a few works have risen as the cutting edge picture division strategies. Watershed [3] and its improved variant played out an inclination rising, beginning from neighborhood minima to create portions,

Medical Analysis Methods for Object Identification

437

which were regularly profoundly unpredictable fit as a fiddle and size. A regionbased picture division calculation held subtleties in low-changeability locales while disregarding subtleties in high-inconstancy areas. A specific level of consideration given to crossover includes that joined at least two highlights built up the phantom grouping-based shape indicator, and the yield of the form locator was joined with splendor, shading, and surface inclinations to produce a various leveled district tree. It is presented as a straightforward, direct iterative bunching calculation to improve division execution with a decent harmony among speed and precision [4]. A quick parting way to deal with taking care of picture division issues, delivering aftereffects of a quality practically identical with that of diagram cuts and the arched unwinding techniques. Highlight choice was a significant errand in AI to expanding the exhibition of a calculation [5]. The large measures of highlights depicted pictures in detail. Then again, not all highlights were basic for division, since a significant number of them were repetitive or even immaterial. These excess highlights may corrupt the presentation built up a powerful component determination strategy that chose a gathering of blended shading highlights or channels as indicated by the standard of minimal entropy of pixels recurrence histogram dissemination. Built up the various leveled highlight choice technique, which exhibited its bit of leeway in speed and division quality [6]. The proposed calculation breakers chose to include and apply the intertwined highlights to picture division calculation. The techniques which balanced parameters to section various pictures were by and large called versatile division. The versatile parameters were constantly utilized in grouping-based picture division to locate the number of bunches and the related focuses. In this soul, few words meant to create versatile bunching-based division techniques for limitbased strategies; there were constantly many edges for various types of information. Thus, naturally deciding the ideal limit was particularly critical for the division. The versatile edge-based calculation in [7] balanced limit while fragmenting a picture a versatile division calculation that changes the limit during area becoming as per various pictures.

3 Proposed Method The seed pixels consequently situated by partiality spread grouping calculation highlights including shading, surface, and edge removed for every pixel. Thirdly, an element selector dependent on input makes a decision about which highlights will accomplish better division execution. Fourthly, an ideal edge is determined adaptively, as indicated by chosen highlights. At long last, given the element blend of every pixel and the perfect side, a cover of the fragmented picture is produced by locale developing. In the retinal image, veins are not all associated due to the imaging conditions and distinctive eye ailments. Consequently, the following calculation begins from a few beginning chose in the general picture, and the subsequent outcomes are consolidated to get the last distinguished vascular tree. In this examination, we utilize a programmed two-advance

438

R. Kashyap and S. Rahamatkar

strategy dependent on matrix line investigation to select beginning seed focuses. The initial step, looking over matrix lines, is like the technique used. The subsequent advance comprises separating the picture acquired in the past advance by the 2D Gaussian channel and getting the approved seed focuses. Among the recognized nearby minima, some are identified with clamor or other eye tissues, for example, the fovea. Thus, dismissal of the bogus up-and-comer seed focuses is required to keep away from pointless following. To test the legitimacy of the applicants, we utilize a lot of 2D Gaussian directional coordinated channels. There are various directions for the Gaussian pieces, which dispersed in 5° from one another. We convolve the situated channels with the given retinal picture for the chose up-and-comer focuses. On the off chance that the most elevated reaction of directional channels for a competitor seed point is over a versatile neighborhood edge, it approved as a seed point, and the relating channel bearing is respected parallel to nearby vessel heading. The examination the handy neighborhood limit characterized dependent on nearby force circulation. In this segment, talking about the related work in the field of therapeutic picture examination in the various areas utilized the picture handling techniques. A vessel dynamic structure exhibit in perspective on the close by power weighting and a vessel vector field a quickening framework is executed by denoting the reliably progressed centers, and it keeps up a vital good ways from the reiterated count of these spotlights on the subsequent accentuation. The flexible entwining level set method has been shown to join the charming properties of these two procedures, independently. In the discussed system, loads of local binary fitting (LBF) usually adjusted by the spatial information of the image. Exploratory results show that the broad execution pointers, for instance, accuracy, speed, and strength, can be through and through upgraded by using this improved method [8]. The joined system analyzed in the paper uses a variable weighting coefficient to combine LBF appear. Tests exhibit that the present methodology has superior comprehensive execution considered over LBF figuring, independently, in division precision, speed, and quality [9]. In perspective on a comparable division framework, various pieces of the discussed system round power brokenness descriptor, refined power anomaly descriptor, the related DH extents, and topology tenement dissected. It has probably shown that they explained procedure could pass on promising results in the division of aneurysms in PC-MRA pictures (Fig. 1). The difficulty of using a discriminatively arranged, unforeseen subjective field appears with progressively meaningful conceivable outcomes. The first change done by adding new discriminate features to the segments pool used as a piece of classification [10]. The delayed consequences of improvements are promising while at the same time applying the upgraded way to deal with the STARE database of retinal pictures. The paper upgrades the components by including a new discriminant feature inside the best parts set, in like manner improves the execution using a new heuristic limit in light of probability theory as opposed to the past on, which relies upon Euclidean partition [11]. In this segment, talking about the Gabor change work, the Gabor changes capacity is sufficient capacity for the extraction of the surface elements. The removed surface

Medical Analysis Methods for Object Identification

439

Fig. 1 Process of the proposed image segmentation method

component gives the development existing apart from everything else and inclination. The visual substance can additionally partition into general or space explicit. Here, utilized Gabor channels for the extraction procedure. Surface analyzers executed utilizing 2-D Gabor capacities produce a reliable connection with surface information in shading picture [12]. The insect state is streamlining used here for the determination of the neighborhood highlights process during the combination procedure.     1 x2 y2 1 exp − + 2 + 2π j W x g(x, y) = 2π σx σ y 2 σx2 σy

(1)

A dictionary of filters can obtain by appropriate dilatations and rotations of g(x, y) generating function:   gmn (x, y) = a −m g x  , y  where m = 0, 1, . . . , S − 1 x  = a −m (x sin θ cos θ + y cos θ sin θ), y  = (−x sin θ cos θ + yx sin θ cos θ )

(2)

¨ μmn =

|Wmn (x, y)|dxdy

(3)

Then a feature vector is constructed using μmn and σmn as feature components:

440

R. Kashyap and S. Rahamatkar

f = [μ00 σ00 μ01 σ01 . . . μmn σmn ]

(4)

The extracted texture feature generates a feature matrix for the optimization process. The proposed algorithm is a combination of the FCM algorithm and ant colony optimization [13]. The ant colony optimization used for the selection and optimization of features extracted by Gabor transform function. The optimized features pass through the FCM algorithm and the blood vessel image segmented. The process of the proposed methodology describes step by step here: Step1. The extracted features pass through the ant colony optimization algorithm and decide the size of initial ants N = 500. a. Initialized the value of pheromone (difference value of features) b. Selection condition of the optimal solution c. Estimate the optimal features set. Step 2. a. Calculate the value of the relative feature set in the FCM processing of function. b. Measure the value of center difference. c. If the value of the level set is zero, the segmentation process done.

4 Result Analyses The establishment is homogeneous, and the dissent is inhomogeneous with stepwise diminish characteristics. Figure 2 displays that the proposed procedure performs better than anything local binary fitting method exhibit on inhomogeneous pictures. In Fig. 2, a most complex picture with inhomogeneous forces attempted the LIF procedure ultimately failed and cannot join, as showed up in Fig. 3b. In Fig. 3d, four regions of the inquiry wrongly distributed. It is a direct result of how that local binary fitting method show will, in general, drive the zero level curves toward the limits identifying with the tendencies and to stop creating with the most grounded breaking point response [14]. In any case, generally speaking, as far as possible, probably would have the most grounded answer, and local binary fitting method cannot have sufficient overall data to get as now as possible: Fig. 3, the LIF procedure, and the LBF strategy. The consequence of a LIF is also extraordinarily weak, as showed up in Fig. 4b. Consequent to applying the LIF procedure, the severely described edge of the compartment is not related well as a result of the spillages occurring in the weak sides. The eventual outcome of the proposed methodology shows up in Fig. 4d, where the team is all around related and precisely perceived as showed up in Fig. 4d. Figures 5a, b, c shows the selection of the initial contour and (d–f) shows results, but all are different. The proposed method resolved this issue and gets the same results for the all first contour Fig. 6d. The proposed methodology tends to join

Medical Analysis Methods for Object Identification

441

Fig. 2 Results of CT image, a original image, b result of local intensity fitting method, c result of local binary fitting method, d result of the proposed method

within the articles and gets off-base points of confinement. The spillages occurred in the week edges. The LIF procedure plays out the least fortunate among these systems, as showed up in different Figs. 5b. The proposed method is implemented in MATLAB 7.14.0 and tested with very various blood vessel image. In the research work, I have measured accuracy and sensitivity (Tables 1 and 2).

5 Conclusions In this paper proposed a half and half strategy for vein division, the procedure of vein division is a blend of Gabor change, insect province enhancement, and FCM calculation. The proposed estimate is beneficial as far as precision and affectability esteem. On account of the offered calculation, affectability rate is diminishing. We contrast the proposed strategy and diverse set level parameters for vessel division strategies, which are additionally played out another division technique, for example,

442

R. Kashyap and S. Rahamatkar

Fig. 3 Results on image set1, a original image with contour initialization at location 1, b result of the local binary fitting method c original image with contour initialization at location 2, d result of the local intensity fitting method

LBF, LIF method inhomogeneities can unmistakably found in the picture. It additionally utilized for ordinary imaging for limit discovery. Our exploratory outcome demonstrates that the proposed strategy gives the best division results, whatever the shape and the situation of the underlying for, and the subsequent forms are flimsy and present no discontinuities. The composite type of the proposed strategy diminishes the time intricacy, the mix of FCM, and subterranean insect settlement improvement. The proposed methodology is more beneficial than the level set procedures in performing picture division as a result of its ability to deal with softness and shakiness. Three predominant regions screw up estimations used for surveying division execution. The proposed procedure and other standard strategies are associated with comparable pictures for relationships. The test comes about the display that the proposed methodology is progressively definite and reliable, even with weak points of confinement, upheaval, and inhomogeneous powers. It is because the proposed method takes the upsides of both level set speculation and fleecy justification. It may find full applications in the related regions.

Medical Analysis Methods for Object Identification

443

Fig. 4 Results of CT image, a original image, b result of local intensity fitting method, c result of local binary fitting method, d result of the proposed method

Fig. 5 Results a–c source image with different initial contour. d Result of LIF procedure. e LBF result f Chan Vese result

444

R. Kashyap and S. Rahamatkar

Fig. 6 Results of the proposed method Table 1 Performance comparison of specificity, sensitivity, and accuracy rate using LBF, LIF, and proposed method with various input images, and different threshold values are 5 Image type

Method

Specificity (SP)

Sensitivity (SE)

Accuracy (AU)

1

LBF

91.5151

62.5151

92.5151

LIF

90.9676

66.3656

91.9676

Proposed method

93.0648

67.4646

93.0648

LBF

91.5151

62.5151

92.5151

LIF

90.9676

66.3656

91.9676

Proposed method

93.0648

67.4646

93.0648

LBF

91.5151

62.5151

92.5151

LIF

90.9676

66.3656

91.9676

Proposed method

93.0648

67.4646

93.0648

LBF

91.5151

62.5151

92.5151

LIF

90.9676

66.3656

91.9676

Proposed method

93.0648

67.4646

93.0648

LBF

91.5151

62.5151

92.5151

LIF

90.9676

66.3656

91.9676

Proposed method

93.0648

67.4646

93.0648

2

3

4

5

Medical Analysis Methods for Object Identification

445

Table 2 Performance comparison of specificity, sensitivity, and accuracy rate using LBF, LIF, and proposed method with various input images, and different threshold values are 10 Image

Method

Specificity (SP)

Sensitivity (SE)

Accuracy (AU)

1

LBF

91.5151

62.5151

92.5151

LIF

91.5676

65.7656

92.5676

Proposed method

93.6648

67.8646

93.6648

LBF

91.5151

62.5151

92.5151

LIF

91.5676

65.7656

92.5676

Proposed method

93.6648

67.8646

93.6648

LBF

91.5151

62.5151

92.5151

LIF

91.5676

65.7656

92.5676

Proposed method

93.6648

67.8646

93.6648

LBF

91.5151

62.5151

92.5151

LIF

91.5676

65.7656

92.5676

Proposed method

93.6648

67.8646

93.6648

LBF

91.5151

62.5151

92.5151

LIF

91.5676

65.7656

92.5676

Proposed method

93.6648

67.8646

93.6648

2

3

4

5

References 1. Kashyap, R., Tiwari, V.: Energy-based active contour method for image segmentation. Int. J. Electron. Healthc. 9, 210 (2017) 2. Waoo, N., Kashyap, R., Jaiswal, A.: DNA nano array analysis using hierarchical quality threshold clustering. In: Proceedings of 2010 2nd IEEE International Conference on Information Management and Engineering, pp. 81–85. IEEE, Chengdu (2010) 3. Kashyap, R., Gautam, P.: Fast level set method for segmentation of medical images. In: Proceedings of the International Conference on Informatics and Analytics (ICIA-16), Article 20, p. 7. ACM, New York, NY, USA (2016) 4. Kashyap, R., Piersson, A.D.: Impact of big data on security. In: Shrivastava, G., Kumar, P., Gupta, B., Bala, S., Dey, N. (eds.) Handbook of Research on Network Forensics and Analysis Techniques, pp. 283–299. IGI Global, Hershey, PA (2018). https://doi.org/10.4018/978-1-52254100-4.ch015 5. Kashyap, R., Gautam P., Tiwari, V.: Management and monitoring patterns and future scope. In: Tiwari, V., Thakur, R.S., Tiwari, B., Gupta, S. (eds.) Handbook of Research on Pattern Engineering System Development for Big Data Analytics, pp. 230–251. IGI Global, Hersey, PA (2018) 6. Kashyap, R., Gautam, P.: Fast medical image segmentation using energy-based method. In: Tiwari, V., Tiwari, B., Thakur, R., Gupta, S. (eds.) Pattern and Data Analysis in Healthcare Settings, pp. 35–60. IGI Global, Hershey, PA (2017). https://doi.org/10.4018/978-1-5225-05365.ch003 7. Shukla, R., Gupta, R.K., Kashyap, R.: A multiphase pre-copy strategy for the virtual machine migration in the cloud. In: Satapathy, S., Bhateja, V., Das, S. (eds.) Smart Intelligent Computing and Applications. Smart Innovation, Systems and Technologies, vol. 104. Springer, Singapore (2019)

446

R. Kashyap and S. Rahamatkar

8. Tiwari, S., Gupta, R.K., Kashyap, R.: To enhance web response time using the agglomerative clustering technique for web navigation recommendation. In: Behera, H., Nayak, J., Naik, B., Abraham, A. (eds.) Computational Intelligence in Data Mining. Advances in Intelligent Systems and Computing, vol 711. Springer, Singapore (2019) 9. Zhao, F., Liang, H., Wu, X., Ding, D.: Region-based active contour segmentation model with local discriminant criterion. Int. J. Secur. Its Appl. 11, 73–86 (2017) 10. Mohanapriya, N., Kalaavathi, B.: Adaptive image enhancement using hybrid particle swarm optimization and watershed segmentation. Intell. Autom. Soft Comput. 1–11 (2018) 11. Kashyap, R., Tiwari, V.: Active contours using global models for medical image segmentation. Int. J. Comput. Syst. Eng. 4(2/3), 195 (2018). https://doi.org/10.1504/ijcsyse.2018.09140 12. Kashyap, R., Gautam, P.: Microarray image segmentation using improved GOGAC method. Int. J. Comput. Sci. Eng. (IJCSE) 2(4), 67–74 (2013) 13. Juneja, P., Kashyap, R: Energy-based methods for medical image segmentation. Int. J. Comput. Appl. 146(6), 22–27 (2016) 14. Kashyap, R.: Object boundary detection through the robust active contour-based method with global information. Int. J. Image Min. 3(1), 22 (2018). https://doi.org/10.1504/ijim.2018. 10014063

Low-Cost Smart Home Using Sensor Fusion and Autonomous Wheel Chair: Caring Lonely Elders Specially in India Shatadal Ghosh, C. Manikanta, Ashis Mondal, S. P. Pathak, M. Bagchi and Nataraj Dasgupta

Abstract India being a developing country faces lots of obstacles in its societal approach of taking care of elderly persons. More often than not, these obstacles appear in the form of social conditions and economic hardships. In order to mitigate these hindrances, technology should be employed as a tool of survival. In this paper, we report how we have attempted to conceive and construct a device that will help the younger generation to take good care of the older without stressing or compromising their own professional commitments. While designing the device, it was kept in mind that this has to suit Indian economy and social nuances which is an important orientation of this project. Though there is abundant research in the area of smart homes, we are yet to arrive at appropriate solutions for India. This paper is focused on delivering a robust solution that is suitable for and sustainable even in remote areas of the country. Keywords Smart home · Security · Elderly care · Low cost · Server–client model

1 Introduction The whole idea of creating smart home emerges form a dedicated vision. Here, the main focus is to reflect upon the comfort, basic care, and security of lonely elders of India. Prevalently due to poor financial condition marking Indian city life, India as a country is yet to take the coveted care of its aged members [1]. Due to increase in earning members in a family unit, most of the time aged persons are left alone at home without provision for caregivers. The problem is elders, who are most vulnerable for inconsistency of their ability to follow self-caring ways of conducting even their own life and may inadvertently create some emergency situation when early mitigation becomes critical. In this paper, our main focus is to negotiate such situations likely to arise in Indian context. However, the nature of the problem being considerably general for many other countries, the solution proposed is expected to make an impact on the world as a whole [2]. S. Ghosh (B) · C. Manikanta · A. Mondal · S. P. Pathak · M. Bagchi · N. Dasgupta Central Research and Training Laboratory, National Council of Science Museums, Ministry of Culture, Government of India, Kolkata, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_35

447

448

S. Ghosh et al.

1.1 Motivation According to a report of technical group on population projection of Govt. of India, 2006 [3], by 2026, there will be 68.9 million people of age group 60–69, 35.8 million people of age group 70–79, and 13.2 million people of 80+ age. This statistics implies that a huge number of old age people will be dependent on relatively less number of young people for conducting their life. Most of them will be in a stage where they are not completely dependent on others for their movements and hence are likely to be tempted to undertake a significant amount of self-motivated actions which may make them more vulnerable for the gap in their self-estimate of fitness and their real control on their own actions. It is very much unlikely that being a developing country Indian houses can hire the required manpower to take care of all of them [2], but on the humanitarian ground, we have no right to keep them absolutely unmonitored in our houses only under their own accord. Recent trend of crime shows that most of the time lonely elders in India are the soft targets for criminals. Considering this upcoming situation, we have dedicated our study to the welfare of the elderly Indians intending to provide them easy maneuverability, better control, and aided surveillance.

1.2 Problem Statement This work tries to address the problem of elderly care in developing counties like India. The aim is to develop a low-cost smart home system using sensor fusion and autonomous wheelchair. The autonomous wheelchair should be capable of reliable sensor measurements, efficient control system, and low-cost hardware that is also intuitive and user-friendly to maneuver without special training and initiation.

1.3 Application This work targets the scenario of developing countries like India where hired elderly care is difficult to afford and help within the family is scarce due to the fact that almost everyone of a city resident family apart from elders needs to be working and earnings for the livelihood. Moreover, middle-class families cannot afford high-cost equipment or automated surveillance and helping aids.

2 Related Work In this paper, special focus is given to design the holistic architecture and minimal resource consumption. In order to be in line with the current research on smart

Low-Cost Smart Home Using Sensor Fusion …

449

home systems, a thorough literature review was done and it is seen that most of the works discuss the architectures based on a wired network of sensors and use costly computation equipment with high power consumption [4]. Some of the smart home ideas described in journals start with designing special house, e.g., in Japan’s “Welfare Techno Houses” [5]. But if we really want to popularize this smart home architecture in India, the focus should be on reducing installation complexity, initial and running costs. In a recent comparative study of different smart home technology, authors have shown that there is a number of ways to implement the smart home. However, the thing we need to do is optimization of technology to be used based on the volume of usage [6]. Here, in this paper, we have done that optimization needed for using it in India. Our full design is based on Wi-Fi client–server technology which helps in easy installation of the system involving minimum wiring. Use of Raspberry Pi 3 makes the system cheaper and easy to handle [7]. In the proposed system, the command can be given through local server Webpage or using SMS over GSM network from long distance. The motive behind use of GSM network over mostly proposed Internet is that the GSM network is accessible independent of mobile handset and it has more coverage area. Overall most people in India are comfortable to use the simple feature phones rather than smartphones. There are some individual works on smart TV [8–10] or smart lights that function individually but here we are trying to integrate all such devices. This work is organized in five sections, the first section is an introduction to the work, and the second section discusses related work. The third section describes the hardware and software architecture of the system. The fourth section describes the decision-making logic. The fifth section presents the experimental result and the analysis, and the last section concludes the paper.

3 System Design 3.1 Hardware Design The hardware required for the system is chosen such that it can operate with low power and be run with low cost and complexity. Hence, node MCU is chosen as one of the major wireless data handlers. The basic design of node MCU is to operate on low power and keep the cost of the hardware minimal. Node MCU has inbuilt Wi-Fi and it can be easily configured as client or server in station or access point mode. In order to use multiple clusters of sensor as in Fig. 1, we have configured each of the cluster data transmitter (node MCU) as client. This helps in reducing the polling overhead of sensor data. In this configuration, the client will connect the server as and when any event is triggered by environment. The server here is a Raspberry Pi 3 single-board computing (SBC) platform which runs a UNIX-based operating system (OS) [12]. The reason behind this selection is to make the system based on open and free software platform which in turn makes it low cost and easily

450

S. Ghosh et al.

Fig. 1 Different sensors for installation

upgradable. This also keeps it free from any brand hacking in future times. There were two options for controlling the system from remote location—GSM-based design or using internet. Out of these, we have selected GSM-based interaction as the infrastructure is readily available in every corner of India. The most important part of the hardware architecture is the autonomous wheelchair. Our chair is equipped with line follower sensor RFID reader, magnetometer, touch screen interface, servo motors, moisture sensor, and USB camera. Here, the first three sensors are responsible for navigation of the chair, touch screen allows user interaction for motor controls. The camera is used as general vision of the chair. The only device attached to the person on the chair is of size of a wristwatch that contains an accelerometer sensor, switch, and node MCU. In this section, a brief idea of hardware architecture is given. The details of data flow and control algorithm will be described in the next section (Fig. 2).

Low-Cost Smart Home Using Sensor Fusion …

451

Fig. 2 An imaginary architecture for AWC

3.2 Software Design Major contribution of our work is this proposed software architecture which is unique in nature. In order to discuss it in detail, the software control is divided in two parts as below. Design Architecture for Data Flow Data is the essence of this kind of system and controlling the flow of such data is the key point of success. As our system is based on Wi-Fi LAN, it is necessary to get acknowledgements at every point which makes reliable data delivery possible. At every point, the sender will send the data again and again after a predefined time until it reaches timeout or acknowledgement. This strategy is adopted as in local LAN there is always a chance of losing some data as a result of collision. The flow of data can be initiated from both ends, either from sensor data or by local user. If the data goes from sensor input, then it goes to node MCU client and from there it travels to Raspberry Pi (SBC) server through wireless LAN inside the SBC. There are two sections—decision-making logic and action-taking section. Up to the decision-making section, data travels freely and after that depending upon the priority and simultaneous events, data flows to another node MCU client which then passes it to actuator or to remote user through the GSM module (Figs. 3 and 4).

452

S. Ghosh et al.

Design Architecture for Control Control system design of the wheelchair itself is a huge task, and hence in this paper, we have tried to discuss the issue from top level. Some of the important aspects of the bottom-level design and algorithm are already discussed by Ghosh et al. [11]. This part of the system comes into effect when there is a requirement of movement. The movement of the autonomous wheelchair (AWC) is controlled by a five-layer software architecture. Local positioning by Wi-Fi signal strength measurement, orientation fixing by magnetometer, fine-tuning of the position by Fig. 3 Hand-mount device

Fig. 4 System data flow diagram

Low-Cost Smart Home Using Sensor Fusion …

453

computer vision and then entry to the guided line which ultimately guides the AWC. Control signal is generated by combination of all the above mentioned sensors. At the initial stage, when a movement instruction comes to AWC, it first sees its present location, which could be either on the guided line or not on the line. If it is not on the line, then it searches for a particular SSID World_co_ordinate (its magnetic orientation). This Wi-Fi access point is located in (0, 0, 0) location on world coordinate of the room. If it finds duplicate SSID with same name, it generates a high-level alert signal predicting some potential threat. Else it will first read the magnetic location from SSID and orient itself in the same direction. Following it, AWC will try to minimize the distance between (0, 0, 0) and itself by maximizing the receive signal strength indicator (RSSI). After this first level of crude guidance, AWC reaches near to origin from where vision starts giving signal by taking image of an LED ring mounted at the origin (Fig. 5) which is used for final localization of it. Once the localization is done, value of (X r , Yr ) is identified using which it searches for the nearest entry point indicated with red spot in Fig. 3. This is done by computing the distance between two points according to Eq. 1. When the nearest entry point is localized, then θ is calculated according to Eq. 2. Distance =



Xr − X p

2

2  + Yr − Y p

(1)

θ = 180 − θ  θ = 180 − cos−1



AB | A||B|

where

Fig. 5 Localization geometry of autonomous wheelchair

 (2)

454

S. Ghosh et al.

  A = X r iˆ + Yr jˆ     B = X p − X r iˆ + Yr − Y p jˆ Once we get θ , AWC is reoriented toward the line and after reaching there, it scans for RFID cards embedded with location value which guides the AWC further. On its way, an obstacle avoidance system works always for intermediate guidance, in case any obstacle comes on the way.

4 Decision-Making Logic by Sensor Integration This section is dedicated for describing the decision-making algorithm from raw sensor data. As the system is not meant for triggering panic calls to the remote mentor, we have decided to compile the sensor data before sending it to the mentor. Table 1 shows a combination of sensors and level of alert that it can generate. Waited sum can be used for decision making as below. W = W 1 · S1 + W 2 · S2 + W 3 · S3

(3)

The logic of giving weightage to different sensors can be fine-tuned through experiment and we will do further study on this issue that may be published in our next paper. Table 1 Sensor data versus alert level Sl. no

Sensor data versus alert level Sensor name

Alert

Remarks

1

Hand mount accelerometer (1)

High

Fall detection

2

Duplicate SSID named origin (1)

High

Potential threats

3

PIR (0.25), sound sensor (0.25), door accelerometer (0.25), and nighttime (0.25)

High

Unauthorize entry

4

Simultaneous press of calling switch (1)

High

Unnatural event

5

CO (0.3), temperature (0.4), and gas (0.3)

High

Event of fire or gas leak

6

PIR (0.25)

Mid

Only some movement

7

Moisture sensor (0.25)

Mid

Change of diaper

Low-Cost Smart Home Using Sensor Fusion …

455

5 Experimental Result Experimentation with prototype is the most important part for any design, though in this paper we will describe only a piece-wise continuous experiment by making module prototypes of only critical proposals. Four most important modules of the system are discussed in detail below.

5.1 Testing the Client Server Experimentation is done using the following configuration as in Fig. 6. Here, threenode MCU clients always send data to the Raspberry Pi server written in Python 2.7. On the same script, a client is created. As and when data comes from the node MCU client, it is received by the server and then transferred to another node MCU server Fig. 6 Flow diagram for control system

456

S. Ghosh et al.

Fig. 7 Client–server architecture

Table 2 Reliability test System type

Reliability test No of data sent from N_client (3 no)

No. of data received at N_server via R_server and client

Loss of data

Without acknowledgement

3000

2947

53

With acknowledgement

3000

3000

0

by Python client. This full setup is created to test the reliability of this architecture. Initially, the system is tested without acknowledgement. After that, acknowledgement is introduced and it is seen that with acknowledgement 100% reliability of data can be obtained. In Fig. 7, N_ signifies node MCU and R_ signifies Raspberry Pi (Fig. 7 and Table 2).

5.2 Testing RFID Card Reading While Having Linear Velocity Another critical proposal in the system is scanning the RFID card written with physical coordinate in it. The proposal is a bit critical as the reading is to be taken on motion. In order to verify the feasibility of the proposal, an RFID reader MFRC522 is mounted below a three-wheeler AWC prototype as in Fig. 8. Then, the AWC is moved at different speeds and it is seen that data can be retrieved by MFRC522 from 1.5 cm distance while in motion. Details of the data are given in Table 3.

Low-Cost Smart Home Using Sensor Fusion …

457

Fig. 8 Experimental setup

Table 3 RFID data reading

Speed m/s

RFID data reading Actual data

Read data

Remarks

0.3

7, 7, 7

7, 7, 7

ok

0.4

7, 7, 7

7, 7, 7

ok

0.5

7, 7, 7

7, 7, 7

ok

0.6

7, 7, 7

7, 7, 7

ok

0.7

7, 7, 7

No data

Over speed

5.3 Testing RSSI and Vision-Based Localization In order to test the proposal of localization based on vision and RSSI, a node MCU is configured as access point with SSID ORIGIN_180. Then, using node MCU working in station mode searches for available networks and selects ORIGIN_180 internally. ORIGIN_180 is extracted and the magnetometer-mounted station node MCU is rotated until it reaches 180. Once it is done, it connects with the access point

458 Table 4 RSSI versus distance

S. Ghosh et al. Sl. no

RSSI versus distance Distance (ft.)

Signal strength in db

Remarks

1

25

−30

Low

2

20

−35

Increasing

3

15

−37

Increasing but nonlinearly

4

10

−39

Nonlinearly

5

8

−42

Nonlinearly

6

7

−44

Nonlinearly

7

5

−49

Nonlinearly

8

4

−55

Nonlinearly

9

3

−60

Nonlinearly

10

2

−70

Nonlinearly

11

1

−85

Nonlinearly

using SSID and password and continues in that direction till the RSSI is maximized to −90db. Distance-wise RSSI strength is given in Table 4. Once the origin is localized roughly, vision algorithm is tested by putting a USB camera there and analyzing the image of LED ring by MATLAB (Fig. 9) according to our pervious paper [11]. The experiment was not conducted by applying control signal to actuator, but done manually.

5.4 Testing the Accelerometer Data Being in touch with the hand of the elderly person, this is the most important single sensor, and hence we have tested the behavior of the sensor at different conditions like walking, running, falling from a height of 2.5 ft, and handshaking. In order to do that, we have taken a smartphone equipped with threeaxis accelerometer from Bosch with a resolution of 0.0047884034, max range 156.90 m/s2 , an app named accelerometer is downloaded from Play Store that can give a graphical representation of acceleration data as in Fig. 10. Analyzing the above data plot of accelerometer, it is understood that in some cases frequency domain plot is helpful to detect the appropriate event. For example, in case of handshaking, amplitude of frequency curve is more dominating than others.

Low-Cost Smart Home Using Sensor Fusion …

459

Fig. 9 Experimental setup for vision-based localization

6 Conclusion Proposed system will help the working members of the family to take care of their elderly dependents. Low-cost and less complex design of the system will make this an affordable choice for developing countries like India. Through this initiative, India will move toward adopting smart home technology in every corner of the country. Modular experimentation, development, and testing also confirm the feasibility of the complete system. As the future scope, the prototype will be enhanced and launched as a low-cost commercial product through technology transfer. Also, this work can be developed further into automated museum guide for specially abled people.

460

S. Ghosh et al.

Fig. 10 Time domain plot of handshaking in X-direction (top left), frequency domain plot of top left (top right), time domain plot of running (below left), and falling from 2.5 ft time domain plot (below right)

References 1. Gracer, T., Lalani, Z., Nguyen, C.: The obstacles facing India on its journey to becoming a developed country. Park. Place Econ. 21, 31–42 (2013) 2. World Health Organizatio: Global health and aging. Available online: http://www.who.int/ ageing/publications/global_health/en/. Accessed on 25 March 2015 3. Population projections for India and states 2001–2026 report of the technical group on population projections constituted by the national commission on population May (2006) 4. Hsu, Y.L., Chou, P.H., Chang, H.C., Lin, S.L., Yang, S.C., Su, H.Y, Chang, C.C., Cheng, Y.S., Kuo. Y.C.: Design and implementation of a smart home system using multisensor data fusion technology. Sensors (2017)

Low-Cost Smart Home Using Sensor Fusion …

461

5. Tamura, T., Kawarada, A., Nambu, M., Tsukada, A., Sasaki, K., Yamakoshi, K.: E-healthcare at an experimental welfare techno house in Japan. Open Med. Inform. J. (2007) 6. Majumder, S., Aghayi, E., Noferesti, M., Memarzadeh-Tehran, H., Mondal, T., Pang, Z., Deen, M.J.: Smart homes for elderly healthcare—recent advances and research challenges. Sensors 17, 2496 (2017) 7. Zhou, Y., Cheng, Z., Huang, T.: Magic rings: A finger-worn device for multiple appliances control using static finger gestures. Sensors 12, 5775–5790 (2012) 8. Arokiasamy, J.T.: Social problems and care of the elderly. Med. J. Malaysia 52(3), 231–237 (2018) 9. Lian, S., Hu, W., Wang, K.: Automatic user state recognition for hand gesture based low-cost television control system. IEEE Trans. Consum. Electron. 60, 107–115 (2014) 10. Xie, R., Cao, J.: Accelerometer-based hand gesture recognition by neural network and similarity matching. IEEE Sens. J. 11, 4537–4545 (2016) 11. Ghosh, S., Ray, R., Vadali, S.R.K., Shome, S.N., Nandy, S.: Reliable pose estimation of underwater dock using single camera: a scene invariant approach. Mach. Vis. Appl. 27, 221–236 (2016) 12. Ivkovi´c, J., Radulovi´c, B.: The advantages of using Raspberry Pi 3 compared to Raspberry Pi 2 SoC computers for sensor system support. In: International Conference on Applied Internet and Information Technologies (2016)

Optimal Reactive Power Dispatch Using Gravitational Search Algorithm to Solve IEEE-14 Bus System Indu Bala and Anupam Yadav

Abstract Optimal reactive power dispatch (RPD) is the most challenging, complex nonlinear problem in power system. The goal of the RPD is to reduce the power loss subjected to some continuous and non-continuous constraints like tab setting of transformer, voltage power and adjustment of inductors, etc. RPD is concerned with economics and security of the power system. Due to its complexity, most popular heuristics algorithm, gravitational search algorithm (GSA), is applied. This algorithm is centered on Newton law of motion and universal gravitational law. GSA is applied over the considered benchmark IEEE-14 bus system. The results are compared with others popular heuristics. Varieties of ways are considered to find the efficiency of GSA over IEEE-14 bus system. The evaluated numerical and statistical results show that GSA can efficiently solve IEEE-14 bus system. Keywords Reactive power dispatch · Gravitational search algorithm · Global optimization · Evolutionary algorithms

1 Introduction Reactive power dispatch problem (RPD) is a one of the most complex problems of power planning system. Its objective is to minimize power loss of the system by using equality and non-inequality constraints. It is first developed by J. Carpentier in 1979 [1], but still it is considered as the most complicated multisolution with mixed variables problem. The RPD problem is nonlinear and multimodal in nature. Both discrete and continuous selections of parameter make it more challenging. For solving RPD problem, many traditional or conventional and non-conventional methods have been applied. Generally, RPD problems have been solved by three ways; analytical methods [2, 3], arithmetic methods and heuristics optimization techniques. Few of the main arithmetic methods are—Newton method [4], interior point method [5], I. Bala (B) Department of Applied Science, Northcap University, Gurugram, Haryana, India A. Yadav Department of Mathematics, Dr. B. R. Ambedkar National Institute of Technology Jalandhar, Punjab, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_36

463

464

I. Bala and A. Yadav

bound and branch method [6], mixed integrated nonlinear programming [7], conic programming [8], etc., and few of main heuristic method are genetic algorithm (GA) [9], adaptive genetic algorithm (AGA) [10], particle swarm optimization (PSO) [11], differential evolution (DE) [12], ant colony optimization (ACO), seeker optimization algorithm (SOA) [13], comprehensive learning gravitational search algorithm (CLGSA) [14], etc. Heuristic optimization techniques are most popular because of their fast convergence and easy implementation, but due to their stochastic behavior they have some drawbacks as well. Last decade, researchers have modified and updated these algorithms to overcome their drawbacks and make them more efficient. Zhao et al. [15] updated PSO algorithm into multiagent-based particle swarm algorithm (MAPSO) which finds the multiple solution of the problem. Wen et al. [16] introduced fuzzy concept in PSO for deep search. Further, Mahadeven et al. [17] applied a comprehensive approach over PSO (CLPSO) which aimed to improve exploration stage and faster convergence. Similarly, Mao et al. [18] introduced selfadaptive real-coded genetic algorithm (SARGA) which is improved version of GA. A hybrid version of PSO and simulated annealing (SA) is also used to solve RPD problems. Khazali et al. [19] applied harmony search algorithm (HSA) over reactive power problem which control voltage gain and reduced power loss of the system. Roy et al. [20] further solved multi-constraints RPD problem by biogeography-based optimization (BBO). Khonsandi et al. [21] introduced fusion of shuffled frog leaping and Nelder–Mead algorithm (SFLA-NM) for solving dispatch power. Zarc et al. [22] introduced multi-objective modified bee swarm optimization (MOMBCO) which is updated version of bee colony optimization (BCO). MOMBCO solved probabilistic RPD and control voltage mechanism in hydro- and wind turbines, but this algorithm also stuck in local optima’s, and convergence to global optima is not guaranteed. In this paper, we apply a very famous and fast converging algorithm gravitational search algorithm (GSA) [23] on power system to optimize the reactive power loss. Due to less computational time and guaranteed global solution, GSA efficiently solved many other real-life applications [24] and application based on power system like filter modeling, training feed forward neural networks, optimal hydraulic turbine system, combined, emission dispatch, economic dispatch with valve point effect, optimal capacitor placement, unit commitment problem, optimal wind power system, fuzzy controlled servo system, optimal fuel cell generation problem, path planning for unmanned vehicles, optimal oil demand system, optimal automated generation control of interconnected power system, data clustering, improve digital-based communication, optimize synthetic gas production and many more. Although, original GSA has solved continuous nonlinear complex problem, later on a binary version of GSA (BGSA) was introduced which efficiently solves discrete problem. Hence, it can easily solve mixed variable RPD problem which contains continuous and discrete parameters. The paper is systematized as follows. Section 2 describes basic gravitational search algorithm, and Sect. 3 formulated reactive power dispatch problem. Section 4 implemented RPD problems over GSA, and Sect. 5 demonstrated the experimental results and data and then Sect. 6 concluded the work.

Optimal Reactive Power Dispatch Using Gravitational …

465

2 Gravitational Search Algorithm (GSA) It is a very famous meta-heuristics technique originally proposed by Rashedi et al. [23] in 2009. Gravitational law and Newton motion law are center of this algorithm. In this approach, each particle/agent is considered as a ‘mass.’ These masses or agents with law of motion greatly influence the algorithm. According to gravitational law, everything on earth experiences a force of attraction that is the gravitational force. Here agents (masses) are also experiencing an attraction with other agents in a search space. Every lighter mass attracts toward the heavier mass, due to high gravitational force, and at last, all converges to the heaviest mass. Heavier masses are considered as a good and prominent solution, as it has capacity to update worst position of mass to better one. This global movement toward the heavy masses results into a global solution which guarantees the exploitation stage in this algorithm. To describe the GSA, let  the position of a jth agent in D dimension space be  d n 1 x j = x j , . . . , x j , . . . , x j for j = 1, . . . , N , d = 1, 2, . . . , D at any instant t. Applying the gravitational law of motion on force between particle i and j as: Fitj = G t ×

m it × m tj ritj



  × x tj − xit

(1)

where m it and m tj masses of particle i and j, ritj is the Euclidean distance, and G t is gravitational constant at time t can be calculated as follows G t = G 0 × e−α T t

(2)

where G 0 is the initial value of gravitational constant, and α is decaying constant. t is the current time, and T is the maximum number of generations. Agents are moved through gravitational force and attain a position, which updates at every iteration, and the velocity and position of jth agents can be defined as follows: = rand() × v tj + a tj v t+1 j

(3)

x t+1 = x tj + v t+1 j j

(4)

where x tj and v tj represents the position and velocity of agent j, respectively. At every iteration, the speed of agents changes with respect to time and the corresponding heavier mass. Hence, acceleration of agent j, that is a tj , can be calculated by network law of motion as: a tj =

F jt mj

(5)

466

I. Bala and A. Yadav

Due to the acceleration of particles, a global movement starts between particles; hence, every particle reaches toward the heavier masses and continually updates their position. The gravitational masses can be updated as: m tj =

fittj − worstt bestt − worstt

(6)

where fittj is the fitness value of particle j at any instant t, and bestt and worstt can be defined as (for minimization problem) bestt = worstt =

min

j{1,2,..., ps}

max

fittj

(7)

fittj

(8)

j{1,2,..., ps}

Hence, the total force can be calculated as F jt =

N 

rand ()Fitj ;

(9)

j=1,i= j

2.1 Procedure of GSA Step 1. Initialized the particles population Step 2. Evaluate the fitness of each agent. Step 3. Compute ‘mass’ by Eq. (6), ‘worst’ by Eq. (8), ‘best’ by Eq. (7) and‘G t ’ by Eq. (2) Step 4. Evaluate the total force of all particles by Eq. (9) Step 5. Compute the velocity by Eq. (3) and acceleration by Eq. (5) Step 6. Update position of each agent by Eq. (4) Step 7. Check the restrictions imposed on the problem Step 8. Recurrence of step 2–7 until stopping conditions is met.

3 Formation of Reactive Power Dispatch Problem The reactive power dispatch problem is one of the most popular and complicated problems since 1979. The main motive of this problem is to minimize the power loss of the transmission subjected to constraints like capacity of voltage, transformer tab setting and adjustment of capacitor or inductors. It can be mathematically defined as:

Optimal Reactive Power Dispatch Using Gravitational …



Min Ploss =

467

  gk Ui2 + U 2j − 2Ui U j cos δi j

(10)

k ∈ NTL , Subjected to two equality constraints ⎧ ⎪ ⎨ Pgi − Pi − Ui

⎫   U j Hi j cos δi j + Bi j sin δi j = 0 ⎪ ⎬ j∈N B ,i∈N B−1   ⎪ U j Hi j sin δi j − Bi j cos δi j = 0 ⎪ ⎩ Q gi − Q i − Ui ⎭

(11)

j∈N B ,i∈NPQ

And, three inequality constraints ⎧ min Ui ≤ Ui ≤ Uimax ⎪ ⎪ ⎪ ⎪ min max ⎪ g,slack ≤ Pg,slack ≤ P g,slack ⎨P min max Ti ≤ Ti ≤ Ti ⎪ ⎪ ⎪ Q min ≤ Q gi ≤ Q max ⎪ gi gi ⎪ ⎩ min Sli ≤ Sl ≤ Slimax

⎫ i ∈ NG ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ i ∈ NT ⎪ ⎪ i ∈ NG ⎪ ⎪ ⎪ ⎭ i ∈ NTL

(12)

where Ploss represents network’s power loss, gk is the inductance of branch k, Ui , and U j are the voltage of buses i and j, respectively, NTL is transmission network lines, δi j is angle of voltage between bus i and j, Q gi is generator power output of bus i, Sl network line loading, NG is number of generation, NPQ is number of PQ buses, N T is number of tab regulating system, Pgi is active power generation, Hi j is transfer conductance and Bi j is susceptance between bus i and j, Ti is tap setting of bus i, min and max represented minimum and maximum value of variable, e.g., P min g,slack and P max g,slack are minimum and maximum active power output of slack buses, Equality constraints in Eq. (11) represent the typical load flow, first three inequalities in Eq. (12) represent the constraints of generators, fourth constraint is related to shut capacitor, and fifth inequality represents security constraints of the system. Dependent parameters are controlled by using penalty terms in Eq. (10); therefore, it can be updated as Min f q = Ploss + λu

 NUlim

Ul2 + λθ



Q 2gi,

(13)

Nθlim g

λu and λθ are penalty terms, NUlim and Nθlim are buses on which voltage, and g injected reactive power is outside limits. Ul and Q gi can be defined as  Ul =

Ulmin − Ul if Ul < Ulmin Ul − Ulmax if Ul > Ulmax

 (14)

468

I. Bala and A. Yadav

 Q gi =

min − Q if Q < Q min Q gi gi gi gi max Q gi − Q max if Q > Q gi gi gi

 (15)

4 Implementation of GSA on Reactive Power Dispatch Problem The reactive power dispatch problem is a multimodal and complicated problem. It is complicated because it contains continuous and non-continuous parameters, while the original form of the GSA is designed to solve continuous variable problem. RPD problem is combination of discrete and continuous parameters; especially, reactive power source installation and position of the transformer are discrete in nature where rest parameters are considered real value. GSA handles this situation efficiently by dividing the program into two phases. In the first phase, each mass attains the best positions in the search space; here, search space is considered as continuous; these real value positions of masses comprised of three parts, namely generator voltage, shunt capacitor and transformation tap setting. In this phase, the fitness value of all three parts be updated, and then, the main program is turned into the second phase. Here, the reactive power sources installation and tap position of the transformer are truncated into corresponding integer value [25], and the real-valued position is changed into mixed variable vector based on Newton–Raphson power flow analysis [26]. The description of implementation is as follows: Step 1. Initialization Randomly generate the set of candidate solution, called masses in d-dimensional space. This set of generation can be referred as ‘swarm of masses.’ For simplification, let position and velocity of jth mass can be represented as   x j = x j1 , x j2 , . . . , x jn for n = 1, . . . , N   v j = v j1 , v j2 , . . . v jn for n = 1, . . . , N where xr and vr are randomly selected position and velocity control parameters i , Q ig , T i , i = 1, 2, . . . N where N is the population size uniformly such as UPV     distributed over the set of U min , U max , Q min , Q max and [T min , T max ]. Set g

g

the time t = 0. Here, reactive power source, the voltage of generator buses and tap setting of the transformer are represented as a real value solution, and each value of the corresponding parameters consists a vector of dimension r ×N where r is the number of variables and N is size of population. Each mass within the population N is represented as a promising solution for solving RPD problem.

Optimal Reactive Power Dispatch Using Gravitational …

469

Step 2. Fitness evaluation The fitness value is directly called from the objective function. The parameters of generation voltages buses and tap setting of transformation are self-restricted, but for controlling parameters of power generation Q g and load buses voltage Uload , we have to add a penalty term in the objective function defined in Eq. (13) as Min f q = Ploss + λu

 NUlim

Ul2 + λθ



Q 2gi,

Nθlim g

The fitness value of masses is referred as initial historical best position among the population. Step 3. Vector Formation Truncated the real and integral value as a mixed variable vector based on Newton– Raphson power flow analysis and update t = t + 1 Step 4. Velocity and position modification The velocity and position of each mass is modified according to Eqs. (3) and (4), respectively. Step 5. Update local best fitness and global best If the fitness of current mass is better than the previous local best value, then update the local best value with a new one. And if the local best value is better than the global best, the value is set to be global best. Step 6. Stopping Criteria If the number of set iterations is achieved, then generate latest global value with an optimal setting of the control variable in reactive power dispatch problem.

5 Results and Discussion To evaluate the performance of GSA, we applied the algorithm on standard benchmark of IEEE 14 bus system for minimizing the reactive power loss. The platform for implementation of GSA is MATLAB2016b. Total runs are considered as 30, and maximum iteration is 100 for solving IEEE-14 bus system. The shunt capacitors and other discrete variables with the step size are taken 0.01 per unit (pu), and penalty terms in Eq. (13) are fixed to be 500 each. Population size is taken as 300. For judging the effectiveness of algorithm, simulation results are compared with other heuristics, like, bare–bones particle swarm optimization (BB-PSO) [27], original DE/rand/1/bin (DE) [28], canonical genetic algorithm (CGA) [29] and seeker optimization algorithm (SOA) [30].

470

I. Bala and A. Yadav

5.1 IEEE-14 Bus Systems The bus system included five generator buses, namely 1, 2, 3, 6 and 8. It has 20 transmission lines, and three buses are under load tap setting transformer. Buses 9 and 14 are considered shunt reactive power sources. Table 1 presents the variable limits, and lower limit and upper limit of power generation are considered same as prescribed in [30]. The system loads are specified as follows: Pload = 258 MW, Q load = 73 p.u By initial power losses are obtained as calculations, the Q g = 82.12, Ploss = 11.10, Q loss = −54.32 Pg = 270.34, Table 2 demonstrates the comparative performance of all considered algorithms. The efficiency of the algorithm is assessed on the performance indexes such as the best active power losses (best), the worst active power losses (worst), the average power losses (mean) and standard deviation (Std). Results are evaluated for generation 15 and 30. It can be observed that GSA performance is better among all. It shows the least best, worst and mean value which represents that the active power loss is Table 1 Variables limit Limit of reactive power generations Bus no. Q max

1 0.1

0.5

0.4

0.24

0.24

Q max

0.0

−0.4

g

2

3

6

8

0.0

−0.06

−0.06

Limit of tab setting and voltage Tkmax Tkmin Ugmax

Ugmin

max UPQ

min UPQ

1.1

0.95

1.05

0.95

g

0.9

1.1

Table 2 Performance comparison of IEEE 14-bus system Generations

Algorithm

Best (MW)

Worst (MW)

Mean (MW)

Std.

N = 15

BB-PSO

13.095

13.375

13.212

6.01 × 10−2

+

× 10−2

+

N = 30

Signed rank test result

DE

13.096

13.601

13.395

6.12

CGA

13.098

13.456

13.257

9.00 × 10−2

+

SOA

12.986

13.001

12.998

1.83 × 10−2

+ +

GSA

12.226

12.426

12.327

0.83 × 10−2

BB-PSO

12.996

12.782

12.820

2.81 × 10−3

+

DE

13.006

13.562

13.383

4.01 × 10−3

+

× 10−3

+

CGA

12.984

13.242

12.612

6.12

SOA

12.743

12.987

12.812

6.00 × 10−3

+

GSA

12.204

12.465

12.345

8.21 × 10−2

+

Optimal Reactive Power Dispatch Using Gravitational …

471

least in case of GSA. The result of signed rank in Table 2 also justified the same. For proving statistical convergence and validity of the algorithm, we performed Wilcoxon signed rank test over 30 runs with 95% confidence interval. ‘+’ sign indicated the GSA performance is better than compared algorithm, ‘−’ sign shows performance is lesser, and ‘=’ sign shows no difference in performance, meaning performance is equal. In Table 2, ‘+’ sign illustrated the performance of GSA in both the cases (N = 15, and N = 30) which are best among all. Table 3 shows the best optimized value of algorithms, where GSA gives minimum power losses (11.10, when N = 15) and (10.90 when N = 30), while proposed algorithm saves maximum percentage of power (10.20% if N = 15 and 12.66% if N = 30). Figure 1 shows less power loss or more power-saving parameters that make GSA an efficient algorithm; the Table 3 Results of all approaches for IEEE-14 bus system Pg Qg Algorithm Ploss (MW) (MW) (MW)

N = 30

10

20

281.24

86.12

18.01

−50.12

3.02

288.16

91.12

19.76

−44.78

2.96

84

CGA

279.99

90.20

18.34

−49.67

4.12

67

SOA

278.12

88.16

16.12

−52.12

6.17

48

270.34

82.12

11.10

−54.32

10.20

11

BB-PSO

285.00

85.12

17.15

−52.56

5.17

35

DE

285.12

89.12

20.17

−49.00

2.28

49

CGA

283.12

84.12

21.34

−50.13

4.12

41

SOA

279.12

88.67

12.13

−50.12

8.01

49

GSA

271.13

80.98

10.90

−53.54

12.66

15

30

40

50

60

70

80

90

DE

19

CGA

18

power loss

56

GSA

BB-PSO

SOA GSA

17

100

21

18

20

15

14

14

13

13

12

12

11

11 40

50

60

iteration

70

80

90

100

40

60

80 BB-PSO DE CGA SOA GSA

19

17

15

20

22

19

16

30

0

20

16

20

Mean CPU time (s)

DE

20

10

Psave %

BB-PSO

BB-PSO

N = 15

Q loss (MW)

100 22 21 20 19

18

18

17

17

16

16

15

15

14

14

13

13

12

12

11

11

10

10 0

20

40

60

iteration

80

Fig. 1 Performance characteristics of algorithms when N = 15 and N = 30, respectively

100

472

I. Bala and A. Yadav

convergence speed is also shown in Fig. 1; GSA converges very fast and remains constant after some iteration; on the contrary, DE and CGA fluctuate more and are not stable till last. Figure 1 represents the power loss in case of GSA is least, and it does attain this loss very quickly and becomes stable. In Table 3, the CPU time or computational time is just 11 and 15 s for N = 15 and 30. This is again least among all the compared algorithms. In all the above comparisons, GSA proved itself as an efficient and fast algorithm for solving reactive power dispatch problem.

6 Conclusion GSA is a unique stochastic optimization technique based on universal gravitational law. The algorithm has an additional advantage of being simple and easy to understand; hence, it is used for other varieties of optimization problem. In this paper, GSA is applied to a very complicated power system problem, that is, reactive power dispatch over IEEE-14 bus system. The simulation results show that GSA efficiently solved power dispatch problem. We compared the results in variety of ways, numerically, statically and graphically; and in all the ways, GSA proved itself as a quick and efficient technique to solve reactive power dispatch problem in power system. Acknowledgements This research is supported by Dr. BR Ambedkar National Institute of Technology Jalandhar and Northcap university (NCU), Gurugram.

References 1. Carpentier, J.: Optimal power flows. Int. J. Electr. Power Energy Syst. 1(1), 3–15 (1979) 2. Chattopadhyay, D., Bhattacharya, K., Parikh, J.: Optimal reactive power planning and spot pricing: An integrated approach. IEEE Trans. Power Syst. 10(4), 2010–2014 (1995) 3. Li, F., Zhang, W., Tolbert, L.M., Kuchk, J.D., Rizy, D.: A frame work to qualify the economic benefit from local var compensation. Int. Rev. Electr. Eng. 3(6), 989–998 (2008) 4. Lin, C., Lin, S., Horng, S.: Iterative simulation optimization approach for optimal volt-ampere reactive sources planning. Int. J. Electr. Power Energy Syst. 43(1), 984–991 (2012) 5. Mahmoudabadi, A., Rashidinejal, M.: An application of hybrid heuristic method to solve concurrent transmission network expansion and reactive power. Int. J. Electr. Power Energy Syst. 45(1), 71–77 (2013) 6. Liu, H., Jin, L., Mccalley, J.D., Kumar, R., Ajjarga, V., Elia, N.: Planning reconfigurable reactive control for voltage stability in limited power system. IEEE Tran. Power Syst. 24(2), 1029–1038 (2009) 7. Lopez, J.C., Contreras, J., Munoz, J.I., Mantovani, J.K.: A multi stage stochastic nonlinear modal for reactive power under contingencies. IEEE Tran. Power Syst. 28(2), 151–1503 (2013) 8. Jabr, R.A., Martins, N., Pal, B.C., Karaki, S.: Contingency constrained var planning using penalty successive conic programming. IEEE Tran. Power Syst. 27(1), 545–553 (2012) 9. Bakare, G. A., Venayagamoorthy, G., Aliyu, U. O.: Reactive power and voltage control of the Nigerian grid system using micro genetic algorithm. In Proceedings of IEEE Power Engineering Society General Meeting, San Francisco, CA, vol. 2, 1916–1922, (2005)

Optimal Reactive Power Dispatch Using Gravitational …

473

10. Wu, Q.H., Cao, Y.J., Wen, J.Y.: Optimal reactive power dispatch using an adaptive genetic algorithm. Int. J. Electr. Power Energy Syst. 20, 563–569 (1998) 11. Valle, D.Y., Venayagamoorthy, G.K., Mohagheghi, S., Mejia, J.H.: Particle swarm optimization: Basic concepts, variants and applications in power systems. IEEE Trans. Evol. Comput. 12(2), 171–195 (2008) 12. Bakare, G. A., Krost, G., Venayagamoorthy, G. K., Aliyu, U. O.: Differential evolution approach for reactive power optimization of Nigerian grid system. In Proceedings of IEEE Power Engineering Society, General Meeting FR Temba, 1–6, (2007) 13. Dai, C., Chen, W., Zhu, Y., Zhang, X.: Seeker optimization algorithm for optimal reactive power dispatch. IEEE trans. Power Syst. 24(3), 1218–1231 (2012) 14. Bala, I., Yadav, A.: Comprehensive learning gravitational search algorithm for global optimization of multimodal functions. Neural Comput. Appl. 1—36 (2019) https://link.springer.com/ article/10.1007/s00521-019-04250-5 15. Zhao, B., Guo, C., Cao, Y.J.: A multi-agents based particle swarm optimization approach for optimal reactive power dispatch. IEEE Trans. Power Syst. 20(2), 1070–1078 (2012) 16. Wen, Z., Yutian, L.: Multi objective reactive power and voltage control based on fuzzy optimization strategy and fuzzy adaptive particle search optimization. Electr. Power Energy Syst. 30(9), 525–532 (2014) 17. Mahadeven, K., Kannan, P.S.: Comprehensive Particle swarm optimization for reactive power dispatch. Appl. Soft Comput. 10, 641–652 (2010) 18. Mao, Y., Li, M.: Optimal reactive power planning based on simulated annealing particle swarm algorithm considering static voltage stability. In: Proceeding of the International Conference on Intelligent Computation Technology and Automation (ICICTA), 106–110, (2008) 19. Khazali, A.H., Alanter, M.: Optimal reactive power dispatch based on harmony search algorithm. Electr. Power Syst. 33(3), 684–692 (2014) 20. Roy, P.K., Goshal, S.P., Thakur, S.S.: Optimal power reactive dispatch considering FACTS device using biogeography based optimization. Electr. Power Compon. Syst. 40(9), 956–976 (2012) 21. Khonsandi, A., Alimardani, A., Vahidi, B., Hosseinian, S.H.: Hybrid shuffled frog leaping algorithm and Nelder-Mead simplex search for optimal power dispatch. IET Gener. Trans. Distrib. 5(2), 249–256 (2011) 22. Zarc, M., Nikam, T., Abarghooee, R.A., Amiri, B.: Multi objective probabilistic reactive power and voltage control with wind site collector. Energy 66, 810–822 (2014) 23. Rashedi, E., Nezamabadi, H.P., Saryadi, S.: GSA: A gravitational search algorithm. Inf. Sci. 179(13), 2232–2248 (2009) 24. Bala, I., Yadav, A.: Gravitational Search Algorithm: A State-of-the-Art Review. In: Yadav, N., Yadav, A., Bansal, J., Deep, K., Kim, J. (eds.) Harmony Search and Nature Inspired Optimization Algorithms. Advances in Intelligent Systems and Computing, vol. 741, pp. 27–37. Springer, Singapore (2019) 25. Wu, Q.H., Cao, Y.J., Wen, J.Y.: Optimal reactive power dispatch using an adaptive genetic algorithm. Int. J. Elect. Power Energy Syst. 20, 563–569 (1998) 26. Zimmerman, R. D., Murillo-Sánchez, C. E., Gan, D.: Matlab Power System Simulation Package (Version3.1b2), (2006). [Online]. Available: http://www.pserc.cornell.edu/matpower/ 27. Kennedy, J.: Bare bones particle swarms. In Proceedings IEEE Swarm Intelligence Symposium, 80–87 (2003) 28. Epitropakis, M. G., Plagianakos, V. P., Vrahatis, M. N.: Finding multiple global optima exploiting differential evolution’s niching capability. In 2011 IEEE Symposium on Differential Evolution (SDE), 1–8 (2011) 29. Oppacher, F., Wineberg, M.: A canonical genetic algorithm based approach to genetic programming. Artif. Neural Netw. Genet. Algorithms 2, 401–404 (1998) 30. Biswas, S., Chakraborty, N.: Tuned reactive power dispatch through modified differential evolution technique. Energy 6(2), 138–147 (2012)

Comparative Analysis of Ensemble Classifier and Single Base Classifier in Medical Disease Diagnosis Samir S. Yadav, Vinod J. Kadam and Shivajirao M. Jadhav

Abstract The speedy development of the amount of medical health information available to the healthcare industry is driving demand for more accurate, precise, and reliable tools for exploiting these data. Real-world experience suggests that combining the predictions of individual machine learning classifiers may allow us to meet all three criteria at a low cost, potentially saving scarce funds, and patient’s lives. We, therefore, attempt to go beyond the existing literature on individual machine learning algorithms to discover the effectiveness of combining their predictions, and to explore the potential benefits of such ensemble methods to personalized diagnostics and prognostic medicine. Consideration of a range of classifiers is an essential aspect of getting the best predictive performance for a given dataset. For each of the ten biomedical datasets considered in this paper, a range of classifier ensemble methods performed competitively concerning individual classifiers. Furthermore, it was possible to reliably automate the ensemble methods, making them straightforward to apply to new datasets. Strikingly, we found that merely selecting the best-performing individual model was a powerful strategy. This strategy outperforming most of the model ‘compounding’ approaches leading to best or near-best predictive performance on all ten datasets. We conclude that while it is essential to consider a range of classifiers for a given dataset, simple strategies such as selecting the best-performing base classifier should not be discounted. Also, there may be significant merit in the development of formal methods for selecting between a wide range of different classifiers. Keywords Ensemble classifiers · Single base classifier · UCI machine learning repository · Meta-learning

S. S. Yadav (B) · V. J. Kadam · S. M. Jadhav Dr. Babasaheb Ambedkar Technological University, Lonere, Raigad, India e-mail: [email protected] V. J. Kadam e-mail: [email protected] S. M. Jadhav e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_37

475

476

S. S. Yadav et al.

1 Introduction As medicine continues to evolve into a data-rich discipline, there is an increasing need for machine learning methods which can take full advantage of the rapidly growing data volumes that doctors are amassing on their patients and the illnesses which afflict them [1]. In non-medical applications of machine learning, such as the well-known Netflix competition [2], it is often the case that incremental gains in performance are not worth the extra computational cost, but the nascent field of personalized medicine is particularly well placed to benefit from even relatively modest improvements in predictive performance, since early and precise identification of a disease can save both treatment costs and patient’s lives. Ensemble methods have been seen to offer noticeable performance gains over individual classification algorithms in a multitude of real-world scenarios [3, 4]; however, it is unclear precisely from what aspect of the ensembling this improved performance stems. It is, therefore, essential to determine more accurately if and when the medical community can exploit these gains. There exists already a significant amount of literature studying the variety and effectiveness of individual machine learning classifiers (see [5] for one exhaustive example). In practice, real-world results suggest that it is usually possible to obtain a statistically significant boost in predictive ability by combining the predictions from several different learners. Such combination methods (which we shall refer to as “ensemble methods” or “ensemble classifiers”) exist in many forms, from simple averaging of predictions or majority voting to more complex so-called meta-learning approaches [6]. Our task is to obtain data on the performance of a variety of such ensemble classifiers on a collection of medical datasets, to evaluate whether or not ensembling does in general offer a substantial performance increase.

2 Method We strive to estimate the effectiveness of several combination strategies compared to each other and to the special classification algorithms whose predictions they employ. We focus on datasets of a medical nature to obtain results specifically relevant to the field of diagnostic and prognostic medical machine learning. We have assembled a collection1 of datasets from the UCI machine learning repository, selected for meeting the following conditions: • Data of a medical nature • Binary outcome variable • At least 250 instances without missing data

1 These

datasets also form part of the collection of datasets in Fernandez-Delgado’s paper [7] comparing base classifiers.

Comparative Analysis of Ensemble Classifier and Single Base …

477

We use a collection of 11 base classifiers (drawn from a variety of existing R packages) and seven ensemble classifiers (both existing and of our implementation) to train and obtain predictions. The AUC metric evaluates the predictions of each ensemble classifier on each dataset to determine their effectiveness compared to each other and to the best-performing base classifier on that dataset. All of the classifiers, except the independent Bayesian classifier combination (IBCC) ensemble, are run in R. IBCC is run in Python using the implementation given in [8]. In order to avoid bias, predictions are created independently before being passed to any ensemble classifier. And, all were provided with the same set of predictions for each dataset, whether via R or Python.

2.1 Datasets We used the following datasets in our comparison, all taken from the UCI machine learning repository [9]. 1. Breast Cancer Wisconsin (Original) (bc-wisc-original) (1991): classification of tumors into ‘benign’ or ‘malignant’. Courtesy of Dr. William H Wolberg, University of Wisconsin Hospitals, Madison. 2. Breast Cancer Wisconsin (Diagnostic) (bc-wisc-diag) (1994): classification of tumors into ‘benign’ or ‘malignant’. Courtesy of Dr. William H. Wolberg, University of Wisconsin, Clinical Sciences Center, Madison. 3. Haberman’s Survival Dataset (haberman-survival) (1999): classification of patients undergoing breast cancer surgery into ’deceased within 5 years’ or ‘survived at least 5 years’. Courtesy of University of Chicago’s Billings Hospital & Tjen-Sien Lim, Department of Statistics, University of Wisconsin, Madison. 4. Heart Disease Dataset (Hungarian) (heart-hungary) (1988): classification of patients into ‘presence’ or ‘absence’ of heart disease. Courtesy of Andras Janosi, M.D., Hungarian Institute of Cardiology, Budapest & David W. Aha, Institute of Information and Computer Science, UCI. 5. Indian Liver Patient Database (ilpd-Indian-liver) (2012): classification of patients into ‘liver patient’ or ‘non-liver patient’. Courtesy of B. V. Ramana & Prof N. B. Venkateswarlu, Aditya Institute of Technology and Management & Prof M. S. Prasad Babu, Andhra University College of Engineering. 6. Mammographic Mass Dataset (mammographic) (2007): classification of mammographic masses into ‘benign’ or ‘malignant’. Courtesy of Matthias Elter, Fraunhofer Institute for Integrated Circuits, Erlangen, Germany & Dr Rudiger Schulz-Wendtland, Institute of Radiology, University Erlangen-Nuremberg, Germany. 7. Single-Proton Emission Computed Tomography (SPECT) Heart-imaging Dataset (spect) (2001): classification of SPECT heart images into ‘normal’ or ‘abnormal’. Courtesy of Krzysztof J. Cios & Lukasz A. Kurgan, University of Colorado, Denver & Lucy S. Goodenday, Medical College of Ohio, Ohio.

478

S. S. Yadav et al.

Table 1 Our collection of ten datasets from the UCI repository. Columns represent the number of instances, number of variables and the percentage of the majority class for each of the datasets after missing data is removed. Further detail on each dataset can be found in the list following the table Datasets #instances #variables Majority % bc-wisc-original bc-wisc-diag Haberman-survival Heart-hungary ilpd-Indian-liver Mammographic Spect SpectF st-heart Vertebral-col

683 569 306 261 579 830 267 267 270 310

9 30 3 10 10 4 22 44 13 6

52.2 62.7 73.5 62.5 71.5 51.4 79.4 79.4 55.6 67.7

8. SPECTF Heart-imaging Dataset (spectF) (2001): classification of SPECTF heart images into ‘normal’ or ‘abnormal’. Courtesy of Krzysztof J. Cios & Lukasz A. Kurgan, University of Colorado, Denver & Lucy S. Goodenday, Medical College of Ohio, Ohio. 9. Statlog (Heart) Dataset (st-heart) : classification of patients into ‘presence’ or ‘absence’ of heart disease. Source anonymised by UCI. 10. Vertebral Column Dataset (vertebral-col) (2011): classification of orthopedic patients into ‘normal’ or ‘abnormal’. Courtesy of Guilherme de Alencar Barreto & Ajalmar da Rocha Neto, Department of Teleinformatics Engineering, Federal University of Ceará, Fortaleza, Brazil & Dr. Henrique da Mota Filho, Hospital Monte Klinikum, Fortaleza, Brazil. Table 1 provides further details of each of the above datasets, each of which is henceforth referred to by a shortened label or acronym, in the interest of compactness.

2.2 Data Conversion and Processing From the datasets, missing data removed either by only the single instance with the missing data point or by removing an entire variable in the few cases where data for a specific variable is missing for all but a tiny number of instances. In the cases where non-numeric values are given (e.g., M/F to represent gender), a simple numeric conversion is applied: if a variable x can attain (discrete) non-numeric values {a1 , a2 , ..., an } then the value ai is converted to the number i ∈ {1, ..., n}. Before being passed to the k-NN base classifier, each variable is processed to have zero mean and standard deviation one. Since k-NN is a distance-based classifier, variables will be weighted according to the size of the range in their numerical

Comparative Analysis of Ensemble Classifier and Single Base …

479

values, rather than genuine underlying medical importance. We, therefore, apply this pre-processing to ‘smooth out’ this weighting more uniformly. We utilize the same normalization before passing data to the neural network-based classifier, following best practice for this kind of classifier. We do not use further pre-processing, data transformation, or feature selection.

2.3 Base Classifiers We use the following base classifiers, implemented in R (see 2) (using R foundation for statistical computing simulator), to obtain predictions on which to train and test ensemble methods. 1. Sparse Logistics Regression (glmnet), using cv.glmnet in the glmnet package [10]. We run with the flags maxit = 1e5, alpha = 1, family = “binomial”. 2. Random Forest (rf), using randomForest in the randomForest package [11]. We run with the flags importance = TRUE, ntree = 1500. 3. Generalized Boosting Model (gbm), using gbm in the gbm package [12]. Flags distribution = “bernoulli”, ntrees = 3000, interaction.depth = 4, cv.folds = 3, n.cores = 2, n.minobsinnode < 10. 4. Gaussian Process (gp), using gausspr in the kernlab package [13]. We use set.seed to obtain consistent results in the interests of obtaining results that reflect the classification ability of the ensembling methods, not of the underlying base classifiers. Flags kernel = “rbfdot”. 5. Support Vector Machine, using ksvm in the kernlab package [13]. Flags kernel = “rbfdot”, prob.model = TRUE, kpar = list(sigma = 0.05), C = 5, cross = 3. 6. Neural Network (nnet), using neuralnet in the neuralnet package [14]. Flags hidden = 1, threshold = 0.01, linear.output = FALSE. 7. Decision Tree (dt), using C5.0 in the C50 package [15]. Flags trials = 1, rules = FALSE. 8. Rule-Based Method(rbm), using C5.0 in the C50 package [15]. Flags trials = 1, rules = TRUE. 9. k-Nearest Neighbor(knn), using knn3 in the caret package [10]. Flags k = 40. 10. Naive Bayes (nb), using NaiveBayes in the klaR package [16]. 11. Linear Discriminant Analysis (lda), using lda in the MASS package [17].

2.4 Ensembling Process Each dataset is partitioned randomly into three subsets: 1. Btrain (base classifier training set, 50% of data instances) 2. Mtrain (ensemble classifier training set, 25% of data instances) 3. Mtest (ensemble classifier testing set, 25% of data instances)

480

S. S. Yadav et al.

The ensemble predictions are obtained through the following procedures: Ensemblers with no meta-learning stage: First, the base classifiers are trained on the combined set Btrain ∪ Mtrain, and predictions for Mtest are obtained. These predictions are passed to the ensemble classifier, to combine into a final set of predictions. Ensemblers with a meta-learning stage: First, the base classifiers are trained on the set Btrain, and separate predictions for Mtrain and Mtest are computed. The predictions for Mtrain are passed to the ensemble classifier to train the meta-learner. Then, it is given the predictions for Mtest to ensemble them into a final set of predictions.

2.5 Ensemble Classifiers To ensemble the base classifier predictions, we use the following ensemble classifiers, implemented in R (with the exception of IBCC, for which, the Python implementation in [18] is used). 1. Average (Avg), simple average of the probabilistic base classifier predictions for each instance. No meta-learning stage is needed by this method. 2. Weighted Average (wAvg), as with Average, but with a meta-learning stage in which each contributing base classifier has its prediction weighted according to its AUC score when classifying Mtrain. 3. Majority Vote (mVote), converts probabilistic base classifier predictions to “votes” (binary 0/1 predictions) by rounding. Then, combines the votes for each instance by summing them all and dividing by the number of instances to obtain a prediction between 0 and 1. No meta-learning stage. 4. Rank Average (rankAvg), ranks the predictions for each base classifier separately, then normalizes these to obtain uniformly spaced values between 0 and 1, before computing a simple average of the ranks for each instance. No metalearning stage. 5. Stacking w/Logistic Regression (stackLR) uses glm, a logistic regression algorithm from the stats package, as a meta-classifier, learning to ensemble the base classifier predictions for Mtrain, and returning ensembled predictions for Mtest. Flags family = “binomial”. 6. Stacking w/Sparse Logistic Regression (stackSLR) uses glmnet from the glmnet package, as a meta-classifier, learning to ensemble the base classifier predictions for Mtrain, and returning ensembled predictions for Mtest. Flags family = “binomial”, maxit = 1e5, alpha = 1 7. Stacking w/Random Forest (stackRF) uses randomForest from the randomForest package [11], as a meta-classifier, learning to ensemble the base classifier predictions for Mtrain, and returning ensembled predictions for Mtest. Flags importance = TRUE, ntree = 500

Comparative Analysis of Ensemble Classifier and Single Base …

481

8. IBCC (Ibcc (super)) (supervised mode), “Bayesian classifier combination, using the computationally efficient framework of variational Bayesian inference.” [18]. In supervised mode, IBCC acts as a meta-classifier, learning to ensemble the base classifier predictions. 9. IBCC (Ibcc(unsuper)) (unsupervised mode). In unsupervised mode, IBCC performs unsupervised learning on the predictions obtained by training the base classifiers on the combined set Btrain ∪ Mtrain, thereby learning to ensemble base classifier predictions.

2.6 Comparison Metric The classifier’s performance is evaluated using the AUC metric, implemented in R using the roc function from the pROC package [19]. For each classifier, we use this function to obtain the AUC and a 95% confidence interval. Tables including all of these data are included at the end of the document, in Tables 2 and 3.

3 Results and Discussion In our experimental analysis, we evaluate nine ensemble methods, combining the predictions of 11 base classifiers over ten datasets. We find that one of our base classifiers (NaiveBayes) strictly requires non-zero variances for all variables, and therefore will return errors when analyzing the spect (but not spectF) dataset. Consequently, we omit the NaiveBayes base classifier when obtaining predictions for the spect dataset. Figure 1 displays the AUC scores of each base classifier on each dataset. We include this for two principal reasons. The first reason is to demonstrate that the base classifiers are reasonably effective on their own. Therefore, our ensembles are not “polluted” by including routinely impotent base predictions. And, the other reason is to demonstrate that there is nonetheless a significant range in performance across datasets and classification algorithms. As the famous “No Free Lunch” theorems would lead us to expect [20], we do not observe that any particular base classifier performs best on every dataset (or even a significant majority of them), but there are naturally some which tend to perform well by comparison to the rest. Figure 2 displays the AUC scores of each ensemble classifier on each dataset. It was to be expected (once again in accordance with the “No Free Lunch” principle) that no individual ensemble method would prove consistently superior to the others. Our aim, therefore, is rather to determine whether or not it is usually possible to obtain an improvement in accuracy over the base classifiers by implementing some kind of ensembling (i.e., is there usually at least one ensemble classifier which outperforms the best base classifier?). Conventional wisdom and the results from many real-world applications of machine learning (in particular, competitions such as the Netflix Prize

∗ See

Sect. 3

0.9154 0.8896 0.8900 0.8929 0.9041 0.7904 0.8186 0.8816 0.8966 0.8947

0.5839 0.6599 0.5851 0.6368 0.6351 0.5773 0.5773 0.5178 0.4558 0.5847

Hungary

1.0000 1.0000 1.0000 1.0000 1.0000 0.9708 0.9512 1.0000 0.9960 1.0000

glmnet rf gbm gp nnet dt rbm knn nb lda

0.9987 0.9989 0.9981 0.9989 0.9971 0.9524 0.9202 0.9987 0.9958 0.9960

Table 2 AUC scores for base classifiers on each dataset bc-wisc-diag bc-wisc-orig Haberman 0.7678 0.7338 0.7482 0.6062 0.7698 0.5000 0.5000 0.7047 0.7905 0.6970

ilpd 0.8713 0.8427 0.8726 0.8745 0.8703 0.8303 0.8139 0.8779 0.8452 0.8669

Mammographic 0.8019 0.8458 0.8377 0.8149 0.6169 0.7102 0.6916 0.8101 * 0.8750

Spect 0.8263 0.8068 0.7922 0.7614 0.7549 0.6518 0.6364 0.8133 0.8076 0.7451

SpectF

0.9018 0.9246 0.9009 0.9307 0.9114 0.7439 0.7539 0.9289 0.9202 0.9035

st-heart

0.9586 0.9194 0.9342 0.9253 0.9268 0.8580 0.8580 0.9098 0.8262 0.9430

Vertebral

482 S. S. Yadav et al.

bc-wisc-diag AUC 1 CI (lower) 1 CI (upper) 1 bc-wisc-orig AUC 0.9998 CI (lower) 0.999 CI (upper) 1 Haberman AUC 0.636 CI (lower) 0.481 CI (upper) 0.791 Hungary AUC 0.8994 CI (lower) 0.815 CI (upper) 0.984 ilpd AUC 0.7892 CI (lower) 0.717 CI (upper) 0.861

0.9995 0.998 1

1 1 1

0.6099 0.492 0.728

0.8163 0.718 0.914

0.7491 0.678 0.821

0.9981 0.995 1

0.9998 0.999 1

0.6004 0.444 0.757

0.8976 0.814 0.981

0.7838 0.711 0.857

0.7748 0.7 0.85

0.8919 0.802 0.982

0.6347 0.48 0.789

0.9988 0.997 1

1 1 1

0.7816 0.709 0.854

0.8055 0.694 0.917

0.6599 0.512 0.807

0.985 0.97 1

0.8388 0.768 0.909

0.7868 0.715 0.859

0.9023 0.828 0.977

0.6764 0.538 0.815

0.998 0.995 1

0.9966 0.991 1

0.7815 0.701 0.862

0.8731 0.786 0.961

0.5273 0.377 0.678

0.998 0.995 1

0.9995 0.998 1

Table 3 AUC scores for ensemble classifiers and best base classifier on each dataset Avg wAvg mVote RankAvg StackLR StackSLR StackRF

0.7892 0.717 0.861

0.8947 0.82 0.97

0.6347 0.477 0.793

1 1 1

0.9984 0.996 1

gAvg

0.7905 0.719 0.862

0.9154 0.837 0.994

0.6756 0.537 0.814

1 1 1

0.9995 0.998 1

BestBase

0.7534 0.692 0.815

0.8102 0.708 0.913

0.5988 0.441 0.756

1 1 1

0.9948 0.985 1

Ibcc (super)

0.7426 0.669 0.817

0.8163 0.718 0.914

0.6087 0.491 0.726

1 1 1

0.9993 0.998 1

(continued)

Ibcc (unsuper)

Comparative Analysis of Ensemble Classifier and Single Base … 483

Mammographic AUC 0.8708 CI (lower) 0.821 CI (upper) 0.921 Spect AUC 0.7955 CI (lower) 0.655 CI (upper) 0.936 SpectF AUC 0.8101 CI (lower) 0.702 CI (upper) 0.918 st-heart AUC 0.9175 CI (lower) 0.848 CI (upper) 0.987 Vertebral AUC 0.9504 CI (lower) 0.903 CI (upper) 0.998

Avg

Table 3 (continued)

0.8463 0.794 0.899

0.7419 0.564 0.919

0.8157 0.704 0.928

0.8939 0.812 0.976

0.9353 0.873 0.998

0.8166 0.679 0.955

0.7857 0.652 0.919

0.9158 0.849 0.982

0.9342 0.881 0.987

mVote

0.8688 0.818 0.92

wAvg

0.9504 0.904 0.997

0.9272 0.864 0.99

0.8166 0.702 0.931

0.793 0.637 0.949

0.8647 0.813 0.916

RankAvg

0.872 0.778 0.966

0.9465 0.897 0.996

0.8003 0.666 0.935

0.5682 0.315 0.821

0.863 0.813 0.913

StackLR

0.9564 0.913 1

0.9325 0.873 0.992

0.8263 0.715 0.938

0.6899 0.497 0.883

0.8708 0.821 0.921

0.9305 0.872 0.989

0.9272 0.866 0.988

0.7208 0.574 0.867

0.776 0.63 0.922

0.8495 0.795 0.904

StackSLR StackRF

0.9438 0.894 0.993

0.9298 0.867 0.992

0.8117 0.692 0.932

0.7841 0.626 0.942

0.8706 0.82 0.921

gAvg

0.9586 0.918 0.999

0.9307 0.87 0.992

0.8263 0.718 0.934

0.875 0.774 0.976

0.8779 0.83 0.926

BestBase

0.9105 0.838 0.983

0.8439 0.74 0.948

0.7524 0.5939 0.9109

0.6461 0.414 0.879

0.8516 0.8 0.903

Ibcc (super)

0.9349 0.872 0.997

0.8939 0.812 0.976

0.810876623 0.696383301 0.925369946

0.7419 0.564 0.92

0.8463 0.794 0.899

Ibcc (unsuper)

484 S. S. Yadav et al.

Comparative Analysis of Ensemble Classifier and Single Base …

485

Fig. 1 Base classifier accuracy on a variety of datasets

Fig. 2 Ensemble classifier accuracy on a variety of datasets

[21]) suggest that a noticeable improvement is usually possible using even relatively unsophisticated ensembling techniques. We are, therefore, surprised to note that our results suggest that the best base classifier surpasses the accuracy of every ensemble classifier on five of our ten datasets, and equals the accuracy of the best ensemble classifier on a further two datasets. Stacking with some form of logistic regression as the meta-learner is the only ensembling approach that manages to outperform the best base classifier on any of the datasets. This suggests that perhaps ensembling for model uncertainty as we have done here is less meaningful than selecting the correct base classifier for a given task. We observe also a few general trends: 1. Average and stackSLR are the stand-out best performers among the ensemble methods, with Rank Average also showing reliable results.

486

S. S. Yadav et al.

2. Average performs in the top three ensemble classifiers on eight out of ten datasets (although it never outperforms the best base classifier) and does not perform catastrophically on any of the datasets (unlike some of the more sophisticated ensemble methods), displaying a respectable level of consistency. These observations are also valid to a slightly lesser extent for the similar Rank Average ensemble. 3. Stacking with sparse logistic regression (as in stackSLR) significantly outperforms stacking with logistic regression (as in stackLR) on every dataset except st-heart. It seems that there is some aspect of these kinds of the dataset which stackSLR is generally better able to capture than stackLR. 4. Unsupervised IBCC significantly outperforms supervised IBCC on seven of our ten datasets, and on the two datasets where supervised IBCC wins, it does so by a much smaller margin. 5. Along the same lines as the previous point, the ensemble classifiers which forego a meta-learning stage in favor of a broader base classifier training set generally exhibit a respectable performance both in terms of AUC score and consistency. The different nature of the ensemble methods, which include a meta-learning stage and those which do not leads to a difference in the way that data is fed to each. As explained in Sect. 2.4, for an ensemble classifier, which does not require the training of a meta-learning on the Mtrain subset, we opt instead to include Mtrain along with Btrain in the training data for the base classifiers, for two reasons. Firstly, to withhold the subset Mtrain completely from these ensemble classifiers would be to impose on them a data deficit in comparison to the meta-learning ensemblers, resulting in an unfair comparison. Secondly, any real-world implementation of these ensemble classifiers would surely aim to make full use of the available data, rather than arbitrarily withholding a 25% subset, so for the purposes of obtaining results that are applicable to real-world best practice, ours is the more reasonable approach. Figure 3 supports these assertions, demonstrating that a more extensive base classifier training set almost universally results in significantly higher prediction accuracy.

Fig. 3 Non-meta-learning ensemble accuracy on small (pale colors) versus large (dark colors) training sets

Comparative Analysis of Ensemble Classifier and Single Base …

487

4 Conclusion The most important conclusion to be drawn from our results is that ensembling for model uncertainty is not generally more effective than merely selecting the best base classifier, which therefore appears to be the most crucial factor in improving classifier performance. Indeed, the only ensemble methods to outperform the best base classifier were stackSLR and stackLR. Both of which work broadly by attempting to ‘learn’ which are the best base classifiers and then weighting their predictions the most heavily. How might this be reconciled with the fact that real-world applications consistently show a performance boost from ensembling? We note that many such realworld applications (e.g., top performers in the Netflix Prize) include varying degrees of feature learning and ensembling over feature sets, rather than our approach of ensembling over only a set of base classifiers, each applied to precisely the same feature set. This suggests that the observed success of ensembling in these cases may have more to do with these alternative approaches to ensembling—a hypothesis which we believe merits future investigation. Also, our results suggest that it is essential to consider the ‘cost’ of some ensemble methods in terms of training data. We see with regards to IBCC that the advantages conferred by meta-learning from labeled training examples in supervised IBCC appear to be outweighed by the larger volume of training data given to the base classifiers in unsupervised IBCC. More generally, the relative performance of the meta-learning and non-meta-learning ensemble methods supports the idea that the performance gain from ensembling with a meta-learner may not outweigh the cost of a reduced training set, mainly if the entire dataset is small, to begin with, as may often be the case in medical applications. It is, therefore, clearly important to carefully consider the nature of a dataset, and not just which classifiers to use when attempting to obtain good predictions. Finally, we mention the respectable and consistent performance of the very primary Average and Rank Average ensemble methods, relative to more sophisticated approaches such as stacking, which perform exceptionally poorly on a small number of the datasets. With regards to medical applications in diagnosis, for example, it is clear to see why one would prefer a consistently good classifier over an occasionally excellent classifier whose consistency varies greatly, even if the latter is sometimes the best-performing classifier of all. Furthermore, as the volume of medical data available to doctors increases, it will become increasingly important to consider the computational cost of machine learning methods, in which more straightforward techniques such as Average and Rank Average are clear winners over Stacking and IBCC (Table 4).

488

S. S. Yadav et al.

Table 4 AUC scores for non-meta-learning ensemble classifiers with small (S Avg, S mVote, S rankAvg) and large (L Avg, L mVote, L rankAvg) base classifier training set on each dataset bc-wisc-diag

bc-wisc-orig

Haberman

Hungary

ilpd

S Avg

S mVote

S rankAvg

L Avg

L mVote

AUC

0.9981

0.9943

0.9913

1

1

0.9978

CI (lower)

0.9943

0.9847

0.9808

1

1

0.9939

CI (upper)

1

1

1

1

1

1

AUC

0.9998

1

0.9974

0.9996

1

0.9986

CI (lower)

0.9993

1

0.9937

0.9987

1

0.9962

CI (upper)

1

1

1

1

1

1

AUC

0.5979

0.5942

0.6017

0.6236

0.624

0.605

CI (lower)

0.4439

0.451

0.4533

0.4687

0.5097

0.4479

CI (upper)

0.752

0.7374

0.75

0.7784

0.7382

0.762

AUC

0.8844

0.7876

0.8435

0.8947

0.8026

0.8496

CI (lower)

0.7892

0.6786

0.7373

0.8067

0.6982

0.7461

CI (upper)

0.9796

0.8966

0.9497

0.9828

0.9071

0.9531

AUC

0.7459

0.5579

0.7344

0.7683

0.5724

0.7702

CI (lower)

0.666

0.4786

0.6503

0.6919

0.479

0.693

CI (upper)

0.8259

0.6372

0.8185

0.8448

0.6659

0.8474

0.8705

0.8635

0.867

0.8718

0.8516

0.865

CI (lower)

0.8202

0.8145

0.8151

0.8222

0.8003

0.8137

CI (upper)

0.9208

0.9125

0.9189

0.9214

0.9029

0.9163

AUC

0.8198

0.7492

0.8279

0.8036

0.7532

0.7946

CI (lower)

0.683

0.5693

0.6752

0.6695

0.5787

0.6442

CI (upper)

0.9566

0.929

0.9806

0.9377

0.9278

0.9451

AUC

0.7873

0.72

0.7727

0.7906

0.7508

0.7922

CI (lower)

0.6467

0.5362

0.6266

0.6732

0.5983

0.6666

CI (upper)

0.928

0.9038

0.9188

0.908

0.9033

0.9178

Mammographic AUC

Spect

SpectF

st-heart

Vertebral

L rankAvg

AUC

0.9009

0.8838

0.8943

0.9202

0.8868

0.9281

CI (lower)

0.8295

0.7992

0.8219

0.853

0.7981

0.8676

CI (upper)

0.9722

0.9684

0.9667

0.9873

0.9756

0.9876

AUC

0.9438

0.9286

0.9379

0.9534

0.9586

0.956

CI (lower)

0.8964

0.8665

0.8875

0.9086

0.9181

0.9116

CI (upper)

0.9912

0.9907

0.9883

0.9982

0.999

1

References 1. Obermeyer, Z., Emanuel, E.J.: Predicting the future-big data, machine learning, and clinical medicine. New Engl. J. Med. 375(13), 1216 (2016) 2. Sinha, A., Wellman, M.P.: Incentivizing collaboration in a competition. In: Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems, pp. 556–564, International Foundation for Autonomous Agents and Multiagent Systems (2019) 3. Gomes, H.M., Barddal, J.P., Enembreck, F., Bifet, A.: A survey on ensemble learning for data stream classification. ACM Comput. Surv. (CSUR) 50(2), 23 (2017) 4. Manzoor, M.A., Morgan, Y., Bais, A.: Real-time vehicle make and model recognition system. Mach. Learn. Knowl. Extr. 1(2), 611–629 (2019)

Comparative Analysis of Ensemble Classifier and Single Base …

489

5. Feurer, M., Klein, A., Eggensperger, K., Springenberg, J.T., Blum, M., Hutter, F.: Auto-sklearn: efficient and robust automated machine learning. In: Automated Machine Learning, pp. 113– 134 (2019) 6. Lopez-Garcia, P., Masegosa, A.D., Osaba, E., Onieva, E., Perallos, A.: Ensemble classification for imbalanced data based on feature space partitioning and hybrid metaheuristics. Appl. Intell., pp. 1–16 (2019) 7. Fernández-Delgado, M., Cernadas, E., Barro, S., Amorim, D.: Do we need hundreds of classifiers to solve real world classification problems? J. Mach. Learn. Res. 15(1), 3133–3181 (2014) 8. Kim, H.-C., Ghahramani, Z.: Bayesian classifier combination. In: Artificial Intelligence and Statistics, pp. 619–627 (2012) 9. Asuncion, A.: UCI Machine Learning Repository. University of California, Irvine, School of Information and Computer Sciences. http://www.ics.uci.edu/mlearn/MLRepository.html (2007) 10. Bischl, B., Lang, M., Kotthoff, L., Schiffner, J., Richter, J., Studerus, E., Casalicchio, G., Jones, Z.M.: mlr: Machine learning in r. J. Mach. Learn. Res. 17(1), 5938–5942 (2016) 11. Liaw, A., Wiener, M., et al.: Classification and regression by randomforest. R News 2(3), 18–22 (2002) 12. Ridgeway, G., Southworth, M. H., RUnit, S.: Package ‘gbm’. Viitattu 10, 40 (2013) 13. Karatzoglou, A., Smola, A., Hornik, K., Zeileis, A.: Kernlab-an s4 package for Kernel methods in r. J. Stat. Softw. 11(9), 1–20 (2004) 14. Günther, F., Fritsch, S.: Neuralnet: training of neural networks. R J. 2(1), 30–38 (2010) 15. Casalicchio, G., Bossek, J., Lang, M., Kirchhoff, D., Kerschke, P., Hofner, B., Seibold, H., Vanschoren, J., Bischl, B.: Openml: An R package to connect to the machine learning platform openml. Comput. Stat., pp. 1–15 (2017) 16. Weihs, C., Ligges, U., Luebke, K., Raabe, N.: KLAR analyzing German business cycles.’ In: Data Analysis and Decision Support, pp. 335–343. Springer (2005) 17. Venables, W., Ripley, B.: Modern Applied Statistics, 4th ed. New York (2002) 18. Simpson, E., Roberts, S., Psorakis, I., Smith, A.: Dynamic Bayesian combination of multiple imperfect classifiers. In: Decision Making and Imperfection, pp. 1–35. Springer (2013) 19. Robin, X., Turck, N., Hainard, A., Tiberti, N., Lisacek, F., Sanchez, J.-C., Müller, M., Siegert, S., Doering, M., Robin, M.X.: Package ‘proc’ (2019) 20. Christensen, S., Oppacher, F.: What can we learn from no free lunch? a first attempt to characterize the concept of a searchable function. In: Proceedings of the 3rd Annual Conference on Genetic and Evolutionary Computation, pp. 1219–1226. Morgan Kaufmann Publishers Inc. (2001) 21. Bennett, S., James and Netflix prize Lanning et al.: The Netflix prize. In: Proceedings of KDD cup and workshop, vol. 2007, p. 35, New York (2007)

Comparative Study on Punjabi Document Clustering Iknoor Singh, Vijay Paul Singh and Naveen Aggarwal

Abstract The objective of clustering, a class of techniques that fall under the category of machine learning is to consequently isolate information into groups called clusters. Clustering of Punjabi documents finds numerous applications in the domain of natural language processing. Currently, not much work has been done for native languages such as Punjabi. This study presents the results of certain common document clustering techniques such as agglomerative and K-means experimented with different feature extraction methods to compare its performance using intrinsic and extrinsic measures. The recently released pre-trained Punjabi word vector model by Facebook has also been experimented as one of the feature extraction methods. This study is conducted to know which combination of clustering algorithm and feature extraction technique gives the most optimum results. This study also uses a supervised approach to evaluate the results of an unsupervised learning algorithm such as clustering. Keywords Document clustering · Natural language processing · Text mining · Punjabi language

1 Introduction Document clustering is a technique for classifying a set of documents into a number of groups, based on certain distinguishing features, attributes and characteristic properties of the documents. The Internet contains a large number of high-dimensional data which must be categorized for certain reasons to enable efficient data processing and organization. For instance, E-commerce sites, blogs, social networking I. Singh (B) · V. P. Singh · N. Aggarwal Department of Computer Science and Engineering, University Institute of Engineering and Technology, Panjab University, Chandigarh, India e-mail: [email protected] V. P. Singh e-mail: [email protected] N. Aggarwal e-mail: [email protected] © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_38

491

492

I. Singh et al.

websites, etc., can utilize various clustering techniques to this end. Text mining has become widely researched area with lots of applications [1]. Clustering techniques take advantage of the fact that the majority of the documents of a certain class contain similar kinds of words and frequency of these words can be used to predict the class to which the document belongs. Clustering of Punjabi documents finds numerous applications. For example, in plagiarism detection tool, documents can be checked in a particular cluster of similar documents instead of searching all the documents. This can confine the search to a limited number of similar documents and hence speed up the search process. This study was embraced expressly for the clustering of Punjabi text documents as immensely less previous research has been done in this dialect as per the review of literature done to carry out this study [2]. All the open-sourced text processing libraries are language-specific and generally work for English. Hence, the main challenge is the preprocessing and vectorization of Punjabi documents. Corpus collection is another challenging task for the languages which are less available on the Internet in abundance. Fortunately, many newspapers nowadays have their news content available in electronic format on the Internet. Hence, a labelled Punjabi dataset is manually collected from various news sources. Most of the prior research work on clustering uses intrinsic measures such as silhouette score to evaluate the compactness of the cluster without the need of ground truth labels [3]. These measures lack the ability to evaluate the accuracy of the clustering model. For this study, the labelled dataset is collected to evaluate the performance of clustering using extrinsic measures such as purity, F-measure and adjusted Rand index. Extrinsic measures will better evaluate the performance of clustering based on the previous information about the dataset. In the literature [4], many different text clustering algorithms have been proposed. All of these methods require several steps of initial preprocessing of the text. Initially, the normalization of documents is done which includes tokenization, elimination of stop word, stemming, punctuation removal, synonym replacement and format conversion. For document vectorization, the statistical approach has been used which includes bag-of-words vectorization and TF–IDF vectorization. Advanced word vectorization such as average word vector and TF–IDF weighted average word vector are also implemented for the Punjabi text. These are done using FastText Punjabi word vector model [5]. Principal component analysis is used to reduce the dimensions of the feature vector and project the clustering results on a two-dimensional graph. The cluster points are plotted with the actual ground truth labels represented with different shapes. This is done to know which cluster belongs to which label of the dataset, i.e. each cluster is allotted the category that is most frequent within the cluster [6]. This technique helps to identify the number of documents in each cluster that were correctly clustered. This was made possible because the manually created dataset is of small size with ground truth labels. Hence, the cluster predictions are evaluated against the true labels using metrics similar to ones used for classification evaluation (that is, based on true positive and negative and false positive and negative rates). Various performance metrics such as accuracy score, F1 score and many more were used to test which combination of clustering algorithm and feature extraction technique performs best across the manually created dataset.

Comparative Study on Punjabi Document Clustering

493

2 Related Work In recent years, there has been extensive research going on the clustering of documents. It uses unsupervised machine learning algorithms that categorize the documents into various clusters. The properties of these clusters are such that documents are similar and related within one cluster than documents of other clusters [7]. Text clustering is very useful in various domains such as web page clustering, document summarization and sentiment analysis. Initially, a lot of attention was given to frequency of words for text clustering such as simple hybrid algorithm proposed by Wang et al. [8]. But now, more advanced approaches are being used for clustering. Wei et al. [9] proposed the semantic approach using lexical chains and WordNet for text clustering. Amoli and Pedram Vahdani proposed a different technique approach to clustering of scientific documents using summarization [10]. This helps in reducing unnecessary data during clustering. Wang et al. [11] proposed a deep representation learning-based algorithm for clustering using transfer learning domain adaptation. Recently, enhanced text clustering based on topic clusters was proposed by Fang et al. [12]. It includes identification of the topic cluster relating to the set non-stop words found in the text and using polarity as the measure to differentiate between the clusters. In this informative age, many documents are available in digital form in different Indian languages. According to India census, more than 19,000 languages are spoken in India and mostly due to the proliferation of sources such as news, blogs and other media sources, web data grow rapidly. Vishal et al. [13] proposed the normalization of Punjabi text documents and also a classification algorithm to classify the documents. The ontology and hybrid approaches were also proposed for Punjabi text classification. Except these, independent research on various preprocessing tasks for Punjabi language has also been done. For instance, Vishal et al. [19] proposed a new approach on automatic stemming of Punjabi words using a statistical approach. In 2016, Jasleen et al. [14] presented a list of 184 stop words of Punjabi language that is used in various applications related to NLP such as identification removal of stop words from the text. The recently released pre-trained Punjabi word embedding by Facebook’s FastText library [5] provides standard vectorization tool for many NLP applications. The usage of these regional language embeddings is still scant and yet to be fully explored. Hence, this paper also uses FastText model to compare its performance. There has been some previous research work on domain-based Punjabi text document clustering. For instance, Gupta and Gupta [15, 16] proposed a hybrid approach for Punjabi document clustering which takes into consideration the semantic relations between words. The most similar work to this paper is [17], which works on Punjabi documents clustering system where 221 Punjabi documents collected from various news websites were categorized into seven natural classes. The present study differs in two aspects. First, this study is conducted using different clustering algorithms with various feature extraction techniques to identify the best mechanism for clustering of Punjabi documents. Second, extrinsic measures are used which take into consideration the ground truth labels to evaluate the performance of

494 Table 1 Punjabi news dataset

I. Singh et al. Classes

Quantity

(India) (Australia) (Canada) (America) (Pakistan) Total

30 30 30 30 30 150

clustering. The absence of real data with a correct ground truth label is a major challenge in the evaluation of clustering algorithms [18]. As a result, clustering research often relies on labelled data to evaluate and compare the results of clustering algorithms. Hence, the labelled data is collected and used with a different perspective by mapping the cluster results to a classification problem and thereby evaluating based on the ground truth labels.

3 Proposed Approach 3.1 Dataset The dataset used in this study is created manually because the Punjabi language does not have any benchmark dataset available. Initially, the labelled dataset was collected from various Punjabi news websites such as jagbani.com and ajitjalandhar.com. A total of 150 documents were collected and this news dataset is categorized into five country classes called labels (see Table 1). The number of documents of each category is kept the same so as to evaluate the clustering performance accurately. The length of each document is also kept approximately the same. This raw set of documents is further processed to divide it into clusters.

3.2 Document Preprocessing Document preprocessing includes the normalization of the document text. Normalization of text consists of various steps such as wrangling, cleaning and standardizing of textual data into a form which could be used as an input to other NLP systems and analytical applications. The following preprocessing steps are performed.

Comparative Study on Punjabi Document Clustering

495

Step 1 The punctuations are separated from the word by a space. This is done so that the punctuation does not remain attached with the word during the tokenization of documents. It is done with the help of regex using the substitute function. Step 2 The digits and numbers are removed from the documents. Any special character is also removed such as @, $, %, &, … and etc. Step 3 Word tokenization is done to split or segment sentences in documents into their constituent words. Tokenization process is important in information retrieval tasks as a token is the most basic unit of comparison. Step 4 All the stop words are removed from the documents. In general, stop words are the words most commonly found in a document and are of very little or no importance for various text processing tasks. The words such etc. are some of the as most commonly used stop words in the Punjabi language [14]. Hence, the stop words are removed by automatically checking the list of 143 Punjabi stop words. Any remaining punctuations are also removed. This is also done by checking the list of Punjabi punctuations and removing them accordingly. Step 5 Stemming of each tokenized word is done. Stemming can be defined as a process which combines the morphologically similar terms into one root word, which can be used to improve the process of information retrieval (munde) is mapped to stem [19]. Consider an example, where the word (munda). This is done by truncating the suffix part and adding word— the relevant counterpart to reduce the word to its basic form. Step 6 Synonym replacement is applied to the tokenized words. Punjabi synonyms are extracted from the Technology Development for Indian Languages (TDIL) synset dataset [20]. All the synonyms are kept in a list of lists. Now each tokenized word is checked. If any word is found in this list of lists, then that word is replaced by an index zero word in the list in which that particular word is found. This will help ensure some semantic similarity between documents at the time of clustering. Step 7 Now after all the above steps, there remains some words with a single entity. Such words are of no significance. The length of such single words is three. Hence, these words are removed from the tokenized words. All the remaining tokenized words are converted into utf-8 format.

3.3 Feature Extraction Techniques After the preprocessing phase, documents are vectorized to extract the relevant features. Although there are different techniques of feature extraction for textual data, but this paper considers four principal strategies for the comparison purpose. • Bag-of-words (BoW ): For a BoW model, a sentence or document is seen as a bag that contains words. The words and their frequency in the sentence or the document

496

I. Singh et al.

are taken into consideration, regardless of any semantic relations present between them [21]. In Eq. (1), tf (d, t) is the frequency of the term, t ∈ T in document d ∈ D. The document is represented as an n-dimensional vector td. td = (t f (d, t1), . . . , t f (d, tn))

(1)

• Term frequency—inverse document frequency: TF–IDF is a statistical approach to measure the importance of a word in a document or corpus [22]. Its significance increases based on number of times a specific word comes in the document but is compensated for by the occurrence of the word in the corpus. The general equation to measure TF–IDF is given in Eq. (2)  t f id f (d, t) = log

|D| d f (t)

 × t f (d, t)

(2)

In Eq. (2), t and d are term and document, respectively, whereas df (t) is the number of documents in which the term t appears. • Average word vectorization model: Average word vectorization uses the Punjabi word vector model to compute the average of vectors of all words in a document. The word vector model is obtained from Facebook’s FastText library [23]. This can be represented mathematically by the equation n AWV(D) =

1

wv(w) n

(3)

In Eq. (3), AWV(D) represents the average word vector for a document D, containing words w1 , w2 ,…, wn and wv(w) are the word vector representation for the word w. • TF–IDF weighted average vectorization models: TF–IDF weighted average word vector also uses the Punjabi word vector model, but in this each word vector is multiplied by its TF–IDF score and then average is taken. This can be represented mathematically by the equation n TW(D◦ ) =

1

wv(w) × t f id f (w) n

(4)

In Eq. (4), TW(D) represents the TF–IDF weighted averaged word vector for D◦ document, containing words w1 , w2 ,…, wn , where tfidf (w) represents the TF–IDF weight for the words w and wv(w) is the word vector representation.

Comparative Study on Punjabi Document Clustering

497

3.4 Clustering Algorithms A number of techniques and methods are available to cluster the given data. In this paper, some of the most common document clustering techniques such as hierarchical and centroid-based methods are used [7]. Hierarchical clustering models are also referred to as connectivity-based clustering methods. These are based on the idea that similar objects in the vector space are closer to the related objects than unrelated objects which are more distant. The clusters are formed based on their distance from the connected objects. These are primarily subdivided into agglomerative and divisive clustering models [24]. In case of centroid-based clustering models, clusters are constructed such that each cluster contains a central representative member, representing each cluster and having the characteristics that distinguish this particular cluster from others. There are various centroid-based algorithms, like k-medoids, kmeans and so on, which requires initial declaration of number of clusters ‘k’ and minimizing the distance metrics like squares of distances from each data point to the centroid.

3.5 Principal Component Analysis Semantically, similar documents are grouped together in the clustering of documents. The dimensionality of documents to be clustered is often very large, containing thousands of terms. Therefore, the original dimensions are usually reduced to project the cluster results onto two-dimensional graph [25]. Principal component analysis is one of the techniques used for dimensionality reduction. It provides a linear mapping of the data to a lower-dimensional space so as to maximize data variance in a low-dimensional representation [26]. In practice, eigenvectors are computed by constructing the covariance matrix of the data. In addition, the first few eigenvectors may often be interpreted in terms of the system’s extensive physical behaviour. In our study, this technique is used to visualize the results of clustering on a twodimensional graph, i.e. high-dimensional data is reduced to a two-dimensional data using principal component analysis. Cluster points are plotted with different shapes according to their ground truth labels. This is done to know which cluster belongs to which label of dataset, that is, each cluster is assigned to the class which occurs most frequently in a cluster [27]. This is used to evaluate and compare the results with manually created labelled dataset using extrinsic measures discussed in the next section.

498

I. Singh et al.

3.6 Testing Strategy There are two types of performance evaluation strategies that are used for clustering techniques. First one is external evaluation in which there is some previous information about dataset such as the ground truth labels and second one is internal evaluation in which the evaluation is done in the absence of ground truth labels [28]. The typical objective of clustering is to attain high intra-cluster similarity and low inter-cluster similarity. This is known as internal criterion or intrinsic measures for evaluating the quality of a clustering. However, fine results on an internal criterion do not necessarily mean that clustering is effective. Hence, there is a need of external evaluation metric or extrinsic measures which evaluate the clustering performance by taking into consideration the ground truth labels [29]. For external evaluation, purity score, F-measure, normalized mutual information and Rand index are used, whereas, for internal evaluation, Silhouette score is used. • Purity is used to measure the extent to which a cluster contains the cluster points of a single class. Formally, given some set of clusters C and some set of classes N, both partitioning D data points, purity is given by Eq. (5) as follows, 1  maxn∈N |m ∩ n| D m∈C

(5)

• Mutual information is a theoretical measure of the extent to which information is shared between clustering and a ground truth labels which may observe nonlinear likeness between two clusters. In Eq. (6), normalized mutual information (NMI) is calculated by normalizing the mutual information (MI) score. It gives the results from 0 to 1, where 0 means no mutual information and 1 indicates perfect correlation. NMI(X, C) =

2 × I (X ; C) [H (Y ) + H (C)]

(6)

In Eq. (6), X is class labels, C is cluster labels, H represents entropy and I(X; C) denotes the mutual information between Y and C. • Rand index measures the proportion of correct decisions made by the clustering algorithm. Rand index is calculated using the following formula: RI =

TP + TN TP + FP + FN + TN

(7)

In Eq. (7), where TP, FP, TN and FN are the true positives, false positives, true negatives and false negatives, respectively. • F-measure is the weighted harmonic mean of recall and precision, In Eq. (8), β parameter determines the weight of precision in the resultant. If R is the recall rate and P is the precision rate, then F-measure is calculated using the following

Comparative Study on Punjabi Document Clustering

499

formula: Fβ =

  2 β +1 × P × R β2 × P + R

(8)

• Silhouette coefficient compares with the average distance between elements in the same cluster to the elements in other clusters. Its value varies from −1 and 1. Objects with a higher silhouette value are well clustered, whereas the objects with a lower value will be thought of as outliers. This metric works well with k-means clustering and is also used to identify the optimal cluster counts.

4 Results The results are obtained by running the clustering algorithm ten times by randomly shuffling the documents to be clustered. The following results are obtained by taking the average of all evaluation metrics. Tables 2 and 3 showed the evaluation results Table 2 Metrics evaluation for K-means algorithm K-means

Bag-of-words

TF–IDF

Average WordVec

TF–IDF weighted WordVec

Purity score

0.4600

0.7100

0.6000

0.4100

NMI

0.1985

0.3885

0.3800

0.1225

Adjusted rand score

0.0681

0.3717

0.3067

0.0640

Precision

0.4600

0.7100

0.5900

0.4100

Recall

0.4600

0.7100

0.5900

0.4100

F-measure

0.4600

0.7100

0.5900

0.4100

Silhouette score

0.0046

0.0094

0.0614

0.0578

Table 3 Metrics evaluation for agglomerative algorithm Agglomerative

Bag-of-words

TF–IDF

Average WordVec

TF–IDF weighted WordVec

Purity score

0.5700

0.4700

0.6100

0.4600

NMI

0.4151

0.3085

0.3499

0.2043

Adjusted rand score

0.1805

0.0532

0.2726

0.1083

Precision

0.7898

0.8301

0.6058

0.5428

Recall

0.5700

0.4700

0.5800

0.4500

F-measure

0.5740

0.4583

0.5897

0.4014

Silhouette score

0.0326

0.0123

0.0558

0.0636

500

I. Singh et al.

Fig. 1 Results of K-means clustering

Fig. 2 Results of agglomerative clustering

of k-means and agglomerative clustering, respectively. The graphical representation of the results can be seen in Figs. 1 and 2.

5 Conclusion and Future Work In this paper, the clustering of Punjabi documents using different clustering algorithms with various feature extraction techniques was done. Proposed work shows

Comparative Study on Punjabi Document Clustering

501

that out of various feature extraction methods, TF–IDF with K-means algorithm outperforms all others with a purity score of 71%. In the case of agglomerative clustering, average word vector gives the best results with a purity score of 61%. Also, FastText pre-trained model seems to give consistent results as compared to other feature extraction techniques. In case of F-measure score, K-means with TF–IDF and agglomerative clustering with average word vectorization gives the best results. As far as the intrinsic measure is concerned, agglomerative clustering seems to give consistently high scores as compared to K-means clustering. This study is conducted independently of the domain of the documents as the dataset consists of generic news articles of different countries. Therefore, the results are expected to be similar when tried on documents from other domains. These results can be enhanced through more efficient preprocessing and some better feature extraction and vectorization methods. In this study, some semantic similarity is ensured with the synonym replacement in preprocessing phase and the use of word vector model in feature extraction. For future, deep learning can be used with larger datasets for further enhancements and better results.

References 1. Gupta, V., Gurpreet S.L.: A survey of text mining techniques and applications. J. Emerg. Tech. Web Intell. 1(1), 60–76 (2009) 2. Kaur, G., Kaur, K.: Sentiment analysis on Punjabi news articles using SVM. Int. J. Sci. Res. 6(8), 414–421 (2015) 3. Baarsch, J., Celebi, E.C.: Investigation of internal validity measures for K-means clustering. In: Proceedings of the International Multi Conference of Engineers and Computer Scientists, vol. 1 (2012) 4. Steinbach, M., George K., Kumar, V.: A comparison of document clustering techniques. KDD workshop on text mining, vol. 400, 1 (2000) 5. Grave, E., Bojanowski, P., Gupta, P., Joulin, A., Mikolov, T.: Learning word vectors for 157 languages. arXiv preprint arXiv:1802.06893 (2018) 6. Schütze, H., Christopher, D. Manning, Raghavan, P.: Introduction to information retrieval. In: Proceedings of the International Communication of Association for Computing Machinery Conference (2008) 7. Aggarwal, C., Zhai, C.X.: A Survey of Text Clustering Algorithms. Mining Text Data, pp. 77– 128. Springer, Boston (2012) 8. Wang, L., Tian., Jia, Y., Han, W.: A hybrid algorithm for web document clustering based on frequent term sets and k-means. In: Advances in Web and Network Technologies, and Information Management, pp. 198–203. Springer (2007) 9. Wei, T., Yonghe, L., Chang, H., Zhou, Q., Bao, X.: A semantic approach for text clustering using WordNet and lexical chains. Expert Syst. Appl. 42, 2264–2275 (2015) 10. Amoli, P.V.: Scientific documents clustering based on text summarization. Int. J. Electr. Comput. Eng. 5(4), 2088–8708 (2015) 11. Wang, B., Liu, W., Lin, Z., Hu, X., Wei, J., Liu, C.: Text clustering algorithm based on deep representation learning. J. Eng. 16, 1407–1414 (2018) 12. Fang, J., Zivic, P., Lin, Y., Ko., A.: Enhanced text clustering based on topic clusters. U.S. Patent Application 10/049,148, filed 14 Aug 2018 13. Gupta, V., Gupta, V.: Algorithm for Punjabi text classification. Int. J. Comput. Appl. 37(11), 30–35 (2012)

502

I. Singh et al.

14. Kaur, J., kumar, J., Saini., R.: Punjabi stop words: A Gurmukhi, Shahmukhi and Roman scripted chronicle. In: Proceedings of the ACM Symposium on Women in Research 2016. ACM (2016) 15. Gupta, V.: Algorithm for Punjabi text classification. Int. J. Comput. Appl. 37, 30–35 (2012) 16. Gupta, V.: Punjabi text classification using Naive Bayes, centroid and hybrid approach (2012) 17. Sharma, S., Gupta, V.: Domain based Punjabi text document clustering. In: Proceedings of COLING 2012: Demonstration Papers (2012) 18. Luu, T.: Approach to evaluating clustering using classification labelled data. M.S. thesis. University of Waterloo (2011) 19. Gupta, V., Lehal, G.S.: A survey of common stemming techniques and existing stemmers for Indian languages. J. Emerg. Technol. Web Intell. 2, 157–161 (2013) 20. Jha, G.N.: The TDIL program and the Indian language corpora initiative. In: Language Resources and Evaluation Conference (2012) 21. Joulin, A., Grave, E., Bojanowski, P., and Mikolov, T.: Bag of tricks for efficient text classification. arXiv preprint arXiv:1607.01759 (2016) 22. Ramos, J.: Using tf-idf to determine word relevance in document queries. In: Proceedings of the First Instructional Conference on Machine Learning, vol. 242 (2003) 23. Gupta, V.: Automatic Stemming of Words for Punjabi Language. Advances in Signal Processing and Intelligent Recognition Systems, pp. 73–84. Springer, Cham (2014) 24. Berkhin, P.: A Survey of Clustering Data Mining Techniques. Grouping multidimensional Data, pp. 25–71. Springer, Berlin (2006) 25. Napoleon, D., Pavalakodi, S.: A new method for dimensionality reduction using k-means clustering algorithm for high dimensional data set. Int. J. Comput. Appl. 13(7), 41–46 (2011) 26. Wold, S., Esbensen, K., Geladi, P.: Principal component analysis. Chemometr. Intell. Lab. Syst. 3, 37–52 (1987) 27. Ding, C., He, X.: K-means clustering via principal component analysis. In: Proceedings of the Twenty-First International Conference on Machine Learning. ACM (2004) 28. Amigó, E., Gonzalo, J., Artiles, J., Verdejo, F.: A comparison of extrinsic clustering evaluation metrics based on formal constraints. Inf. Retrieval 12(4), 461–486 (2009) 29. Hossin, M., Sulaiman., M.N.: A review on evaluation metrics for data classification evaluations. Int. J. Data Min. Knowl. Manag. Process 5(2), 1 (2015)

Appropriateness of Machine Learning Techniques for TCP with MANETs Hardik K. Molia and Amit D. Kothari

Abstract Transmission Control Protocol (TCP) is one of the most widely deployed transport layer protocols. Mobile Adhoc Networks (MANETs) are the dynamic and infrastructure-less wireless networks. TCP’s congestion control mechanism suits well with the wired networks but not with the wireless networks, especially with MANETs. In recent years, researchers have proposed machine learning-based TCP variants for wireless networks. Most of the machine learning techniques are expensive in terms of computational and memory requirements. MANETs are resourcerestricted networks with limited power and processing resources. In such scenario, the challenging task is to select a machine learning technique which improves performance significantly using the limited available resources. This paper discusses the appropriateness of online and offline learning for TCP with MANETs. Scope of learning with reference to protocol design approach is also discussed. The paper concludes with some of the future directions. Keywords TCP · MANET · Machine learning · Supervised learning · Reinforcement learning

1 Introduction 1.1 TCP with MANET Transmission Control Protocol (TCP) [1] ensures connection-oriented and reliable end-to-end communication between two processes running on two different devices. H. K. Molia (B) · A. D. Kothari Gujarat Technological University, Ahmedabad, Gujarat, India e-mail: [email protected] A. D. Kothari e-mail: [email protected] H. K. Molia Government Engineering College, Rajkot, Gujarat, India A. D. Kothari Accenture, Bengaluru, Karnataka, India © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_39

503

504

H. K. Molia and A. D. Kothari

TCP works at the transport layer where it is unaware of the status of lower layers such as routing or transmission issues. TCP works primarily for the congestion control where every packet loss is considered as a drop due to network congestion. This assumption suits well with the wired networks but not with the wireless networks [1]. Wireless networks are completely different than wired networks in terms of the transmission medium and related issues. Wireless networks suffer a lot from transmission impairments like attenuation, noise and distortion which many introduce packet errors. The inherent broadcast nature of wireless communication invites issues like collisions, hidden and exposed station problems too. Wireless networks with mobility such as Mobile Adhoc Networks (MANETs) support dynamic topologies which invite issues like frequent route failure, rerouting and network partitions. All these issues may cause packet losses which need to be handled differently. Unfortunately, TCP’s algorithm is strongly in favor of considering any packet loss as a cause of congestion without further investigating the other possibilities. Further to handle the congestion, TCP reduces the transmission rate. Such default strategy is responsible for performance degradation in wireless networks especially in MANETs due to unnecessary reduction of transmission rate even on packet losses which did not occur due to congestion [2, 3]. MANETs experience packet losses mainly due to three reasons: congestion, route failures and channel issues which are related to the transport layer, network layer and link layer, respectively. When TCP is used with MANETs, it is necessary to identify the cause of a packet loss to act accordingly. On congestion packet loss, the lost packet must be retransmitted, and the transmission rate should be reduced to handle congestion. On packet loss due to a route failure, the lost packets must be retransmitted, but only once a new route is established or old route is restored. The transmission rate should be set according to the new route. On packet loss due to channel issues, retransmission of the lost packet is required without reducing transmission rate [4, 5].

1.2 TCP Variants A large number of TCP variants are proposed for performance improvement for various types of networks. A set of traditional TCP variants based on how they handle congestion: Congestion detection and congestion avoidance are discussed in [1]. TCP variants for wireless networks are proposed based on the protocol design approach: layered approach and cross-layer approach. A layered protocol works independently at a layer without external feedback from the lower layers, while a cross-layer approach expects feedback from lower layers for decision-making purpose. More TCP variants are proposed specifically based on how they handle losses: based on loss differentiation, loss prediction and loss avoidance approaches. A detailed discussion of these TCP variants is given in [6]. In recent years, machine learning techniques are used with TCP for performance improvement. Section 2 discusses machine learning techniques. Section 3 discusses machine learning-based TCP variants. Section 4

Appropriateness of Machine Learning Techniques for TCP …

505

discusses the appropriateness of machine learning for TCP with MANETs. The paper concludes with the future research directives.

2 Machine Learning 2.1 Phases Artificial intelligence (AI) is the set of techniques to let computers do the things which at present human can do better. Machine learning is one of the applications of AI which allows computers to learn and improve from experiences. Learning refers to the accurate understanding of input data to produce accurate output data. The primary goal is to explore the data to identify complex patterns for intelligent decision making. Machine learning techniques are widely used in predictions, pattern recognition, language processing, computer vision, games, etc. From the forecast of student performance, weather, stock price to the processing of images, machine learning techniques are the future of computerization. A machine learning technique requires the previous dataset to learn, known as training dataset. This dataset contains results or known facts of all past experiences or surveys where the input–output pairs are known. The accuracy of learning depends on the accuracy and completeness of dataset. A machine learning technique has three stages: training, model building and testing. Training phase analyzes the training dataset to find relationships among the input values and their effects on output values. Based on the relationships learned from training, a model is built which accepts known inputs and produces unknown outputs. To measure the accuracy of the learning, the testing phase uses the model to find outputs for those inputs whose outputs are already known. So later on both the outputs, real and generated by model, can be compared to measure the accuracy of model. According to the availability of past experiences, the dataset varies. According to the selection of machine learning technique, the model building algorithm varies. Machine learning techniques are broadly classified into supervised learning, unsupervised learning and reinforcement learning based on when and for what purpose the learning is used. These techniques are also classified into online learning and offline learning, according to the time learning is performed and how the model is used further (Table 1).

Table 1 Machine learning techniques [7] Supervised learning Unsupervised learning Labeled data Direct feedback Predict outcome Classification, regression

Unlabeled data No feedback Find hidden structure Clustering

Reinforcement learning Trials and rewards Decision process Maximize reward Optimal policies

506

H. K. Molia and A. D. Kothari

2.2 Online Learning Online machine learning refers to the set of techniques where there is no prior training phase is implemented. Learning happens during run time of the application only. Such techniques are useful for applications where it is difficult to arrange a dataset for training due to unavailability or complexity reason. The advantage is no prior processing, and data storage of the dataset is required. As the learning happens run time, such methods are time consuming too. One of the most widely used online learning category is reinforcement learning. Reinforcement learning refers to the learn by trials concept. An agent, who tries to learn, interacts with the environment to receive feedback. Based on the feedback, an agent learns how accurate was its decision. Reinforcement learning does not require any past dataset or offline model building. The learning happens run time by processing live dataset—gathered by a set of trials. Reinforcement learning follows the properties of a Markov decision process where a Markov state refers to a state which holds the summary of all past states and current state. In such situation, it is not necessary to keep storing the past states. Reinforcement learning can be applied to any process which can be expressed as a Markov decision process. Q-learning is the simplest and widely used reinforcement learning [8].

2.3 Offline Learning Offline machine learning refers to the set of techniques where a prior training phase is implemented to build a model which will be implemented in the application where the learning is required. An accurate and complete dataset with input–output mapping is designed and fed to the learning technique to build the model. Once a model is tested and found accurate, it needs to be implemented in the application. During run time, only the model is used for decision making. Here, accuracy of the learning mainly depends on the accuracy of the dataset. There is a possibility that such methods are time consuming if the dataset is not ready but once the model is designed, it requires less time during execution. Supervised learning is offline learning which can be used for prediction purpose where either classification or regression can be done. Classification has a categorical output in the form of a class label, while regression has numerical output. The training dataset is composed of all those records for which the categorical output— class labels—are known. Decision tree methods are widely used for classification purpose [7]. Unsupervised learning can also be used in offline mode. Here, every input pair is not labeled categorically—with a class label. Instead of finding what could be the output for the given input, such techniques try to explore the dataset to find hidden structures, group items based on features in the form of a set of classes. Clustering techniques are examples of unsupervised learning [7].

Appropriateness of Machine Learning Techniques for TCP …

507

Semi-supervised learning combines supervised and unsupervised learning. In such learning, supervised learning is used to identify class whereas unsupervised learning is used to identify boundaries of classes [7].

3 TCP with Machine Learning To overcome the issues which raised when TCP is used with wireless networks, researchers have proposed solutions based on using machine learning techniques with TCP for various purposes like setting transmission rate, differentiating losses and for estimation of TCP parameters. Some of these solutions are discussed in this section.

3.1 TCP with Online Learning Learning TCP [9] sets the value of Congestion Window (Cwnd) to control transmission rate probabilistically using continuous action updating algorithm. Network state is decided based on the observations of interarrival time (IAT) between two successive TCP ACKs. Performance Index is calculated based on the analysis of series of IAT values. TCP ex Machina [10] is based on performing analysis of network assumptions and traffic detail to build a computer-generated congestion control algorithm. This approach does not use packet loss and RTT values directly for congestion control. The input parameters are based on interarrival time of ACKs and RTT ratio. The output parameters are for Cwnd increase factor and time interval between two packets. A machine learning framework for RTT estimation [11] is proposed for accurate RTT estimation. This solution proposed an experts framework using fixed-share experts algorithm where weights are updated based on difference between estimated and actual RTT. Intelligent TCP [12] introduced a multi-layer, feed-forward and reinforcement learning-based neural network to estimate Cwnd. This solution uses simple inputs and activation functions with no use of RTT because of its inaccurate estimation in wireless networks. The input parameters are the number of consecutive timeouts, number of duplicate ACKs and current value of Cwnd. Performance-based congestion control mechanism [13] proposed to try a set of transmission rates to select the most appropriate one based on the feedback utility function. The input parameters are based on Selective ACKs (SACK), throughput, latency and loss rate. Q-Learning TCP [8] is a reinforcement learning based, crosslayer and distributed solution for TCP fairness. This solution introduced fairness index and aggressiveness index states to decide maximum Cwnd size dynamically. The input parameters are calculated based on the number of forwarded packets and number of originated packets on a device.

508

H. K. Molia and A. D. Kothari

3.2 TCP with Offline Learning Bayesian packet loss detection for TCP [14] is based on using supervised learning to determine the cause of duplicate ACKs. Bayesian classification is used to differentiate a packet loss as a cause of link error loss or packet reorder event. The main input parameter is of RTT value. TCP with packet loss classifier [15] is based on using supervised learning to determine the cause of duplicate ACKs. Decision tree method is used to differentiate a packet loss as a cause of link error loss or congestion loss. The main input parameters are based on interarrival time and queuing delay.

4 Appropriateness of Machine Learning This section discusses what factors researchers should keep in mind while selecting a machine learning technique. The appropriateness of machine learning techniques with reference to TCP for MANETs in terms of type and scope of learning is discussed.

4.1 Type of Machine Learning It is necessary to select a machine learning technique considering the power, processing and memory constraints of network devices, the protocol where it is being implemented and the purpose of using it. As we are applying machine learning for TCP, it is also necessary to select a technique which is as lightweight as possible for immediate decision making. If we want to apply machine learning at a protocol level, the process of applying learning model for decision making must be fast to maintain performance. For example, if our model decides whether to retransmit a packet or not, then the cost of such decision making must be less than the cost of retransmission of a packet. The detailed comparison on selecting online or offline machine learning is discussed in Table 2.

4.2 Scope of Machine Learning The scope of machine learning needs to be decided for the collection of training dataset and model design purpose. It can be either inside a TCP connection or across all TCP connections of a network being at the network level. TCP, being a transport layer protocol, works as an end-to-end protocol. Multiple TCP connections might affect each other as far as the overall performance of every TCP connection is concerned, but they neither share statistics nor take part in decision making for each other.

Appropriateness of Machine Learning Techniques for TCP … Table 2 Type of machine learning Online machine learning

509

Offline machine learning

Data is processed immediately as and when it becomes available to build the model

Data of already completed events is processed to build the model. This model is implemented later on Learning, testing and model implementation Only model implementation needs to be done need to be done in the main application in the main application More appropriate when it is not feasible to More appropriate when almost all possible include all patterns in a single dataset for patterns can be included in the dataset for learning learning More suitable as dynamic topology and amount Less suitable because it is difficult to collect a of network traffic could make the dataset very dataset which combines all patterns of dynamic large topology and network traffic Learning, testing and model must be least Only model must be least expensive expensive considering power, processing and considering power, processing and memory memory constraints constraints Reinforcement learning is more suitable Supervised or unsupervised learning is more suitable

For example, a MANET is having four devices (A, B, C, D) which are sharing the same transmission ranges. There is a TCP connection—T C PAB between A and B. After a while, a TCP connection—T C PC D is established between C and D. There is a possibility that the performance of T C PAB is degraded because of sharing of bandwidth with T C PC D . After a while, T C PAB experiences network congestion. Subsequently, T C PAB will reduce its transmission rate. This doesn’t mean that T C PC D will also reduce its transmission rate immediately. T C PC D will reduce its transmission rate if and only if it experiences network congestion. There is no way of passing statistics from one TCP connection to other TCP connection (event if they are from the same devices) directly. Logically, there is no benefit of doing so. Most of the time, every TCP connection’s state is different from each other (based on available bandwidth, transmission rate, amount of data to be sent, distance between end devices, connection time, etc.) TCP is a connection-oriented transport layer. Various layered and cross-layered approaches are proposed for the performance improvements. Layered approaches are more suitable because they do not violate layer independency. Layered approaches are comparatively lightweight and easy to implement which makes them more suitable for MANETs. If machine learning is implemented with TCP, its scope should be inside a TCP connection rather than across multiple TCP connections. The detailed comparison on selecting the scope of learning is given in Table 3.

510 Table 3 Scope of machine learning TCP connection level Inside every TCP connection TCP connections do not need to share their statistics with each other even if belonging to the same nodes No violation of TCP connection independence Comparatively lightweight and easy to implement for MANETs

H. K. Molia and A. D. Kothari

Network level Across all TCP connections TCP connections need to share their statistics with each other or with a centralized intelligent system Violation of TCP connection independence Comparatively complex and difficult to implement for MANETs

5 Conclusion This paper discussed the appropriateness of machine learning techniques for the implementation with TCP for MANETs. Due to the resource restrictions of MANETs and instant decision-making requirement of TCP, it is advisable to use a machine learning technique which is as light as possible. Offline learning like supervised learning is less time consuming as the training phase is not executed run time but less efficient as it is extremely difficult to include every possible network scenario in training dataset. Building an accurate and complete dataset for dynamic networks such as MANETs is very challenging due to an extremely large number of possibilities in terms of topologies, traffic patterns and transmission issues. Online learning like reinforcement learning is more accurate but requires more resources as the training phase is executed run time. In such situation, reinforcement learning is most suitable where the network acts as an environment which provides feedback in the form of throughput, delay, loss rate, etc. TCP’s performance in wireless networks has been always a challenging problem. TCP’s default consideration of any loss as a cause of congestion suits well with the wired networks where the primary cause of packet drop is congestion. Whereas in wireless networks, many other issues like link errors, channel losses and route failures may cause packet losses which TCP cannot handle intelligently. Machine learning techniques are the best options to make TCP intelligent enough to decide the cause of a packet loss to act accordingly. One of the major directions toward using machine learning for TCP with MANETs would be for the intelligent loss differentiation purpose. Machine learning could be useful to set the transmission rate and other related parameters dynamically as per the network state. Machine learning techniques could also be useful to generate an entire new transport layer protocol similar to the concept of computer-generated congestion control algorithms, which is still an open challenging direction for the researchers.

Appropriateness of Machine Learning Techniques for TCP …

511

References 1. Abed, G.A., Ismail, M., Jumari, K.: Exploration and evaluation of traditional TCP congestion control techniques. J. King Saud Univ. Comput. Inf. Sci. 24(2), 145–155 (2012) 2. Mohapatra, P., Krishnamurthy, S.V.: Ad Hoc Networks Technologies and Protocols. Springer (2005) 3. Sarkar, S.K., Basavaraju, T.G., Puttamadappa, C.:. Ad Hoc Mobile Wireless Networks: Principles, Protocols, and Applications. CRC Press Taylor & Francis Group (2013) 4. Mast, N., Owens, T.J.: A survey of performance enhancement of transmission control protocol (TCP) in wireless Adhoc networks. EURASIP J. Wirel. Commun. Netw. (2011) 5. Al-Jubari, A.M., Othman, M., Ali, B.M., Hamid, N.A.W.A.: TCP performance in multi-hop wireless ad hoc networks challenges and solution. EURASIP J. Wirel. Commun. Netw. (2011) 6. Molia, H.K., Kothari, A.D.: TCP variants for mobile adhoc networks: challenges and solutions. Wirel. Pers. Commun. 100, 1791–1836 (2018) 7. Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques. Morgan Kaufmann Publishers Inc. (2011) 8. Arianpoo, N., Leung, V.C.M.: How network monitoring and reinforcement learning can improve TCP fairness in wireless multi-hop networks. EURASIP J. Wirel. Commun. Netw. (2016) 9. Ramana, B.V., Murthy, C.S.R.: Learning-TCP: a novel learning automata based congestion window updating mechanism for ad hoc wireless networks. High Performance Computing— HiPC 2005. Lecture Notes in Computer Science, vol. 3769, pp. 454–464. Springer (2005) 10. Winstein, K., Balakrishnan, H.: TCP ex machina: computer-generated congestion control. In: Proceedings of the ACM SIGCOMM 2013 Conference, pp. 123–134 (2013) 11. Nunes, B.A.A, Veenstra, K., Ballenthin, W., Lukin, S., Obraczka, K.: A machine learning framework for tcp round-trip time estimation. EURASIP J. Wirel. Commun. Netw. (2014) 12. Al Islam, A.B.M.A., Raghunathan, V.: iTCP: an intelligent TCP with neural network based end-to-end congestion control for ad-hoc multi-hop wireless mesh networks. Wirel. Netw. 21, 581–610 (2015) 13. Dong, M., Li, Q., Zarchy, D., Godfrey, B., Schapira, M.:. PCC re-architecting congestion control for consistent high performance. In: Computing Research Repository Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation, abs/1409.7092 (2014) 14. Fonseca, N., Crovella, M.: Bayesian packet loss detection for TCP. In: IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies, vol. 3, pp. 1826–1837 (2005) 15. El Khayat, I., Geurts, P., Leduc, G.: Enhancement of TCP over wired/wireless networks with packet loss classifiers inferred by supervised learning. Wirel. Netw. 16, 273–290 (2010)

Correction to: Software Cost Estimation for Python Projects Using Genetic Algorithm Amrita Sharma and Neha Chaudhary

Correction to: Chapter “Software Cost Estimation for Python Projects Using Genetic Algorithm” in: J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_11 In the original version of the book, the following belated correction has been incorporated: The affiliation of Dr. Neha Chaudhary and Amrita Sharma has been changed from “Department of Computer Science and Engineering, Manipal University, Jaipur, India” to “Department of Computer Science and Engineering, Manipal University Jaipur, Jaipur, India”. The erratum chapter and the book have been updated with the change.

The updated version of this chapter can be found at https://doi.org/10.1007/978-981-15-3325-9_11 © Springer Nature Singapore Pte Ltd. 2020 J. C. Bansal et al. (eds.), Communication and Intelligent Systems, Lecture Notes in Networks and Systems 120, https://doi.org/10.1007/978-981-15-3325-9_40

C1