Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
SEA Side Software Engineering Annotations PowerPoint Presentation
Download Presentation
SEA Side Software Engineering Annotations

SEA Side Software Engineering Annotations

107 Vues Download Presentation
Télécharger la présentation

SEA Side Software Engineering Annotations

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. SEA Side Software Engineering Annotations • AAnnotation 7: Artificial Intelligence One hour presentation to inform you of new techniques and practices in software development. Professor Sara Stoecklin Director of Software Engineering- Panama City Florida State University – Computer Science sstoecklin@mail.pc.fsu.edu stoeckli@cs.fsu.edu 850-522-2091 850-522-2023 Ex 182

  2. Artificial Intelligence

  3. Artificial Intelligence Artificial intelligence (AI) is a broad field, and means different things to different people. The field of Artificial Intelligence (AI) is concerned both with modeling human intelligence and with solving complex problems not solvable by simple or analytic procedures. For instance, a major goal of AI is construction of an intelligent robot, capable of perceiving, acting, comprehending, reasoning, and learning in complex environments. alison@ Fri Aug 19 10:42:17 BST 1994

  4. The AI field consists of six related areas: • Problem solving & search • Knowledge Representation • Natural Language Processing (NLP) • Reasoning Systems • Vision & Perception

  5. Problem Solving & Search • A fundamental technique in AI is to encode a problem as a state space in which solutions are goal states in that space. • Thus, problem solving can be viewed as state space search. • To search large, combinatorial state spaces, knowledge (e.g. heuristics) and planning are required.

  6. Search Often there is no direct way to find a solution to some problem. However, you do know how to generate possibilities. For example, in solving a puzzle you might know all the possible moves, but not the sequence that would lead to a solution. When working out how to get somewhere you might know all the roads/buses/trains, just not the best route to get you to your destination quickly. Developing good ways to search through these possibilities for a good solution is therefore vital. Brute force techniques, where you generate and try out every possible solution may work, but are often very inefficient, as there are just too many possibilities to try. Heuristic techniques are often better, where you only try the options which you think (based on your current best guess) are most likely to lead to a good solution.

  7. Searches Breadth First Search Depth First Search Heuristic Search Generate and Test Technique Simple Hill Climbing Steepest-Ascent Hill Climbing Best First Search A* Search Genetic Searches

  8. Knowledge Representation • Intelligent behavior often requires knowledge. • For example, language comprehension requires encoding the meanings of words and how they are combined. • Techniques for representing knowledge include use of semantic networks, logic, and neural networks.

  9. Multi-valued Logic Language First Order Logic Propositional Logic Pseudo-Boolean Agents KNOWLEDGE REPRESENTATION Modeling Hierarchies Incomplete Knowledge Model Clustering Supermodels Solution Structure Symmetry

  10. Semantic Nets The simplest kind of structured KE is the semantic net originally developed in the early 1960s to represent the meaning of English words. A semantic net is really just a graph, where the nodes in the graph represent concepts, and the arcs represent binary relationships between concepts. Predicate Logic The most important knowledge representation language is arguably predicate logic (or strictly, first order predicate logic - there are lots of other logics out there to distinguish between). It is a well-defined syntax, semantics and rules of inference. …. Other logics

  11. Natural Language Processing • Language is the major medium for communicating thought and knowledge. • NLP is concerned with mappings between language and thought, how language skills are learned, and how knowledge is acquired through language (e.g. reading). • Really understanding a single sentence requires extensive knowledge both of language and of the context. • For example They can fish can only be interpreted reasonably if you know the context, some ones job (canning fish) or recreational activity.

  12. Reasoning Systems • Most human reasoning occurs in task/domains with uncertain, ill-defined and incomplete knowledge. • Reasoning in such domains requires techniques such as use of default, probabilistic, and non-monotonic logics. • Expert Systems • Fuzzy Logic • Case-Based Reasoning • Neural Networks

  13. Expert Systems • most common application utilized today employing the knowledge of an "expert" to solve problems or make decisions. • Components of Expert Systems • Expert in the Field - to establish knowledge base on topic • Knowledge Engineer - Interviews experts and establishes (Heuristic) rules in an IF-THEN manner • Knowledge Base - Information stored on the computer about subject matter • Inference Engine - Compares inputs to known set of rules • Benefits • Provides information quicker than its human counterparts • Utilizes standards to diagnose relatively consistent problems • Limitations • Systems are not flexible changing the knowledge base can be cumbersome • Not applicable for problems that don't follow the rules

  14. Rule-Based Systems Consists of IF-THENrules, facts, and some interpreter (chainer) Two basic types: forward chaining and backward chaining systems. Forward chaining systems start with the initial facts, and keep using the rules to draw new conclusions (or take certain actions) given those facts. DATA DRIVEN Backward chaining systems start with some hypothesis (or goal) you are trying to prove, and keep looking for rules that would allow you to conclude that hypothesis to be true, perhaps setting new subgoals to prove as you go. GOAL DRIVEN

  15. Uncertainty in Rules Rules look pretty much like logical implications. In practice you rarely conclude things with absolute certainty. Usually we want to say things like ``If Alison is tired then there's quite a good chance that she'll be in a bad mood''. To allow for this sort of reasoning in rule-based systems we often add certainty values to a rule, and attach certainties to any new conclusions. We might conclude that Alison is probably in a bad mood (maybe with certainty 0.6). The approaches used are generally loosely based on probability theory, but are much less rigorous, aiming just for a good guess rather than precise probabilities.You can tune your expert system with these certainty factors.

  16. Fuzzy Logic • Problems we encounter in our daily work and home environments frequently lack a complete black or white answer. Instead there’s a level of grayness - a degree of rightness or wrong-ness. It is for this that Fuzzy Logic was developed. • Components of Fuzzy Logic Systems • Arithmetic Logic Unit - to interpret relationships such as ,<,=, etc. • Set of Knowns - To compare an input to Membership Function – • Calculation that determines how closely the input can be matched to a set of knowns • Benefits • Provides information quicker than its human counterparts • Increased flexibility over Expert Systems Less rigid • Limitations • Very program intensive to make robust • More costly than expert system alternative

  17. Case Based Reasoning • Case-Based Reasoning – program intensive and costly • As with expert systems and fuzzy logic, there are instances when the information regarding a decision in question does not fit into any of the structured rules so in these situations, the facts and past decisions with similar characteristics become important • Components of Case-Based Reasoning Systems • Knowledge Base – (casebase) Information about subject matter • Inference Engine - Compares inputs to known cases with solutions • Random Access Type Memory - Allows new cases to be indexed thus increasing knowledge (case) base • Benefits • Ability to obtain solutions in areas not previously well understood • Limitations • Little quality control or guarantee that the solution is optimum. • Costly development.

  18. Neural Network • Ultimate goal of AI is to imitate human thought-- artificial neural networks attempt to replicate the connectivity and functioning of biological neural networks (i.e. the human brain). Theory is that replicating the brain’s structure, the artificial network will, in turn, possess the ability to learn. • Components of Neural Networks • Network of Nodes (either physical or virtual) - interconnected with one another that sense and process data • Layered Structure - that increases sensitivity and accuracy of the transmission between nodes and carry out specific functions • Benefits • The Ability to learn , Flexibility to handle any type of problem • Limitations • Very sensitive and must be fully trained

  19. Neural Network (Learning) System General: pattern classification; pattern recognition; pattern function estimation/approximation Agent Planning System (household or work robot) • specification of environment, tasks, and actions • model of environment • KB for environment and actions • planning system • goal setting / evaluation system examples: monitoring security household robot; autonomous housekeeping robot; command controlled household servant (with NLI?);combination of above (same for factory/plant environment);

  20. Real neurons: Figure of biological neuron

  21. Artificial neurons: Figure of TLU

  22. Vision and Perception • Images are fraught with ambiguity, e.g., wiggly lines could represent ocean waves, a person's hair, snakes, etc. • Low-level vision is concerned with extracting visual features from color, texture, edges, and so forth, while high-level vision deals with how to represent and form internal models of complex shapes and structured objects.

  23. Image processing is in many cases concerned with taking one array of pixels as input and producing another array of pixels as output which in some way represents an improvement to the original array. • Image processing methods may be broadly divided into • Real space • methods -- which work by directly processing the input pixel array. • Fourier space • methods -- which work by firstly deriving a new representation of the input data by performing a Fourier transform, which is then processed, and finally, an inverse Fourier transform is performed on the resulting data to give the final output image.