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
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
850-522-2023 Ex 182
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
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.
Breadth First Search
Depth First Search
Generate and Test Technique
Simple Hill Climbing
Steepest-Ascent Hill Climbing
Best First Search
First Order Logic
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.
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
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.
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.
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.
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);
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.