Proceedings of KAGADA 2008

Page 1


Proceedings Fifth National Student Conference

Kagada 2008 November 5, 2008 University Visvesvaraya College of Engineering K R Circle, Bangalore.

Organized by IEEE UVCE Student Branch University Visvesvaraya College of Engineering Bangalore University, Bangalore

Jointly Sponsored by

TEQIP UVCE &



Welcome Message

On behalf of the organizers of KAGADA- National Student Conference, UVCEBangalore, it is with great pleasure that we welcome you to University Visvesvaraya College of Engineering, Bangalore to participate in this exciting technical program. We hope you find the technical program enjoyable and most beneficial. KAGADA- National Student Conference, comprises of two sessions, viz. Paper Presentation and Poster Paper Session. The event will witness Research Papers from fields of Electronics, Electrical and Computer Science, from budding engineering students from various institutions of the country. We acknowledge the support from the sponsors TEQIP-UVCE and TOSHIBATESI, we also express our gratitude to all the Program Organizing Committee members, the reviewers and the judges who gave their valuable time in providing critical reviews. The Student Conference would not have been possible without the help of the student volunteers. We thank them most sincerely.

Venugopal K R

Dr. P Deepa Shenoy

Branch Advisor Principal and Dean, Faculty of Engineering University Visvesvaraya College of Engineering Bangalore.

Branch Counselor Prof Dept of Computer Science University Visvesvaraya College of Engineering Bangalore.



Conference Organization Branch Patron Dr. L M Patnaik Branch Advisor Dr. Venugopal K R Branch Counselor Dr. P Deepa Shenoy Branch Mentors Dr. K B Raja Smt. Thriveni J

Student Executive Committee Chairman Prasanth G Rao Vice Chairman Rama Murali G K Treasurer Shruthi S Rao General Secretary Suhas N Joint Secretary Rahul Prabhu H


Student Sub-EXECOM Ripples Activities Shreyas Vidyarthi Webmaster Kiran Avishkar Vinay J Editorial Committee Spoorty A Raman Membership In-charge Srikanth VM

Student Volunteers Abhilash R.V Krishna S Rakesh R Rupesh P Sagar D.S Satwikh G.N Sanjith Joseph Velaga Rajesh Chowdary Vijaeendra Simha Vijayalakshmi Vishnu Prasad K


Contents Sl No. 1 2 3 4 5 6 7 8 9 10 11 12

PAPER TITLE

Pg No.

Microcontroller based solar tracking system. - K Rahul Sharma and Kshitij Gupta, RVCE Bangalore

1

Automated Attendance system using intelligent visual surveillance system. Hamed Peikari and Mohammad Peikari, MIT Manipal

7

Secure and Advanced Graphical Authentication System Kiran, Vinay J and Darshan K, UVCE Bangalore

15

Implementation of PID controllers in robots Vasantha Lakshmi and Viraja Sharma, RNSIT Bangalore

20

System to detect and notify accidents and hit and run cases. - S R Suhas, Taran Raj, Suraj Varma and Priyanka Varma

23

A Novel Approach for Application of RFID Technology in Mass Transport System - Srikanth V M, Rakesh R and Rupesh P, UVCE Bangalore

29

Implementation of the text twister game. - Aishwarya M, Abhay S Kulkarni, Athreya Hegde and Karrthik M Bangera and Abhishek S B, MSRIT Bangalore

34

Real Time Parking System(RTPS) - Mohammad Saad, UVCE Bangalore

37

SUDOKU – Algorithms and Applications - Aishwarya Deep Shukla, Soumya Janardhanan and Pavan Karkun, BIT Bangalore

43

Effective E-Banking. - Phanindra J, RNSIT Bangalore

51

PBP: A Mechanism for Secure Routing in Heterogeneous Sensor Networks - Vineet G H, M Q. Qazi and Prashanth C R, UVCE Bangalore

56

Implementation of the time table problem using a Non-Genetic algorithm and extension to Genetic algorithms. - Avinash R Krishnan, Abhishek Singhvi, Ambar Garg and Adarsh J, MSRIT Bangalore

63



kagada2008

IEEE UVCE

MICROCONTROLLER BASED SOLAR TRACKING SYSTEM. K. Rahul Sharma, Kshitij Gupta, Dept. of EEE, RVCE, Bangalore. same is called a solar module or solar array. Typically, currently available silicon cells have conversion efficiencies of maximum 15%.

Abstract- This paper explores the use of micro controllers for implementing a solar tracking system for photovoltaic installations. Photovoltaics work on the basic principle of conversion of solar radiation to electrical energy in semiconductor p-n junctions. Solar cells are arranged in an array, to form a solar panel for generating higher voltages depending on the application. The panels are made from monocrystalline cells.

The I-V characteristic curve of the panels employed, shown here.

2.5

Current (A)

2

The overall efficiency of the solar module can be increased if the solar panel is directly facing the sun at all times during the day. This can be achieved by a solar tracking system, designed to rotate the solar collector along with the sun’s movement throughout the day. In this paper, the design and implementation of a cost-effective solar tracking system, using micro controllers is explored.

1.5

1

0.5

0 0

5

10

15

20

Voltage (V)

Figure 1: I-V characteristic curve

I. INTRODUCTION

A solar tracker is a device for orienting a solar photovoltaic panel or concentrating solar reflector or lens toward the sun. The sun's position in the sky varies both with the seasons (elevation) and time of day as the sun moves across the sky. Solar powered equipment works best when pointed at or near the sun, so a solar tracker can increase the effectiveness of such equipment over any fixed position, at the cost of additional system complexity.

With the current energy crisis and concerns over detrimental environmental impacts of using conventional fuels to generate energy, focus has shifted to alternate energy sources in many countries. India has a huge potential for implementing solar energy plants for generating power. Research and development in this sector can lead to a decrease in costs of generating solar power, and make it a feasible option alternative to conventional fuels.

A dual axis tracking system is a system that follows the sun in multiple angles ensuring that the sunbeam angle is 100% correct on the panel. By tracking the sun, the efficiency of the solar panels can be increased by 15-20%.

Photovoltaic work on the basic principle of direct conversion of incident solar radiation into electrical energy, in semiconductor materials. The p-n junction of a doped semiconductor material provides the necessary electrical field, which causes the electrons to move from the p to n type material. These individual junctions are known as solar cells and an array of the

In this paper, design of a dual axis solar 1


kagada2008

IEEE UVCE

The position of a surface may generally be described by its slope β (the angle formed with the horizontal) and the azimuth α of the normal to the surface. The angle of solar incidence between the sun’s rays and the normal to the surface may be calculated from

tracking using microprocessor and active tracking is employed. Active tracking utilizes photo-diodes to 'actively' track the position of the sun throughout the day. The intensity of light falling on the diodes indicates whether rotation is necessary or not. If yes, then the processor executes a program for the rotation of the PMDC motor. As opposed to this, passive solar tracking only employs an in built program and no photo diodes are employed in the design. In general, solar trackers are not widely used as the cost for installing the tracker is often too high. Here, the project aims at designing a low cost solar tracking system.

cos θS = sin δ sin φ cos β − [sign(φ)] sinδ cos φ sin β cos α + cos δ cos φ cos β cos ω + [sin(φ)] cos δ sin φ sin β cos α cos ω + cos δ sin α sin ω sin β In the case of surfaces tilted towards the equator (facing south in the Northern Hemisphere, or facing north in the Southern Hemisphere), α = 0, and it simplifies to cos θS = [sign(φ)] sin δ sin(abs(φ) − β) + cos δ cos(abs(φ) − β) cosω

II. METHODOLOGY The CdS photodiodes are placed on either end of the solar panel. These diodes sense the intensity of incoming radiation. If the radiation is above the threshold level of the diode, a voltage is generated across the P-N junction of the diode. The outputs are fed to a comparator. If there is a difference in the voltage generated by the diodes and it exceeds the predetermined value, the comparator generates an output signal, which is fed to the ADC. The ADC sends logic 1 to the microprocessor on receiving the comparator input. The microprocessor, on receiving this input, executes a program for the forward rotation of the stepper motor by calling the subroutine. The stepper motor is coupled to the solar panel. This process increases the efficiency of the solar panel by 15-20%, by ensuring that the panel is directly facing the incoming radiation at all times. The PV conversion efficiency (η) is calculated from the measured maximum or peak PV power (Pmax), device area (A), and total incident irradiance (Etot): η = (Pmax/ EtotA )*100

Here, the solar zenith angle, θZS, is between the vertical and the incident solar beam; and the solar azimuth, ψS, is between the meridians of the location and the sun. The complement of the zenith angle is called the solar altitude, γS, and represents the angle between the horizon and the solar beam in a plane determined by the zenith and the sun. In the Northern (Southern) Hemisphere, the solar azimuth is referenced to south (north) and is defined as positive towards the west, that is, in the evening, and negative towards the east, that is, in the morning. At any given moment, the angular coordinates of the sun with respect to a point of geographic latitude φ (north positive, south negative) are calculated from the equations: cos θzs = sin δ sin φ + cos δ cos φ cosω = sin γS and cosψS = (sin γS sin φ − sin δ)cos γS cos φ[sin(φ)] Here ω is called the true solar time, or local apparent time, or solar hour, and is the difference between noon and the selected

A) SOLAR ANGLE CALCULATIONS

2


kagada2008

IEEE UVCE

moment of the day in terms of a 360◦ rotation in 24 h. This calculation is used to estimate the angle at which the solar panel should be placed, with respect to the horizontal. The solar tracking system employs the following equations for calculations. Tracking about two axes maintains the receiver surface always perpendicular to the sun (β = θZS; α = ψS). Hence, it allows collecting the maximum amount of energy possible. The surface position and the solar incident angle are given by the following equations. These assume a horizontal solar panel orientation.

Figure 3 B) CHARGE REGULATOR

β = arctan (sinψS/tan γS) and, cos θS = cos δ · [sin2 ω + (cos φ cosω + tan δ sin φ)2]1/2

Power for the entire control system is derived from the solar panel itself. The unregulated DC power output of the panel is fed to a regulator (LM34XX series), which gives a fixed output of 13.6 V to charge a 12 V battery. The output of this battery is connected to the motor driver circuit. Further, power input for the processor is derived through a regulator connected between the battery and the processor. The regulator supplies a fixed output of 5V for the processor. The block diagram of the entire circuit is as shown below.

Figure 4: Block diagram of the circuit BASIC PROGRAM FLOWCHART

Figure 2

3


kagada2008

IEEE UVCE

2. Input from both the LDR’s are taken. 3. These inputs are fed to the differential amplifier 4. The output of the differential amplifier is fed to the ADC where the analog input is converted into digital output. 5. The timer is initially set at the time when the tracker is first used in the time compare subroutine. 6. The time in the timer is checked to see if it equals 6pm i.e. the stopping time of tracker. 7. If the answer to the above condition is “YES” then the Reverse Subroutine is initialized and the motor is brought back to its original position and the day counter is incremented by 1. 8. And if the answer to above question is no then time compare subroutine is executed 9. In the time compare subroutine the difference of the timer and 6:00 is taken. 10. If this difference is greater than 30 minutes then check ncounter. 11. If ncounter is zero then ADC O/P condition is checked otherwise forward subroutine is initialized for ncounter times and the control goes to the ADC check condition. 12. And if the answer to the condition in step 10 is negative then the control directly goes to the ADC O/P check condition. 13. Now we check if the ADC O/P is greater than the threshold voltage. 14. If the answer to the above condition is yes then the forward subroutine is executed and the motor rotates for 1 degree for every minute & after this again the time compare subroutine is executed. 15. And if the answer to the condition in Step 13 is negative then increment the ncounter by 1 and again the time compare subroutine is executed.

TIME COMPARE SUBROUTINE

C) SYSTEM COMPONENTS

ALGORITHM

The Photo Diodes CdS (Cadmium Sulphide) sensors are cheap,

1. Start

4


kagada2008

IEEE UVCE

reliable and photosensitive. The CdS sensors provide the advantage that they have a photo variable resistor in which the internal impedance changes with the intensity of light energy. Here when the ambient light brightens, the sensors internal impedance reduces and that the photo sensitivity, that is, the spectral characteristics is .4 to .8 mm which is in the range of visible solar light that is between .38 to .76mm

one IC we can interface two DC motors which can be controlled in both clockwise and counter clockwise direction and if you have motor with fix direction of motion the you can make use of all the four I/Os to connect up to four DC motors. L293D has output current of 600mA and peak output current of 1.2A per channel. Moreover for protection of circuit from back EMF output diodes are included within the IC. The output supply (VCC2) has a wide range from 4.5V to 36V, which has made L293D a best choice for DC motor driver.

Implementation of the sensor The tracking sensor is composed of two similar CdS sensors which are located at the east and west end of the panel to detect the light source intensity. The glass cover of CdS sensors are coated black except at the top so that light enters only through the top so as to concentrate the amount of light incident on the photo diode and light from stray sources doesn't enter it. The two sensors compare the intensity of received light in the east west direction. If the difference in the two sensor's output voltage exceeds the fixed limit, then the microcontroller subroutine is evoked and it will rotate the PMDC motor till the difference in the output voltage of the two sensors fall below the specified limit.

A simple schematic for interfacing a DC motor using L293D is shown below.

Dual Axis Rotation This tracking system has been designed for two-axis rotation of the panel. As the orientation of the sun in the north south direction varies only four times in a year, this information is fed to the processor and on the day's on which there is a change in this axis, the processor will rotate the PMDC motor for this axis by the required angle of 23.5 degrees.

Figure 4: L293D H-Bridge interfacing IV. RESULTS AND CONCLUSION The values of output voltage corresponding to different hours of the day are recorded. This is done for the panel with, and without tracking. As it can be seen from the graphs shown below, the average voltage developed by the panels is greater in the case where a tracking system is employed. The overall tracking angle is approximately 120 degrees.

Regulator The regulators are designed as per the manufacturers required specification by coupling the input and output terminals with capacitors so as to reduce the ripple (if required) and to improve the transient response Driver Circuit L293D Dual H-Bridge Motor Driver L293D is a dual H-Bridge motor driver, So with 5


kagada2008

IEEE UVCE

K. Natarajan and Mrs. A. Sridevi, faculty of the Electrical and Electronics department, for their constant support, encouragement and valuable suggestions throughout the design and implementation of the project. Project members- K. Rahul Sharma, Joyer Benedict Lobo, Kshitij Gupta, Vyom Rastogi

Figure 4: Voltage 1 is the voltage generated at the output terminals of the panel without tracking. Voltage 2 is the output when tracking is employed. In the first case, an average voltage of 15 V is generated, and the average voltage increases to 17.3 Volts in the second case. The average increase in 2.3 V amounts to an increased efficiency of 15.3%. The drawback in implementing this system is that, in small PV systems, the cost of the tracking system increases the total cost of the panel assembly. And, in smaller, stand alone systems, the level of accuracy offered by the micro controller is not a requirement and a simpler tracker may be employed. However, such a tracker can be used in solar farms, where a large number of panels are employed, for improving efficiency of generation. V. REFERENCES [1] J. W. Twidell and A. D. Weir, Renewable Energy Resources (E & F.N. Spon, London, 1986) [2] Adolf Goetzberger, Joachim Knobloch, Bernhard VoB, Crystalline Silicon Solar Cells [3] Renewable Energy: Power for Sustainable Future, edited by G. Boyle (Oxford University Press in association with the Open University, New York, UK, 1996).

VI. ACKNOWLEDGEMENT We would like to thank Mr. S. Mukherjee, Prof. 6


kagada2008

IEEE UVCE

Automated Attendance system using intelligent visual surveillance system Hamed Peikari, 4th year, Computer Science and Engineering (hamed.peikari@gmil.com) Mohammad Peikari, 4th year, Computer Science and Engineering (m.peikari@gmail.com) Manipal Institute of Technology, Manipal University, Oct 2008

detection is 100% correct and secondly after face recognition is done before database is updated to verify the correctness.

Abstract Automation plays an increasingly important role in the global economy and in our daily lives. It is the use of control systems such as computers to control processes, reducing the need for human intervention. Goal is to combine automated devices with mathematical and organizational tools to create complex systems for a rapidly expanding range of applications and human activities. New applications areas for automation are emerging, such as security using intelligent visual surveillance systems. In the other hand Face detection and recognition has been a popular research topic in computer vision. Numerous different face detection and recognition techniques have been developed owing to the growing number of real world applications. In this project we have used face detection and recognition to implement intelligent visual surveillance system to implement an automated attendance system for students or employee which is designed to operate in real-time. In this system, a single camera is used to take the picture of work place and detect faces. An efficient face detection algorithm which can detect multiple faces in a cluttered environment is needed. Each detected face is passed to face recognition module to be recognized and accordingly update database based on the presence or absence of the student or employee. User intervenes the system twice. Once after face detection is done to make sure the result of face

