![]()
Questions and Answers about the AI Microelectronics Laboratory
Dr. Michael A. Covington
Last updated 1999 June 21
General information
Where is the laboratory?In the Institute for Artificial Intelligence, Room 111, Boyd GSRC, on the University of Georgia campus. Specifically, the laboratory is room 117.
What will I see if I go there?
As of June 21, activity is just beginning. We have a working speech synthesizer, an oscilloscope, and some basic electronic breadboarding tools. We're still waiting for two Pentium PCs, a universal device programmer, and the removal of some obsolete equipment presently in the room.
Let me rephrase that. How is the lab going to be outfitted?
Initially, there is going to be an electronics workbench, a PC for microelectronics projects, a Sun workstation, and a PC for speech synthesis and recognition projects. The lab also contains a desk and PC for the lab technicians who support all three AI laboratories.
Who's paying for it?
Two computers were funded by the College of Arts and Sciences. Hewlett-Packard has donated about $5500 worth of equipment, and other electronics companies have expressed an interest in helping us.
Why isn't it in the Department of Electrical Engineering?
Because we don't have one, and besides, this isn't exactly an electrical engineering lab.
Our Institute for Artificial Intelligence works closely with departments in several fields related to knowledge representation (computer science, psychology, and philosophy).
Engineering on our campus is housed in the Department of Biological and Agricultural Engineering (BAE), several of whose faculty members are members of the Artificial Intelligence Faculty.
Why isn't it at Georgia Tech?
Why should they have all the fun?
All right then... what is artificial intelligence?
Artificial intelligence is the computer modeling of human thinking or of human mental abilities. Initially, back in the 1950s, its goal was to "make computers think like us."
More recently, researchers have realized that computers are useful precisely because they are not exactly like us (and thus are not subject to our limitations). Instead of a thinking machine, a computer is a tool to help us think, or to implement the results of our thinking.
What does artificial intelligence have to do with microelectronics?
Plenty! See the specific projects described below.
Logic programming and microcontrollers
What is logic programming?
It's a computer programming methodology based on representing knowledge and reasoning logically about it. Logic programming has been the main emphasis of the University of Georgia's artificial intelligence programs since their inception in 1984 (research) and 1986 (master's degree).
What is a microcontroller?
It's a tiny computer built into other equipment, such as the computer in your microwave oven, your thermostat, your car engine, and so forth. The average American home now contains 100 microcontrollers. (And, contrary to popular belief, virtually none of them will have any problem with the year 2000!)
Why are microcontrollers important?
They are the fastest-growing segment of the computer industry, and there is a real need for better ways of programming them.
Give me an example.
OK... is your VCR easy to program? No? I didn't think so. The main reason your VCR is hard to program is that the software in it isn't too well thought out. It was probably written in assembly language by an engineer working under serious constraints of space (computer memory) and time.
But difficulty of use isn't the only problem with today's microcontrollers. Program bugs can be costly and dangerous. If the program in your PC crashes, all you lose is time. If the program in an automated forklift goes wrong, the forklift may run over you!
So what does logic programming have to do with this?
The main job of a microcontroller is usually to make decisions based on knowledge. Logic programming and related technologies are highly relevant to this.
Do you mean you run Prolog, or something like that, on a tiny micro?
That's in the foreseeable future. You can now get a Pentium PC that is the size of a deck of cards and costs $300. But most microcontrollers are tiny 8- or even 4-bit CPUs that cost maybe $1 apiece. They are far too small to run anything but machine language.
So we use Prolog programs to generate knowledge-based machine-language software for tiny microcontrollers.
Prolog has been around for a long time. What are you doing that's original?
I'm glad you asked. We are exploring the use of defeasible logic and other non-classical logics in embedded systems.
What is non-classical logic?
Roughly, it's any kind of logic that deals with imperfect or uncertain information.
Classical logic, which goes back to Aristotle and George Boole, gives you conclusions that are guaranteed to be true provided your premises -- that is, the knowledge you start with -- are 100% true and you aren't unaware of anything relevant.
Ordinary human beings usually deal with incomplete knowledge. For that reason, we often think defeasibly. That is, instead of saying, "This conclusion is absolutely certain," we say, "This is what appears to be true, but if I find out something else I'll change my mind."
Here's an example. We all know that birds fly. We all know that penguins are birds that don't fly. But wait a minute -- in classical logic that's a contradiction. In defeasible logic (as developed by Dr. Donald Nute at our AI Center), it's not a contradiction, because specific information overrides general information.
Instructions for controlling machines often work the same way. In general, don't run the air conditioner. But do run it if the temperature is high. But even then, don't run it if the line voltage is low. And so on. Expressing these rules in defeasible logic is much more concise and natural than expressing them in classical logic.
Does this have anything to do with fuzzy logic?
Fuzzy logic is another nonclassical logic that is already popular with microcontrollers. It solves a completely different problem. Fuzzy logic deals with things that are only partly true, or only true to a degree -- for example, when the thermometer reads 81, is the weather "hot" or not? Fuzzy logic might say it's 0.7 hot, or something like that.
Without meaning to disparage it, I think fuzzy logic is limited in some peculiar ways. In general, to make a fuzzy system work, you have to come up with numbers by experimenting. With defeasible logic, you can see in advance exactly what each rule is supposed to do.
What kind of microcontrollers are you using?
Well... In the microcontroller field, there's always room at the bottom. That is, the biggest sales and the most useful results are associated with the smallest, cheapest CPUs. Rather than developing Pentium or Alpha software and waiting for micros to catch up, we're presently exploring what can be done with CPUs in the under-$10 range, such as PIC, AVR, and 8051 architectures.
For one thing, there's more new ground to be explored here. Anybody can take a PC program and make it run on an embedded PC. Devising programming methodologies for really small CPUs is more challenging.
Smart instrumentation
What is smart instrumentation?These days, most electronic test and measurement equipment has computers built in, but the computers play a very small role in managing the knowledge that the instrument acquires.
We are working with computer-controlled instruments -- initially, a Hewlett-Packard mixed-signal oscilloscope -- to interface them to expert systems running on conventional PCs. There is no reason the expert system can't be built into the oscilloscope, of course; the only reason we're using an external computer is convenience.
What is an expert system?
It's a computer program that interprets data much the way a human expert does, making a diagnosis or recommendation based on the information given to it. Expert systems are often used to identify defects in machines.
Why build an expert system into a test instrument?
Because that's where it belongs. A human technician will use a test instrument to gather data, drawing conclusions from it as he goes along. A smart instrument will draw conclusions, not just gather data. That is, the instrument will tell you what to measure and what the measurement means.
Speech synthesis and recognition
What is the role of speech synthesis at Georgia?
Speech is an important way for machines to communicate with their users. We have a course, LING 6570 (Applied Natural Language Processing), in which we want to familiarize students with speech technology, ranging from talking microcontrollers all the way up to PCs that both generate and recognize speech.
Is any original research in the works?
At least one linguistics graduate student is planning to do research on speech recognition. The new microcontroller lab will provide facilities for this.
Other projects
What else will go on in the new lab?There's talk of some kind of robotics project, although nothing definite is under way. Also, the lab will, in general, provide a place for projects requiring high-end PCs or unusual equipment configurations that can't be set up in our regular student labs.
Finally, our lab technicians will use the new lab as place to repair and maintain computers and related equipment.
So who gets to use the new lab?
Unlike the other labs in the Institute for Artificial Intelligence, this one is not open to all AI students; access requires special authorization. The reason is, of course, that only a limited number of users can be accommodated.
I am interested in hearing from people interested in working with microcontrollers and AI, or with speech, regardless of whether they are in the AI master's program. The Institute for Artificial Intelligence has always had a certain number of participants from other academic programs.
How much electronics do I have to know?
To work with microcontrollers, you need at least a one-semester electronics course; one is offered in the Department of Biological and Agricultural Engineering (BAE). Check with me and with your instructor concerning prerequisites, which are not necessarily as formidable as they look.
Many students enter the AI master's degree program with an engineering background and will be able to undertake microcontroller projects right away if they choose to do so.
To work with speech, you need some background in both linguistics and computer programming.
For more information contact Dr. Michael A. Covington.