* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CS 363 Comparative Programming Languages
Agent-based model wikipedia , lookup
Existential risk from artificial general intelligence wikipedia , lookup
Human–computer interaction wikipedia , lookup
Machine learning wikipedia , lookup
Genetic algorithm wikipedia , lookup
Philosophy of artificial intelligence wikipedia , lookup
Computer Go wikipedia , lookup
Computer vision wikipedia , lookup
Wizard of Oz experiment wikipedia , lookup
Computer Systems Lab Research at TJHSST Research Areas in CS • Artificial Intelligence and Machine Learning: Can I write a program that can learn on its own to accomplish a particular task or solve a problem? • 3D Computer Graphics: Can I visualize a physical situation realistically with a computer program? • Computer Vision: Can a computer program see, distinguish, and analyze objects in an image? • Modeling of Complex Systems, numerically and graphically: Can I simulate a complex environment and mathematical model. How closely can my simulation match and predict reality? 2 Research Areas in CS • Distributed and Parallel Programming methods for high performance computing: For a complex programming task, can I take advantage of processing in parallel across multiple processors? • Software Design, Object Oriented Programming: What are optimal techniques for large scale applications with large user bases and a need for long term modifications and updates? 3 TJ Techabs Portfolio Skills • • • • • • • Writing – Technical Research Paper Visual presentation – Digital poster Oral presentation – PPT slides of the research Research – Your project Long term project development – iterative models Record keeping - Logs Peer evaluation 4 Computer Systems Research Lab Requirements • • • • • • Project proposal Formal research paper Oral presenations Poster display Project website/notebook folder Logs 5 Electives – Computer Systems Lab • Artificial Intelligence • High Performance Computing and Supercomputer Applications • Computer Architecture • Comparative Languages 6 Artificial Intelligence • Search techniques for problem solving – Uninformed: depth first, breadth first – Heuristic: hill climbing, best first, A Star • Game playing and adversarial search – Minimax trees – Alpha-beta pruning • Machine Learning – Evolutionary computation, genetic algorithms 7 Supercomputer and High Performance Computing • Parallel Computing – Speedup of processing: Time/# of processors – Sorts, searches, image processing across matrices, fractal images • MPI – Message Passing Interface – Message sending topologies, ring/broadcast – Time vs number of processors • Computer Graphics in OpenGL – 3D transformations, lighting for realism 8 Computer Architecture • Organization of Computer Systems • High level language implementations down to the digital logic level • SPIM simulator for assembly language • History of the development of computing machines – Evaluate current platforms – Analyze future forecasts 9 Comparative Languages • Evolution of programming languages • Syntax and semantics representation • Machine parsing of grammars, building a compiler • Some issues: Exception handling, Concurrency, Garbage collection • Language approaches: imperative, object oriented, functional, logic based 10 Research Models (from Pasteur's Quadrant (1997) Donald Stokes) • Pure basic research: Can I create a logarithmic, randomly accessible data structure? Can I create a hybrid machine learning system? • Use-inspired basic research: Can I create a 3D visualization package for graphics modeling for a Physics course? Can I create a program that can learn on its own how to translate text from one language to another for people to obtain web-based translations? • Pure applied research: Can I write a student Intranet program for a high school? The program needs to be robust and maintainable by future students for many years. 11 Research Models (from Pasteur's Quadrant (1997) Donald Stokes) 12 Software Testing and Analysis of Your Program • Dynamic Testing: Random tests, Structural tests, Functional tests, Path and branch testing. • Process Modeling: - Finding a formula to verify and validate your program's behavior. • Requirements and Specifications: - Defining requirements and the specifications for verifying these requirements. 13 Lifecycle Models for the Development Process (from Rapid Development by McConnell) • Spiral Model - breaks a software project up into miniprojects. Each miniproject addresses one or more major risks. Each iteration moves your project to a larger scale. • Evolutionary Prototyping - develop the system concept as you move through the project. You may begin by developing the most visible aspects of the system. Useful when requirements may change throughout your project or when you're unsure of the optimal architecture or algorithms to use. • Staged Delivery - you show software results in successively refined stages. Unlike evolutionary prototyping, when you use staged delivery, you know exactly what you're going to build when you set out. 14 Linux Resources and Software Tools – Opensource availability • Programming – C/C++, Java, Fortran, Python, Lisp – PHP, Perl, HTML for WWW – OpenGL – computer graphics • • • • • Image processing – Gimp 2D/3D analysis - Gnuplot Openoffice for ppt, publishing LaTex, PDF, PS for scientific writing “planner” - Gantt charts, “dia” - flow charts, network diagrams, UML – objects, electronic diagrams... 15 Computer Systems Lab Example Projects 16 Student Intranet – Software Engineering • A new platform is developed implementing paradigms in object-oriented programming and collaborative development. 17 Development of an ObjectOriented Module-based Extensible Student Intranet Web Application in PHP5 A new platform, known as Intranet2, implements paradigms in Object-Oriented programming and collaborative development in the creation of a new student Intranet. 18 NetChat Communications System – Software Engineering, Distributed Platforms • The creation of a network communication system that will use methods of transferring data between a server and a client using an XML protocol. 19 NetChat Communication s Systems The project involves creating a method of transferring data between a server and client using an XML-based protocol. This framework would be extended into the form of an application called “NetChat”. Using the developed framework, NetChat would be capable of sending data back and forth in the form of instant messages, email, news feeds, along with various other means of communication. 20 Ant Colony Optimization (ACO) – Path Finding Algorithms, Machine Learning • Finding optimal paths in a complex network. ACO is an algorithm that is used to find near optimal solutions to NP problems. 21 Ant Colony Optimization Algorithms Ant Colony Optimization (ACO) is an algorithm that is used to find near optimal solutions to NP problems. This research aims to study the differences in strengths and weaknesses between various implementations of ACO (as applied to the Traveling Salesman Problem), suggest or conduct development into improving performance of ACO algorithms, and study the general application of ACO algorithms to the Traveling Salesman Problem. 22 23 Machine Learning and Computational Linguistics • Using statistical processes in text translation. 24 French/English Translation and Computational Linuguistics This project uses computational linguistics to serve students of French or English as a second language as well as those who know only one of these languages. The program will translate French to English and English to French well enough to be understandable to someone who knows only the output language. This is useful for surfing the web, reading texts in a foreign language, and communication with someone from another country. It can also be used for students to check their writing by translating back to their native tongue. 25 Hybrid Machine Learning System • Designing a system that combines the capabilities of multiple types of AI and machine learning systems, such as neural networks and subsumption architectures, to produce a more flexible and versatile hybrid system. 26 Hybrid AI and Machine Learning Systems The purpose of this project is to design a system that combines the capabilities of multiple types of AI and machine learning systems, such as neural networks and subsumption architectures, to produce a more flexible and versatile hybrid system. The end goal is to produce a set of basic library functions and architecture descriptions for the easy manipulation of the AI/ML subsystems (particularly neural networks), and use those to build an AI system capable of teaching itself how to complete tasks specified by a human-defined heuristic via either supervised training or trial-and-error and inference, and of altering learned behaviors to cope with changes in its operational environment with minimal human intervention. 27 3D Visualization Package – Computer Graphics • Develop a 3D graphics simulation engine designed to simplify the task of coding 3D simulations, while still giving the developer control over every aspect of the rendering and simulation process. 28 Development of a 3D Visualization Engine The purpose of my project is to investigate the workings of a 3D graphics simulation engine, and develop an engine designed to simplify the task of coding 3D simulations, while still giving the developer control over every aspect of the rendering and simulation process. Hopefully, this engine will simplify the visualization process to the point where it is worthwhile to code a 3D representation of some problem. I also hope to make it possible for the developer to use my engine without any knowledge of OpenGL or SDL, but rather do all the necessary code behind the scenes when using the default rendering methods. 29 Evolution Simulator – Computer Modeling of Environments, Artificial Life • Simulate the evolution of different organisms within an environment. There will be a genetic variability that will allow the organism species to evolve, or die out. The hope is a demonstration of natural selection, showing that after many generations the collective gene will be more advanced than the original. 30 Evolution Simulator The purpose of this project is to create an AGENT-based model that simulates the evolution of different organisms within an environment. These organisms will be a simulation of real-world organisms, with the need for food, the ability to breed and die, and so on. Their function and lifespan will be based on dozens of genetic characteristics, such as metabolism, eyesight, etc., and these characteristics will be passed on to offspring. There will be a genetic variability that will allow the organism species to evolve, or devolve. The hope is a demonstration of natural selection, and after several generations the collective gene will be more advanced than the original. 31 Computer Systems Lab Mentorship • TASC Component Architecture and Simulation Environment: Systems Modeling, Northrop Grumman IT • Implementation of Artificial Physics Using AIBO Robot and the Pyro Programming Environment: AI Robotics, NRL • Development of a Practical Social Network Analysis Program: IT.COM 32 Computer Systems Lab Mentorship • Fairness and Justness in Non-Cooperative Game Theory: Experimental Economics Modeling, GMU • Analysis of Driver Patterns in a Simulated Environment: Computer Modeling, TurnerFairbank Highway Research Center • Advanced Speed Guidance for Merging and Sequencing Techniques: MITRE 33 Thanks and have fun computing!