Introduction Human face detection and recognition have long being a difficult research topic. In the last two decades, researchers have devoted much effort to these two problems and have obtained some satisfactory results. Some of these previous efforts were focused on face recognition. We are have used these techniques to automate attendance taking process to save teachers time and removing this work load from him, and documenting the results in form of images which can be analyzed and referred to any time offline. In our system, there is a stationary camera mounted on the wall and takes the snap of the class. After image enhancement we use face detection, to detect and mark multiple faces. Every detected face is then input to a face recognition module to identify the student and accordingly update the database. The first step in face recognition is to detect the face and remove the background, since background adds to the complexity of process. In the other hand identification of students is highly depended on the result of this module. Violajones[1] is a learning algorithm, based on AdaBoost, which selects a small number of

7


kagada2008

IEEE UVCE

critical visual features from a larger set and yields extremely efficient classifiers. We have used the viola-jones[1] implemented by OpenCV[2] open source tool which is developed by Intel Co. as the base of our work and modified it to serve our purpose.

comparable to the best previous systems. It is used in real-time applications and runs without resorting to image differencing or skin color detection. AdaBoost (training) Given a training set containing tagged examples of faces (positive examples) and non-faces (negative examples), we can construct a strong classifier of data vector x from a linear combination of weak classifiers. We can call this method "Boosting" (Combine a number of simple classifiers so that the ensemble is arbitrarily accurate).

Turk and Pentland[3] have successfully employed the eigenface approach to recognize someone's face. The overall problem is to be able to accurately recognize a person's identity and take some action based on the outcome of the recognition process. Recognizing a person's identity is important mainly for security reason, but it could also be used to obtain quick access to medical, criminal, attendance or any type of records.

Feature Set (Rectangle features) Using simple rectangular templates such as shown in figure (1), we can calculate intensity ratios for sub-windows within the image. For example, the feature on (A) is white area - black area. likewise, feature value in (C) is subtraction of sum of image intensity in black are from sum of intensity in the white-center area.

Viola Jones Object detection Viola-jones[1] is distinguished by three key contributions. The first is the introduction of a new image representation called the Integral Image which allows the features used by detector to be computed very quickly. The second is a learning algorithm, based on AdaBoost, which selects a small number of critical visual features from a larger set and yields extremely efficient classifiers[6]. This is the training step of the face detection algorithm. Training of the algorithm needs nearly fifteen thousand negative and positive images and takes several weeks time. However Once the classifier is trained it can be used in any other application. In our system we are using the classifier trained by Intel. The third contribution is a method for combining increasingly more complex classifiers in a cascade which allows background regions of the image to be quickly discarded while spending more computation on promising object-like regions. The cascade can be viewed as an object specific focus-of-attention mechanism which unlike previous approaches provides statistical guarantees that discarded regions are unlikely to contain the object of interest. In the domain of face detection the system yields detection rates

Figure (1). Rectangle features

Rectangle features shown relative to the enclosing detection window. The sum of the pixels which lie within the white rectangles are subtracted from the sum of pixels in the grey rectangles. Two-rectangle features are shown in (A) and (B). Figure (C) shows a three-rectangle feature, and (D) a four-rectangle feature.

8


kagada2008

IEEE UVCE

The task of facial recognition is discriminating input signals (image data) into several classes (persons). The input signals are highly noisy (e.g. the noise is caused by differing lighting conditions, pose etc.), yet the input images are not completely random and in spite of their differences there are patterns which occur in any input signal. Such patterns, which can be observed in all signals could be - in the domain of facial recognition - the presence of some objects (eyes, nose, mouth) in any face as well as relative distances between these objects. These characteristic features are called eigenfaces[3] in the facial recognition domain (or principal components[4] generally). They can be extracted out of original image data by means of a mathematical tool called Principal Component Analysis (PCA)[4].

Boosting It builds a strong classifier by combining number of “weak classifiers”, which need only be better than chance. It is flexible to choice of weak learner including fast simple classifiers that alone may be inaccurate. Sequential learning process: at each iteration, add a weak classifier. AdaBoost: Intuition Consider a 2-d feature space with positive and negative examples Figure(2). Each weak classifier splits the training examples with at least 50% accuracy. Examples misclassified by a previous weak learner are given more emphasis at future rounds.

By means of PCA we can transform each original image of the training set into a corresponding eigenface[3]. An important feature of PCA is that we can reconstruct any original image from the training set by combining the eigenfaces. Eigenfaces are characteristic features of the faces. Therefore the original face image can be reconstructed from eigenfaces if we add up all the eigenfaces (features) in the right proportion. Each eigenface represents only certain features of the face, which may or may not be present in the original image. If the feature is present in the original image to a higher degree, the share of the corresponding eigenface in the ”sum” of the eigenfaces should be greater. If, contrary, the particular feature is not (or almost not) present in the original image, then the corresponding eigenface should contribute a smaller (or not at all) part to the sum of eigenfaces. So, in order to reconstruct the original image from the eigenfaces, one has to build a kind of weighted sum of all eigenfaces. That is, the reconstructed original image is equal to a sum of all eigenfaces, with each eigenface having a certain weight. This weight specifies, to what degree the specific feature (eigenface) is present in the original image. If we use all the

Figure(2) Weak Classifier

Face Recognition Once the faces are detected, the results are shown to the operator, and if there is any mistake in detection he can correct it to get a 100% accurate result. This is facilitated by developing an interacting interface. User can disselect the wrongly detected faces by clicking in slection box, and can select missed faces by draging the mouse over them. After user has confirmed the results, the selected faces are cut from th eoriginal image and input to face recognition module. We have used eigneface method to identify the faces.

9


kagada2008

IEEE UVCE

eigenfaces extracted from original images, we can reconstruct the original images from the eigenfaces exactly. But we can also use only a part of the eigenfaces. Then the reconstructed image is an approximation of the original image. However, we can ensure that losses due to omitting some of the eigenfaces can be minimized. This happens by choosing only the most important features (eigenfaces). Omission of eigenfaces is necessary due to scarcity of computational resources. It is possible not only to extract the face from eigenfaces given a set of weights, but also to go the opposite way. This opposite way would be to extract the weights from eigenfaces and the face to be recognized. These weights tell nothing less, as the amount by which the face in question differs from ”typical” faces represented by the eigenfaces. Therefore, using this weights we can determine two important things:

Figure(3) Eigenfaces from AT&T Laboratories Cambridge.

Overview over the algorithm First, the original images of the training set are transformed into a set of eigenfaces E. Afterwards, the weights are calculated for each image of the training set and stored in the set W .

1. Determine, if the image in question is a face at all. In the case the weights of the image differ too much from the weights of face images (i.e. images, from which we know for sure that they are faces), the image probably is not a face. [5]

Upon observing an unknown image X, the weights are calculated for that particular image and stored in the vector WX. Afterwards, WX is compared with the weights of images, of which one knows for certain that they are faces (the weights of the training set W ). To do this, regard each weight vector as a point in space and calculate an average distance D between the weight vectors from WX and the weight vector of the unknown image WX. If this average distance exceeds some threshold value , then the weight vector of the unknown image WX lies too ”far apart” from the weights of the faces. In this case, the unknown X is considered to not a face. Otherwise (if X is actually a face), its weight vector WX is stored for later classification. The optimal threshold value has to be determined empirically.

2. Similar faces (images) possess similar features (eigenfaces) to similar degrees (weights). If one extracts weights from all the images available, the images could be grouped to clusters. That is, all images having similar weights are likely to be similar faces. [5]

10


kagada2008

IEEE UVCE

Recognition may fail in case the person totally changes his look, like keeping beard, hair cut, wearing glasses etc.

Classifying the faces The process of classification of a new (unknown) face to one of the classes (known faces) proceeds in two steps.

An accurate and efficient method for human face detection and recognition is still lacking.

First, the new image is transformed into its eigenface components. The resulting weights form the weight vector.

Observation We noticed that we can effectively improve the accuracy of viola-jones results in face detection by considering some factors as a parameter to the algorithm. The accuracy of face detection can be improved by finding an optimum value for scale parameter. To intelligently find an optimum value we can consider 3 factors.

The Euclidean distance between two weight vectors provides a measure of similarity between the corresponding images i and j. If the Euclidean distance between unknown face and other faces exceeds (on average) some threshold value, we can assume that this image is not a face at all. This also allows us to construct ”clusters” of faces such that similar faces are assigned to one cluster.

1- Approximate distance of person from camera. 2- Resolution of camera. 3- Approximate location of faces in image.

Our Developed System By knowing the approximate distance of person from camera and also the resolution of camera we can make an intelligent guess about the size of face in the image. In the other hand we can focus on finding faces in the areas where a person is present. Using a thermo gram or infrared cameras we can mark the locations where someone is present. This can be used in security systems. In case of implementing system upon visual surveillance systems where we can input stream of video frames to program, we can implement a simple motion detection method to remove the stationary background and search for the faces in the marked locations. We believe that this will improve accuracy of detection to above 95% and hence eliminate the need for user to verify the detection results.

We have implemented a system which is capable of getting images taken by a camera (jpg, bmp) and detect multiple faces in the image. User has control over the program to input parameters so that it will affect the accuracy of detection. He can also verify the results and intervene to get a 100% correct detection rate. Detected faces will be identified next using eigenface method and student’s attendance record will be updated automatically accordingly. We have almost finished the recognition module. However more enhancements and coding are needed to improve it’s performance.

Drawbacks Future enhancement:

Most of the similar systems limit themselves to dealing with human faces in frontal view. That is, the orientation problem, which is a potential trouble in this type of system affects the performance.

Further works can be done to make the system analyze stream of images from video taken. In addition motion detection and face detection algorithms can be concurrently used to make face

11


kagada2008

IEEE UVCE

[5] Eigenface-based facial recognition by Dimitri PISSARE#KO, February 13, 2003 (http://openbio.sourceforge.net/resources/eigenface)

detection robust and accurate so that we can eliminate the need of user intervention. In addition eigenface train set should be trained with more number of frontal face images of each student in order to get better identification results.

[6] Yoav Freund and Robert E. Schapire. A decisiontheoretic generalization of on-line learning and an application to boosting. In Computational Learning Theory: Eurocolt ’95, pages 23–37. Springer-Verlag, 1995.

Reference

[7] A decision-theoretic generalization of on-line learning and an application to boosting Journal of Computer and System Sciences, no. 55. 1997 (Original paper of Yoav Freund and Robert E.Schapire where Adaboost is first introduced.)

[1] Rapid Object Detection Using a Boosted Cascade of Simple Features Paul Viola and Michael Jones ,TR-2004-043, May 2004 [2] OpenCV is a computer vision library originally developed by Intel. It is free for commercial and research use under a BSD license ( URL http://sourceforge.net/projects/opencv/) [3] M. A. Turk and A. P. Pentland. Face recognition using eigenfaces. In Proc. of Computer Vision and Pattern Recognition, pages 586-591. IEEE, June 1991b [4] A.A. Miranda, Y.-A. Le Borgne, and G. Bontempi. #ew Routes from Minimal Approximation Error to Principal Components, Volume 27, Number 3 / June, 2008, Neural Processing Letters, Springer

12


kagada2008

IEEE UVCE

Apendix Image bellow shows how AdaBoost works and how the set of weak classifier can be strong classifier H(x)

Example of frontal upright face images used for training the Adaboost classifier

13


kagada2008

IEEE UVCE

Image below is the result of applying voila-jones face detection on an image in our system.

Image below shows the result of a face recognition attemps. Here picture of the person on left is the one to be identified, 2nd picture is the closest match, 3rd picture from left is the eigenface image. The person is not identified and output is “new face�.

14


kagada2008

IEEE UVCE

Secure and Enhanced Graphical Authentication System Darshan K*, Kiran*, Vinay J* *Department of Computer Science and Engineering, University Visvesvaraya College of Engineering, Bangalore 560 001

Abstract—Information security is one of the prime concerns in the era of information exchange via Networks. The current authentication systems have failed to address the compound requirements for enhanced security. The text based authentication systems are susceptible to security risks that include dictionary attacks, key stroke logging and shoulder-surfing attacks. Biometric authentication is beginning to address these needs but possesses several short comings that inhibit its wide spread adoption. In this paper we propose a novel graphical authentication system which relies on the user to select his usual alphanumeric password from a randomized graphical password space, as an alternative to both existing systems and biometrics. This system can be implemented on already existing systems. Keywords: User Authentication, Key logging, Shoulder-Surfing attack, Security issues.

I. INTRODUCTION In computer security, authentication is defined as the verification of the identity of a user or the user’s eligibility to access an object. The most common computer authentication method is for a user to submit a user name and a text password. The vulnerabilities of this method are that short passwords are easily cracked by dictionary attacks while relatively stronger passwords undergo key logging by Trojans. According to a Computer world news article, the security team at a large company ran a network password cracker and within 30 seconds, they identified about 80% of the passwords [6]. We can draw the inference that for passwords not to be cracked, they should be hard to guess but this doesn’t ensure that the password wont be stolen by key logging.

shortcomings. We also cover major design and implementation issues of graphical systems. We also provide a new algorithm for generating random image sequence on password space and also show how to throw both shoulder-surfers and key loggers off the track. Motivation:User authentication and security is a prime concern in today’s world. Even for experienced system users and large corporations, there is a need for providing an easy but secure medium of access. An authentication system like the one proposed here can provide the additional security while maintaining the ease of use. Having a user click images of alphanumeric characters instead of typing in the password makes it immune to Trojans that log the key strokes. The fast motion of the mouse cursor makes it difficult for the shoulder-surfer to guess the points at which the clicks have occurred.

Contribution:Randomized alphanumeric character images forming the password space and incorporating a click-based approach are the key components for enhancing the security in authentication models. Graphical authentication systems have attracted much attention in recent years. The algorithm does not require any prior knowledge of randomization and graphical passwords. We propose a system for authenticating an user which uses the existing simple alphanumeric characters that have to be selected as an image group or sequence to determine user identity. The system uses a large portfolio which involves entire keyboard character set. We consider character sequence that is clicked to authentify our target user and provide a randomized onscreen alphanumeric sequence to To address the problems in traditional authentication systems, throw the shoulder surfer and key logger off track. we focus on an alternative authentication method of using images of alphanumeric characters. Our scheme will involve The remainder of the paper is organized as follows Section 2 the users to select the passwords using locator devices such as gives the overview of the related work. Section 3 describes the a mouse from a randomly ordered images of alphanumeric architecture of the proposed system. In section 4 the characters displayed on the screen. Dictionary attacks are algorithms for randomizing the alphanumeric character images infeasible on such a system partly because of the large and generating a dummy alphanumeric sequence. Security password space but mainly because there are no pre existing issues are analyzed in section 5. Section 6 contains the search able dictionaries to guess the relative positions of conclusions. alphanumeric characters displayed on the screen. It is also difficult to devise automated attacks and key logging is virtually non existent as the keyboard is not involved as a part II. RELATED WORK of the authentication password.[3] A brief survey of the related work in the area of user authentication is presented here. Knowledge based techniques In this paper, we review various authentication systems are the most widely used authentication techniques and include currently in place. We discuss the limitations of the current both text-based and picture-based passwords. The systems and propose a new system to overcome these

15


kagada2008 using fewer objects may lead to a smaller password space, since the resulting convex hull can be large. In their second algorithm, a user moves a frame (and the objects within it) until the pass object on the frame lines up with the other two pass-objects. The authors also suggest repeating the process a few more times to minimize the likelihood of logging in by randomly clicking or rotating. The main drawback of these algorithms is that the log in process can be slow. This scheme suffers from edge problem and rendering higher number of time initially. The Dhamija and Perrig., [2] has proposed an algorithm based on objects on the screen or window takes N CK . N is total number of picture password space of this scheme is random art, in which the images to be selected as pass-icons objects and K is number of pre-registered pass-objects. are computer generated which utilizes mathematical formulas for the purpose. This images contain unique seed which form the users password. At the authentication stage the server just All of the above mentioned schemes are designed using requires the seeds not the complete image. Since these images challenge-response protocol to enhance the security by sharing are computer generated they cannot be interpreted by third the secret among the user and the system and these schemes person. It consumes more log in time as compared to textual are vulnerable to shoulder-surfing attacks. An unauthorized passwords. break in can occur just by observing the images selected by the authorized user. Man et al., [1] proposed an algorithm in which the target user selects a number of pictures as pass-objects each variant of which is assigned a unique code. During authentication, the III. ARCHITECTURE user is challenged with several scenes containing several passobjects (each in the form of a randomly chosen variant) and In many graphical password systems, either the image many decoy-objects. The user has to type in a string with the sequences are static or they employ an easy to guess image unique codes corresponding to the pass-object variants present position as the password. In this algorithm, we assume that the in the scene as well as a code indicating the relative location of password authentication will be done entirely using a locator the pass-objects in reference to a pair of eyes. The argument is device such as a mouse. We also assume that the target user that it is very hard to crack this kind of password even if the can select his password character sequence on the screen whole authentication process is recorded on video because without relying on responsive feedback from the password where is no mouse click to give away the pass-object window. information. However, this method still requires users to The architecture of the present paper is shown in Figure memorize the alphanumeric code for each pass-object variant. However, this method still forces the user to memorize many 1. Initially, the alphanumeric character images are ordered text strings and therefore suffer from the many drawbacks of through a password space randomizer. This randomizer employs an modified time seeded random number generator text-based passwords. algorithm to position the character set on the user screen. This Jansen et al.,[4] proposed a graphical password mechanism for random positioning protects our system from mouse click mobile devices. During the enrollment stage, a user selects a logging Trojans that weaken graphical authentication system. theme (e.g. sea, cat, etc.) which consists of thumbnail photos The next phase is the authentication of the target user, which is and then registers a sequence of images as a password. During obtained by the user’s selection of his pre-set password and is the authentication, the user must enter the registered images in selected. It is important to note that our user view does not the correct sequence. One drawback of this technique is that provide any feedback for click event. Clicking makes a since the number of thumbnail images is limited to 30, the difficult to shoulder-surf and the intervention of the key logger password space is small. Each thumbnail image is assigned a is totally avoided. Finally, when the target user has selected his numerical value, and the sequence of selection will generate a correct image sequence the alphanumeric code generator numerical password. The result showed that the image generates an unique alphanumeric sequence based on an sequence length was generally shorter than the textural algorithm which is both time seeded and factored by locator password length. To address this problem, two pictures can be device position. When the user successfully passes through combined to compose a new alphabet element, thus expanding these stages he is authenticated. the image alphabet size. Password Space Randomizing: A general random number Sobrado and Birget, [3] proposed shoulder-surfing resistant generation approach is to use a time seeded algorithm whose graphical passwords by using Convex Hull or Triangle scheme generation is dependent on the start time as well as machine which suffers from brute-force search and guessing attacks. In clock ticks. We have written a 32 bit RNG algorithm that is order to make the password hard to guess, they suggested time seeded and influenced by a pre defined static seed to using 1000 objects, which makes the display very crowded and prevent hacker intervention. Using this algorithm we generate the objects almost indistinguishable, but a set of random numbers equal in number to the keyboard

IEEE UVCE

picture-based techniques can be further divided into two categories: recognition-based and recall-based graphical techniques. Using recognitionbased techniques, a user is presented with a set of images and the user passes the authentication by recognizing and identifying the images he or she selected during the registration stage. Using recall-based techniques, a user is asked to reproduce something that he or she created or selected earlier during the registration stage.

16


kagada2008

IEEE UVCE

Fig. 2. Use Case Diagram

Fig. 1. Block Diagram

logging Trojans.

character set.

The generated set is used to order the alphanumeric characters IV. ALGORITHM and special symbols on the screen. We use an additional A. Problem Definition: random seed to use different font images so as to prevent This consists of a graphical character set with the objectives automated hacking attacks. This also restricts the capability of being : mouse click logging Trojans from snarfing the password.

User view for password selection : The character set is displayed in a matrix form mimicking a virtual keypad except for the fact that there is no pre defined positioning. The fonts of the characters are chosen in such a way that they don’t hinder user visibility but make it all the way difficult for the automated attack. The responsive feedback of the system for mouse click is hidden so that the shoulder surfer cannot guess the character that has been clicked by the fast mouse motion on the screen. Even the screen recording would not suffices to exactly determine the character that has been clicked. Alphanumeric code generator : The previously used RNG algorithm is modified slightly to incorporate mouse click positions as modifiers for generating another random number sequence. We use the numbers generated to determine the characters from a hash table and display an 10 character pseudo password on the screen. The user has to enter this password and login to the system. This mechanism has been incorporated to confuse the shoulder surfer as well as key

17

• To generate random positioning order for the graphical character set. • To choose different font styles for the character set. • To generate pseudo password. B. Algorithm: Two major functions are involved in the proposed technique. The first function orders the character set which are then used to position the display of alphanumeric characters and special symbols on the screen. This function also chooses a font style different than the previous one. The function is shown in Table I. Second function is to generate 10 random numbers based on time seed and mouse click position, to select 10 symbols of the character set from the hash table to create the pseudo password. This function is shown in table II. And the third function is used to check whether the user is valid or not. If the incorrect character sequence is selected the password space gets shuffled. Hence the user again has to select his password characters and then login.


kagada2008

IEEE UVCE ALGORITHM Check() //Input: password character images //Output: An authentication code is generated

1) if apass = nothing do show(‘Invalid user’) pass = nothing else if pass = apass do randomization of the pass field else if apass.length¡ pass.length do pass = nothing end if end if 2) if the correct sequence of password is entered code is generated

