An Intelligent Plural Auto Recognition Search Engine. Brian King Senior, Electrical & Computer Engineering Department
|
|
- James Sherman
- 6 years ago
- Views:
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 Kriangsiri Malasri Senior, School of Aerospace Engineering Georgia Institute of Technology, 34054 Georgia Tech Station, Atlanta, GA 30332 Siripong Malasri Professor
More informationBacktracking 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 informationAn 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 information6 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 informationAccessing 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 informationIntroduction 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 informationIntroduction 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 informationN 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 informationWavecrestCyfin. 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 informationBinary 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 informationProblem 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 informationThe 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 informationData 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 informationData 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 informationArtificial 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 informationInheritance. 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 informationCS 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 informationCOMP219: 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 informationFORM 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 informationDue 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 informationIntroduction 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 informationInternational 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 informationMultimodal 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 informationNEW -- 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 informationAN 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 informationBinary 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 informationAssessment 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 informationCOMP 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 informationPrincess 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 informationCS101 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 informationCP2 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 informationWeb 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 informationCAPTCHAs 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 informationProblem 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 informationW3P: 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 informationImprovement 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 informationWeb 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 informationassembler 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 informationImplementing 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 informationInternet 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 informationGetting 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 information1) 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
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 informationDomain 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 informationPattern 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 ±«) ± ³» ³ ª² ; ±² ²¼ ³² ³±² ± ¹ ³ ³ ³ ³ ² «³ ± ««¾±² - ± ³«³»µ «; ² ª±² ( ±², ±, ±±³ ), ± ±² µ ±² ³ª²³».» µ³ ±²» ² ª±² ( «¾
Ž ˆŸ Š ˆŸŒ Ž Ž ¹µ±, ±²³ ¾¹ 5- ª«±± ³ ² ² ª ±²¼ ; \ ¹ " ±²» ² ±ª ² ±ª» ³»µ ±² ±³¹ ±² ² «¼ ( ² ; ³ «±²¼{ ³ «±²¼, : ±«, ), ² ±ª«; «² «¼ ( ª -, ;, ±«, ); ±«² «¼ ( ±««ª «±² ² ; ² ); ±² ( «; «, ±«,, ); ««(,
More informationISE 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 informationScribes: 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 informationSTEP-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 informationB-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 informationCOMP3702/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 informationClassic 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 informationiprism 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 informationGuide 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 informationB-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 informationLoops! 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 information521495A: 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 informationUser 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 informationGreedy 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 informationLesson 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 informationDATA 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 informationObject 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 informationProject #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 informationenergy 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 informationCS47300: 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 information1. (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 informationFile 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 informationChapter 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 informationImplementing 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 informationBinary 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 informationEBSCOhost 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 informationVariables 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 informationB.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 informationThe 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 informationFaculty 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 informationPAC-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 informationVisitor Management Host User Guide
Visitor Management Host User Guide Table of Contents CHAPTER 1 Introduction............................................. 5 Conventions Used in this Documentation.............................................5
More informationThe 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)
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 informationGenetic 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 informationUpdate 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 informationRITIS 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 informationSearch 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 informationOverview 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 informationBrute 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 informationIntroduction 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 informationLECTURE 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 informationSearch 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 informationChapter 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 informationCS 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 informationIntroduction 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 informationThe 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 informationRITIS 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 informationUsing 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 informationAlgorithm 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 informationHigh 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 informationTDNet 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 informationAssignment 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 informationGenetic 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 informationChapter 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