Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Author of FuzzyJess Talks About AI and Java : Page 3

Bob Orchard is the author of FuzzyJess, the Java-based, fuzzy logic API extension to Jess, and a veteran of many expert systems projects. In this interview, he discusses the state of artificial intelligence (AI), expert systems (ES), and the richness of possibilities for Java developers to utilize his tools for building fuzzy rule-based expert systems.

Transferring AI Technology

JM: Let's shift to one of my pet topics. The problem of transferring AI/ES technology from academia and other research institutions such as NRC to the manufacturing and service sectors was continually discussed at the conference. What has been your experience and what did you observe?

RO: I'm not sure that the problem is restricted to AI technologies being transferred. What I've seen is a reluctance of companies to accept anything that they don't understand or that has not proven itself. Many companies appear to be late adopters and unwilling to put even a relatively small effort into testing new technology.

In some cases, we've asked for access to their data and access to a small amount of time from domain experts so we can show how a technology might help. Even if we get access to the data, access to expertise is difficult (these are some of the companies most valuable people). Sometimes we find that the company is not collecting all or the right data that would lead to success, and it is a challenge to change the process to fix this, especially without a company "champion." Now, none of this is new to people who are trying to transfer technology or produce real world products.

One needs to be persistent, to be upfront with the clients about the expectations of the technology and their need to be involved, to use real data with all of its deficiencies, and to be willing to go beyond just a simple prototype. The reality is that a great deal of AI technology has been adopted and will be adopted in the future.

JM: Developers and development managers are often at the cutting edge of technologies that they would like to bring to bear on a particular problem, but they must defend their recommendations with some estimate of the ROI to convince senior management to adopt their plans. What lessons and words of advice can you share about technology transfer processes? What strategies worked, what didn't, and what can programmers, team leads, and architects do to "sell" technologies like FuzzyJess as components in solutions?

RO: The answer to this question sounds like the makings of a good book! However, I have had some experience in transferring technology, and I don't think that there is a formula that works [all the time]. Each company is different, and each technology is different, but here are some things that I might offer:

  • Convince the company to do a study where you demonstrate the benefits to them.
  • Keep the cost to the company as low as possible, but don't do it without getting commitment to the project and all of the support you need (access to any real data, to company expertise, and to those who will be most affected by the technology).
  • Make sure that everyone is very clear about what the expectations are for the new technology: what it will do and what it won't do; what the risks are that could impede its success.

The Future of AI

JM: As the technology has matured, the number of AI and ES success stories has grown. Yet the ratio of attendees from industry to academia at IEA/AIE this year was low. Why do you think that is?

RO: The low ratio of industry attendees (and authors) to academic participants may, I suspect, be related to a couple of things.

First, the IEA/AIE conference is very general in nature, covering a wide range of AI topics. Industrial participants may prefer to attend conferences more specific to their domain (e.g. telecommunications), and there [they may] see AI applications as one of many solutions to their problems.

Second, although the papers in general deal with applications of AI, they do have a research component, and this still seems to be driven by academics who are required to publish. In addition, most of the reviewers that we are able to recruit are from academia, and despite the emphasis on applications, they do tend to want to see papers that also have a research component.

JM: Judging from the attendance at IEA/AIE 2004, it seemed that the US is under represented in the AI/ES field. Can this be true?

RO: No, I don't think that the United States was under represented or that it's cause for alarm.

Considering that a couple of the most prestigious conferences in AI are in the United States, there is clearly a strong contingent of world-class US researchers who have and still are greatly influencing the progress of AI. For example, the KDD (Knowledge Discovery and Data Mining) is probably the premier conference for data mining in the world, and the AAAI is another American-based organization held in high regard around the world.

JM: Let's consider Java for a minute. At IEA/AIE 2004, I saw indications that Java is becoming the de facto standard for implementing many AI/ES solutions. What is your opinion?

RO: I'm not sure that Java is becoming a de facto standard for building AI solutions [yet]. However, I believe that it is true that many AI components are being implemented in or ported to the Java platform. There are expert system tools like Jess that make integrating a rule-based component of a system with a Java application very simple and powerful. There are toolkits like those for data mining that have been implemented in Java (see Weka, a collection of machine learning algorithms for data mining or the JSR 73: Data Mining API). Consider the Open Source Project Joone, the Java Object Oriented Neural Engine.

The point is that, given a growing set of AI-related APIs in Java and the current tendency to teach Java as a first programming language, it probably makes sense to use the Java platform in AI courses. In our group at NRC, much of the software that we develop is done with Java. However, we also use C/C++ and other tools as suits the needs of the project or the preferences/skills of the developer. I personally believe that Java has a strong AI presence and it will continue to grow.

JM: Good! So your final impression of the state of the worldwide AI/ES field, given the IEA/AIE 2004 presentation topics and attendance, was positive?

RO: Yes, the attendance at IEA/AIE 2004 was up by about 20 percent over previous years. This is encouraging and suggests that the field is strong. More importantly, perhaps, is the evidence that AI technologies are being applied in a wide range of application areas. Data mining, distributed intelligent systems, and soft computing (fuzzy logic, neural networks, genetic algorithms, etc.) are particularly well represented. Applications in bioinformatics, for example, will be key in the search for knowledge about gene and protein function.

JM: If a friend had $10,000 to invest in an emerging technology and asked your opinion, what would you recommend and why?

RO: Two areas come to mind. One is nanotechnology and the other is bioinformatics. Both are making progress, and I think the future looks good. More specifically on bioinformatics, I see that tools for data mining and text mining in genetics and proteomics research are critical to the ability of biologists and other scientists to make and validate discoveries. There is still a lot to be discovered, and there is great potential for wealth generation.

Thus, it appears that artificial intelligence and expert systems are alive and well in the US as well as abroad, and Java technology is playing a growing role in their adoption. Java is increasingly used as the language of choice for introductory programming classes, and many research applications are now either originally written in Java or are being ported to the Java platform (for some applications, see "Innovations in Applied Artificial Intelligence: Proceedings of the 17th International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems," by B. Orchard, et. al. (2004, Springer Verlag).

Though Java programmers are intimately familiar with programming bivalent (true/false) logic, it is difficult to create intelligent software that reasons with imprecise or uncertain data—data that that isn't necessarily "black or white" in the logical sense but rather some shade of gray in between. Fuzzy Logic, which is a branch of mathematics that describes a calculus for this kind of data, can be used to model imprecise systems. FuzzyJess is a robust Java API extension to Jess that allows Java programmers to write rule-based expert systems using fuzzy logic.

Jason Morris has been involved in software development since 1993. He runs Morris Technical Solutions, a consulting firm that specializes in engineering information technology.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date