3)

code once generated is keyed in.

TABLE III CHECK FOR VALID LOGIN

Fig. 3. State Diagram

ALGORITHMrandomize() 1) Initialize array, a[95]. 2) Initialize gen as integer 3) a.Initialize(). 4) foriasinteger =1to94instepsof1 • • •

gen:Random Generator.Next(200) if gen>94 then gen= Int((gen/2)-27). for j=i-1 to 0 in steps of -1

Fig. 4. create

if gen= a[j] goto generator end for • Store generated number n into G Array[ ]. end for

V. IMPLEMENTATION AND PERFORMANCE ANALYSIS A. Usability of Participants Ten users were allowed to use this proposed scheme who were unfamiliar with this scheme. Participants were experienced computer users who were reported using computer for at least 5 hours per day for work and personal activities. The set of alphanumeric character images were used in this system. The number of alphanumeric characters used for this challenge is 95. During a login the desired alphanumeric characters will be displayed on the window in random position which gets randomized for every challenge. The number of pass-icons, non-pass-icons and challenges will affect the security concerns. In this scheme we utilize click based approach where click event is eliminated. The participants are given enough guidelines to use the system in the effective way.

TABLE I ALGORITHM TO ORDER THE CHARACTER SET IN A RANDOM ORDER

ALGORITHM Generator() //Input: Key,Seed //Output: randomnumber,(Key*,Seed*) 1) random-number= F(key, Seed ) Key*= F(Key, Seed) Seed*= F(Key, Seed+1) return random-number where F is cryptographic function. 2) employing this algorithm the alphanumeric images are shuffled in the password space.

B. Procedure: The usability study was done over 10 target users. In first session the participants were instructed to type there

TABLE II GENERATING RANDOM NUMBER

18


kagada2008

IEEE UVCE

dictionary attacks. This system can be deployed on any target systems such as Computers, Handhelds provided they have a locator device such as mouse. VII. ACKNOWLEDGMENT We thank Mr. Chandrakanth Naikodi, Dr. P Deepa Shenoy and Dr. Venugopal K R , Principal and Dean, faculty of Engineering University Visvesvaraya College of Engineering for their valuable guidance and constant support. REFERENCES

Fig. 5. After login

desired login name and password and create an account. In the following session the users were asked to authenticate themselves. Here each users correct login time and incorrect attempts were measured and tabulated, average timings was calculated.The screen shots posted below shows the respective sessions screen.

C.

Result: S.No Name of Probability of Login time scheme guessing the password 1 Pass faces 0.11 20sec 2 Deja vu 0.04 30sec 3 Man et al. 0.22 4 Convex Hull click -72sec 5 Proposed scheme -40sec TABLE IV PROBABILITY OF GUESSING THE PASSWORD AND LOGIN TIME

All participants were able to login successfully with an average login time of 40 seconds. The users were satisfied with the system as they could use their normal passwords and were able to recall them and login effectively.

VI. CONCLUSIONS In this paper, we present a graphical authentication technique to verify user identity. A system has been developed to enable user login efficiently, easily and securely. The graphical system is based on a combination of a randomization and memory recall.This system is almost immune to shouldersurfing because of two major factors which are, Difficulty to guess the password due to random mouse movements on the screen and the generation of dummy alphanumeric password. Our studies indicate that even captured screen video cannot reveal the actual password and the different approach in authentication protects the system from brute-force and

19

[1] S. Man, D. Hong, and M. Mathews, ” A Shoulder-Surfing resistant Graphical Password Scheme,” In Proceedings of the International Conference on Security and Management, Las Vegas, NV, 2003. [2] Dhamija R and Perrig A, ” Deja Vu: User Study using Images for Authentication ”, In Ninth Usenix Security Symposium,2000. [3] Sobrado L and Birget J C , ” Graphical Passwords ”, The Rutgers Scholar, 4, Sept. [4] W A Jansen, ” Authenticating Users on Handheld Devices ”, In the Proceedings of Canadian Information Technology Security Symposium, 2003. [5] S Wiedenbeck, J Waters, J C Birget, ” Design and Evaluation of a Shoulder-Surfing Resistant Graphical Password Scheme ”, AVI’06, May, 2006. [6] Xiao Yuan Suo, Ying Zhu and G Scott, ” Graphical Passwords: A Survey ”. [7] R N Shepard, ” Recognition Memory for Words, Sentences and Pictures ”, Journal of Verbal Learning and Verbal Behaviour, vol. 6, pp. 156-163, 1967. [8] T Valentine, ” Memory for Passfaces after a long Delay ”, Technical Report, Goldsmith College, University of London 1999. [9] D. Nali and J. Thorpe, ” Analyzing User Choice in Graphical Passwords,” Technical Report, School of Information Technology and Engineering , University of Ottawa, Canada May 27 2004. [10] S. Wiedenbeck, J. Waters, J. C. Birget, A. Brodskiy, and N. Memon, ” Authentication using graphical passwords: Effects of tolerance and image choice,” in, Symposium on Usable Privacy and Security (SOUPS). Carnegie-Mellon University, Pittsburgh, 2005. [11] Justin D. Pierce, Matthew J. Warren, David R. Mackay, and Jason G. Wells, ”Graphical Authentication : Justification and Objectives


kagada2008

IEEE UVCE

Implementation of PID controllers in robots VasanthaLakshmi1 and Viraja Sharma2 RNSIT, BAGALORE

Abstract: One of the main problem faced while controlling a robot, is the need to keep the robot in the correct position without any concern to the random movement of the body. This is very commonly seen starting from a line following robot till any advanced robot one could possibly imagine. Here is the innovative approach, which explains the simple method with the use of capacitive sensor.

1 INTRODUCTION: This paper basically describes as to how PID controllers can be used to overcome this problem. This would be one of the most efficient methods, as it would check for the error at every step and correct it instantly. It also provides a flexibility of using any kind of sensors, may it be capacitive sensor. This paper basically describes the method of implementing PID controllers in robots taking a balancing as an example. When one tries to balance a legged robot or even wheeled robot, any movement of the robot body will adversely affect its balance. To overcome the same PID controllers along with capacitive sensor will be used where the error at each step will be measured and corrective action is taken. More detailed information could be seen in the paper.

2 DESIGN The mechanical design is very important and is simple regarding the balancing robot.

Size determines the much-required mobility of the robot. Smaller the size increases the mobility allowing it to move in unimaginably small places. As they say nothing has advantages without disadvantages, the disadvantages here would be the cost, as we try shrinking the robot the cost increases and the payload that it could carry also decreases. Shape is the next big thing under consideration it is very essential to make the robot robust.

Control system: Here we are trying to control the robot or rather balance a robot with PID algorithm. It consists of three parts equation with proportional (P-term), integral term (I), derivative (D). These terms decide the controller output from its input signal, where the controller output is the power to the motors. Output of which is given by, Output = Proportional Gain * (error) + Integral gain * S (previous error) + Derivative gain * (error - last error) Building a balancing robot may sound difficult as it may require the use of accelerometers (to sense inclination), gyroscope (to maintain orientation) and complex algorithms. This can be minimized by the use of simple PID controllers, which requires sensing the inclination or lean of the robot. This is done by the use of a simple technique explained below.

High-performance two-wheel inverted pendulum robot

Here we use 2 capacitors C1 and C2. And a rod is connected

20


kagada2008

IEEE UVCE to an inverted pendulum which moves along with the same. Consider a forward lean, the rod will be inside the capacitor C1.And we know that C= â‚Źo â‚Źr A/d

The diagram of IC given below represents the motor driver. The output from the inverter is fed to pin 2 and from comparator is fed to pin7...This will make the motor to run in reverse direction for the forward lean. Hence compensation for forward lean of the robot. It similarly works for backward lean of the robot.

Initially the capacitor contains air as the dielectric medium. When the rod enters the capacitor the dielectric of the corresponding capacitor increases thus increasing the capacitance. This increase in capacitance will be used in the lead lag compensator circuit, which will decide the voltage to the differential amplifier. Depending on the changing capacitance values of C1 and C2 the lag or lead of the voltage is decided. When C1=C2 We will obtain the same input voltage at the output. This happens only when the robot is completely balanced which is never possible. The output voltage obtained is applied to an inverting terminal differential amplifier whose voltage at the non-inverting terminal is same as that at the input of lead lag compensator, which is considered as the set point. The differential amplifier amplifies the voltage difference between the inverting and non-inverting terminal and depending on the lead or lag in voltage the corresponding value obtained is passed on to an analog PID controller. This will help in preventing the robot from toppling. The analog value of the voltage obtained is applied to the comparator (LM339). Here we compare the obtained value with respect to ground whose output is fed to the motor driver (L293D).

Applications: Capacitive sensors in general can be used to measure displacements. Lead lag compensator can be used For a robot arm through a frequency response approach. A PID controller approach can also be used in legged robots in which it will sense the instability caused by improper adjustment of center of gravity.

The lead or lag in voltage with respect to the lean of robot should be practically calculated. Considering a positive voltage at the output of the comparator for the forward lean of the robot we can use the following design given below which consists of an inverter before being fed to the motor driver.

Picture of the robot attempting to descend a gravel road that is too steep/rough for it to handle.

This circuit is just a theoretical representation and the innovative idea of designing the balancing robot. When practically rigged up we have to consider the offset voltage of the differential amplifier.

21


kagada2008

IEEE UVCE

CONCLUSION: This represents the prototype of basic balancing robot. A new and innovative idea has been used in designing the control system. More development and improvement can be achieved. We get a high degree of sensitivity by using capacitive sensors. This also represents the advantage of using closed loop control system. ACKNOWLEDGMENT We would like to express our sincere gratitude to our lecturer G.N.Shrikanth, and all our lecturers for guiding and encouraging us.

REFERENCES [1] [2]

Modern control engineering, Katsuhiko ogata Process control instrumentation technology, Curtis D Johnson BIO DATA OF AUTHOR(S)

RNSIT.

VasanthaLakshmi, 7th semester Instrumentation technology from The author has designed robots for various

competitions held at IIT Mumbai, IIT Kharagpur and NITK suratkal. Viraja Sharma, 7th semester Instrumentation technology from RNSIT. The author has designed robots for various competitions held at IIT Mumbai, IIT Kharagpur and NITK suratkal. ````````````````````````````````````````````````````````````````````````` `

22


kagada2008

IEEE UVCE

SYSTEM TO DETECT AND NOTIFY ACCIDENTS AND HIT AND RUN CASES S. R. SUHAS, TARAN RAJ, SURAJ VERMA, PRIYANKA VERMA an advanced hit and run detection system is absolutely necessary where the information of the car involved in the accident along with the time and location is sent to a central monitoring system. The main objectives (claims) of this invention are as follows: • The number of hit and run accidents are limited and monitored since the number of cases reported has been increasing phenomenally each year. • The concerned party involved in the accident, along with the time (date) and region around which the hit and run accident has taken place, can be noted down in a central database for investigative use in the future. • Since each car is given a unique vehicle identification number, which is received as an SMS by the central monitoring station, the number of suspects involved in the accident can be narrowed down considerably. • The information about the accident can also be routed to nearby hospitals, police stations and family members through SMS. This will speedup the process of providing medical aid to the injured. After a hit is detected on any side of the car by the impact sensors, analog signals generated are passed through a series of filters and amplifiers to pass the required frequency response and is then converted into a digital signal. The digital value is fed into a microcontroller where it is compared with stored preset values which corresponds to the maximum allowable force equivalent values. If the sensor value is greater than the preset value, then a cell phone that is interfaced with the microcontroller is triggered, thus powering up the cell phone to send an SMS containing the vehicle identification number to the central monitoring station. From here, after concluding that the information received is from an automobile, it is sent to the central databank where all the information received regarding the accident, that is the unique vehicle identification number, time and approximate location, is saved. The working of the hit and run device, fig 7, is divided into two categories namely: • On-board functional units

