Материал готовится,

пожалуйста, возвращайтесь позднее

пожалуйста, возвращайтесь позднее

The benefits of blackboard systems do not scale down to toy problems. To really get a feel for blackboard systems, you must undertake a serious application head on.

For example, implementing the monkeys and bananas problem as a blackboard system will not demonstrate any advantages over implementing it using a rule-based system. A toy blackboard application suggests that there aren’t significant reasons for considering a blackboard approach, or even worse, implies that the blackboard approach is simple and that the toy approach could be used to develop a serious application. On the other hand, a trivial blackboard system and application can illustrate some of the basic principles of blackboard systems and serve as an example of what not to do when implementing a serious application.

Accompanying this article is a listing of a trivial blackboard system and a simple application built using it. The simple blackboard (SBB) system is written in Common Lisp. It allows KSs to be implemented as Common Lisp functions. KSs can be triggered in response to the creation of particular blackboard objects (represented as structures). The blackboard is represented as a simple list of objects (a hash table would be a better choice!) , and no retrieval capabilities have been provided. The control component supports only one scheduling approach: last-in, first-out.

The example SBB application is equally trivial. Three KSs are defined: one to generate integer values, one to compute the squares of generated integer values, and one to print the values of the generated squares. Obviously, a blackboard system is not needed for this application!

If you are interested in experimenting with this application:

• consider how the performance would change if the order of KS definitions is changed in the file

• rewrite the generate-integers KS to generate prime numbers instead

• rewrite the control loop to be first-in, first-out or even support a constant rating for each KS, by giving generate-integers a higher rating than generate-squares and print-squares.

Since SBB is not for serious applications, how should you go about developing a real blackboard application? There are four approaches.

_____

Daniel D. Corkill. Blackboard Systems. Blackboard Technology Group, Inc. AI Expert 6(9):40-47, September 1991

For example, implementing the monkeys and bananas problem as a blackboard system will not demonstrate any advantages over implementing it using a rule-based system. A toy blackboard application suggests that there aren’t significant reasons for considering a blackboard approach, or even worse, implies that the blackboard approach is simple and that the toy approach could be used to develop a serious application. On the other hand, a trivial blackboard system and application can illustrate some of the basic principles of blackboard systems and serve as an example of what not to do when implementing a serious application.

Accompanying this article is a listing of a trivial blackboard system and a simple application built using it. The simple blackboard (SBB) system is written in Common Lisp. It allows KSs to be implemented as Common Lisp functions. KSs can be triggered in response to the creation of particular blackboard objects (represented as structures). The blackboard is represented as a simple list of objects (a hash table would be a better choice!) , and no retrieval capabilities have been provided. The control component supports only one scheduling approach: last-in, first-out.

The example SBB application is equally trivial. Three KSs are defined: one to generate integer values, one to compute the squares of generated integer values, and one to print the values of the generated squares. Obviously, a blackboard system is not needed for this application!

If you are interested in experimenting with this application:

• consider how the performance would change if the order of KS definitions is changed in the file

• rewrite the generate-integers KS to generate prime numbers instead

• rewrite the control loop to be first-in, first-out or even support a constant rating for each KS, by giving generate-integers a higher rating than generate-squares and print-squares.

Since SBB is not for serious applications, how should you go about developing a real blackboard application? There are four approaches.

_____

Daniel D. Corkill. Blackboard Systems. Blackboard Technology Group, Inc. AI Expert 6(9):40-47, September 1991

Загрузка...

Выбрать следующее задание

Ты добавил

Выбрать следующее задание

Ты добавил