An Intelligent Plural Auto Recognition Search Engine. Brian King Senior, Electrical & Computer Engineering Department

Size: px
Start display at page:

Download "An Intelligent Plural Auto Recognition Search Engine. Brian King Senior, Electrical & Computer Engineering Department"

Transcription

1 An Intelligent Plural Auto Recognition Search Engine Brian King Senior, Electrical & Computer Engineering Department Siripong Malasri Professor and Dean School of Engineering Christian Brothers University Memphis, TN ABSTRACT Today, there are over tens of millions of web sites on the Internet. The two methods that are currently available for finding information on the web are search engines or subject guides. Search engines are a better choice when looking for specific information. Most search engines do keyword searches against a database. Presently, keyword searches use exact match approaches. Plural is not considered as part of a search for a singular keyword. Therefore, important information could be bypassed by current search engines. In this paper, a search engine was designed and developed to add the plural of a singular word as a keyword for the search. A rule -based system containing plural rules including exceptions was developed to identify the plural of a given singular word. Once the search keywords are established, the search engine randomly activates a commercial search engine and selects the URL at the top of the list. It scans and records the number of matches. The search engines then use the depth-first search approach to follow links based on the number of hits. When a user-specified stopping criterion is met, the search engine generates a report to the user and the user can visit those web pages identified by the engine. INTRODUCTION Searching the Internet is an activity that many people perform as a part of their routine tasks. This activity has become more and more cumbersome with the addition of information to the World Wide Web on a daily basis. This paper presents a search engine based on artificial intelligence concepts. There are two basic search techniques that are used to solve AI problems: breadth-first search and depth-first search. These search techniques are present in all types of AI problems, but are especially useful in network problems. Figure 1 shows the algorithm for the breadth-first search (Bigus, 1998). Create a queue and add the first Node to it. Loop: If the queue is empty, quit. Remove the first Node from the queue. If the Node contains the goal state, then exit with the Node as the solution. For each child of the current Node: Add the new state to the back of the queue. Figure 1 Breadth-First Search Algorithm 1

2 Basically, this algorithm implies that this method searches one level at a time in its entirety. The algorithm will end as soon as the answer is discovered or when the entire network has been searched. The problem with this technique is that it is not optimal and it grows exponentially with respect to time and computer memory consumption. The other method is depth-first search. Figure 2 shows the algorithm for this technique. Create a queue and add the first Node to it. Loop: If the queue is empty, stop. Remove the first Node from the queue. If the Node contains the goal state, then exit with the node as the solution. For each child of the current Node: Add the new state to the front of the queue. Figure 2 Depth First Search Algorithm Unlike the breadth-first search method, the depth-first search method does not search one layer at a time. Instead, it searches one entire path to its end and then backtracks up the network and searches down an untested path. This method has lower memory requirements than the breadth-first method, but is not complete or optimal (Bigus, 1998). This work utilizes the depth-first search method. A method for the learning and reasoning system of an agent must be chosen before the agent can be constructed. Three of the most common methods are rule-based systems, neural networks, and decision trees. The most popular form of knowledge representation used in AI applications is if-then rules, hence is used in this work. DESIGN & IMPLEMENTATION The first step in the design process was to have a clear understanding of what the final prototype should look like and how it would accomp lish each of it s goals. Figure 3 shows the flowchart for this design. Figure 3 Software Design Flow Chart 2