ABSTRACT—This paper attempts to design a system to acquire vehicle identification number, time and approximate location of an accident or hit and run cases. Impact sensors, placed under the body of the vehicle in three groups-on the front, sides and rear of the vehicle, are used to detect the force of collision. On impact detection, the output digital signals of the sensor system are fed into the microcontroller and compared with the corresponding reference force equivalent values. On collision forces exceeding standard values, the microcontroller will power up the cell phone and send an SMS, containing the Vehicle Identification Number, to the central monitoring station via the nearest base station. On receiving this SMS - accident alert or hit and run alert, the information regarding the vehicle identification number, time and approximate location is coded and sent to all hospitals and police stations via SMS for medical assistance. The unique IMSI (International Mobile Subscriber Identity) number of the SIM card corresponds to the vehicle identification number. Thus, the following details are acquired and stored in the central databank for investigative use in any hit and run or accident case. INTRODUCTION

E

arly attempts have been made to incorporate

hit and run detectors in a vehicle to automatically eject identification discs or tokens on impact with either a person or an automobile. However, the drawback of this system is that there is no information sent to a central monitoring system, where detection and investigation can be carried out more effectively, as the information is retained in the vehicle. In most cases of hit and run accidents, the guilty party is not found in the accident zone. Let us consider a typical hit and run scenario - a person is hit by an over speeding car and is in no condition to describe the responsible vehicle or recall its license number. Owing to the lack of credible eyewitnesses, law enforcement officers, in turn, do not capture essential details of possible suspects, although the location and time (in some cases) of the accident are known. Consider another instance of accidents between automobiles where one or both the parties are in a state of shock and need immediate medical attention. Thus, the need for

23


kagada2008

IEEE UVCE

of the sensor involved in sensing the impact is passed onto the filter and amplification unit. The analog signal is then passed through a band-pass filter which allows only the frequencies of metalto-metal collision or metal-to-human collision and all other frequencies will be blocked as they are redundant signals. The output from the filter is then amplified to a recordable value for comparison. This amplified signal is given to an analog-to-digital converter which converts an analog input voltage to a 10-bit digital value, through successive approximation. This digital output is given to the input port of the 8051 microcontroller.

Off-board functional units

ON-BOARD FUNCTIONAL UNITS I. SENSOR SYSTEM

The sensors used in this paper fig 1 comprise of a set of Piezoelectric Fluoropolymer films and Terfenol-D sensors, placed at most effective points of the vehicle. Piezo Film Sensors: The Piezo Film produces voltage proportional to compressive or tensile mechanical stress or strain, making it an ideal dynamic strain gage. Successful applications have been developed across a vast dynamic range from sensing nanostrains to measurement of explosive-level forces (Mbar). They make a highly reliable vibration sensor, accelerometer and dynamic switch element.

II. MICROCONTROLLER

The 8051 is an 8-bit microcontroller responsible for the control logic and transmission of the VSI number on collision.[5] The following initializations are made in the microcontroller program: 1. The 3 group – front sensor, side sensor and rear sensor group, preset values which correspond to the equivalent force values. 2. The preset values for the accident alert and the hit and run alert for the corresponding groups. 3. The VSI number. 4. The destination number of the message centre. The program is responsible for monitoring a hit and run case or an accident by using a series of comparisons. After detection it transmits a 15 digit number to the cell phone that is interfaced to the microcontroller. The program execution is as given below: • The digital output from the sensor system is compared with the preset force equivalent values of group 1, group 2 and group 3 values. If the digital value is greater than any of the group preset values then a hit and run case or an accident is detected. • The digital value is then compared with the accident alert preset value and the hit and run alert preset value of the corresponding group. Thus, the microcontroller is programmed to decide whether the vehicle was involved in a hit and run case or an accident. • When the digital value is greater than the corresponding preset value of the group an interrupt is sent to a cell phone which is interfaced with the microcontroller. On receiving this interrupt the microcontroller transmits

Terfenol-D sensors: The Terfenol-D sensor is a type of a giant magnetostrictive sensing element. These sensors are located substantially in the same positions as the piezo film sensors, or may be spaced from the piezo film sensors. The Terfenol-D sensor has a frequency response that is substantially opposite the frequency response of the piezo film.[2] The reason for using two sensors is that the piezo film output has amplitude at a frequency or range of frequencies below 1,000Hz. To detect higher frequency amplitudes above 10,000Hz, we need to use the Terfenol-D sensor. The piezo film has greater sensitivity to lower frequency shock waves such as shock waves generated on impact with a person or an animal. The Terfenol-D sensor is responsive of high frequency shock waves which are produced when the car is impacted with harder objects like a rock or other automobiles. With the combination of both these type of sensors, it is possible to detect the impact of both pedestrians as well as other high mass impacts such as those from other automobiles. To detect an impact, sensor films are incorporated under the bumper. To detect cases where the car is impacted by other automobiles either from the sides or the back, similar sensor films are incorporated under the two sides of the car chassis and under the rear bumper. The frequency responses of the two sensors when struck with a rubber hammer corresponding to a human leg fig 3 and a metal ball bearing corresponding to an automobile fig 4. [1] 8 sensors are placed at 8 most effective points on the vehicle which include the front, rear, back and underside of the vehicle (refer fig 8). The analog value of each sensor output is connected to an 8:1 multiplexer where the output

24


kagada2008

IEEE UVCE

the VSI number to the cell phone through serial transmission. • After transmission the microcontroller waits for the next interrupt from the ADC.[8][9] Block diagram shown in fig 6.[7]

STEP 3: Compare digital value with the all groups and the corresponding threshold values. STEP 4: Confirm whether hit and run case or accident case. STEP 5: If hit and run case then concatenate 11 as the last 2-digits with the 13-digit number which includes the device recognition number as the first 3 digits followed by the 10-digit unique vehicle number else if accident case then concatenate 22 and form the 15-digit VSI number. STEP 6: Code the real time along with the VSI number and transmit the code through the UART port of the kit. STEP 7: Send an AT command to the GSM cell phone interfaced asking the phone to transmit the code as an SMS to the destination number. STEP 8: Go to step 2 and wait for the next interrupt from the ADC.

III. VEHICLE SUBSCRIBER IDENTITY ( VSI ) NUMBER

In the present application there is a need to specify a unique identifier to every vehicle. This is because when an accident is registered the system must be able to identify the particular vehicle involved. To meet this end we use a concept similar to a subscriber identity module (SIM) card used to identify cell phone users. In the present application we use a 15 digit number where the first 3 digits indicate that the SMS is from a hit and run detector and not the messages from cell phone users. Digits 4-13 represent the unique 10 digit number assigned to every vehicle and the last 2 digits indicate whether the collision is an automobile accident or a hit and run case. We call this 15 digit number as the Vehicle Subscriber Identity (VSI) number fig 2.

OFF-BOARD FUNCTIONAL UNITS: I. PROCESSING DATA

After the SMS is received by the Base Station Controller (BSC) it is decoded to get the Vehicle Subscriber Identification (VSI) number. • The length of the sequence is first derived. This will give us the 15 digits corresponding to the VSI number of the vehicle involved in the accident along with the time of accident. • The first 3 digits are monitored to check whether the 15 digit VSI number is received from a cell phone users or a hit and run detector device. • The 10 digit unique code of the vehicle (D4 – D13) is obtained from the VSI number. • The last 2 digits are monitored to check whether an accident has occurred or a hit and run has occurred. 11 - accident 12 - hit and run • The processor will then verify the origin of the code from the corresponding Base Transceiver Station (BSC). This gives the cell information which corresponds to an approximate location, depending on the range of the cell, in the city. • The 10 digit code along with the word ACC for an accident case or HIT for a hit and run case is coded along with the time of the accident, received from the hit and run device, and the BCS address is coded and transmitted to the central monitoring station. • This information that is the VSI number, time, accident or a hit and run case information and approximate region of accident, is stored in the hit and run database for investigative use in the future.

[4] IV. INTERFACING THE GSM CELL PHONE TO THE MICROCONTROLLER

The VSI number from the microcontroller and an SMS code in the HEX format is transmitted through UART port of the microcontroller kit, when a hit beyond the threshold value is detected, and transferred to the GSM cell phone through the RS232 communication cable. The transfer command is given from the microcontroller as an AT command to the cell phone asking the cell phone to transmit the follow code as an SMS to the destination number that is the central monitoring station. After the U A RT p o r t o f t h e m i c r o c o n t r o l l e r i s synchronized with the GSM cell phone the microcontroller is ready to send the data in frames with a fixed baud rate that is defined in the program [6]. One end of the RS232 communication cable is connected to the UART port of the microcontroller kit and the other end is connect to the GSM cell phone. [3] V. PROGRAM ALGORITHM

STEP 1: Initialization of • Preset values of group 1,2,3,4 and threshold values of the respective groups. • 3-digit number for ht and run device recognition. • 10-digit unique vehicle number. • 2-digit number for accident or hit and run conformation. STEP 2: Accept digital value from the ADC.

25


kagada2008

IEEE UVCE

The same information is also sent to all hospitals, police stations and family members so that medical aid can be provided at the earliest.

FUTURE WORK

This system is still in its infancy as it only provides the approximate location of an accident which involves a particular vehicle. With advances in technology, we are hoping to introduce the concepts of cellular signal triangulation and tri-lateration and even GPS to provide the exact location of an accident. We are confident that the implementation of this system on a large scale would help reduce the cost of more expensive tracking systems. Future work would hence involve integration of above mentioned methods at higher accuracy and lower costs.

II. DATABASE

The central databank represents arrays of storage devices operated and stored in a physical location – the central monitoring station. The central databank continuously communicates with the BSC and hence stores the required information (region of accident, time of accident and number of vehicle) in the databank, whenever it receives the data from the BSC, fig 5. Database management software such as Oracle are used to group this data with respect to time of accident acquired. This information can then be accessed by law enforcement as when any cases are registered. Any redundant data such as repeated entities, cases where it is not hit and run or even false triggering of the sensor system in some cases can be verified and deleted from the data bank by the proper authorities. The database also contains information about the owner of the vehicle, address, contact numbers of family members in case of accident, registration details of the vehicles and all other data that is essential to point the law enforcement in the right direction during investigation.

CONCLUSION

In conclusion, we can see that the mentioned objectives are met with. In the case of an accident we have acquired essential data of the time, approximate location and vehicle number involved in the accident to aid law enforcement agencies, within reasonable limits of accident location and accident time probabilities for any city. This system represents a simple yet sophisticated and most importantly a cost effective way to deal with accident scenarios in today’s world. ACKNOWLEDGEMENT

We would like to thank Mr. Shreenath Suresh – Senior Engineer in Genesis Microchips, for his conceptual assistance and guidance during every stage of our paper and Mr. V.S. Shashikanth, and Mr. Rathan for their unconditional support and motivation.

LIMITATIONS AND WORKAROUND

A limitation of the system is false triggering of the sensors. If the automobile in question is impacted with say a rubber ball, there is a probability of the sensor system getting activated. This may send a signal to the base station misreporting it as an accident or a hit and run case, depending upon the force with which the ball impacts the automobile. Another limitation is that when there is an accident between two automobiles in a heavy traffic zone, it may lead to multiple-vehicle collision, also known as a pile-up. When this happens, the system installed in each of the automobiles detects an accident and sends a message to the base station around the same time. This can lead to signal congestion, which introduces a significant delay in reporting the accidents. The first limitation can be overcome by using intelligent sensors that differentiate between an accident and a stray hit. This would eliminate the problem of false triggering. Implementing this system on a large scale calls for an increase in the traffic handling capability of the network. This can help in eliminating the traffic congestion in the rare case of a pile-up.

REFERENCES [1] Stuve, Mills, “Vehicle soft impact detection”, United States patent no. 7303041B2,Sterling Heights, MI (US), August 2005. [2] Measurements Specialty, Inc., Piezo films, TerfenolD sensors. [3] Crowe, “Cellular networking perspectives”, Wireless Telecom magazine articles,2001. [4] GSM 11.11 - Specification of the Subscriber Identity Module - Mobile Equipment (SIM - ME) interface. [5] Atmel AVR, 89S8252, Data Sheet. [6] Wayne's Nokia 3310 F-Bus Command Manager Version 1.0. [7] AVR processors technology, AVR kits data sheets. [8] Codevision AVR standard for the ATmega16, AVR software’s. [9] www.jedmicro.com, www.digchip.com, AVR kits and AVR products.

26


kagada2008

IEEE UVCE

FIGURES

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

27


kagada2008

IEEE UVCE

Figure 6

Figure 7

28


kagada2008

IEEE UVCE

A Novel Approach for Application of RFID Technology in Mass Transportation System Rakesh R

Rupesh P

th

5 sem Information Science

th

5 sem Information Science

Srikanth V M th

5 sem Information Science

Department of Computer Science and Enginnering University Visvesvarya College of Engineering, K.R.Circle, Bangalore -560 001 RFID System

Abstract RFID (Radio Frequency Identification) is a fast emerging technology and has generated enormous amount of interest in tracking of vehicles. With RFID technology, vehicles can be tracked accurately in real time. More significantly the vehicle can be tracked during entire course of its movement in the city. In our paper we propose a novel approach for the application of RFID technology along with Network to keep track of mass transportation vehicle by which we can provide information related to arrival or departure of the transportation vehicle to the commuters.

RFID system consists of three different parts a. Transponder or Tag (which stores the data) b. Antenna or Interrogator (which reads data) c. Middleware (Reader, Control module, RF module and Host Computer) Tags - An RFID tag is a tiny radio device that is also referred to as a transponder, smart tag, smart label. The tag comprises a simple silicon microchip (typically less than half a millimetre in size) attached to a small flat aerial and mounted on a substrate. There are two types of RFID tags namely a. Active Tags (Producer) – Active tags have a battery, they can initiate data transfer for themselves. b. Passive Tags (Reader) – Passive tags have no battery but transfers data always after reception of power from, and being triggered by, a reader.

Keywords: RFID, Wireless sensor network, Topology, Antenna, Passive tags, Active tags, Classification.

1. Introduction RFID: RFID is an acronym for Radio Frequency Identification. It is a general term that is used to describe a system that transmits the identity, in the form of a unique serial number, of an object wirelessly, using radio waves. Radio Frequency Identification or RFID refers to the set of technologies that use radio waves for identifying objects or people. The RFID

Readers – The reader, sometimes called an interrogator or scanner, sends and receives radio frequency data to and from the tag via antenna.

systems allow us to identify individual objects or things in the environment which can be monitored through use of wireless technology. RFID is a generic term for technologies that use radio waves to remotely store and retrieve data. It is a combined term with RF and ID where RF means a wireless communication technology and ID means identification information of tag. So RFID is theoretically a wireless networking technology to transmit identification information stored at an electronic memory space.

Fig. 1 RFID System

Networked RFID

29


kagada2008

IEEE UVCE

upon the theoretical and practical application of these scientific and engineering disciplines.

RFID systems can either be networked or stand alone. The data collected by the RFID system can be stored in a database which can be off-line or on-line depending on its data communication network. Tags contain unique identifier, which can be read by the interrogator and the data is transferred to the database. Tags can contain wide variety of information about item like location, time, price, banking details, medical reports etc. Network RFID means an expanded RFID network and communication scope to communicate with a series of networks, internetworks and globally distributed application system.

Classification of Networks Below is a list of the most common types of computer networks in order of scale. Personal Area Network (PAN): A personal area network (PAN) is a computer network used for communication among computer devices close to one person. Some examples of devices that are used in a PAN are printers, fax machines, telephones, PDAs and scanners. The reach of a PAN is typically about 20-30 feet (approximately 6-9 meters), but this is expected to increase with technology improvements. Local Area Network (LAN): This is a network covering a small geographic area, like a home, office, or building. Current LANs are most likely to be based on Ethernet technology. For example, a library may have a wired or wireless LAN for users to interconnect local devices (e.g., printers and servers) and to connect to the internet. Metropolitan Area Network (MAN): A Metropolitan Area Network is a network that connects two or more Local Area Networks or Campus Area Networks together but does not extend beyond the boundaries of the immediate town/city. Routers, switches and hubs are connected to create a Metropolitan Area Network.

Fig. 2 Networked RFID system

Frequency Spectrum The following frequency bands are used in RFID system Low Frequency : High Frequency : Ultra High Frequency: Microwave :

Wide Area Network (WAN): A WAN is a data communications network that covers a relatively broad geographic area (i.e. one city to another and one country to another country) and that often uses transmission facilities provided by common carriers, such as telephone companies. WAN technologies generally function at the lower three layers of the OSI reference model: the physical layer, the data link layer, and the network layer

120 – 150 KHz 13.56 MHz 860 – 960 MHz 2.4 – 5.8 GHz

Networks: Computer networking is the engineering discipline concerned with communication between computer systems or devices. Networking, routers, routing protocols, and networking over the public Internet have their specifications defined in documents called RFCs. Computer networking is sometimes considered a sub-discipline of telecommunications, computer science, information technology and/or computer engineering. Computer networks rely heavily

Network Simulator (NS2): Ns is a discrete event simulator targeted at networking research. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks. NS simulator is one of the network simulator used

30


kagada2008

IEEE UVCE

demonstrate the potential benefits of RFID in inventory reduction and service level improvement.

