Newsletter #10: Oct/Nov/Dec 2002 Edition
Home Up Feedback Search

Products
Order
Downloads
Support
Articles & Tips
Recommended Links
About

 
 

 
 
RiverSoftAVG Newsletter #10
Oct/Nov/Dec 2002

 
Welcome back to the *late* (again... cough, cough... sigh :-) ) 10th edition of the RiverSoftAVG newsletter!  It has been a crazy few months.  For us, the end of 2002 was more difficult than we would have liked (including a massive water leak, requiring a ton of time and effort), but here is wishing that everyone had a Happy and Wonderful Holiday Season and New Year!
 
The major part of this newsletter deals with a new survey.  We want to know what you, our customers, want and need for the new year.  Do you want new AI components for Delphi?  Or is a major upgrade for the Inference Engine Component Suite more important to you?  Do you have ideas for an IECS upgrade?  The survey is very important... we need your feedback in order to be a better company for you... In addition to the survey, we have a few news items and downloads for you.

A reminder, this newsletter and all previous ones are available for download from the web site at
http://www.riversoftavg.com/articles_&_tips.htm


Contents

    Article: RiverSoftAVG Survey
    News: RiverSoftAVG web site has moved and gotten a new coat of paint
    News: HelpScribble Apprentice: Freeware Application for HelpScribble users
    Tip: Use TeeChart to plot fuzzy sets
 
    Download: IECS v2.0 Help Files for Delphi 7 available
 
Note: You received this newsletter because you are an owner of a RiverSoftAVG product.  If you received this newsletter by mistake or if for any reason you wish to not receive any future mailings from RiverSoftAVG, just reply to this message informing us so.  We apologize for any intrusion.


Article: RiverSoftAVG Survey

 
At the end of this newsletter, you will find our latest survey.  It is vital that you fill in this survey.  We ask you what we can do to improve support, what new components we should develop, how we should upgrade the IECS, as well as how are we doing right now.  The survey is 20 multiple choice questions and should only take 5 minutes or so.  To fill in the survey, just reply to this email, type your choices, and send it back.
 
Thank you so much in advance for your help.
 
 
News: RiverSoftAVG web site has moved and gotten a new coat of paint
 
For the new year, the web site has moved and gotten a major renovation.  We finally decided to ditch our old web hosting service, which, besides being too expensive, was too slow, too small, and too restricting.  We have high hopes for our new web hosting service.  We have room to grow and provide you with more options and better service.  While we are moving, there may be a small period of confusion and slower service.  We apologize for any inconvenience.
 