3 This project encompasses building a java application that searches the Internet for a user-specified keyword and it s plural. There are many reasons that Java was the chosen language for this project. Java is an architecture-neutral language, implying that it is operating system independent. Also, the programs are cross-platform applications (portable). Another reason that Java was chosen was due to the built-in functions that allow for web access, file transfer, and additional security features. The program starts on one page and searches that page for the keyword along with any links from that page. The initial page is obtained from one of the major search engines (Yahoo, Infoseek, etc.). This gives the program hundreds of thousands of possible results from which it gives the user the best matches. Then it advances to the first link and scans it for keywords and links. It continues on this process until the user has been given the number of matches that they specified. If the program reaches a site that does not contain the keyword at least once, the program then ignores all of the links from that page. The next section of the paper shows how certain sections of the code were written. The first step is retrieving the keyword from the user. Figure 4 shows the code for getting the keyword from the user. if (args.length!=1) { System.out.println ("Usage: java searchia <keyword>"); System.exit (10); String keyword = args[0].substring (0); Figure 4 Keyword Retrieval The if statement checks to ensure that the user has entered a keyword. If the user forgot to enter the keyword, the program quits and shows the user the correct method for running the program. The program takes the arguments from the command prompt and stores them in a string named keyword. Now that the program has the keyword, it takes this word and uses the English rules for forming plurals (Appendix A) and the exceptions (Appendix B) and creates the plural to match the given keyword. Figure 5 shows the code for handling the exceptions. if (keyword.equals("man")) { keyword1 = "men"; Figure 5 Plural Exceptions This code utilizes the built in equals () feature of the String class. This function is true if the strings that are referenced are equal. The two strings are identical only if their length is the same and if each character is identical. Since each character must be the same, this function is case-sensitive. Thus, it is important that the keyword be converted to lowercase to ensure the words will match. Once all of the exceptions have been checked, each of the rules must be systematically checked. Figure 6 shows the code for the rules. 3

4 else if (keyword.charat(i) == 'o') { keyword.getchars(0, i, keyarray, 0); String key = String.copyValueOf (keyarray); key += "es"; keyword1 = key; else if (keyword.charat(--i) == 'o' && keyword.charat(++i) == 'n') { --i; keyword.getchars(0, i, keyarray, 0); String key = String.copyValueOf (keyarray); key += "a"; keyword1 = key; Figure 6 Plural Rules This section of code uses the charat function. This function allows the programmer to choose any character contained within the string. The length of the string is determined from the command int keylength = keyword.length ();. Once the characters at the given position have been tested and deemed a match, another function getchars is used to eliminate the necessary portion of the original keyword. The problem is that now another function must be used to convert this array of characters back into a string. Once the new string is formed, it is combined with the appropriate ending and renamed keyword1. The next step in the process is to obtain the starting point for the program. Figure 7 shows the code for the random number generator and the search engine selector. int rand; Random x = new Random (); rand = x.nextint(7); switch(rand) { case 1: wp = " + "p=" + keyword+keyword1; System.out.println("Search results provided courtesy of Yahoo"); break; Figure 7 Engine Selector This portion of the code randomly chooses a number between 0 and 6. This number is then used to determine which search engine will be used as the starting point of the program. Visiting each site discovered the method used to address the search engine and noted the URL that was displayed after a search was activated. The final portion of the code deals with keyword matching and link identification. Figure 8 shows a sample of this section of code. 4

5 URL url = new URL(wp); BufferedReader in = new BufferedReader ( new InputStreamReader ( url.openstream())); String buffer; String keystr = keyword; while (!(null==(buffer=in.readline()))){ buffer = buffer.tolowercase(); if (buffer.startswith("<a href=")) { ++ucount; int index =-1; index = buffer.indexof(keystr); while(index >= 0) { ++k; index += keystr.length(); index = buffer.indexof(keystr, index); Figure 8 Identification This section of code uses built-in features to input an html file and reads the file line by line until the end of the file has been reached. At the same time, the code converts the input to all lower cases to simplify the work of matching the links and keywords. Also, a built -in index method is used to search for the keywords. The startswith () method is used to identify the links. All links in an html file begin with <a href=. The only other feature of the project is implementing a breadth-first search using the obtained links. This search will continue until ten levels have been searched or until the program runs out of links to travel. CONCLUSIONS This paper explains how to construct an intelligent agent that will aid the user by acting as an interface agent. This agent, in its simplest form, filters out the garbage and tries to give the user only the information that is most relevant to their requested search. While the search engine met the design criteria set forth by this project, there are many ways that it could be further improved to provide an even more efficient and reliable way to search the Internet. One method would be to allow the program to find all of the forms of the provided keyword, not just the plurals. Another method would be to increase the duties of the agent. That is, allow the agent to suggest sites, not solely on a requested item, but also in conjunction with websites that have been viewed in the past. Another method would be to incorporate a neural network or a genetic algorithm into the agent in order to make the program more efficient and productive. REFERENCES Bigus, Joseph, and Jennifer Bigus. Constructing Intelligent Agents with Java, Wiley Computer Publishing, Jennings, N.R. Applications of Intelligent Agents, University of London, 09 September

6 APPENDIX A PLURAL EXCEPTIONS Word Man Foot Child Person Tooth Mouse Woman Goose Sheep Deer Fish Datum Species Alumna Memorandum Larva Moose Series Medium Plural Men Feet Children People Teeth Mice Women Geese Sheep Deer Fish Data Species Alumnae Memoranda Larvae Moose Series Media APPENDIX B PLURAL RULES Ends With s,x,,sh,z fe f o us is on most others How to form the plural add es change f to v and add s change f to v and add es add es change us to i change is to es change on to a add s 6

Point Grouping Using a Genetic Algorithm

Point Grouping Using a Genetic Algorithm Point Grouping Using a Genetic Algorithm Kriangsiri Malasri Senior, School of Aerospace Engineering Georgia Institute of Technology, 34054 Georgia Tech Station, Atlanta, GA 30332 Siripong Malasri Professor

More information

Backtracking is a refinement of the brute force approach, which systematically searches for a

Backtracking is a refinement of the brute force approach, which systematically searches for a Backtracking Backtracking is a refinement of the brute force approach, which systematically searches for a solution to a problem among all available options. It does so by assuming that the solutions are

More information

An Appropriate Search Algorithm for Finding Grid Resources

An Appropriate Search Algorithm for Finding Grid Resources An Appropriate Search Algorithm for Finding Grid Resources Olusegun O. A. 1, Babatunde A. N. 2, Omotehinwa T. O. 3,Aremu D. R. 4, Balogun B. F. 5 1,4 Department of Computer Science University of Ilorin,

More information

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning 6 Computer Networks 6.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 6.2 Describe network criteria, physical structures and categories

More information

Accessing the Online Application

Accessing the Online Application Accessing the Online Application The online application is available in the onboard community. Prospective families must have a username and password in order to access the community. Admissions Managers

More information

Introduction to Rule-Based Systems. Using a set of assertions, which collectively form the working memory, and a set of

Introduction to Rule-Based Systems. Using a set of assertions, which collectively form the working memory, and a set of Introduction to Rule-Based Systems Using a set of assertions, which collectively form the working memory, and a set of rules that specify how to act on the assertion set, a rule-based system can be created.

More information

Introduction to Computer Science Unit 2. Notes

Introduction to Computer Science Unit 2. Notes Introduction to Computer Science Unit 2. Notes Name: Objectives: By the completion of this packet, students should be able to describe the difference between.java and.class files and the JVM. create and

More information

N N Sudoku Solver. Sequential and Parallel Computing

N N Sudoku Solver. Sequential and Parallel Computing N N Sudoku Solver Sequential and Parallel Computing Abdulaziz Aljohani Computer Science. Rochester Institute of Technology, RIT Rochester, United States aaa4020@rit.edu Abstract 'Sudoku' is a logic-based

More information

WavecrestCyfin. Employee Forensic Web-Use Reporting Tool. ManagerAccountGuide. Version

WavecrestCyfin. Employee Forensic Web-Use Reporting Tool. ManagerAccountGuide. Version WavecrestCyfin Version 9.3.0 Employee Forensic Web-Use Reporting Tool ManagerAccountGuide www.wavecrest.net Copyright Copyright 1996-2018, Wavecrest Computing, Inc. All rights reserved. Use of this product

More information

Binary Trees

Binary Trees Binary Trees 4-7-2005 Opening Discussion What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment? What is a Tree? You are all familiar with what

More information

Problem assignment 1 Due: Tuesday, September 12, 2017

Problem assignment 1 Due: Tuesday, September 12, 2017 University of Pittsburgh CS 2710 Foundations of Artificial Intelligence Handout 2 Professor Milos Hauskrecht September 5, 2017 Problem assignment 1 Due: Tuesday, September 12, 2017 Please note that homeworks

More information

The PCC CIS etutorial to Windows

The PCC CIS etutorial to Windows The PCC CIS etutorial to Windows Table of Contents What do I see when I start my computer?...3 What is the desktop?...4 What is the start menu?...5 How do I adjust my windows?...6 How do I minimize a window?...6

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Trees Sidra Malik sidra.malik@ciitlahore.edu.pk Tree? In computer science, a tree is an abstract model of a hierarchical structure A tree is a finite set of one or more nodes

More information

Data Abstractions. National Chiao Tung University Chun-Jen Tsai 05/23/2012

Data Abstractions. National Chiao Tung University Chun-Jen Tsai 05/23/2012 Data Abstractions National Chiao Tung University Chun-Jen Tsai 05/23/2012 Concept of Data Structures How do we store some conceptual structure in a linear memory? For example, an organization chart: 2/32

More information

Artificial Intelligence (Heuristic Search)

Artificial Intelligence (Heuristic Search) Artificial Intelligence (Heuristic Search) KR Chowdhary, Professor & Head Email: kr.chowdhary@acm.org Department of Computer Science and Engineering MBM Engineering College, Jodhpur kr chowdhary heuristic

More information

Inheritance. For example, to zoom in on the deer family (cervid), we could make a tree like the following.

Inheritance. For example, to zoom in on the deer family (cervid), we could make a tree like the following. Inheritance The concept of inheritance is one of the key features of an object-oriented programming language. Inheritance allows a programmer to define a general class, and then later define more specific

More information

CS 241 Data Organization Binary Trees

CS 241 Data Organization Binary Trees CS 241 Data Organization Binary Trees Brooke Chenoweth University of New Mexico Fall 2017 Binary Tree: Kernighan and Ritchie 6.5 Read a file and count the occurrences of each word. now is the time for

More information

COMP219: Artificial Intelligence. Lecture 7: Search Strategies

COMP219: Artificial Intelligence. Lecture 7: Search Strategies COMP219: Artificial Intelligence Lecture 7: Search Strategies 1 Overview Last time basic ideas about problem solving; state space; solutions as paths; the notion of solution cost; the importance of using

More information

FORM 2 (Please put your name and form # on the scantron!!!!)

FORM 2 (Please put your name and form # on the scantron!!!!) CS 161 Exam 2: FORM 2 (Please put your name and form # on the scantron!!!!) True (A)/False(B) (2 pts each): 1. Recursive algorithms tend to be less efficient than iterative algorithms. 2. A recursive function

More information

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab CSC 111 Fall 2005 Lab 6: Methods and Debugging Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab Documented GameMethods file and Corrected HighLow game: Uploaded by midnight of lab

More information

Introduction to Computer Programming/Handout 01 Page 1 of 13

Introduction to Computer Programming/Handout 01 Page 1 of 13 Introduction to Computer Programming/Handout 01 Page 1 of 13 Table of Contents Table of Contents... 1 Learning Objectives... 2 Program... 2 Programmer... 2 Programming Language... 2 Types of Languages...

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 398 Web Usage Mining has Pattern Discovery DR.A.Venumadhav : venumadhavaka@yahoo.in/ akavenu17@rediffmail.com

More information

Multimodal Interfaces. Remotroid

Multimodal Interfaces. Remotroid Multimodal Interfaces Remotroid Siavash Bigdeli / Christian Lutz University of Neuchatel and University of Fribourg 1. June 2012 Table of contents 1 Introduction...3 2 Idea of the application...3 3 Device

More information

NEW -- NEW -- NEW - READ THE 'Q-DB SECTION

NEW -- NEW -- NEW - READ THE 'Q-DB SECTION NEW -- NEW -- NEW - READ THE 'Q-DB SECTION QUICK LIST - NEW FEATURE as of v.6.0006 The basic Quick List functions are really easy to use. You may well find them one of the most useful 'extras' the program

More information

AN OVERVIEW OF SEARCHING AND DISCOVERING WEB BASED INFORMATION RESOURCES

AN OVERVIEW OF SEARCHING AND DISCOVERING WEB BASED INFORMATION RESOURCES Journal of Defense Resources Management No. 1 (1) / 2010 AN OVERVIEW OF SEARCHING AND DISCOVERING Cezar VASILESCU Regional Department of Defense Resources Management Studies Abstract: The Internet becomes

More information

Binary Trees. Height 1

Binary Trees. Height 1 Binary Trees Definitions A tree is a finite set of one or more nodes that shows parent-child relationship such that There is a special node called root Remaining nodes are portioned into subsets T1,T2,T3.

More information

Assessment Data Online for Parents: Quick Start Guide

Assessment Data Online for Parents: Quick Start Guide Assessment Data Online for Parents: Quick Start Guide Welcome, Parents, to the Assessment Data Online website. This Quick Start Guide is intended to help you become familiar with the application, provide

More information

COMP Homework #5. Due on April , 23:59. Web search-engine or Sudoku (100 points)

COMP Homework #5. Due on April , 23:59. Web search-engine or Sudoku (100 points) COMP 250 - Homework #5 Due on April 11 2017, 23:59 Web search-engine or Sudoku (100 points) IMPORTANT NOTES: o Submit only your SearchEngine.java o Do not change the class name, the file name, the method

More information

Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department

Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department Princess Nora University Faculty of Computer & Information Systems 1 ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department (CHAPTER-3-PART1) PROBLEM SOLVING AND SEARCH (Course coordinator) WHY

More information

CS101 Introduction to Programming Languages and Compilers

CS101 Introduction to Programming Languages and Compilers CS101 Introduction to Programming Languages and Compilers In this handout we ll examine different types of programming languages and take a brief look at compilers. We ll only hit the major highlights

More information

CP2 Revision. theme: dynamic datatypes & data structures

CP2 Revision. theme: dynamic datatypes & data structures CP2 Revision theme: dynamic datatypes & data structures structs can hold any combination of datatypes handled as single entity struct { }; ;

More information

Web Crawling. Jitali Patel 1, Hardik Jethva 2 Dept. of Computer Science and Engineering, Nirma University, Ahmedabad, Gujarat, India

Web Crawling. Jitali Patel 1, Hardik Jethva 2 Dept. of Computer Science and Engineering, Nirma University, Ahmedabad, Gujarat, India Web Crawling Jitali Patel 1, Hardik Jethva 2 Dept. of Computer Science and Engineering, Nirma University, Ahmedabad, Gujarat, India - 382 481. Abstract- A web crawler is a relatively simple automated program

More information

CAPTCHAs and Information Hiding

CAPTCHAs and Information Hiding CAPTCHAs and Information Hiding Neal R. Wagner The University of Texas at San Antonio Department of Computer Science San Antonio, Texas 78249 USA wagner@cs.utsa.edu Abstract. The goal of steganography

More information

Problem Solving & Heuristic Search

Problem Solving & Heuristic Search 190.08 Artificial 2016-Spring Problem Solving & Heuristic Search Byoung-Tak Zhang School of Computer Science and Engineering Seoul National University 190.08 Artificial (2016-Spring) http://www.cs.duke.edu/courses/fall08/cps270/

More information

W3P: A Portable Presentation System for the World-Wide Web

W3P: A Portable Presentation System for the World-Wide Web W3P: A Portable Presentation System for the World-Wide Web Christopher R. Vincent Intelligent Information Infrastructure Project MIT Artificial Intelligence Laboratory cvince@ai.mit.edu http://web.mit.edu/cvince/

More information

Improvement of Web Search Results using Genetic Algorithm on Word Sense Disambiguation

Improvement of Web Search Results using Genetic Algorithm on Word Sense Disambiguation Volume 3, No.5, May 24 International Journal of Advances in Computer Science and Technology Pooja Bassin et al., International Journal of Advances in Computer Science and Technology, 3(5), May 24, 33-336

More information

Web Content Accessibility Guidelines (WCAG) 2.0

Web Content Accessibility Guidelines (WCAG) 2.0 Web Content Accessibility Guidelines (WCAG) 2.0 This is YouSeeU s response to the Web Content Accessibility Guidelines (WCAG) 2.0 -- https://www.w3.org/tr/wcag20/. In this document, YouSeeU has provided

More information

assembler Machine Code Object Files linker Executable File

assembler Machine Code Object Files linker Executable File CSCE A211 Programming Intro What is a Programming Language Assemblers, Compilers, Interpreters A compiler translates programs in high level languages into machine language that can be executed by the computer.

More information

Implementing Algorithms

Implementing Algorithms Implementing Algorithms 1 Data Structures implementing algorithms arrays and linked lists 2 Implementing the Gale-Shapley algorithm selecting data structures overview of the selected data structures 3

More information

Internet Technology 2/7/2013

Internet Technology 2/7/2013 Sample Client-Server Program Internet Technology 02r. Programming with Sockets Paul Krzyzanowski Rutgers University Spring 2013 To illustrate programming with TCP/IP sockets, we ll write a small client-server

More information

Getting Started Reliance Communications, Inc.

Getting Started Reliance Communications, Inc. Getting Started Reliance Communications, Inc. 603 Mission Street Santa Cruz, CA 95060 888-527-5225 www.schoolmessenger.com Contents Before you Begin... 3 Bookmark Your Login Page... 3 Setting your Password...

More information

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development

1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development Technology In Action, Complete, 14e (Evans et al.) Chapter 10 Behind the Scenes: Software Programming 1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem

More information

- HALF YEARLY EXAM ANSWER KEY DEC-2016 COMPUTER SCIENCE ENGLISH MEDIUM

- HALF YEARLY EXAM ANSWER KEY DEC-2016 COMPUTER SCIENCE ENGLISH MEDIUM www.padasalai.net - HALF YEARLY EXAM ANSWER KEY DEC-2016 COMPUTER SCIENCE ENGLISH MEDIUM 1 A 26 D 51 C 2 C 27 D 52 D 3 C 28 C 53 B 4 A 29 B 54 D 5 B 30 B 55 B 6 A 31 C 56 A 7 B 32 C 57 D 8 C 33 B 58 C

More information

Domain Specific Search Engine for Students

Domain Specific Search Engine for Students Domain Specific Search Engine for Students Domain Specific Search Engine for Students Wai Yuen Tang The Department of Computer Science City University of Hong Kong, Hong Kong wytang@cs.cityu.edu.hk Lam

More information

Pattern Classification based on Web Usage Mining using Neural Network Technique

Pattern Classification based on Web Usage Mining using Neural Network Technique International Journal of Computer Applications (975 8887) Pattern Classification based on Web Usage Mining using Neural Network Technique Er. Romil V Patel PIET, VADODARA Dheeraj Kumar Singh, PIET, VADODARA

More information

±» ²¼ ª² ª³ ±» ² ª±² ( 80 ±«) ± ³» ³ ª² ; ±² ²¼ ³² ³±² ± ¹ ³ ³ ³ ³ ² «³ ± ««¾±² - ± ³«³»µ «; ² ª±² ( ±², ±, ±±³ ), ± ±² µ ±² ³ª²³».» µ³ ±²» ² ª±² ( «¾

±» ²¼ ª² ª³ ±» ² ª±² ( 80 ±«) ± ³» ³ ª² ; ±² ²¼ ³² ³±² ± ¹ ³ ³ ³ ³ ² «³ ± ««¾±² - ± ³«³»µ «; ² ª±² ( ±², ±, ±±³ ), ± ±² µ ±² ³ª²³».» µ³ ±²» ² ª±² ( «¾ Ž ˆŸ Š ˆŸŒ Ž Ž ¹µ±, ±²³ ¾¹ 5- ª«±± ³ ² ² ª ±²¼ ; \ ¹ " ±²» ² ±ª ² ±ª» ³»µ ±² ±³¹ ±² ² «¼ ( ² ; ³ «±²¼{ ³ «±²¼, : ±«, ), ² ±ª«; «² «¼ ( ª -, ;, ±«, ); ±«² «¼ ( ±««ª «±² ² ; ² ); ±² ( «; «, ±«,, ); ««(,

More information

ISE 582: Information Technology for Industrial Engineering. Quiz Solutions

ISE 582: Information Technology for Industrial Engineering. Quiz Solutions ISE 582: Information Technology for Industrial Engineering Fall / 2001: 11 October 2001 Instructor: Elaine Chew Quiz Solutions 8 Pages Total 2 hour 30 minutes You can't Disapparate on Hogwarts grounds!

More information

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M.

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M. Lecture 9 Graphs Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M. Wootters (2017) 1 Graphs A graph is a set of vertices

More information

STEP-BY-STEP GUIDE. To Functional Testing With TestComplete

STEP-BY-STEP GUIDE. To Functional Testing With TestComplete STEP-BY-STEP GUIDE To Functional Testing With TestComplete Scale your UI Test Automation Strategy with TestLeft LEARN MORE ABOUT TESTCOMPLETE Contents Functional Testing Concepts 5 Functional Testing Features

More information

B-Trees and External Memory

B-Trees and External Memory Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 and External Memory 1 1 (2, 4) Trees: Generalization of BSTs Each internal node

More information

COMP3702/7702 Artificial Intelligence Week2: Search (Russell & Norvig ch. 3)" Hanna Kurniawati"

COMP3702/7702 Artificial Intelligence Week2: Search (Russell & Norvig ch. 3) Hanna Kurniawati COMP3702/7702 Artificial Intelligence Week2: Search (Russell & Norvig ch. 3)" Hanna Kurniawati" Last week" What is Artificial Intelligence?" Some history" Agent defined" The agent design problem" Search:

More information

Classic Data Structures Introduction UNIT I

Classic Data Structures Introduction UNIT I ALGORITHM SPECIFICATION An algorithm is a finite set of instructions that, if followed, accomplishes a particular task. All algorithms must satisfy the following criteria: Input. An algorithm has zero

More information

iprism Reports Glossary Index

iprism Reports Glossary Index Table Of Contents Starting the Reports Manager... 2 Using the Reports Manager... 5 Quick start shortcuts... 6 Navigation menu... 6 Creating and editing reports... 7 Creating a new report... 7 About reports...

More information

Guide to Parallel Operating Systems with Windows 7 and Linux

Guide to Parallel Operating Systems with Windows 7 and Linux Guide to Parallel Operating Systems with Windows 7 and Linux Chapter 3 Using the Graphical User Interface Objectives Use the Start menu and Applications menu Tailor the desktop Access data on your computer

More information

B-Trees and External Memory

B-Trees and External Memory Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 B-Trees and External Memory 1 (2, 4) Trees: Generalization of BSTs Each internal

More information

Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017

Loops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017 Loops! Loops! Loops! Lecture 5 COP 3014 Fall 2017 September 25, 2017 Repetition Statements Repetition statements are called loops, and are used to repeat the same code mulitple times in succession. The

More information

521495A: Artificial Intelligence

521495A: Artificial Intelligence 521495A: Artificial Intelligence Informed Search Lectured by Abdenour Hadid Adjunct Professor, CMVS, University of Oulu Slides adopted from http://ai.berkeley.edu Today Informed Search Heuristics Greedy

More information

User Manual For SmartRoom Managers

User Manual For SmartRoom Managers User Manual For SmartRoom Managers Table of Contents 1.0 Login 2.0 Confidentiality Agreement 3.0 Software Installation 4.0 Dashboard 5.0 Document Review and Index Maintenance 5.1 View by Index 5.1.1 Index

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information

Lesson 3: Accepting User Input and Using Different Methods for Output

Lesson 3: Accepting User Input and Using Different Methods for Output Lesson 3: Accepting User Input and Using Different Methods for Output Introduction So far, you have had an overview of the basics in Java. This document will discuss how to put some power in your program

More information

DATA STRUCTURE AND ALGORITHM USING PYTHON

DATA STRUCTURE AND ALGORITHM USING PYTHON DATA STRUCTURE AND ALGORITHM USING PYTHON Advanced Data Structure and File Manipulation Peter Lo Linear Structure Queue, Stack, Linked List and Tree 2 Queue A queue is a line of people or things waiting

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 30, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction

More information

Project #1 Computer Science 2334 Fall 2008

Project #1 Computer Science 2334 Fall 2008 Project #1 Computer Science 2334 Fall 2008 User Request: Create a Word Verification System. Milestones: 1. Use program arguments to specify a file name. 10 points 2. Use simple File I/O to read a file.

More information

energy management and monitoring tool

energy management and monitoring tool energy management and monitoring tool User Guide version 6.0.4 Introduction The caretaker application has been specifically designed with the objectives of maximizing energy savings, reducing the carbon

More information

CS47300: Web Information Search and Management

CS47300: Web Information Search and Management CS47300: Web Information Search and Management Web Search Prof. Chris Clifton 18 October 2017 Some slides courtesy Croft et al. Web Crawler Finds and downloads web pages automatically provides the collection

More information

1. (15 points) Solve the decanting problem for containers of sizes 199 and 179; that is find integers x and y satisfying.

1. (15 points) Solve the decanting problem for containers of sizes 199 and 179; that is find integers x and y satisfying. May 9, 2003 Show all work Name There are 260 points available on this test 1 (15 points) Solve the decanting problem for containers of sizes 199 and 179; that is find integers x and y satisfying where

More information

File System Definition: file. File management: File attributes: Name: Type: Location: Size: Protection: Time, date and user identification:

File System Definition: file. File management: File attributes: Name: Type: Location: Size: Protection: Time, date and user identification: File System Definition: Computer can store the information on different storage media such as magnetic disk, tapes, etc. and for convenience to use the operating system provides the uniform logical view

More information

Chapter 9 STACK, QUEUE

Chapter 9 STACK, QUEUE Chapter 9 STACK, QUEUE 1 LIFO: Last In, First Out. Stacks Restricted form of list: Insert and remove only at front of list. Notation: Insert: PUSH Remove: POP The accessible element is called TOP. Stack

More information

Implementing Dynamic Minimal-prefix Tries

Implementing Dynamic Minimal-prefix Tries SOFTWARE PRACTICE AND EXPERIENCE, VOL. 21(10), 1027 1040 (OCTOBER 1991) Implementing Dynamic Minimal-prefix Tries JOHN A. DUNDAS III Jet Propulsion Laboratory, California Institute of Technology, Mail

More information

Binary Trees Due Sunday March 16, 2014

Binary Trees Due Sunday March 16, 2014 Problem Description Binary Trees Due Sunday March 16, 2014 Recall that a binary tree is complete if all levels in the tree are full 1 except possibly the last level which is filled in from left to right.

More information

EBSCOhost Web 6.0. User s Guide EBS 2065

EBSCOhost Web 6.0. User s Guide EBS 2065 EBSCOhost Web 6.0 User s Guide EBS 2065 6/26/2002 2 Table Of Contents Objectives:...4 What is EBSCOhost...5 System Requirements... 5 Choosing Databases to Search...5 Using the Toolbar...6 Using the Utility

More information

Variables in C. Variables in C. What Are Variables in C? CMSC 104, Fall 2012 John Y. Park

Variables in C. Variables in C. What Are Variables in C? CMSC 104, Fall 2012 John Y. Park Variables in C CMSC 104, Fall 2012 John Y. Park 1 Variables in C Topics Naming Variables Declaring Variables Using Variables The Assignment Statement 2 What Are Variables in C? Variables in C have the

More information

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University Unit 1 Programming Language and Overview of C 1. State whether the following statements are true or false. a. Every line in a C program should end with a semicolon. b. In C language lowercase letters are

More information

The Turing Environment

The Turing Environment 43 Chapter 2 The Turing Environment 2.1 Introduction 2.2 The Editor Window 2.3 Saving Programs on Disk 2.4 Running Programs 2.5 Indenting Programs and Syntax Coloring 2.6 Starting and Stopping the Environment

More information

Faculty of Science FINAL EXAMINATION

Faculty of Science FINAL EXAMINATION Faculty of Science FINAL EXAMINATION COMPUTER SCIENCE COMP 250 INTRODUCTION TO COMPUTER SCIENCE Examiner: Prof. Michael Langer April 27, 2010 Associate Examiner: Mr. Joseph Vybihal 9 A.M. 12 P.M. Instructions:

More information

PAC-MAN is one of the most popular game

PAC-MAN is one of the most popular game SCHOOL OF DATA SCIENCE 1 Assignment1. Search in Pacman Project Report Shihan Ran - 15307130424 Abstract This project is aimed at designing a intelligent Pacman agent that is able to find optimal paths

More information

Visitor Management Host User Guide

Visitor Management Host User Guide Visitor Management Host User Guide Table of Contents CHAPTER 1 Introduction............................................. 5 Conventions Used in this Documentation.............................................5

More information

The influence of caching on web usage mining

The influence of caching on web usage mining The influence of caching on web usage mining J. Huysmans 1, B. Baesens 1,2 & J. Vanthienen 1 1 Department of Applied Economic Sciences, K.U.Leuven, Belgium 2 School of Management, University of Southampton,

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

Genetic Programming. and its use for learning Concepts in Description Logics

Genetic Programming. and its use for learning Concepts in Description Logics Concepts in Description Artificial Intelligence Institute Computer Science Department Dresden Technical University May 29, 2006 Outline Outline: brief introduction to explanation of the workings of a algorithm

More information

Update on the Choose to Save /ASEC Web Site October 2007

Update on the Choose to Save /ASEC Web Site October 2007 Update on the Choose to Save /ASEC Web Site October 2007 In 2005, we completed a major reworking of the Choose to Save and ASEC web pages by combining the two, reducing content redundancy, and creating

More information

RITIS Training Module 10 Script. To return to the Florida Analytics main page, select Florida Analytics Tools in the upper left corner of the page.

RITIS Training Module 10 Script. To return to the Florida Analytics main page, select Florida Analytics Tools in the upper left corner of the page. RITIS Training Module 10 Script Welcome to the Regional Integrated Transportation Information System or RITIS Module 10 CBT. To begin, select the start button or press Shift+N on your keyboard. To return

More information

Search EECS 395/495 Intro to Artificial Intelligence

Search EECS 395/495 Intro to Artificial Intelligence Search EECS 395/495 Intro to Artificial Intelligence Doug Downey (slides from Oren Etzioni, based on Stuart Russell, Dan Weld, Henry Kautz, and others) What is Search? Search is a class of techniques for

More information

Overview of Web Mining Techniques and its Application towards Web

Overview of Web Mining Techniques and its Application towards Web Overview of Web Mining Techniques and its Application towards Web *Prof.Pooja Mehta Abstract The World Wide Web (WWW) acts as an interactive and popular way to transfer information. Due to the enormous

More information

Brute Force: Selection Sort

Brute Force: Selection Sort Brute Force: Intro Brute force means straightforward approach Usually based directly on problem s specs Force refers to computational power Usually not as efficient as elegant solutions Advantages: Applicable

More information

Introduction to: Computers & Programming: Strings and Other Sequences

Introduction to: Computers & Programming: Strings and Other Sequences Introduction to: Computers & Programming: Strings and Other Sequences in Python Part I Adam Meyers New York University Outline What is a Data Structure? What is a Sequence? Sequences in Python All About

More information

LECTURE 11 TREE TRAVERSALS

LECTURE 11 TREE TRAVERSALS DATA STRUCTURES AND ALGORITHMS LECTURE 11 TREE TRAVERSALS IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD BACKGROUND All the objects stored in an array or linked list can be accessed sequentially

More information

Search EECS 348 Intro to Artificial Intelligence

Search EECS 348 Intro to Artificial Intelligence Search EECS 348 Intro to Artificial Intelligence (slides from Oren Etzioni, based on Stuart Russell, Dan Weld, Henry Kautz, and others) What is Search? Search is a class of techniques for systematically

More information

Chapter 4 Loops. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved.

Chapter 4 Loops. Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. Chapter 4 Loops 1 Motivations Suppose that you need to print a string (e.g., "Welcome to Java!") a hundred times. It would be tedious to have to write the following statement a hundred times: So, how do

More information

CS 4700: Artificial Intelligence

CS 4700: Artificial Intelligence CS 4700: Foundations of Artificial Intelligence Fall 2017 Instructor: Prof. Haym Hirsh Lecture 5 Piazza course website is up: piazza.com/cornell/spring2017/cs4700 The researchers found that when apples

More information

Introduction to Computer Science Unit 2. Notes

Introduction to Computer Science Unit 2. Notes Introduction to Computer Science Unit 2. Notes Name: Objectives: By the completion of this packet, students should be able to describe the difference between.java and.class files and the JVM. create and

More information

The Go Programming Language. Frank Roberts

The Go Programming Language. Frank Roberts The Go Programming Language Frank Roberts frank.roberts@uky.edu - C++ (1983), Java (1995), Python (1991): not modern - Java is 18 years old; how has computing changed in 10? - multi/many core - web programming

More information

RITIS Training Module 9 Script

RITIS Training Module 9 Script RITIS Training Module 9 Script Welcome to the Regional Integrated Information System or RITIS Module 09 CBT. To begin, select the start button or press Shift+N on your keyboard. This training module will

More information

Using Custom Number Formats

Using Custom Number Formats APPENDIX B Using Custom Number Formats Although Excel provides a good variety of built-in number formats, you may find that none of these suits your needs. This appendix describes how to create custom

More information

Algorithm classification

Algorithm classification Types of Algorithms Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We ll talk about a classification scheme for algorithms This classification scheme

More information

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on

More information

TDNet Discover User Manual

TDNet Discover User Manual TDNet Discover User Manual 2014 Introduction Contents 1 Introduction... 3 1.1 TDNet Discover... 3 1.2 TDNet Index... 3 1.3 Personalization... 3 1.4 TDNet Widgets... 4 2 Logging In... 5 2.1 Browsing without

More information

Assignment 2.4: Loops

Assignment 2.4: Loops Writing Programs that Use the Terminal 0. Writing to the Terminal Assignment 2.4: Loops In this project, we will be sending our answers to the terminal for the user to see. To write numbers and text to

More information

Genetic Programming. Modern optimization methods 1

Genetic Programming. Modern optimization methods 1 Genetic Programming Developed in USA during 90 s Patented by J. Koza Solves typical problems: Prediction, classification, approximation, programming Properties Competitor of neural networks Need for huge

More information

Chapter 3: The IF Function and Table Lookup

Chapter 3: The IF Function and Table Lookup Chapter 3: The IF Function and Table Lookup Objectives This chapter focuses on the use of IF and LOOKUP functions, while continuing to introduce other functions as well. Here is a partial list of what

More information