by engineers, researchers, students etc. The NS simulator covers a very large number of applications, of protocols, of network types, network elements and of traffic models.

4. Architecture

NS simulator is based on two languages: The architecture of current work is shown below in the fig 3.

An object oriented simulator, written in C++ and a OTcl (Object Oriented Tool Command Language) interpreter used to execute users command script. The C++ allows us to achieve efficiency in simulation and faster execution times. This is in particular useful for the detailed definition and operation of protocols. Then in OTcl script provided by the user, we can define network topology, the specific protocols and applications we wish to simulate.

Fig 3: Architecture

2. Motivation

The architecture consists of four Systems i.e. System 1, System 2, System 3 and System 4. This is just a prototype of the work in real time it can be applied to ‘N’ systems with ‘N-1’ links. These systems represent the stages through which the vehicle has to travel. The arrow represents the direction of motion of vehicle from source to destination. The circle represents the transportation vehicle which contains the RF tags. These stages will contain antennas and are connected to the computers database and these computers are connected through wire to every other stage, thus forming a network of mesh topology.

In developing countries like India, people depend more on mass transportation system to reach there destinations. The transport system is not working effectively to help the commuters to reach there destination in time which is causing inconvenience. So we propose a technology that can be used to provide a better transportation system. Also the use of RFID technology is limited to PAN (Personal Area Network) since its one of the fast emerging technology it can be used in MAN (Metropolitan Area Network) with the use of networks because of which we can use the total potential of RFID technology, thus to make maximum use of technology in day to day life for benefit of humans.

Working: The vehicle which contains the RF tag will start to move in its respective direction, once it comes near a stage the antenna present there will read the data from the RF tags will send the data to all other stages through the network formed. The range of RF tags is around 80-100m. The data may be time of arrival or name of the place or departure. This information can be conveyed to the commuters by means of a display board. By this the commuter in the next stage will know the actual arrival time of the vehicle to his stage. With this model the commuters need not suffer with the waste of time and can catch the vehicle in time to reach his/her destination. Thus the inconvenience caused to the passengers

3. Related work A brief survey on advances in RFID applications reveals work on Smart Labels, weather forecasts, health care, logistics and widely used in popular shopping malls. Some of the notable work on RFID applications are in toll booths and supply demo chain by Young M. Lee , Feng Cheng and Ying Tat Leung . They developed a simulation model to study how RFID can improve supply chain performance by modeling the impact of RFID technology in a manufacturer-retailer supply chain environment. Their study provides a quantitative analysis to

31


kagada2008

IEEE UVCE

can be reduced with the proper application of RFID technology in transportation system, by doing so more people will start to use mass transportation vehicle to reach their destination instead of personal vehicles thus the number of vehicles on the roads will be reduced intern reduces the traffic and can keep a check on air and noise pollution.

5. Simulation We are using ns2 simulator to simulate the movement of the mobile or moving vehicles containing RF tags. The basic simulation work depends on hardware, since RF (Radio Frequency) antenna, reader etc all these comes under hardware. We are using the inbuilt protocol AODV.

Fig. 5 Vehicle has arrived at stage The vehicle is now in the range of the antenna so it can detect the RF tags and transmits the data to the corresponding stage and updates the database. The databases are shared among the stages. The next stage has information about the exact arrival time of the vehicle. And the current stage has information about the departure time of vehicles.

Fig. 4 Before arrival of vehicle In our simulation we are creating four nodes. Among these three nodes are wired which acts as a base stages which contains databases and these stages are connected in mesh topology. The other wireless node represents the mobile vehicle with the RF tags. The antennas are placed in stages which detect the RF tags from the vehicles and transmit the data received to the database. As depicted in the fig. 3 the vehicle is out of range of the antenna to read data so there is no transmission of data.

Fig. 6 Vehicle has left the stage When the vehicle is out of range of the antenna it records the departure time of that vehicle and updates the database.

32


kagada2008

IEEE UVCE

9. ISO/IEC JTC documents

6. Conclusion

10. EPCglobal documents

In this paper, we propose a novel application of RFID technology in transportation system. We have demonstrated that RFID technology along with the use of network can be used to predict the actual arrival time of vehicles, which is very helpful for the commuters.

7. Future work For the purpose of communication an inbuilt protocol AODV has been used. A new protocol which can overcome the disadvantages of AODV protocol can be built based on the same. The application can be made cost effective by making use of cost effective RFID’s. This application can also be applied in railways also for the same functionality. The range of the RFID is limited.

8. Acknowledgements We thank Mr. Chandrakanth Naikodi, Mr. Arjun Athreya, Dr. P Deepa Shenoy, Dr Venugopal K.R, Principal and Dean, Faculty of Engineering University Visvesvaraya College Of Engineering, for their valuable guidance and constant support.

9. References 1. Exploring the impact of RFID on Supply Chain Dynamics, Young M. Lee , Feng Cheng and Ying Tat Leung. 2. RFID and Sensor Networks, Rolf Clauberg. 3. An Introduction to RFID and Tagging Technology, Raghu Das. 4. Identification and Tracking of Persons using RFID tagged items, James M ,John R et al. 5. Background on the use of RFID in the DOD supply chain by Dr . Jermy Landt. 6. Networked Radio Frequency Identification by Hind. 7. ITU-T TSAG Meeting Geneva, 3-7 July 2006 8. ITU-T Workshop on “Networked RFID: Systems and Services” Geneva,

33


kagada2008

IEEE UVCE

Implementation of THE TEXT TWISTER Game Aishwarya M., Abhay S. Kulkarni, Athreya R. Hegde, Karthik M. Bangera, Abhishek S.B., Computer Science & Engineering Department M. S. Ramaiah Institute of Technology, Bangalore.

2) Restricted randomization-Randomization which achieves balance between groups with size as characteristic Different types of restricted randomization are as follows:

Abstract— In this paper we propose to design a Text Twister game. The Text Twister or The Jumbler game is a vocabulary tester popularized in various media like newspapers, internet and TV. In our rendition of this game, we present to the player a jumbled word from a standard dictionary and test the player’s ability to resolve the jumbled word under the imperativeness of a time constraint. Index Terms—Arrays, Generation, Word lists

T

Database,

Random

Number

I. INTRODUCTION

HE internet is increasingly becoming a haunt for people looking for virtual gaming. In such an environment the Text Twister provides a pleasantly educative and entertaining alternative where mindless action and pointless strategies are the order of the day. The challenge we face in Text Twister is one of randomization. We have to deal with a large database of words and randomly select one of them and present it to the user in a jumbled form. To jumble the word we need another randomization algorithm. The first randomization has constraints in that it should not select the same word more than once, which can be implemented by randomization followed by elimination. The second one depends on the fact that the user should not be able to identify the pattern which is being used to jumble words. In both the cases the pattern of jumbling should not repeat in the same order in the next session.

a)

Blocking: ensures uniformity of numbers in each group during the study. The downside is that it reduces the capriciousness of randomization.

b)

Stratification: ensures that the number of participants receiving each intercession is uniform within each stratum. It is implemented by applying a unique randomization procedure within each of the subunit of participants.

III. DESIGN OF A SOLUTION INPUT: Level 1: A segregate of the dictionary that has been partitioned based on word length. This serves as the word list from which an unflagged word can be selected for use in the next stage. In addition, the chosen word is flagged in the word list (eliminated for use in further iterations of the program). Level 2: the word typed in by the user in response to the jumbled word presented to him, which needs to be compared with the base word (jumbled word). OUTPUT: Level 1: A word randomly chosen from the word list (dictionary) and jumbled beyond recognition. This word is presented to the user. Level 2: a) A computer generated message displayed after matching the user’s response with the base word. b) Updated score display.

II. BACKGROUND Randomization is desirable because of the following features:1. Unbiased handling of the input. 2. Provides a facade for the actual working part of the code.

CONSTRAINTS: a) Same word should not be selected more than once. b) The randomization pattern should not be discernable by the user. A. Problem Analysis In the implementation we have suggested, we propose to use two functions which are available in most of the programming languages. One of them is the function random (num) which returns a random number between 0 and <num-1> where num is an integer. The other is the function randomize () which initializes the random number generator with a random value.

Broadly working randomizations can be classified into two types: 1) Simple randomization-Randomization with no restriction, which has a single sequence of random assignment

34


kagada2008

IEEE UVCE

for i←0 to (strlen(StrArray[x])-1) do //strlen(word) returns the string length of word z ←random(strlen(StrArray[x]) for t←0 to strlen(StrArray[x]-1) do if z=hit[t] z←random(strlen(StrArray[x])) t←-1 print StrArray[z] // prints the character on the screen hit[i]←z

B. Flowchart

D. Dataflow Diagram

C. Algorithms ALGORITHM RandomSelect(StrArray[0…m1][0…n-1]) // Selects a word randomly from the array //Input: An array of strings //StrArray[0…n-1][0…m1]) //Output: A word randomly selected from the array for i←0 to m-1 do hit[i]←m+1 Randomize() /* initializes the random number generator with a random value*/ x←random[i] for i←0 to m-1 do if x=hit[i] x←random[m] /* returns a random number between 0 & <num-1>*/ i←-1 hit[i]←x chosen_word←StrArray[x] Jumble(StrArray[x])

E. Implementation The language of implementation is C++. Front end is Visual Basic. The above program was tested on a sample input of 1000 words from a segregated lot of three dictionaries. All the words got were unique and there was no repetition observed with respect to word selection or word jumbling during the trials and the trials conformed to the given constraints.

ALGORITHM Jumble(StrArray[x]) //Jumbles a given word //Input: A word chosen from the string array // Output: The jumbled form of the i/p word for i←0 to n-1 do Hit[i]←n+2 Randomize()

IV. CONCLUSION The Text Twister presented above aims to provide an entertaining path to vocabulary enhancement using the simple randomization category of core algorithms, which also being 35


kagada2008

IEEE UVCE

very pliable can give rise to many more renditions of this ever popular game. ACKNOWLEDGMENT We would like to thank Mrs. Anita Kanavalli, Asst. Prof., Dept. of CSE, MSRIT and Dr.V.K.Ananthashayana, HOD, CSE, MSRIT, for their unrelenting support and encouragement, under whose able guidance we could do this project. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]

Doug Hoyte and Hardcore Software, Word Jumble - (C) 2005 Randomized Algorithms -Rajeev Motwani, Prabhakar Raghavan -Press Syndicate Of The University of Cambridge (1995). Algorithms for Random Generation and Counting-Alistair SinclairBirkhauser Verlag AG (December 31, 1996). Basic Word List-Samuel Brownstein, Itchel Weiner, Sharon WeinerBarron's Publication. Stanley Lippmann, Josee Lajoie “C++ Primer”, Pearson education, third edition Petratar, “Mastering Visual Basic”– BPB Publication John Hubbard “Programming with C++”– McGraw Hill 1996 edition Dietel, “How to program C++” Pearson education, 4th edition Steven Holzner, “Visual basic programming”, Dreamtech press, 7th reprint. D S Malik, “C++ Programming”, Thomson course technology 2003. Herbert Schildt “ C++ Programming reference “ Mc Graw Hill, Osborne Media, 3edition Balena Francesco, “Programming Microsoft Visual basic 6.0”, May 1999 Peter Wright, “Beginning Visual Basic 6”, Wrox Press, Aug 1998 Bjarne Stroustrup , “C++ Programming Language” Addison Wesley, 2000 Special Edition Scott Meyers, “Effective C++”, Addison Wesley 2005, 3rd edition C. J. Kaufman, Rocky Mountain Research Lab, Boulder, CO, private communication, May 1995. Yashwant Kanitkar, “Let us C”, BPB Publication, 8th edition Anany Levitin, “Introduction to The Design & Analysis of Algorithms” Pearson education 2nd edition.

36


kagada2008

IEEE UVCE

Real Time Parking System (RTPS) Mohammed Saad image based. Counter based systems use sensors to count the number of vehicles entering and exit a car park area.

Abstract: A real time car parking management system

This can be gate arm counters and induction loop

has been introduced in this paper, as we know in large

detectors located at the entrances and are system can give

parking areas like shopping malls, Hospitals and Hotels,

information on the total number of vacant lots in a closed

drivers always find it difficult to find a vacant parking

car park area, but does not help much in guiding the

space especially during peak hours or when the parking

driver to the exact location of the vacant lots. A few existing solutions focus on parking lot

lots are almost full which leads to traffic congestion as a critical problem. our solution to reduce the drivers

applications

using

searching time for vacant parking space which will

magnetometers

greatly save time, reduce cost and improve the traffic

magnetometers are very sensitive on environmental

flow in the parking areas. This project can be developed

factors, as a result of which their detections are not

to acquire and guide the car to parking space using

always

wireless sensor node we can monitor and guide the car to

measure the change in magnitude and direction of Earth’s

the right parking space which also helps us to store the

magnetic field caused by the presence of a vehicle, they

related information of that parking at centralized

need to be placed at close proximity to the vehicle.

database system.

Although this might be possible near the entrance of a

accurate.

sensor

and

video

Moreover,

technologies, cameras.

since

such

as

However,

magnetometers

parking lot, it is very difficult to place them in close Keyword: Wireless sensor network, parking management,

proximity to vehicles on upper floors simply because

Barcode, Infrared, TinyOS.

there is typically no entrance marked for upper vehicles move at relatively higher speeds than near the entrance. On the other hand, video camera based solutions are

Introductions As we know the wireless sensors technology

energetically expensive and they can generate large

are used in various applications because of its efficiency

mount of data which could be very difficult to transmit

and adaptability and as we also know that places like

over multiple hops in a wireless environment. These

mega shopping malls and stadiums were many people

disadvantages coupled with the fact that there are other

visit these places during peak hours. In shopping malls,

objects moving in a parking lot, such as humans, greatly

discounts and season sales offered by various outlets can

reduce the applicability of only one type of sensor

attract thousands of customers to come during the sale

technology.

periods. Most of the customers travel to the shopping

This paper introduces a real time car parking

malls with their own vehicles and it is not surprising to

management system based on a wireless sensor network,

see that car parks are always full during these periods.

basically uses two type of sensors namely infrared and

However,

behavior

barcode scanner which has several advantages over

indicated that this does not seem to stop many drivers

deployment and maintenance, compared with existing

from queuing at their favorite parking space for

traditional parking management systems most of the

significant times.

parking management systems which are available now a

research

into

drivers

parking

There are mainly four categories of car park

days have control at the entrance and exit of the parking

guidance systems using different technologies counter

space, were they monitoring and guiding for the driver

based, wired sensor-based, wireless sensor based and

are done manually which leads to more confusions, they

37


kagada2008

IEEE UVCE

are several parking lot which uses lifts system to parks

help to monitor group of parking space to check if it’s

cars to improve efficiency and which helps drivers to

free or occupied, and then we have to enter the car

park their cars quickly and safely, but leads to more

information like its driver name and its registration no

waiting time at parking space.

which will help us to generate a parking ticket for that car

However, making use of the sensing ability of

and then a robotic hand will help to stick the barcode

the nodes, the parking management system based on a

label to stick on to lower side of the car were this label is

wireless sensor network is capable of monitoring and

used for the guiding sensors to read the barcode which

managing each parking space and providing particular

helps to guide the car to follow the exact lane and which

guiding services, Wired sensor-based system, on the other

also helps to park at allocated parking space to that car at

hand, is using several detection sensors which are

the lot, similarly the information of the car will be stored

installed at each parking lot these sensors are connected

in the centralized server for further use or verification.

to data center and control unit that store and manage the

Below Picture shows the diagram of Parking lot

parking occupancy information, this information is then

where we have a group of five car parking space

relayed to display panels at strategic locations in the car

monitored by a single monitoring node with consists of

parking lots, the display panels provide information,

Ten infrared Led’s, and then we have a barcode sensor

direction and guide the drivers to free parking space.

which are placed in on the lane were it will help to guide

Wireless sensor networks have its own advantage that

the car to the exact parking space and to exit from the

they can be deployed in existing car-parks without having

parking space with very less traffic.

to install new cabling for network and electricity to reach each sensing device. For this reason, wireless sensor networks can be also used for road-side car-parking. The monitoring nodes are organized to monitor a group of parking spaces, which also makes this technology cost effective, and the guiding nodes and with LED displays on each cross section which helps the driver enter the proper lane and to find the free parking space and exit from the parking lots with less traffic congestion, here all the sensors are communicated through warless channel, and self organized into ad-hoc network. The sensor circuit board is equipped with the sensors of infrared and barcode reader and with RF transceiver, antennas and microcontroller.

Implementation As the exiting model starts from the entry point where we have to installed a computer which will calculate and get the best free parking space with less traffic congestion lane to park the car, were monitoring sensor nodes are built with the infrared sensors, which

38


kagada2008

IEEE UVCE

Data Center

Monitoring node The monitoring node detects the status of

The data center takes charge of managing and