As part of the move, the web site is also undergoing renovation.  It has been redesigned and, hopefully, made better:
  • We have moved the News page to the front page
  • We have moved the Contact Info off the front page and to its own page: About Page
  • We have reorganized Downloads Page
  • We have updated Demo Programs from IECS v1.11 to v2.0
  • And, generally, reorganized the files, images, and pages in the web site.
  •  

    News: HelpScribble Apprentice: Freeware Application for HelpScribble users
     
    RiverSoftAVG is pleased to announce the immediate availability of a free application for HelpScribble users.  HelpScribble Apprentice is a free utility application for HelpScribble users which is intended as an adjunct to HelpScribble. HelpScribble by Jan Goyvaerts (www.jgsoft.com) is "a full-featured, easy-to-use help authoring tool for creating help files from start to finish."  We know that a lot of Delphi developers use HelpScribble.  However, it does have its limitations.  HelpScribble Apprentice provides the following features:

    - Unique Topic Editor abilities (edit multiple topics at once, sort lines of text, Object Inspector-like view of help topic footnotes, smart copy-and-paste of multiple topics)

    - Unique Table of Contents Editor abilities (edit multiple topics at once, delete parent topics AND their children with one operation)

    - Sort Topic Text Wizard (Automatically sorts lines in selected topics after certain keywords... very useful for sorting the "See Also" topics that HelpScribble creates for pascal files)

    - Class Hierarchy Wizard (Automatically adds hierarchy topic to selected Delphi Class/Interface topics)
    HelpScribble Apprentice is provided as a free utility and is currently in BETA. No warranties or guarantees are implied. Use at your own risk. REQUIRES HelpScribble for generating help files.  HelpScribble Apprentice may be downloaded from the www.RiverSoftAVG.com web site.
     
     
    Tip: Use TeeChart to plot fuzzy sets
     
    The Fuzzy Logic in the Inference Engine Component Suite is a powerful addition to your expert system toolset.  However, to really see how fuzzy sets/values interact, you need to be able to visualize the "shapes" of the fuzzy set curves.  Fuzzy Set truth values are determined by the XY value pairs that make up their "shape".  The XY value pairs define a 2D plot.  The X range varies over the universe of discourse.  The Y Range varies from 0 (completely not a member) to 1 (completely a member).  The IECS provides the plot-fuzzy-value function, which plots Fuzzy values using printout/text statements, but it does not provide the prettiest plots in the world.  Fortunately, Delphi comes with TeeChart and it is relatively easy to fill TeeChart from the Inference Engine.
     
    To create a TeeChart series from a IECS fuzzy set:
    bulletCreate the series first, TLineSeries or TFastLineSeries work well.  Refer to the TeeChart documentation if you have any difficulty.  The simplest way to create the line series is to double-click on the TChart component and click "Add" in the Series tab.  Select the TLineSeries or TFastLineSeries.  You may also want to set the y-axis range between 0 and 1 at this time.
    bulletNext, you need an IFuzzySet.  For our example, load a TInferenceEngine component with the Project Risk.ie file.  Drop a TInferenceEngine component on your form and right-click the component.  Select the "Edit Expert System..." menu item, which brings up a console.  Using the Open Dialog, find the Project Risk file and load it.  Select OK to fill the TInferenceEngine component with the expert system.
    bulletInside the expert system are 7 Defined types (RISK, FUNDING, etc).  Each defined type is a fuzzy type with fuzzy set values.  Let's select the "increased" fuzzy set value from the RISK fuzzy type.  To make it easier to work with, we will declare a FuzzySet: IFuzzySet variable and assign the fuzzy set value we want to it:
    FuzzySet := InferenceEngine1.DefinedTypes['RISK'].FuzzyType.FuzzySetByName['increased'];
    bulletNext, we need to copy the XY points in the fuzzy set to the line series.  To copy the shape of the fuzzy set, we need access to 5 properties: Count, XValues, YValues, XMinimum, and XMaximum.  The Count, XValues, and YValues properties gives us access to the number of points in the shape and the actual XY value pairs.  The XMinimum and XMaximum properties are needed to define the X cutoff points for the shape.  The XValues and YValues arrays define the points that make up the shape.  It is therefore easy to copy points by just iterating over the fuzzy set and adding XY pairs to the series.  The only wrinkle is that fuzzy sets have an assumed flat line, or a plateau, in the shape from the left-most XY value pair to the XMinimum and from the right-most XY value pair to the XMaximum.  For example, if a fuzzy set had a XMinimum of 0, XMaximum of 1, and was defined by the XY value pairs: ((0.2500 0.5000) (0.3351 0.7963) (0.4521 0.8889) (0.6330 0.7870) (0.7500 0.3500) )  The plot should look like this:
    Fuzzy Variable: RISK
    Fuzzy Values: crazy(*)
     
    1.0000
    0.9500
    0.9000                      **
    0.8500                   ***  *****
    0.8000                 **          ***
    0.7500                *               *
    0.7000                                 *
    0.6500               *
    0.6000              *                   *
    0.5500             *                     *
    0.5000*************
    0.4500                                    *
    0.4000                                     *
    0.3500                                      ************
    0.3000
    0.2500
    0.2000
    0.1500
    0.1000
    0.0500
    0.0000
        |----|----|----|----|----|----|----|----|----|----|
       0.00      0.20      0.40      0.60      0.80      1.00
     
    Universe of Discourse: From 0.00 to 1.00
    bulletNow, we have all the information we need to copy the points.  Our code should look like this:
              // Fill in Fuzzy set Graph
              Series.Clear;
              Series.Title := FuzzySet.Name;
              if FuzzySet.Count > 0 then
                 Series.AddXY( FuzzySet.XMinimum, FuzzySet.YValues[0] );
              for i := 0 to FuzzySet.Count - 1 do
                  Series.AddXY( FuzzySet.XValues[i], FuzzySet.YValues[i] );
              if FuzzySet.Count > 0 then
                 Series.AddXY( FuzzySet.XMaximum, FuzzySet.YValues[FuzzySet.Count - 1]);
     
    bulletThat's it.  There is a demo program for filling a TChart component on our web site at www.RiverSoftAVG.com/Files/FuzzySetPlot.zip
     
    Download: New IECS Help files for Delphi 7 are available

    The IECS help files have been updated for Delphi 7 (v2.01).  They have been correctly set up to link into Borland's Delphi 7 help files.  You can download the file at:
     
     
     

    RiverSoftAVG Survey

    January, 2003

     

    Thank you for taking the time to fill in RiverSoftAVG’s survey.  The survey is short and should only take you about 5 minutes.  By filling in this survey, you help us know what areas we need to improve in or actions to take to make you happy, especially with regards to upgrades and new development.  The survey is divided into 3 sections: Support, New Development, and IECS.

     

    Thanks again for your help.

     

    Support

     

    1)     How would you rate RiverSoftAVG’s support?

    a)      Excellent

    b)      Good

    c)      Fair

    d)      Poor

     

    2)     What is your preferred support method from a company?

    a)      email

    b)      mailing list

    c)      newsgroups

    d)      Other __________________

     

    3)     How would you rate RiverSoftAVG Help Files and Documentation?

    a)      Excellent

    b)      Good

    c)      Fair

    d)      Poor

     

    4)     How often do you read the newsletters we send out?

    a)      Always

    b)      Sometimes

    c)      Once or Twice

    d)      Never

     

    5)     How good do you consider the newsletters?

    a)      Excellent

    b)      Good

    c)      Fair

    d)      Poor

     

    6)     What tips would you like to see in the newsletters

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

     

    7)     Comments about Support or Help Files

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    New Development

     

    8)     Do you think RiverSoftAVG should develop new and different Artificial Intelligence components or keep improving the Inference Engine Component Suite?

    a)      Make new AI components, that would be great!

    b)      Don’t waste your time on new components, keep making the IECS better and better

     

    9)     Please rate which AI components you would like to see RiverSoftAVG develop (1-not important to 5-very important)

    a)      Neural Networks ____________

    b)      Genetic Algorithms ____________

    c)      Finite State Machines ____________

    d)      Planning and Scheduling ____________

    e)      Professional Path Planning ____________

    f)      Professional Flocking and Formation Flocking ____________

    g)      Other ___________________ ____________

     

    10)  Please rate how important you think that new components should be compatibility with other products (1-not important to 5-very important):

    a)      Kylix ____________

    b)      C++Builder ____________

    c)      .NET ____________

     

    11)  Comments about New Component Development:

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    Inference Engine Component Suite

     

    12)  If RiverSoftAVG developed a version 3.0 upgrade to the IECS, please rate how important each of the following features would be to you (1-“not important, don’t bother developing it, wouldn’t buy it” to 5-“very important, must-have feature, would buy it now”)

    a)      Improved DB support (stream other structures to DB like rules) ______________

    b)      Editor Frames instead of just dialogs (editors can be embedded in your own forms) ______________

    c)      XML format for Expert Systems (like CLIPS but in XML) ______________

    d)      Interactive Expert System Debugger ______________

    e)      More Functions ______________

    f)      Improved CLIPS Support ______________

    g)      DefModule support ______________

    h)      Expert System Application Wizard (similar to Delphi’s Application Wizard) ______________

    i)       Other ______________ ______________

     

    13)  Please rate how important you think that new components should be compatibility with other products (1-not important to 5-very important):

    a)      Kylix ____________

    b)      C++Builder ____________

    c)      .NET ____________

     

    14)  What is your favorite feature of the Inference Engine Component Suite (Fuzzy Logic, wizards, dialogs, scripting, etc)?

    ____________________________________________________________________________________

     

    15)  What is your least favorite feature of the Inference Engine Component Suite?

    ____________________________________________________________________________________

     

    16)  How would you rate the Fuzzy Logic support in the IECS?

    a)      Excellent

    b)      Good

    c)      Fair

    d)      Poor

     

    17)  How would you rate the Database support in the IECS?

    a)      Excellent

    b)      Good

    c)      Fair

    d)      Poor

     

    18)  How do you like the Expert System Wizard?

    a)      Excellent

    b)      Good

    c)      Fair

    d)      Poor, Not Useful

     

    19)  Would you recommend the Inference Engine Component Suite?

    a)      Yes

    b)      No

    c)      Maybe

     

    20)  Other comments

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    Send mail to webmasterNO@SPAMRiverSoftAVG.com with questions or comments about this web site.
    Copyright © 2002-2010 RiverSoftAVG
    Last modified: September 20, 2010