parking space with infrared sensor and transmits or

maintaining the whole system. It processes the data

receives messages through RF communication module. It

received from the nodes then it counts parking fees, and

also receives commands from the management station to

displays necessary information on the monitor. The data

carry out some procedures such as time synchronizing,

center sends parking space guiding messages to guiding

debugging, working status reporting and so on

nodes and updates the display screen at the entrance of the parking lot in time. When the system is running, all

The figure shows the block diagram of the

sensor nodes form a tree like topology autonomously for

mothering node

data gathering. The monitoring nodes check the Wireless communication

availability of each parking space and transmit the report

Infrared sensor

messages to nodes in hop by hop. The nodes collects the report messages and delivers them to the data center, and

Timer/PLL

then user can get the visual status information of the

Optical Digital Transmitter

SPI Interface

CPU

whole parking lot on his monitor screen. The data center calculates the guiding information for each guiding node

OS

and sends the guiding messages to them through the ALU

Memory

nodes. The guiding nodes will receive the messages and display the guiding indication. When a new coming car park in a parking space, the monitoring node would find

Guiding node

that the parking space is occupied in a short time and

The guiding node detects the status of parking

sends a report message to the data center. Other nodes on

space with barcode sensor and transmits messages

its way to the sink node would forward the message as

through Equipped with an RF communication module

soon as possible. After receiving the report, the node

and a display module, the guiding node receives guiding

would notify the management station of the change.

information from the management station and shows it on

Consequently, the management station would recalculate

the LEDs display. This can help guiding vehicles to finds

the guiding information and send it to the proper guiding

the idle parking spaces with less time. Furthermore, it can

node.

also transmit report messages and receive commands like monitoring nodes.

Hardware Architecture

The figure shows the block diagram of the

The hardware architecture of sensor nodes, the

Guiding node

sensor node used for parking space monitoring is a micro device equipped with a microprocessor, with a wireless

Wireless communication

Barcode Sensor

communication module and a sensor for detection. The microprocessor is ATmega128L, which is an 8-bit MCU working on a 7.3728 MHz system clock and has a

SPI Interface

Digital Interface

128Kbytes in-system programmable flash memory, 4K bytes RAM and 4K bytes EEPROM on the chip. The

Timer/PLL ALU

CPU

OS

Memory

39


kagada2008

IEEE UVCE

processor provides three interfaces, which are SPI, and ODTI, and uses them to communicate with CC1000, infrared sensor and Barcode Reader separately. The sensor nodes also support both standard parallel and serial communication interfaces, which is a low power RF module and can provide a 19.2Kbps communication speed of standard encoded data. The sensing module consists of an infrared sensor and barcode reader sensor. They are some sensor node available in market. With infrared wireless sensor and barcode based wireless sensor.

Working When an car appears near the

entry point

where we have to installed a computer which also have a software which is connected to the monitoring node and guiding node which helps to calculate and get the best free parking space with less traffic congestion the lane to park the car, and then it will issue a barcode sticker which

Software Architecture

I pasted to car and then the car is guided to the parking

The software in our sensor nodes is based on

space while the driver removes the vehicle from that lot

TinyOS, a widely used operating system for sensor

and when it reaches the exit point the data center

Networks the overall software architecture. The software

calculate the charges and take the payment, then

system consists of two layers, which are application layer

monitoring node send that free space of the parking to

and system layer. The application layer has a serial of

the data center and marks for further parking.

modules such as vehicle detection, data collection, routing and time synchronization to provide necessary services for parking place monitoring. The system layer contains some supporting modules for applications, such as MAC control, data dispatching and forwarding, local debugger, etc. The significance of extracting some functions to form a system layer is that these modules can be ported to other different applications easily.

.

40


kagada2008

IEEE UVCE

5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0

4.63 4.12 3.213.11 2.24

2

2.11

Manual Other RTPS

0.25

0.02

Case 1

Case2

Case 3

Here in the above graph we can say time taken in minutes. Case 1= To find the vacant Parking space. Case 2= To park the Car. Case 3= To Remove the Car.

Conclusion

Survey and Comparisons

This paper introduces a wireless sensor network 300

based parking management system, which provides

250

functions of parking monitoring and management, and

200 150

the parking guidance service as well. The system includes

100

two kinds of nodes and a data center for central control.

50

Each kind of nodes plays a different role in the system,

0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031

and communicates directly or indirectly with other kinds of nodes. They collaborate with each other to accomplish topology formation, route establishing, parking space

According to data collected from the near by shopping

status sensing and reporting, command processing, and so

mall with respect to the month of August and September

on. we found some aspects to improve, such as that the

this is the count of cars parked on those dates we can say

routing protocol could make use of the link quality

that the count increases during the weekends and during

information to decrease the packet loss rate. In addition,

holidays.

for this moment, the information is logged in formatted plain text files, so employing a SQL database to store the users information and system logs is under considering. Furthermore, tests in real parking lots would be performed in the future.

41


kagada2008

IEEE UVCE

Reference [1]

Sangwon Lee, Dukhee Yoon, Amitabha Ghosh,

“Intelligent Parking Lot Application Using Wireless Sensor Networks” [2]

J. P. Benson, T. O’Donovan, P. O’Sullivan, U.

Roedig, C. Sreenan,

“Car-Park Management using

Wireless Sensor Networks” [3]

Itziar Marín, Eduardo Arceredillo, Aitzol

Zuloaga, and Jagoba Arias, “Wireless Sensor Networks: A Survey on Ultra-Low Power-Aware Design” [4]

D.B.L. Bong, K.C. Ting and K.C. Lai,

“Integrated Approach in the Design of Car Park Occupancy Information System (COINS)”

42


kagada2008

IEEE UVCE

SUDOKU – Algorithms and Applications Aishwarya Deep Shukla, Student Member, IEEE, Soumya Janardhanan, Pavan Karkun bottom right corner column wise for a cell which has a zero filled in it that is it identifies a cell which it has to fill. As soon as it finds a cell containing zero it starts to find the numbers which can occupy that cell. It checks sequentially for all numbers starting from 1 to 9. To check which numbers can come in that cell it uses the Basic Rule of a Standard Sudoku. It checks whether that number is not there in the horizontal row, the vertical column and the 3*3 grid. If the number is not found at all the three places mentioned above then that is a suitable number for that cell. This suitable number is stored in a temporary variable. Now it checks for the next number in the sequence 1-9. If it finds another suitable number which can occupy the cell then it stores it to a second temporary variable. It also keeps counting the number of suitable numbers for a cell. If it finds that there are more than one suitable numbers then it moves on to the next cell.

Abstract— SUDOKU as every one of us knows is a Japanese Puzzle Game. It is a miniature version of a longstanding mathematical challenge, and it entices both puzzlers, who see it as an enjoyable workout, and the researchers who see it as a laboratory for algorithm design. In this Paper we are going to discuss a simple algorithm to solve a Sudoku computationally. Further we will throw some light on other generic algorithms like Genetic Algorithms, Message passing Algorithms and how these can be used to solve a Sudoku. Further we discuss about varied applications of Sudoku grid in text and Image Steganography. Also a deliberation is done how the Sudoku Algorithm follows in a long tradition of artificial intelligence research on games, most notably chess. Index Terms— Fitness function, mutation operation, marginalization by message passing, NP-complete problems, steganography.

4

3

3

9 2 5 6

4 7

9

6 8

3 2 6

5

8 6

The control in this way keeps on checking at each vacant place till it finds a vacant place at which there is only one suitable number. On finding such a cell it allocates that number onto that cell replacing zero. Now we should realize that after filling a number in a cell (we have fixed that suitable number to that cell. Its now no different than the prefilled numbers) the scenario of the Sudoku entirely changes that is the vacant cells which had more than one suitable numbers earlier may now have a unique suitable number, so we start all this procedure all over again from the first cell. This process is hereafter referred to as elimination.

7 1

8

9

5 1

8

Figure. 1, Standard unsolved SUDOKU

I. INTRODUCTION The name Sudoku is an abbreviation of a Japanese name meaning ""the numbers must occur only once". The numerals in Sudoku puzzles are used for convenience; any arithmetic relationships between numerals are irrelevant. Any set of distinct symbols can be used such as letters, shapes, or colors, or even pictures. In this paper we consider the standard form of a Sudoku which has numbers from 1-9 to be placed in a 9*9 grid according to the rules which state that every row, column, and 3*3 box must contain the digits 1-9 without repetition in the same row, column or box. Also, one cannot change the digits already given in the grid and every puzzle has a unique answer. In the section that follows we are going to discuss a simple, efficient yet scalable algorithm to solve Sudoku.

4

3 9 8 7 9 4 2 6 8 5 9 7 8 6 6 1 3 4 7 4 2 6 5 1 7 6 8 9 7 4 5 5 9 1 8 Figure. 2, Sudoku after initial elimination 3

B. Duplication After the elimination process we see that the SUDOKU is only partially solved. Now a stage comes when there is no vacant cell in which only one suitable number can be filled. Now the control finds the vacant cell in which only and only two suitable numbers are found. Here the third dimension of the declared array comes into picture. We copy this state of the half solved SUDOKU into two slices. In the first slice the first suitable number for that cell is fixed and in the second slice the second number of that cell is fixed. This process in which slices of the SUDOKU are made to obtain the solved SUDOKU is known as duplication.

II. ALGORITHM A. Stage of Initial Elimination The Sudoku entered by the user is stored in a 9*9 array, where 0’s signify a vacant cell. The program sequentially checks for all the cells right from the top left corner to the Aishwarya Deep Shukla, Soumya Janardhanan, Pavan Karkun are students in Vth Semester, B.E., Dept of Computer Science, Bangalore Institute Of Technology.email:aishwaryashukla88@gmail.com,soumya.janardhanan@g mail.com, karkun.pavan@gmail.com.

43


kagada2008

IEEE UVCE

1 , 5 4

3 8 4 9 1 2 6 7 5

3 5 6 4 7 9

2 7 3 6 8 4 9

9 7 6 8 4 5

C. Winning condition Among all of the duplicated slices only one of the slices has the completely solved Sudoku and in the rest of the slides the process stops after some rounds of elimination and duplication.

9 8 6 7 1 5

1

8

Figure. 3, Sudoku after elimination before duplication

4

3 8 4 9 1 2 6 7 5

3 5 6 4 7 9

1 2 7 3 6 8 4 9

9 7 6 8 4 5

4

7 1

1

8

9

3 8 4 9 1 2 6 7 5

3 8 6

5 6 4 7

5

9

5 2 7 3 6 8 4 9

7 1

7

8

9

10

11

1

8

13

9

5

7

2

5

7

6

9

4

5

7

9

4

2

6

3

1

8

3

1

5

9

7

8

4

2

6

9

2

6

1

3

4

7

8

5

4

8

7

2

6

5

1

3

9

7

5

1

6

8

2

9

4

3

6

9

8

7

4

3

2

5

1

2

4

3

5

9

1

8

6

7

ALGORITHM main() //Prompt the user to input a Sudoku Call inout(0,0) //call to the function to input a sudoku Call duplication() //Elimination is called from Duplication //The ouput function is called from Elimination once the //correct answer is obtained. //End of main

5

ALGORITHM inout(k,d) //Function to input and output 9X9 Sudoku //Input: k a bool type such that, k ←0 when the contents of //the grid needs to be input // k←1 when the contents of the grid need to be //displayed // d, the number of the slice for i←0 to 9 for j←0 to 9 if(k) display a[i][j][d] else read a[i][j][d] //End of algorithm ALGORITHM checkblock(i,j) //function to identify 3X3 blocks in a 9X9 matrix //Input: i,j-variables to hold the row and column numbers //respectively // Output: maximum and minimum bounds for 3X3 blocks

6 12

1

8

D. Pseudocode

2

5

3

2

8 6

0

4

4

3

9

Now after two slices (which are partially solved Sudoku puzzles) are again sent for elimination. Again after elimination is over these two slices are sent for duplication so 2*2 makes it four slices after the second round of duplication. Then again these slices are sent for elimination and duplication. This process goes on until the solution is found. Keep on checking whether the slice formed is the correct solution by using the condition that there will be no vacant space in the correct solution. The moment the correct solution is found it is displayed.

3

6

1

Figure. 6, Solved Sudoku!

9 7 6 8 4 5

Figure. 4, Sudoku in slices 2 and 3 after duplication

1

8

14

for k←0 to 9 step by 3 if(i>=k)and(i<=k+2)) for l←0 to 9 step by 3 if(j>=l)and(j<=l+2)) xs ←k xe ←k+2 ys ←l ye ←l+2

Figure. 5, Simulation of Sudoku duplication

This is a simulation of how the algorithm duplicates Sudoku after the initial elimination. Here the problem arises how to store slices created by the duplication process in the third dimension of the array ensuring that no slice overlaps on the other slices. Here we use the technique of storing the slices in unique slots allocated by the method that the first duplicated copy is stored at address 2m+1 and second duplicated slice is stored at 2m+2 where m is the slot number of the parent slice.

//End of algorithm

44


kagada2008

IEEE UVCE

ALGORITHM elimination(f) // function to fill up vacant cells which have exactly one //suitable number //Input: f- the slice number for which elimination needs to //be done //Output: Partially solved Sudoku

ALGORITHM duplication() ///function to copy partially solved Sudoku into two slices, //such that each slice contains one of the two probable //numbers for a particular vacant cell start←0 stop←0 for loop ←0 to 13 for i ←0 to 9 for j ←0 to 9 for m←start to stop a[i][j][2*m+1]= a[i][j] [2*m+2]= a[i][j] [m] end for for m←start to stop elimination(m) a[empx] [empy] [2*m+1]=values; elimination(2*m+1) a[empx] [empy] [2*m+2]=values; elimination(2*m+2) end for start← (start*2)+1 stop← (stop*2)+2 end for end for // End of algorithm

flag ←10 for i ←0 to 9 for j ←0 to 9 if(a[i][j][f]=0) flag←0, pass←0 for k ←1 to 9 flag1←0 for p ←0 to 9 if(a[i][p][f]=k flag1←1 break end if if(a[p][j][f]=k flag1←1 break end if end for call checkblock(i,j) for m←xs to xe for n←ys to ye if(a[m][n][f]=k flag1←1 end if end for end for if(flag1=0) increment flag by 1 increment pass by 1 if (pass=1) set valuesl=k end if else if (pass=2) set valuebl=k end if num←k end if end for if (flag=1) a[i][j][f] ←num increment count by 1 call elimination(f)//recursive end if if (flag=2) empx ←i empy ←j values←values1 valueb←valueb1 end if end for end for end for if (flag=10) display “The solution is” call inout(1,g) display “The no. of slices”, f end if

III. OTHER INTERESTING ALGORITHMS A. Genetic Algorithms to solve Sudoku All Genetic Algorithms [2] are computer based optimization methods that use the Darwinian evolution [3] of life forms as a model. The solution basis of a problem is encoded as individuals that are chromosomes consisting of several genes. These virtual individuals are tested against a problem represented as a fitness function [4]. The better the fitness value individual gets, the better is its chance to be selected as a parent for new individuals. The worst individuals are killed from the population in order to make room for new generation. Using crossover and mutation operations genetic algorithm creates new individuals. In mutation we change random genes of the chromosome either randomly or using a predefined strategy. The Genetic algorithm follows “survival of the fittest” principles of the Darwinian evolution. In our Sudoku problem too, we follow this principle, as only best choice fills the vacant cell eventually. Hence here too the fittest number survives with all the rest discarded. We can summarize the simplest Genetic Algorithm based method to solve a Sudoku as follows: The base problem of Sudoku is represented as a GA chromosome of 81 integers divided into nine sub-blocks of nine numbers [4]. The solving involves operation called mutation tried inside a sub-block. If it is illegal to change the randomly chosen position the mutation is omitted, otherwise the mutation is allowed. The repetitive mutations will solve Sudoku.

Figure. 7, The swap mutation used in Sudoku optimization. Up left is one sub block and up right the static values of that sub block (6 and 7 are givens). The mutation is applied so that we randomly select positions inside the sub block, and then compare the selected positions to the help array in order to see if the positions are free to change.

// End of elimination 45


kagada2008

IEEE UVCE

Figure. 8, Factor Graph for the Sudoku Problem Given in Figure 9. Row, column, and sub-square constraints on the 81 cells (red) on a Sudoku feld are encoded by 27 function nodes (blue). Messages are sent along both directions of the edges. If an edge is incident to a variable node that corresponds to a given cell (green edges), the given’s value determines the messages along that edge.

B. Solving Sudoku Using Message Passing Message passing has been a concept used in various fields such as error correcting codes [5], combinatorial optimization [6], and signal processing [7] and so on; exploiting its property of being a powerful approximation algorithm for these problems. To solve Sudoku, we concentrate on a popular algorithm belonging to the message passing family, the sumproduct algorithm or the belief propagation algorithm [5]. It is closely related to the Bethe-Peierls approximation [8] [9] used in Statistical Physics. It can solve almost every Sudoku problem ever conceived. The belief propagation algorithm is an iterative algorithm for computing the marginal [10] of functions on a graphical model. It was formulated by the scientist Judea Pearl. It computes the marginalization of a multivariate function over a finite set. The factorization for this function can be represented as factor graphs. See fig 10(a). Each factor graph is associated with a variable node and a function node. A variable node is connected to a function node if and only if the corresponding function depends on the variable associated

Figure. 9, Typical Sudoku Problem and its solution. Given numbers are shaded blue. The factor graph for this Sudoku Puzzle is shown in figure 8 above.

46


kagada2008

IEEE UVCE

with the node. Factor graphs can be loops or trees, but to calculate a marginal in polynomial time, they are assumed to be trees. Message passing works in a bottom up fashion. To apply the message-passing scheme, the function f(x1, x2, …, xn) must be a product of several functions fj(Xj), each depending on a small subset Xj of the variables {x1, x2, …, xn}, for example:

¾

from a variable node j to a factor node k This

describes the probabilities that the node j will take a particular value, based on the information provided not by the function node, but all of its other neighbours. [8] For the sake of simplicity, let us consider the variable nodes that are fixed by the givens as 'fixed edges' and those that we have to determine as free edges. We have prior knowledge about those variable nodes j and function nodes k when they are included in the set of givens. If j and k are not a part of the factor graph, we do not have prior knowledge of the value xj is going to take. To find the same, we perform the following steps. Messages between variable node j and k are initialized to:

In order to solve Sudoku by message passing, the puzzle is mapped to a marginalization problem [10] where each cell is associated with a variable These variables are fixed by the givens, and the others need to be found out by the Sudoku player under the constraints of the rules of the game. To do so, a uniform probability measure p is introduced over the set of solutions.

But if the variable node is already assigned a value , the messages between j and k are set to: Here, Z is the number of solutions for a specific set of givens in the puzzle and (2) from equation (3) and thus, the message passing algorithm does not touch these nodes. Messages on the free edges are updated by the marginalization equations

Here, the indicator function I[.] a generalized Kronecker δ. Its value will be 1 if and only if the statement in the bracket is true and 0 otherwise. Thus, the value of p will be zero for every wrong answer and non zero only if all the constraints of the puzzle are met. This provides a different solution for each solution of the puzzle. Since we are considering Sudoku puzzles with a unique solution, say,

there will be only one marginal distribution p xi which will

fj(.) for this is given by (2). This process is not a single step process, but consists of several rounds, which terminate only when beliefs converge into a solution or we have reached the maximum limit on the number of rounds. Each cell will be assigned the most probable value according to the beliefs of its variable node. See Fig 8.

remain i.e.

p xi

I xi si (3)

Update schedules can be done in two ways• A parallel sequential schedule where both the 2 types of messages are updated alternately. • A random update schedule over m messages which aren’t fixed priori by givens, where m ordered pairs (j,k) are chosen of the neighboring nodes and messages updated from j to k.

Now, the marginal distribution of the solution has been calculated using the sum-product algorithm. Messages are passed along the edges of the factor graphs as shown in the figure. A message is generally considered to be of two types: from a factor node j to a variable node k is a ¾

Since the probabilities are relative, they are normalized after every updating.

vector of all possible states xk of the set X={1,2,3,…9}. This implies to the all the probable values that the variable k can take based on the function f.

The above update schedules have different efficiencies. The sum-product algorithm can find solutions for 53.2 percent of 47


kagada2008

IEEE UVCE

the 17-given instances of Standard Sudoku using a parallel sequential update schedule and 61.7 percent using a random schedule.

data [13]. Then we replace a certain row or column of this Sudoku. To do this replacement we replace the number in the entire Sudoku grid (example 2 instead of 7). Now after this replacement, for each instance of number we apply this replacement on the original unsolved puzzle. As a result the concerned Sudoku puzzle is designed and put at our disposal. Now this modified Sudoku is sent to the receiver through an SMS. The concerned person solves the puzzle and hence can decode the hidden message. B. Information hiding in Digital Images In the last section we discussed about hiding data in a short message, now we discuss how Sudoku can be applied to carry secret data through a digital image [14]. Every digit in the Sudoku grid is decreased by 1 so that grid contains digits from 0-8.Then the secret bit stream is converted to digits in the base-9 numeral system [15]. Each segment will be of [2×log29] =6-bits. Next we modify a selected cover pixel pair according to a secret digit with the Reference matrix which is a 256×256 matrix constructed by using the Sudoku solution. The pixels in the cover image are paired using a pairing technique and the cover pixel pair is modified to conceal the secret digit with small distortion [14].

Figure 10 Factor graph. In the graphical representation of (a) theproducts f1(x1, x2, x3) f2(x1, x3, x4) f3(x5) f4(x3, x4, x5, x6) and (b) f1(x1, x2,

x3, x4)

f2(x1, x5, x6)

f7(x6, x11, x12)

f8(x8)

f3(x3, x7, x8)

f4(x4)

f9(x10, x13, x14)

f5(x5, x9, x10)

f6(x5)

f10(x12, x15, x16), squares

represent function nodes and circles symbolize variable nodes. The factor graph on the right doesn’t have any loops, so the message-passing scheme gives exact marginals.

IV. APPLICATIONS OF SUDOKU Contrary to what one may believe, Sudoku has far ranging applications not just as a Game but also in Text and Image based Steganography. Also by virtue being placed in the NPComplete set of problems it has numerous research interests. A. Steganography in Short Messages using Sudoku Steganography [11] is the art and science of writing hidden messages in such a way that no one apart from the sender and intended recipient even realizes there is a hidden message. By contrast, cryptography [12] obscures the meaning of a message, but it does not conceal the fact that there is a message. Today, the term steganography includes the concealment of digital information within computer files. The advantage of steganography over cryptography alone is that messages do not attract attention to themselves, to messengers, or to recipients. Often, steganography and cryptography are used together to ensure security of the covert message. Sudoku puzzle being a very popular game, it is a suitable alternative for hidden data transfer. Steganography algorithm is based on the order of position of numbers 1 to 9 in the specific view grid location.

Figure. 11, An example of a reference Matrix C. Sudoku is a NP-complete Problem Sudoku is placed in an infamously difficult class of problems, called NP-complete [17] Problems and by this virtue it takes it comes under the same class that includes problems of great practical importance such as scheduling, network routing and Gene Sequencing.

THE METHOD

As a result of the basic rules of Sudoku, we can arrange the numbers of each row or column in 9! permutations. For hiding the information, we position the numbers in accordance with desired permutation, in a row or column of a 9×9 Sudoku puzzle, then we solve this puzzle in which we want to hide the

“The question of whether there exists an efficient algorithm for solving these problems is now on just anyone’s list of Top 10 unsolved problems in science and mathematics in the world”, says Richard Korf [17], a computer scientist at the 48


kagada2008

IEEE UVCE

University of California at Los Angeles. The challenge is known as P = NP, where, roughly speaking, P stands for tasks that can be solved efficiently, and NP stands for tasks whose solution can be verified efficiently. (For example, it is easy to verify whether a complete Sudoku is correctly filled in, even though the puzzle may take quite a lot of time to solve.)

way we look forward to get a convincing answer is to explore the possibility of developing artificial-intelligence based solution. Our mind is flexible enough to understand the nuances of any game/puzzle, but it remains a daunting task to make the computer understand the method behind it. So we ultimately look forward to Artificial Intelligence, to come up with a generic algorithm that will not only help us solve all variations of Sudoku, but can also be applied to solve puzzles of all genres.

As a member of the NP-complete subset, Sudoku is an ideal tool for investigating the whole class of NP problems: an efficient algorithm for any NP-complete problem—the toughest of NP problems—automatically provides an efficient algorithm for solving all. Although most experts believe that no such algorithm exists, they continually search for improved algorithms that provide shorter, if not the very shortest, paths to solutions. D. Research interest in Artificial Intelligence algorithms Sudoku follows in a long tradition of artificial intelligence research on games, most notably chess. But some of AI’s most important advances stem from more modest games. The routefinding algorithm [18] that powers car navigation systems, for instance, was first demonstrated on the Sliding Tile puzzle, a child’s toy in which a player tries to move 15 tiles around a grid so that their surfaces form a picture. The same algorithm helps video game characters steer through virtual worlds. E. As a Feature Packed PC Game At the time of writing this paper, there were 63 known variants of the Sudoku puzzle.[17] Using the various algorithms discussed , we can develop a software [18] having an intuitive user interface even incorporating 3D graphics and which can be used to generate and solve all known variants of the Sudoku. The software can include features to grade the difficulty of puzzles, or provide hints to the solution. Also documenting the various tricks that can be used to solve a Sudoku manually is highly desirable. It should interest us that there is no efficient generic algorithm to solve all variants of Sudoku, and hence no such software exists as of now. A scaled down version of the software can be implemented on the mobile platform keeping in view the processing constraints of a mobile device.

Figure 12, A Snapshot of our Sudoku Program under execution.

REFERENCES [1] [2] [3]

V. CONCLUSION [4]

In this paper, we discussed our simple algorithm which we have implemented in C. The algorithm can be easily scaled to solve Sudoku of different dimensions for example 16*16, 25*25.A Snapshot of our program is given in Fig 12. Sudoku though a popular choice for an entertaining puzzle to most hobbyists has proved to be an interesting area of research for many mathematicians worldwide. From this work we realize that games and puzzles, not only have the obvious fun quotient, but are also an important tool for developing algorithms which have the potential to be used in fields such as Network Routing, CPU Scheduling etc. Sudoku can be formed with many variations, with some of them even combining this number game with the Rubik’s cube. All the variations can be proved to come under the NPcomplete subset of problems and by this very nature it is extremely difficult to design an efficient algorithm which is generic enough to solve all of these possible variations. The

[5] [6] [7] [8] [9] [10] [11] [12] [13]

49

Sudoku general reference from Wikipedia: http://en.wikipedia.org/wiki/Sudoku J. Holland, Adaptation in Natural and Artificial Systems, The MIT Press (1992) Darwin, C.: The Origin of Species: By Means of Natural Selection or The Preservation of Favoured Races in the Struggle for Life, Oxford University Press, London, 1859, A reprint of the 6th edition (1968) Timo Mantere and Janne Koljonen,: “Solving, Rating and Generating Sudoku Puzzles with GA,” presented in IEEE Congress on Evolutionary Computation (CEC 2007). R. J. McEliece et al, “Turbo Decoding as an Instance of Pearl’s “belief propagation” algorithm,” IEEE Journal on Sel. Areas in Comm., Feb. 1998. Combinatorial Optimization on Wikipedia http://en.wikipedia.org/wiki/Combinatorial_optimization http://en.wikipedia.org/wiki/Signal_processing J.S. Yedidia, W.T. Freeman, and Y. Weiss, “Constructing Free Energy Approximations and Generalized Belief Propagation Algorithms,” IEEE Trans. Information Theory, vol. 51, no. 7, 2005, pp. 2282–2312. A. Pelizzola, “Cluster Variation Method in Statistical Physics and Probabilistic Graphical Models,” J. Physics A, vol. 38, no. 33, 2005, pp. R309–339. Heiko Bauke, Max Planck Institute for Nuclear Physics, “Passing Messages to lonely Numbers” published in IEEE Journal ‘Combinatorics in Computing’ (March/April 2008) http://en.wikipedia.org/wiki/Steganography http://en.wikipedia.org/wiki/Cryptography. M. Hassan Shirali-Shahreza, Mohammad Shirali-Shahreza “Steganography in SMS by Sudoku Puzzle,” ©2008 IEEE


kagada2008

IEEE UVCE [14] Chin-Chen Chang, Yung-Chen Chou, The Duc Kieu, “An Information Hiding Scheme Using Sudoku,” The 3rd International Conference on Innovative Computing Information and Control (ICICIC’08) © IEEE 2008 [15] X. Zhang and S. Wang. Efficient steganographic embedding by exploiting modification direction. IEEE Communications. Letters, 10(11):1–3, November 2006. [16] Lauren Aaronson “Sudoku Science,” IEEE Spectrum, February 2006 [17] Types of Sudoku http://www.saidwhat.co.uk/sudokus/sudokufaq.php [18] Sudoku game on linux platform http://gnome-sudoku.sourceforge.net/

50


kagada2008

IEEE UVCE

Effective E-Banking Phanindra J Department of MCA, RNS Institute of Technology, Bangalore-61

phanindra28@gmail.com

instruments and certificates of deposit etc. In Internet banking the customer accesses his or her accounts from a browser but not on the user’s PC. Net Banker defines a true Internet bank as the one that provides account balances and some transactional capabilities to retail customers over World Wide Web.

Abstract: E-Banking facilitates the customer to perform their transaction through internet. Customer may have queries about banking issues like Electronic Fund Transfer (EFT), on-line Bill Payment, account statement, payment of credits etc. In a current situation, if a customer has a query, he has to contact through mail, fax etc. But, the response may not be in-time. To overcome this problem, we are introducing a concept of Active Chat where customer can interact with customer support team on-line. When customer submits his query, a Case ID is generated and is sent with his details to customer support team. Customer’s query will be resolved online and thus to provide best service immediately.

Although Internet banks offer many of the same services as do traditional brick-and-mortar Banks, analysts view Internet banking as a means of retaining increasingly sophisticated customers, of developing a new customer base, and of capturing a greater share of depositor assets. In the verge of gaining and retaining customers, effective customer support is a major challenge in ebanking. It involves what support services the bank offer, how these services are delivered, and what the customer's expectations are. The support that the bank provides to customers can ultimately determine if they will visit the site in the future and if they will be loyal to the site. Loyalty to particular site will result in referrals to friends and family. That loyalty can result in substantial lifetime revenue.

Key Words: Active Chat, Case ID, Customer Support, E-Banking, Ticket. I. INTRODUCTION Electronic banking is an umbrella term for the process by which a customer may perform banking transactions electronically without visiting a brick-andmortar institution. PC banking is a form of online or internet banking that enables customers to execute bank transactions from a PC via a modem. In most of the PC banking ventures, the bank offers customer a proprietary financial software program that allows the customer to perform financial transactions from his or her home computer. The customer has to dial bank through his or her modem and then download data, and run the programs that are resident on the customer’s computer. Currently, many banks offer PC banking systems that allow customers to check account balances and credit card statements, pay bills, and transfer funds between accounts.

Customer expectation from help-desk may be:  International, multicultural, multilingual awareness  24-by-7 service  Various technical skill levels  Various customer contact methods like email, fax, phone, Web In traditional help desk environments, many of the above items are controlled to reduce the total cost of support and provide the highest level of service feasible. In a current scenario, various communication methods like mail, fax etc. may not be spontaneous. So, for any query, customer may not get response intime and it may affect his business. This will lead to fall-down in good-will of the bank. This problem can be resolved through Active Chat. It provides a one-toone support for the customer within a short span.

Internet banking, an outgrowth of PC banking, uses the Internet as the delivery channel by which to conduct banking activity like transferring funds, paying bills, viewing checking and savings account balances, paying mortgages, and purchasing financial 51

1


kagada2008

IEEE UVCE

In this paper, we are going to present a methodology of developing active chat in e-banking. The paper is organized as: Section II deals with architecture and modelling, Section III deals with Implementation details, and Section IV includes conclusion.

Customer has a query

II. ARCHITECTURE AND MODELING Now-a-days many banking transactions occur through internet banking. When we are into internet banking we can do various kinds of transactions. During the middle of any transactions, if the customer is in need of any help, then he can use Active Chat for real time online support. Figure 1 shows an active-chat scenario is banking environment.

Customer opts Active Chat

Select Region and Location

Choose category of query

Display for active chat operating hours

Generate Case ID

Send ticket containing user details and Case ID to respective customer support team

Send acknowledgment to customer with estimated time of response and Case ID

Active Chat provides an efficient way to get expert help in real time. Normally, for various types of transactions, customer logs into the bank’s site by providing his username and password. We are providing a tab viz. Customer Support which includes an option for Active Chat. Figure 2 shows a snapshot for ICICI Bank. When customer has a query, he opts for Active Chat. He has to select type of query like EFT, account statement, credit card issues etc. Then he has to select the region and location of the bank where he has account. It will display the operating hours of Customer Support Team for that region. He can avail active chat facility only during these hours. If customer tries to access active chat other than operating hours, an error message will be displayed and will terminate active chat session. Customer is provided with the facility of saving his settings for further reference.

Active chat session is established on FIFO basis

YES

End of active chat session

NO

Customer query is solved

Issue moved to higher level for further clarification

Figure 1. Architectural diagram for Active

When clicked on Active Chat, a messenger is opened and user details are transferred to Application Server. Now, a CaseID is generated for a customer request. User Details, Customer Request and CaseID together form a ticket. This ticket is stored in the database. This process is called as Raising a ticket. Once the customer submits a support ticket, he will receive a confirmation message containing his CaseID, the support hours for his location and the estimated time of response. The customer service people should be provided with the GUI to view the tickets and their screen will refresh for one second automatically depending upon the Customer Requests in the database.

Figure 2. Snapshot showing Active Chat under Customer Service Tab

52

2


kagada2008

IEEE UVCE

III. IMPLEMENTATION

The Ticket when generated comes into the Customer support main queue. When the customer care executive clicks on the ticket from this list, the chat session is established sending an acknowledgement to the customer. Executive can chat with the customer and solve his query. Once the query is resolved the case ID is displayed under the resolved list of that customer care executive, if it is moved to the higher level it gets displayed under the transferred list. Table I shows an example of Customer Support Executive queue.

Usually, net banking is a Java based Web Application. Then an Application Server like BEA Weblogic/ IBM Websphere is required to enable entire internet banking session. Any Web application is frequently viewed as part of a three-tier application, consisting of a Presentation Layer (Web clientgraphical user interface, GUI), Application (business logic) Layer, Data Layer. The presentation layer displays information related to such of the services as browsing merchandise, purchasing and shopping cart contents etc. It communicates with application layer by outputting results to the browser. Application layer controls the functionality of application by performing detailed processing. Data layer consists of database servers. It stores and retrieves the information. The data is kept independent from application layer and thus improves scalability and performance.

Table I. Ticket list for a Customer Support Executive List of pending Details of Customer Support Tickets in the Executive (Raj) queue Customer Support Transferred Processed Resolved Executive by Raj to by Raj by Raj queue (main) next level C1 C1 C1 C2 C3 C3 C3 C4 C4 C4 C7 C7 C5 C8 C8 C6 C7 C8

We are using Java, JSP and JDBC for implementing the new concept of active chat. When a person logs in into the e-banking with the User Name and Password, a web page is displayed as shown in Figure 2.When he opts for active chat, he has to provide region and location as shown in Figure 3.

If a query does not get solved in a particular level, then it is transferred to higher level executives for further clarifications. In this step, again queue of such tickets is displayed at higher level executives and the process is continued in the same manner. When the query is resolved, the customer can terminate the session by clicking the End Chat button or by closing the Active chat window. A confirmation message is displayed stating whether his query is addressed or not. If the Customer clicks Yes, then the particular ticket is closed in the application database persisting the name and ID of the representative who resolved this issue. The performance of the customer support representative can be measured by number of tickets handled by him.

Figure 3. Selection of Region and Location A link stating Active chat operating hours is displayed as shown in Figure 4.

53

3


kagada2008

IEEE UVCE

Depending upon the category of query selected by the Customer, the ticket is sent to the respective Customer Support division of the selected Region and Location. The tickets are resolved in FIFO basis. The customer support representatives are provided with the GUI to view the Open Tickets of their query category. The Open Tickets list gets refreshed for every one second, to display the latest tickets which need to be addressed. Any customer support representative can accept the open tickets. When a customer support representative accepts a ticket, it is assigned to that representative and is transferred to his Tickets List which needs to be addressed. An acknowledgement is sent to the customer, mentioning the name of the respective customer support representative. The chat session is established as shown in Figure 7.

Figure 4. Display of Operating Hours When the user clicks the link, then a popup window showing the active chat operating hours will be displayed as shown in Figure 5.

Figure 5. Display of Operating Hours for specific regions When the user clicks the Submit button, a support ticket is generated in application layer and then sent to data layer. The user will receive a confirmation message containing the support hours for his location, and the estimated time of response as shown in Figure 6. The application server generates a Case Number and stores the ticket in the database of Open Tickets List of that query category. The Case Number is sent to the Customer for further tracking.

Figure 7. Establishment of Active Chat Session The text chat area will display all the communication between the customer and support executive for the entire session. The bottom area is where the customer types his messages to the customer support person. Two buttons are provided: one to send the message and the other to end the chat session. When the customer wants to end the session, a message asking for his satisfaction is popped-up. If he says yes, then the particular ticket is closed in the application database persisting the name and ID of the representative who resolved this issue. If the Active Chat window is closed, the Customer has to open a new session in order to continue his query. If the Active Chat window is inactive for a particular timeout period, then both the Active Chat and Banking session need to be forcefully logged out. The customer has to re-login again and open a new chat in order to continue. The chat history should be persisted for monitoring the quality and performance of the customer support.

Figure 6. Acknowledgement to the customer

54

4


kagada2008

IEEE UVCE

VI. CONCLUSION E-Banking is fastest growing trend in the banking sector. Customer support plays a vital role in effective e-banking. In this paper, we have proposed an advanced tool for making customer support more scalable and efficient. We propose a facility for active chat where the customer gets instant support. This helps the bank to serve its customer very quickly and thus improves the goodwill of the bank in the market. It is a mutual benefit for bank and the customer where bank improves its productivity and the customer is gifted with more convenient and easy way of banking online. In future, frequently asked queries can be stored with respective solutions in the database and a part of this query system can be automated. This will reduce traffic in active chat and response time for each query will be reduced. ACKNOWLEDGEMENT I would like to thank Prof Kavya N P, Head of the Department of MCA, RNS Institute of Technology for her constant support, encouragement and valuable suggestions. The preparation of this document would not have been possible without the support, hard work, endless efforts and guidance of Ms. Chetana Hegde, Assistant Professor, Department of MCA, RNS Institute of Technology. REFERENCES 1. E-Commerce and E-Banking by N. Subramani, V. Gamesan, and D. Anbalagan (Feb 2008) 2. E-banking in India: Challenges and Opportunities by Rimpi Jatana and R. K. Uppal (Oct 2007) 3. E-Banking: Integrating and Managing Your BankÂŞs Electronic Services (Technology series) by Jerry Miller (Mar 1999) 4. Thinking in Java by Bruce Eckel, 4th Edition 5. Head First Servlets and JSP By Bryan Basham, Kathy Sierra, Bert Bates, Second Edition 6. Head First EJB By Kathy Sierra, Bert Bates, First EditionProfessional Jakarta Struts by James Goodwill, Richard Hightower 7. Professional Java Server Programming J2EE by Subrahmanyam Allamaraju, 1.3 Edition 55

5


kagada2008

IEEE UVCE

56


kagada2008

IEEE UVCE

57


kagada2008

IEEE UVCE

58


kagada2008

IEEE UVCE

59


kagada2008

IEEE UVCE

60


kagada2008

IEEE UVCE

61


kagada2008

IEEE UVCE

62


kagada2008

IEEE UVCE

Implementation of the Time Table Problem using a NON-GENETIC Algorithm, and Extension to GENETIC Algorithms Avinash R. Krishnan, Abhishek Singhvi, Amber Garg and Adarsh J., Department of Computer Science & Engineering MSRIT, Bangalore EVALUATE children; SELECT individuals for the next generation until TERMINATION-CONDITION is satisfied END The Genetic Algorithms can be represented in form of following diagram:

Abstract—The Time Table problem is a classic NP-complete problem requiring the generation of a semester course timetable, i.e., the assignment of courses, teaching faculty and lab resources to a given set of classes in an University. The constraints involve avoiding clashes of teachers, courses, and lab slots while assigning no more or no less than the required number of time slots for each part of the curriculum.

II. DESIGN OF A NON GENETIC SOLUTION FOR THE TIME TABLE PROBLEM

NP-complete, Timetable, Algorithms, Optimization methods, software programming, Non genetic Algorithm

A. Problem Statement INPUT: A set of courses to be assigned to each class/semester in the university A set of teachers who will be handling particular courses for each class A set of available labs A set of required lab slots for each class

I. INTRODUCTION

T

HE problem is traditionally solved using Genetic Algorithms, which are population based search techniques acknowledged as good solvers of NP-complete and NP-hard problems. However, it must be noted that there exists no fully acceptable Genetic Algorithm for solving the Timetable problem. Existing algorithms are based on approximately modeling the problem and then combining (crossing-over) feasible solutions to generate mutated child instances with slightly different properties. A heuristic evaluation function is used to express the fitness of the generated solutions according to the constraints of the system and the survival pressure of Solution Fitness is used to determine which solutions are acceptable for crossing into the next generation. Clearly, this falls in the category of Generate and Test algorithms.. Background of Genetic Algorithms The general scheme of a Genetic Algorithm can be given as follows:

BEGIN INITIALIZE population with random solutions; EVALUATE each candidate; repeat SELECT parents; RECOMBINE pairs of parents; MUTATE the resulting children;

Fig. 1. The general scheme of a Genetic Algorithm.

A set of special constraints (if any) regarding preference of particular time slots by any teacher or lab OUTPUT: A timetable that violates none of the constraints specified and an expression of the Solution’s Fitness.

candidate

B. Input Interpretation The input is a set of requirements versus a set of constraints. The Constraints are observed to be of 2 types:

63


kagada2008

IEEE UVCE

1) Hard Constraints: Constraints which if violated would render the solution invalid and hence must be diligently avoided. 2) Soft Constraints: Constraints which if violated would still yield valid but less desirable timetable. Inherent features of the problem like barring a class from being scheduled for two different courses simultaneously, or a teacher from teaching two different courses simultaneously are Hard Constraints. Constraints like a preference over particular time slots, or preventing teachers from having to take three continuous classes, or preventing back-to-back lectures of the same course, are soft constraints.

E. Design and Modeling A major part of the solution involves proper modeling of the input to reflect the properties of the system. Parameters: 1) Course Description: Each Course is described by a unique courseNumber 2) Class Description: Each Class is described by a unique classNumber, and a set of courseNumbers which the curriculum specifies for that class and a TimeTable for that class consisting of a 2-Dimensional array of Periods 3) Period Description: Every Period in the TimeTable of every Class consists of information on whether that period is engaged, and if it is, information on the Course/Lab scheduled for that period 4) Teacher Description: Each Teacher is described by a unique tNumber 5) Lab Description: Each Lab is described by a unique lNumber, and consists of a 2-Dimensional array of labSlots 6) labSlot Description: Each labSlot is described by the classNumber of the class scheduled for that lab in that Slot and a linked list of tNumbers of teachers functioning as Lab In-Charges for that Slot 7) Slot Description: Each Slot is described by a linked list consisting of the tNumbers of all the Teachers who are engaged in that Slot in some Course lecture or Lab 8) Days need no modeling as they are built into the algorithm 9) Special Constraints (if any) are stored in separate Constraint Tables and require separate modeling.

C. Problem Analysis Even a very rudimentary mathematical analysis of the problem reveals an exponentially escalating Time Complexity that is inherent in the nature of the problem itself and hence inevitable from any proposed complete solutions of the problem through Genetic Algorithms. However, a rudimentary analysis of the generation of an approximate solution to the problem based on crude modeling gives a Polynomial Time Solution. This seemingly huge deviant from the Time Complexity of Genetic Solutions is due to the following observations one might make on the nature of Genetic Algorithmics: 1) The initial population is composed of individual solutions randomly constructed without regard to any of the constraints, and need not consist of Valid solutions, hence, the number of generations required to generate populations of largely Valid solutions is very high, usually a few thousands.

III. ALGORITHM

2) The technique does not differentiate between Hard and Soft Constraints except to the extent that the cost of violation of a Hard Constraint is exorbitantly and uniformly high irrespective of the degree of violation whereas the cost of violation of a Soft Constraint is somewhat lower and depends on the degree of violation.

START //Fill up labSlots For each Lab, lab* in the University For each Class, class* that needs to be given a Slot in that Lab Select a Random Slot, slot* If ( lab* is free in slot* AND class* is free in slot* AND the required Lab In Charges are free in slot* ) Assign class* to lab* in slot* and insert the tNumbers of the Lab In Charges into Slot[slot*] as engaged Next Random slot* Next class* Next lab*

3) There is nothing in the fundamental nature of Genetic Algorithmics which could prevent the existence of solutions that violate Hard Constraints in the population, hence, even after many generations of selective evolution the population may not contain a large number of Valid solutions thus requiring a few thousand generations of selective breeding before an acceptable solution results. D. Solution The solution we propose is based on incrementally filling up the Timetable with no Hard Constraint violated. This incremental filling also industriously tries to avoid the violation of the Soft Constraints. In addition, the Incremental Filling is carried out in a random way and hence automatically takes care of many Soft Constraints like back-to-back course lectures or labs.

//Fill up courseLectures For each class, class* in the University For each course, course* that is specified in the curriculum of class* Select a Random Slot, slot* If ( class* is free in slot* AND the required teacher free in slot* AND no Hard Constraints are violated 64


kagada2008

IEEE UVCE

C. Extension to Genetic Algorithms As has already been observed, Genetic Algorithms start with a randomly initialized population and progressively generate and test Solution Instances. The Initial Population is completely random and need not contain Valid Timetables, and thus many generations of selective in breeding are required before a favorable population composition is achieved. In addition, if the Genetic Algorithm does not achieve an exact solution, one of the approximate solutions generated thus far cannot be chosen since there is nothing that prevents that solution from having violations of Hard Constraints. However, if the initial set of Solutions is populated with Solutions generated by our algorithm the initial population would itself be composed of pure strains each in itself being a completely valid solution. Successive Generations generated by selective in breeding based on minimizing the cost due to violated Soft Constraints can result in optimal Timetables. This should greatly reduce the number of Generations required before Optimal Timetables are generated. Also, the approximate solutions generated at any point in the evolution are themselves fully Valid and are fit for use contrary to that seen in case of purely Genetic Algorithms.

AND no Soft Constraints are violated ) Assign course* to class* in slot* and insert the tNumber of the teacher into Slot[slot*] as engaged Next Random slot* If a Slot is not assigned to course* due to Soft Constraints, drop Soft Constraint and run the above loop again Next course* Next class* END The Randomization of Slot Selection is of great importance as even a minor change in the implementation of our Randomizing Function is capable of generating a totally different TimeTable. This is in fact one of the major strengths of our algorithm. Once the algorithm runs, it generates valid Timetables for every class in the University with no clashes of teachers, courses, labs, or classes. A properly chosen evaluation function can be used to express the Solution Fitness considering costs incurred due to the violation of Soft Constraints. If found unacceptable, the Solution can be dropped and a new TimeTable can be generated by modifying the parameters of the Randomizing Function.

V. CONCLUSION Implementation Language of implementation: Java Platform used: Eclipse Input Mode: XML files Output: The Screen output is the TimeTable from every class’ perspective. The objects involved in the Timetable generation are written into output files for persistent storage.

The Algorithm is satisfactorily functional under input cases with reasonably heavy constraints. It presents a polynomial time solution for what is conventionally implemented as an exponential time algorithm. The performance deteriorates with extremely heavy constraints, but since such conditions seldom arise in real life problems, the algorithm can be said to satisfactorily meet the requirements. The algorithm easily lends itself to extension to Genetic Algorithms and to Server side implementation.

The program was tested on sample inputs consisting of 40 classes, each with 6 courses and 2 labs to be completed in one semester. Generated Timetables naturally consisted of Valid Solutions with no Hard Constraints violated and very few of the Soft Constraints violated and even that to only a small degree. IV.

ACKNOWLEDGMENT We would like to thank Mrs. Geetha Reddy, Departiment of Computer Science, MS Ramaiah Institute of Technology, who has been our mentor on the IBM TGMC project, as a module of which the work on this algorithm was carried out.

FURTHER WORK AND EXTENSION TO GENETIC ALGORITHMS

A. Integration into a Database The program can be run as a Java Servlet on a compatible server and can be made to interact through relevant plug-ins with a master academic database. The program can then be suitably extended to act as the backbone of all event scheduling in the university. We have been carrying out some work to this end and the progress seems promising.

REFERENCES [1] [2]

[3]

B. Testing and Evaluation The design of a good Evaluation algorithm based on degrees of violation of the Soft Constraints would enable us to express for each generated Timetable ‘Solution Fitness’ in intangible terms. This would enable us to modulate our Randomizing Function to generate different and more acceptable Timetables.

[4]

[5]

65

David. E. Goldeberg, Genetic Algorithms in Search, Optimization and Machine Learning. Pearson Education Asia, 1989. Timetable Scheduling using Genetic Algorithms, CS210 Term Project Report by Kumar Avijit (Y0170), Coure Instructor: Dr. R.K.Ghosh, IIT Kanpur Lecture Timetabling using Genetic Algorithms, Author: Leon Bambrick, 3. Supervisor: Dr. B. Lovell, Department of Electrical and Computer Engineering, University of Queensland Bruns R. (1993) “Knowledge-Augmented Genetic Algorithm for Production Scheduling”, IJCAI ‘93 Workshop on Knowledge based Production Planning, Scheduling and Control. Burke E.K., Elliman D.G. and Weare R.F. (1994) “A Genetic Algorithm for University Timetabling”, AISB Workshop on Evolutionary Computing, Leeds.



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.