Fridge Temperature Log Template

Document Sample
Fridge Temperature Log Template Powered By Docstoc
					     Logic Programming Associates


   LPA software tools
    and applications
 by Clive Spenser (Marketing
           Director)
Logic Programming Associates
           Logic Programming Associates

Logic Programming
Associates
•   Formed 1981
•   Worldwide Reputation
•   AI/Expert Systems Products
•   Privately Held
•   Skilled Staff
        Logic Programming Associates

LPA
 Goal is to build imaginative
 software tools and applications
 using innovation, intelligence and
 integration
           Logic Programming Associates

LPA Business Activities
•   Product Sales
•   Maintenance
•   Collaborative Research
•   Project Development
•   Training and Consultancy
A Multi-tiered Toolset

        VisiRule


         Flex


         Flint


       WinProlog
           Logic Programming Associates

LPA Software Products
•   VisiRule
•   LPA Prolog for Windows
•   Flex expert system toolkit
•   Flint uncertainty handling toolkit
      WinProlog and corporate resources

                             Intelligence
                                Server



                          WinProlog
                    ProWeb                  ProData
                      CGI                    ODBC




WinProlog is highly connected with access extrenal resources,
                      data and languages
       Logic Programming Associates

LPA Software Products
(contd)
•   ProData ODBC database interface
•   Intelligence Server
•   Data Mining toolkit
•   CBR toolkit
•   Dialog Editor
           Logic Programming Associates

LPA Software Products
(contd)
•   ProWeb Server
•   WebFlex
•   Chimera Agents
•   Prolog++
          Logic Programming Associates

LPA Customers
•   Large Corporates
•   Research Organizations
•   Universities
•   Colleges & Schools
           Logic Programming Associates

Recent Activies
•   Frisc/Rems-ST DTI projects
•   Forfait CeC project
•   BIL/DealBuilder agreement
•   IBM/Inflow contract
•   OU flex licence
           Logic Programming Associates

Rems-ST
•   Repertory Grids
•   Web-based
•   Data Mining
•   Clustering
Rems-ST - the proposed
system
     Security experts : knowledge providers
                                  and users
          inspection    revision


              Rep grids -
         knowledge elicited from         DATA
           security specialists         ANALYSIS   data



                                                     sources
                                         DATA
         Rep grids - knowledge
         inferred from patterns         MINING


     Knowledge Base
          selection    prioritisation
Rems-ST - the proposed
system
                                       Elicitation example
                        1                            Argos     Sainsburys   Homebase    Argos      B&Q   Amazon                       5
                                                     On-line        2          3       Additions    5      6
                                                       1                                  4
One-off experience                                     2           5           1          1         2      4      Regular shopping
DIY stuff non-essentials                               1           5           2          3         2      3      Mainly food necessities
No additional rewards benefits                         1           5           1          1         1      3      Additional loyalty link club benefits
Store nearby is accessible                             1           1           5          1         2      5      No store nearby
Circumventing on-line route is possible practical      3           2           4          2         3      5      Problem would lead to ceasing to shop no
alternative to on-line is possible                                                                                alternative to shopping online
Customer service poor when problems                    5           5           5          1         5      5      Problems resolved well / no problems
Communication (about what and when) is poor            3           3           3          1         3      5      Keep me informed
Unreliable delivery                                    5           5           3          1         4      4      Delivery on time and courteous
Complicated delivery mechanism                         4           5           5          1         5      5      Simple delivery mechanism
Site encourages browsing                               5           4           4          5         1      1      Use site to buy something specific
Easy to navigate site                                  4           2           4          4         2      1      Less easy to navigate site
Dead links poor layout                                 3           5           1          3         4      5      Site up to date
Raises doubts about confidence                                                                                    Satisfying goodwill kept intact
Seems stingy hiding info                               1           4           5          1         4      3      Attracts attention to offers
Difficult to spot (buying) opportunities                                                                          Everyone wants a good deal
Seems disorganised                                     2           5           3          1         4      5      Has on-line shopping cracked
Takes ages to download                                 2           5           2          2         3      5      Quick response
Doesn’t keep in touch                                  1           4           2          1         3      5      Keeps in touch with news
Impersonal                                             1           5           1          1         1      5      Personalises the contact
No option to split delivery                            1           1           1          5         1      5      Option to split orders delivery as goods
                                                                                                                  come in
No information about availability / delivery times     1           1           4          1         4      5      Information to inform choice at time of
stock availability                                                                                                order
  Repertory grid cycle
                 Elicitation


 Elicitation                     Analysis
techniques                      techniques



               Interpretation
           KnowledgeGrid
• Knowledge Elicitation
  – Individual repertory grids for all 9 retailers
    on either stock theft or refund fraud
• Knowledge Representation
  – Extensions to repertory grid representation
    (categories)
  – Repertory grid software version 1
• Knowledge Sharing
  – Skills to further develop their grids and
    elicit, construct and interpret new grids
  – Reference grids on stock theft as sharable
    resource across the industry
Interpretation example
Data analysis framework
Repertory grids
 elicited from
    security                   Hypothesis
  specialists       Data



                                Suggest
                   analysis



                  techniques
         Data                     Test
        Sources
Example - Repertory grid
          Example - Data analysis (rep
          grid)                                                                                CLASS
                                                                                   Sales Person-Management Team

                                                                                  1                                5                 TOTAL
                                                                 count       % t-weight % d-weight count       % t-weight % d-weight
                                                   where
                    CONDITION                      rating=
End of month time pattern-random                             1           3      100.00       75.00         1       20.00     25.00           4
End of month time pattern-random                             5           0        0.00        0.00         4       80.00    100.00           4
TOTAL                                                                    3                                 5                                 8
Spotted quickly-took long to spot                            1           3      100.00       75.00         1       20.00     25.00           4
Spotted quickly-took long to spot                            3           0        0.00        0.00         2       40.00    100.00           2
Spotted quickly-took long to spot                            5           0        0.00        0.00         2       40.00    100.00           2
TOTAL                                                                    3                                 5                                 8
obvious refund fraud-offender understands system             1           3      100.00       75.00         1       20.00     25.00           4
obvious refund fraud-offender understands system             3           0        0.00        0.00         1       20.00    100.00           1
obvious refund fraud-offender understands system             5           0        0.00        0.00         3       60.00    100.00           3
TOTAL                                                                    3                                 5                                 8




            • The count summarizes the number of occurrences of a particular construct
            rating for each class

            • T-weights indicate the probability that an occurrence in the target class has a
            specific construct rating.

            • D-weights show the distribution of examples between different classes; the
            probability that a class is derived from a construct.
Repertory grid technique
cycle
                 Elicitation


 Elicitation                     Analysis
techniques                      techniques



               Interpretation




                   Action
Action sketches - data
analysis patterns in data from
• Investigate
 repertory grid
  – Suggests patterns to investigate in data (e.g
    Dixons: theft by sales persons and
    management)
                                                                   REMS research                                                     SID
     • Confirms / rejects patterns                                                                      %                                                  %

     • Suggests additional data to capture
                                                                         Management                management                Management               management
                                                            Sales Person    team        % Sales       team        Other         team       % Other       team
                                                     Cases        3           5          38%           63%         55             35         61            39
                                  End of month time pattern       3           1          100%          20%          4             7           7            20
                                            Spotted quickly       3           1          100%          20%         32             10         58            29
                                       Obvious refund fraud       3           1          100%          20%         14             8          25            23

                                                                                                                  Long
                                                                Long                                             serving
                                                            serving team    New to      % Long                    team         New to      % Long
                                                              member       company      service      % New       member       company      service      % New
                                                      Cases       4           4           50%         50%           69           19          78           22
                                     major loss to company        3           0           75%         0%            21           3            30          16
                             High volume fraud transactions       2           0           50%         0%            28           3            41          16

                                                                                                                   Done
                                                              Done during Done during                             during
                                                                unusual     normal    % unusual     % normal     unusual     Done during % unusual     % normal
                                                                 times       hours      times        hours         times     normal hours  times        hours
                                                       Cases        1          7         13%          88%             2          31           6           94
                                Refund and sale same store          1          6        100%          86%             2          25          100          81
                          Refund and sale in different stores       0          1          0%          14%             0           0           0            0

                                                              Refund to    Refund for                            Refund to    Refund for
                                                               product     variety of      %                      product     variety of      %
                                                             'unopened'      faults     unopened    % faults    'unopened'      faults     unopened    % faults
                                                       Cases      2             6         25%        75%             1            4           20          80
                Refunds made against ficticious sales nearby      2             1         100%       17%             0            0            0           0
                Refunds used bona fide details in same store      0             5          0%        83%             0            2            0          50
Analyse Page
Review Page
Cluster page
Multiple Regression
Decision Rules
Action sketches - focussing
• Investigate patterns in repertory
  grids
  – Pick out interesting relationships through focussing (e.g.
    Dixons: small store-large store and bona fide details-false
    details)




                                   A
                                   B
                                   C
                                   D
                                   E
                                   F
                                   G
                                   H
The Frisc Project

   Lancaster University



   Integrated Business & information Systems (IBiS)



   Logic Programming Associates (LPA)



   AXA Insurance
           Logic Programming Associates

Frisc
•   Bayesian Probabilities
•   Ethnographic studies
•   Refutation
•   Investigation
       Frisc Project Goals
 30 month UK government-funded project to
reduce insurance fraud (approx. £1 billion
                  p.a.).




     Psychological            Technological


      Investigate &           Smart software
     understand fraud      tools to support fraud
    detection practices           detection
       Possible Approaches
                Data Mining




                              Knowledge/
Psychometrics
                               Expertise
          Analysis of Anomalies


                         Insured
Information absence                   Information match

  Suspicious behaviour              Financial status

      Information mismatch         Manner
    Toolset design
              Mass detection tool




            Indicators:

           Intermediate
Bayesian
                 nodes:
 Belief
Network
           Hypotheses:

      Fraud likelihood:
                   Toolset design
           Mass detection tool


             Get fraud
             indicators


Bayesian
 Belief
Network
                   Toolset design
           Mass detection tool


             Get fraud
             indicators


Bayesian      Capture
 Belief       anomaly
Network
                 Toolset design
           Mass detection tool


             Get fraud
             indicators


Bayesian      Capture
 Belief       anomaly
Network

            Assess fraud
             likelihood


              Pay claim
                   Toolset design
           Mass detection tool        Hypothesis testing tool


             Get fraud
             indicators


Bayesian      Capture
 Belief       anomaly
Network

            Assess fraud         Build/retrieve
             likelihood          hypothesis tree
                    Toolset design
           Mass detection tool        Hypothesis testing tool


             Get fraud
             indicators


Bayesian      Capture               Explore
 Belief       anomaly               anomaly
Network

            Assess fraud         Build/retrieve
             likelihood          hypothesis tree
                   Toolset design
           Mass detection tool        Hypothesis testing tool


             Get fraud            Give testing
             indicators             advice


Bayesian      Capture               Explore
 Belief                                                   Argument
              anomaly               anomaly
Network                                                    engine


            Assess fraud         Build/retrieve
             likelihood          hypothesis tree


                                                    Pay / refuse claim
                   Toolset design
           Mass detection tool        Hypothesis testing tool


             Get fraud            Give testing
             indicators             advice


Bayesian      Capture               Explore
 Belief                                                   Argument
              anomaly               anomaly
Network                                                    engine


            Assess fraud         Build/retrieve
             likelihood          hypothesis tree
          Logic Programming Associates

Forfait
•   Decision Maps
•   Monte Carlo Simulation
•   Crisis Simulation
•   Training
  Schematic of the Encapsulation of Domain Knowledge
                                                Crisis Simulation Mode
                                                User deploys resources
                                Advice
                                To User
                   Decision
                    Maps
Domain Knowledge



                                                   Fire Attack
                                                    strategy



                               FORFAIT
                               Knowledge
                                 Base
                                                      FIRE
                                                   Propagation
                                                      model
                              Planning Mode
                    Truth     FORFAIT deploys
                    Tables    resources
                                                                                        Truth Table (part)
The Decision Tree
                                                           Influencing Factors                                                                                   Decisions




                                                                                         Burning for Land Clearance




                                                                                                                            Restrictive Practices
                     Hierarchy of Decisions




                                                                                                                                                    Land Management
                                                                   Population Density




                                                                                                                                                                         Fire Breaks
                                              Land Value




                                                                                                                                                                                       Education
            Father         Son     Grandson
                                              L                    L                      L                             1   M                       L                    L             L
                                              L                    L                      M                             2   L                       L                    M             M
                                              L                    L                      H                             3   L                       L                    M             H
                                              L                    M                      L                             4   M                       M                    L             L
                                              L                    M                      M                             5   L                       M                    M             M
                                              L                    M                      H                             6   L                       M                    M             H
                                              L                    H                      L                             7   M                       H                    L             M
                                              L                    H                      M                             8   L                       H                    M             L
                                              L                    H                      H                             9   L                       H                    M             H
                                              M                    L                      L                            10   H                       L                    L             M



 Pre-Fire
 Decision
   Tree
                                                                                                                      Modifying
                                                                                                                       Factors




               Influencing Factors
Decision Module
Modifying Factors


      Semantic values:
      vh:     Very High
      h:      High
      a:      Average
      l:      Low
      vl:     Very Low




             Example:
       Here detection time is
               “vh”
             Very High
Uncertainty in
Decision Making                                  Very Low
                                                                 P              P’

                                                             Stochastic           Modified
                                                             (Sampled)           Distribution
                                                  Low
                                                               Model               Biases
        Scenario conditions                                  Parameter            Sampling
         (High, Medium, Low)

                                                               Consider Model Parameter:
                                                                 P =“Initial Fire Hazard”
                                                  Medium

                                  Modifying
                                 Factor e.g.                  Fuzzy Hedge “Very Low”
                               “Time to Detect                gives:
                                    Fire”          High
                                                                      P’ << P

                                                              Biasing the sampling of Initial
                                                              Fire Hazard to the low end of
                                                 Very High    the range of possible values

                                                  Fuzzy
                                                  Hedge
                                                 Functions
          Logic Programming Associates

AI Characteristics
• Search
• Partial Information
• Rules
           Logic Programming Associates

AI Applications
•   Knowledge Management
•   Configuration
•   Planning & Scheduling
•   Diagnostics
•   Natural Language
           Logic Programming Associates

AI Techniques
•   Expert (KB) Systems
•   Case based reasoning
•   Constraint based reasoning
•   Neuro-Fuzzy
•   Genetic Algorithms
            Logic Programming Associates

AI in Industry
•   Financial
•   Databases
•   Manufacturing
•   Distribution
•   Decision Support (Business Intelligence)
            Logic Programming Associates

AI & Engineering
•   Intelligent Design Systems
•   Production Planning
•   Product Selection/Re-use
•   Information Management
           Logic Programming Associates

Some LPA Customer Applications

•   Infermed - Arezzo
•   InFlow
•   BIL - DealBuilder
•   Cassandra
           Logic Programming Associates

Infermed - Arezzo
•   Decision Logic
•   Argumentation theory
•   Clinical Trials
•   VB front end
Composer - dogs
Arezzo
process
          Creating Guidelines
Guidelines are comprised of the four AREZZO task
    types
•   Actions,
•   Decisions
•   Enquiries
•   Plans
Composer Window
Composeer – protocol1
Decision Editor on task:
decision 1
Expression Editor
Scheduling and Pre-Conditions
Drink flowchart
Run Guidelines - drinks
          Logic Programming Associates

InFlow –     Social Network Analysis software

•   Link Analysis
•   Network Measurements
•   Metrics
•   Reports
•   Visualization
Network Diagram
Jays Team
Network Measurements
Network Diagram
Uncloaking Terrorist
Networks
By the middle of October
enough data was available to
start seeing patterns in the
hijacker network. Initially, we
examined the prior trusted
contacts (Erickson, 1981) - those
ties formed long ago through
living and learning together. The
network self-organized (via a
network layout algorithm) into
the shape of a serpent .


Initial Network
Yet, work has to be done, plans have
to be executed. How does a covert
network accomplish its goals?
Through the judicious use of
transitory shortcuts (Watts, 1999) in
the network. Meetings were held
that connected distant parts of the
network to coordinate tasks and
report progress. After coordination
was accomplished, the cross-ties
went dormant. One well documented
meeting of the hijacker network took
place in Las Vegas. The ties from
this and other meetings are shown in
gold.

Revised Network
                Logic Programming Associates

Business Integrity Ltd
•   Founded in 2000 as a Joint Venture between LPA and TL
•   Remit is to commercialise document automation technology
•   Uses LPA WinProlog and ProWeb
•   Has sold to most leading law-firms
•   Also used by Microsoft, Reuters, Amazon, Cisco
•   Target sectors are legal, healthcare and financial
           Logic Programming Associates

BIL – DealBuilder
•   Document Assembly
•   Word files as input
•   Web-based question/answers
•   Generates PDF
•   Integrated with DM solutions
          Logic Programming Associates

DealBuilder
 Business Integrity has changed the way
 lawyers and compliance specialists regard
 online contract automation, whether as part of
 an automated sales contract process, a bank
 trading system, or a law firm client
 engagement initiative
          Logic Programming Associates

Document Assembly
 Enables complex documents and legal
 contracts to be automatically converted to
 easy-to-use web-based questionnaires. Non-
 specialist users can complete the
 questionnaires online to generate perfect pre-
 approved documents in a fraction of the time it
 would take to manually create them
                    Logic Programming Associates

Microsoft and DealBuilder
 Business Integrity is pleased to announce that Microsoft is now using DealBuilder in its Legal
 and Corporate Affairs department to generate End User License Agreements in multiple
 languages. The Microsoft LCA department uses DealBuilder integrated with Microsoft
 SharePoint to streamline the contract lifecycle. This solution allows paralegals or attorneys to
 answer business questions through an online intelligent questionnaire and generate a standard
 license agreement.

 “Like many legal departments, we used a manual process to draft, translate and store our
 product license terms. This resulted in many resources spent identifying current appropriate
 license terms, drafting English language license terms and having it localized. Now, with a few
 clicks and the push of a button our paralegals and attorneys can produce a license agreement
 with Microsoft’s standard license terms in multiple languages. This is a huge savings in
 drafting time and localization costs. ” said Chris Breunig, Sr . Attorney, Microsoft Legal and
 Corporate Affairs.
              Logic Programming Associates

Amazon and DealBuilder
 Commenting on the project, Michael Miller, Amazon’s UK Legal
 Director and Associate General Counsel said: “With automated drafting
 we can safely devolve the creation of relatively standardised legal
 documents to the business and at the same time offer them a more
 efficient, faster service. It also means that my department’s legal
 resources are freed up to concentrate on the non-standard exceptions
 and more complex work. I see this as a first stage deployment of
 DealBuilder and I am excited about the prospect of deploying
 DealBuilder more broadly within our operations, with a view also to
 integrating DealBuilder with the corporate Peoplesoft (TM) HR system.
                    Logic Programming Associates

Reuters and DealBuilder
•   Business Integrity is pleased to announce that Reuters has contracted to use
    Business Integrity's world-leading DealBuilder online contract automation
    software as part of its drive to improve customers’ experience when contracting
    with Reuters. With the new system, Reuters sales executives and contract
    negotiators will be able to generate consistent and legally pre-approved sales
    agreements in seconds by updating a few business questions on a browser based
    questionnaire.

•   “Like most legal departments in large organizations, we draft and store our many
    sales agreements using manual processes – processes that are time consuming
    and vary from region to region" said Rosemary Martin, Global General Counsel at
    Reuters. "Our aim is to enhance customer satisfaction while reducing the time
    from order to contract. We believe that DealBuilder’s leading technology will
    enable us to meet that challenge consistently across the organization.”
                                        IntellX
Make support lawyers the highest fee earners in the Firm by capturing their know-how
in automated precedents.
Modern law firms have invested heavily in their know-how. This often takes the form of
contract precedents, standards or models, along with guidance and drafting notes. These
aids help fee-earners create accurate and consistent documents quickly.
IntellX takes your know-how a stage further, automatically automating precedents,
standards or models and representing them as simple, online questionnaires. Fee-earners
simply complete the questionnaire and the software reliably generates a perfect
document. With reliable document automation law firms can produce more, higher quality
documents in a given time and improve the working environment for their staff.
IntellX is designed and proven as tool that can be used by lawyers, typically Professional
Support Lawyers (PSLs) or Paralegals. As know-how is created in the normal way,
IntellX analyses and automates the documents without the need for any computer
programming expertise.
Unlike all previous 'document assembly' tools, IntellX works directly from the precedent,
eliminating the delays and errors associated with separate 'document templates', macros,
XML mark-up or other computer gobbledygook. No expensive consultants needed either.
IntellX is changing the way PSLs work, enabling them to produce top quality, fully
automated know-how, in the same time it takes them to draft a precedent. IntellX enables
them to become the most productive lawyers in their firm.
           Logic Programming Associates

DealBuilder
•   Legal document generator
•   Web-hosted
•   Mark-up logic
•   Desktop Analyser
DealBuilder - Web Based Document Automation Software


Contract precedents, standards or models have enabled lawyers to produce contracts
faster and to more consistent standards. DealBuilder takes this know how a stage
further by representing your precedents as easy to use, online questionnaires. Fee-
earners simply complete the form and DealBuilder immediately delivers a perfect
draft document derived from your know-how.
Vitally, DealBuilder is proven as accurate and reliable, providing legal document
automation that fee-earners can trust. It saves time too. Comparisons have shown
that first draft documents are typically produced by DealBuilder in 20% or less of the
time it takes a fee-earner to derive a draft from a traditional precedent.
Designed to open standards, DealBuilder fits into the way your firm works and links
to any document management system.
Being entirely browser based, DealBuilder is quick and easy to install and use,
however large your firm. There is no costly or time-consuming installation or
management to worry about.
The drafting of legal documents can be time-consuming and tedious. It's a task that
lawyers seldom enjoy doing and clients don't like paying for it. Through
automation, DealBuilder eliminates long-winded drafting and
frees your fee-earners for higher value, client facing work.
              Logic Programming Associates

KnowGravity - Cassandra
• Assistant for System Specification AND Requirements
  Analysis
• assistant that guides software developers through the
  software development process.
• analyses project information held in one of many familiar
  UML-based CASE tools
• derives issues to be clarified or suggests the next steps
  to be done in the project
                     Cassandra’s Architecture




                            Main Application




                              Cassandra’s
                               Repository




           Input                                  Output
        Interfaces                              Interfaces
CASE                                                         CASE
Tools                                                        Tools



                            Agent Modules
                Logic Programming Associates

The size of the Cassandra application is currently about 7'000 lines of
Prolog code, of which about 3'500 lines are generic and thus highly
reusable (module management, licence management, GUI handling,
internationalization, and timing).
              Logic Programming Associates
Currently Input Interfaces for the following CASE tools are
available (no Output Interfaces have been developed so
far):

       •    Artisan RTS V3.0 (XIARTRTS30)
       •    Select Enterprise V5.2 (XISELE52)
       •    Select SSADM V4.0 (XISELS40)
       •    Rational Rose 98 (XIROSE98)
Cassandra dynamically loads extension modules at startup time, at least some parts of
the user interface depend on the currently loaded modules. The figures above show
such an effect in case of different Input Interfaces. Depending on the selected Input
Interface (source), different options apply to that Input Interface.
                  A simple meta model



                             M      o d e l           e
                                                    E l m      e n t
                             N a m         e




E n t   i
        t   y                                                           c
                                                                  B a s i        T y p e
                                                                 D e f    n t
                                                                          i i   o
                                                                                i n
                1O        w n e r
                                                               1
                                                                T y p e

                           *                         *
            A t   t   r    i u t
                           b        e s
                                   A t t       r   i u t
                                                   b       e
                             D e f        t
                                      a u l
                                 Meta model name and version
                                       declaration
          1.   BBasic data type declarations
          2.   OObject type declarations
          3.   SSubtype/supertype association declarations
          4.   PPartition declarations




                                                                   
mm_version('A very simple meta model', '0.1.0', ['0.1.*']).
name(Name) :- atom(Name).

rep_type(model_element, [name(name)]).
rep_type(entity, [attributes(ref(attribute), set)]).           
rep_type(attribute,
[default,owner(ref(entity)),type(ref(basic_type))]).
rep_type(basic_type, [definition]).

rep_isa(entity, model_element).
rep_isa(attribute, model_element).
rep_isa(basic_type, model_element).
                                                               
rep_partition(structure, [entity, attribute]).
                                                               
               Logic Programming Associates
The meta objects declared in this way may be manipulated by a
set of built-in access predicates. These can be classified as
follows:

• predicates to create, find, inspect, and delete
  meta objects
• predicates to manipulate attributes
• predicates to manipulate associations
• predicates to initialize, load and unload the
  Repository
        Logic Programming Associates

LPA Prolog for Windows
• World-class Prolog compiler
  system
• Robust and reliable run-time
  engine
• Closely integrated with Windows
• Used in industry, research &
           Logic Programming Associates

LPA Prolog for Windows (integration)
•   Direct access to external DLLs
•   Automation support for Word, Excel etc
•   Embeddable using Intelligence Server
•   Socket support for TCP/IP and others
            Logic Programming Associates

LPA Prolog for Windows (I)
•   Windows XP, 2K, ME, 98, NT
•   Incremental and optimised compilation
•   Stand-alone application creation
•   Hashing functions for large corpora
•   Unicode support for Arabic, Chinese etc
           Logic Programming Associates

LPA Prolog for Windows (II)
•   Integrated development environment
•   Multiple edit windows
•   Source-level debugger
•   Text search and replace facilities
•   Printer and font access
            Logic Programming Associates

LPA Prolog for Windows (III)
•   Edinburgh syntax
•   440 built-in predicates
•   Access to DLLs and Windows APIs
•   DCGs
•   Unique string data type - powerful I/O
           Logic Programming Associates

LPA Prolog for Windows (IV)
•   Scientific mathematical functions
•   Enhanced date and time predicates
•   Dialog & menu creation/handling
•   Formatted I/O
•   Graphics routines
           Logic Programming Associates

LPA Prolog for Windows (V)
•   User-defined hooks
•   Meta-programming
•   On-line help
•   Extensive manuals and tutorials
    (PDF)
Various WinProlog dialogs
          Logic Programming Associates

WinProlog - String Data Type
• Main uses:
   I/O streams
   Data transfer
   Large scale text processing
• Maximum length of 3 gigabytes
• Doesn’t use dictionary, unlike atoms
           Logic Programming Associates

Formatted Input/Output
• Read a formatted term
• Write a formatted term
• Supported formats: atom, char list, fixed
  point number, integer, unsigned integer,
  arbitrary radix, string
Travelling Salesman screen
Debugger Screen
            Logic Programming Associates

Call Graph
•   View the outline of a Prolog program
•   A graph of predicate calls
•   Top-level predicate can be selected
•   Depth can be defined
•   Get predicate info - interpreted, static,
    etc.
Call-graph and code
          Logic Programming Associates

Flex - Frame Graph
• Similar technology to Call Graph
• Shows flex frame hierarchy
Frame Graph and Code
Flex - Frame Browser
            Logic Programming Associates

Dialog Editor
•   Create Windows dialogs ‘graphically’
•   Written in Win-Prolog
•   Generates Prolog code for programs
•   Existing dialogs can be imported
                      Dialog Editor Pallet
                Pointer Tool   Push Button Tool   Check Box Tool



           List Box Tool                              Radio Button Tool



                                                      Group Box Tool
       Combo Box Tool


                                                      Static Tool
Horizontal Scrollbar Tool



       Vertical Scrollbar         Edit Tool       Grafix Tool
       Tool
Dialog Style Dialog
Static Style dialog
            Logic Programming Associates

Cross Referencer
•   Built-in predicates called directly
•   Predicates both defined and called
•   Predicates defined, but not called
•   Predicates called, but not defined
          Logic Programming Associates

User-Defined Hooks
• Messages received by Win-Prolog can be
  handled by a user-defined hook
• Find/Change Box Hooks - intercept messages
  from the built-in Find or Change dialogs
• Abort Hook - intercept calls to the abort
  predicate
           Logic Programming Associates

User-Defined Hooks
• Break Hook - intercept the user pressing
  <Ctrl-Break> during execution of a particular
  predicate
• Debug Hook - intercept calls to the debugger
  when a spied predicate is about to be executed
          Logic Programming Associates

User-Defined Hooks
• Error Hook - intercept error messages
• Timer Hook - called when a timer expires
• Messages Hook - intercept messages before
  Win-Prolog itself sees them
           Logic Programming Associates

Meta Programming
• ?- menu( good_meal ).
• menu( Meal ) :-
    Call =.. [Meal,Starter,Main,Dessert,Wine],
    call( Call ).
• Call is instantiated to the Prolog term:
    good_meal(Starter,Main,Dessert,Wine)
           Logic Programming Associates

Data Mining Toolkit
•   AI origins (search)
•   Latest ‘silver bullet’
•   Value-added to DB community?
•   Links to Knowledge Management
            Logic Programming Associates

Data Mining Techniques
•   Machine learning
•   Induction (ID3 et al)
•   Statistical analysis (SPSS, MathLab)
•   Neural Nets (Clementine)
           Logic Programming Associates

Data Mining Activities
•   Rule generation
•   Clustering - segmentation
•   Dependency detection
•   Sequence analysis
           Logic Programming Associates

Data Mining Objectives
•   Reduce customer ‘Churn’
•   Better marketing targeting
•   Improve business projections
•   Bespoke packages for cross-selling
             Logic Programming Associates

Data Mining Process
•   Data   pre-processing
•   Data   analysis
•   Data   selection
•   Data   mining
                        Removing Columns                            Rule Discovery
                          and Filtering


         Selection                            Constructing a                                Evaluation/
                                                 Target                                    Interpretation




                                                          Reduced and                  Rules
                                                          Filtered View
                                                           with Target



 Data                                                                                                       Knowledge
Source




                     View            Reduced and          Reduced and                Clusters
                                     Filtered View        Filtered View
                                                          with Metrics



                                           Constructing Metrics     Discovering Clusters




                                              Stages in the Data-Mining Process
         Logic Programming Associates

Data-Mining Toolkit
• Predicates provide programmatic access
  to ODBC data sources
• Dedicated data-mining predicates
• Can be used with Intelligence Server -
  User interface in other language
         Logic Programming Associates

Key Points
• ODBC-based
• API-based toolkit
• Uses data source engine for
  performance
           Logic Programming Associates

4 Phases
•   Create View
•   Construct Target
•   Generate Influence Factors
•   Discover Rules
         Logic Programming Associates

Constructing the target
• Single Formula
• Conjunction of Formulae
Significance Chart
Venn Diagram of definitions
    Target Conditions
     (T)      (C)
                        View
                         (V)




                        Target Hit
                           (P)
          Logic Programming Associates

Discover Influential
Conditions
• Candidate Conditions
• Influential Conditions (‘interestingness’)
            Logic Programming Associates

Sorting Influential Conditions
•   Condition
•   Significance
•   Truth
•   Base Coverage
•   Target Coverage
•   Entropy
           Logic Programming Associates

Combining Influential
Conditions
•   Committing to a Rule
•   Strengthening a Rule
•   Weakening a Rule
•   ‘Best’ Rule
          Logic Programming Associates

Variables Used
• V - number of rows in the view (NORV)
• H - NORV where the hypothesis holds
• C - NORV where the candidate condition
  holds
• P - NORV where both the hypothesis and the
  candidate condition hold
          Logic Programming Associates

Default Formulae
• P / H >= 0.2
• aln(P/V) - aln((C-P)/V)
         Logic Programming Associates

Acceptable Rules
• IF Cond1 AND ... Condn THEN
  Hypothesis
• is deemed to be acceptable providing
• P/H >= 0.20 AND P/C >= 0.20
                Logic Programming Associates

Order of Rule Generation
•   1.   IF A THEN H          9. IF B AND D THEN H
•   2.   IF B THEN H         10. IF C AND D THEN H
•   3.   IF C THEN H         11. IF A AND B AND C THEN
    H
•   4.   IF D THEN H         12. IF A AND B AND D THEN
    H
•   5.   IF A AND B THEN H   13. IF A AND C AND D THEN
    H
•   6.   IF A AND C THEN H   14. IF B AND C AND D THEN
    H
           Logic Programming Associates

ProWeb Server (I)
• Prolog on the Web (backtracking et al)
• Generates/interfaces to HTML
• Runs as a CGI application on a Windows server
• Personal Web Server/Internet Information
  Server/Netscape FastTrack Server/Apache
• Form-based
             Logic Programming Associates

ProWeb Server (II)
•   Conversation management for multiple clients
•   Overcomes stateless nature of the web
•   Win-Prolog may or may not remain resident
•   Going back in a conversation
•   Control over granularity of conversation
      Logic Programming Associates

Conversation Flow
            Logic Programming Associates

ProWeb Server (III)
•   Use existing HTML templates
•   Generate HTML programmatically
•   Combine the above two
•   Frameset support
•   ODBC support (Access, SQL Server) via
    ProData
            Logic Programming Associates

ProWeb Launch Page
• A normal HTML page
• Launch ProWeb like you would a Perl script
<FORM METHOD = “get” ACTION =
   “/proweb/proweb.exe”>
  <INPUT TYPE = “submit” VALUE = “Launch ProWeb”>
</FORM>
          Logic Programming Associates

The Main Goal
• Main entry point into user’s code
• Example:
  main_goal :-
     proweb_send_form( input_form ).
         Logic Programming Associates

Page, Form and Question
     L
  HTM Page       Defined by proweb_page/ 2

     L
  HTM Form       Defined by proweb_form/ 2

    HTM  L       Defined by proweb_question/ 2
   Question
         Logic Programming Associates

Sending a Form
• proweb_send_form/1 sends a form
• Example:
 proweb_send_form( input_form ).
         Logic Programming Associates

Defining a Form
• proweb_form/2 defines a form
• Example:
 proweb_form( input_form,
               `Hello World!`
            ).
         Logic Programming Associates

A Simple ProWeb Example
main_goal :-
  proweb_send_form( input_form ).

proweb_form(input_form,`Hello World!`).
            Logic Programming Associates

Defining a Question
• Example:
 proweb_question( my_name,
                     [ method = input,
                       type = string
                     ]
                  ).
• Create an HTML form question
        Logic Programming Associates

HTML Notation
• Uses standard HTML code from HTML
  template pages
• ProWeb has its own HTML notation
  Example:
  td(bgcolor=red),b @ `Hello`,/td
         Logic Programming Associates

Embedding a Question into a
Form
• proweb_form( input_form,
                [
                  ?my_name,
                  input(type=submit)
                ]
             ).
The Generated HTML Page
         Logic Programming Associates

Retrieving an Answer
• main_goal :-
    proweb_send_form( input_form ),
    proweb_returned_answer(
                        my_name,MyName).
         Logic Programming Associates

Using a Template HTML
Page
• Create normal HTML template page
• Point proweb_form/2 at it
• Example:
  proweb_form( hello_form,
                include(‘hello.htm’)
             ).
          Logic Programming Associates

ProWeb Demos
• Many live demos at
  http://www.lpa.co.uk/
          Logic Programming Associates

Phases of the Moon
• Based on Win-Prolog example
• Clear code separation - Prolog &
  ProWeb
• Single form that gets resent indefinitely
• Backtracks to find next solution
• Moon phase mapped to image file
          Logic Programming Associates

Choose a Meal
• Based on Win-Prolog example
• Backtracks to find next solution that
  matches client’s meal type setting
• Resend main page until no more
  solutions
• Each menu item mapped to image file
          Logic Programming Associates

Travelling Salesman
• Based on Win-Prolog example
• Travelling salesman algorithm in Prolog
• Uses Java applet to select towns and
  display route
            Logic Programming Associates

Eliza
•   Classic natural language example
•   Patient/psychiatrist conversation
•   Main form gets resent indefinitely
•   Echoes client’s input on next page
              Logic Programming Associates

Chat-80
• Geographical database
• Natural language
• “what is the capital of malaysia”
     -> kuala_lumpa
• Query page is resent indefinitely
• Echoes query on next page
            Logic Programming Associates

Network Paths
•   Classic network path algorithm
•   Calculates all solutions upfront
•   Returns shortest path first
•   Programatically builds up ‘jigsaw’ image
    based on nodes in path
          Logic Programming Associates

Expert System
• IF…THEN… rules
• Backward or forward chaining
• Javascript popup dialogs provide audit
  trail
           Logic Programming Associates

E-Forms
• Lets you define a form and then…
• Lets you fill in and submit your own form
• All pages (except 1st) are created
  programatically
• Programmatic table generation
• Extensive use of parameter passing into
  proweb_question/2 clauses
            Logic Programming Associates

Insurance
•   Frame-based
•   Document assembly
•   All 5 pages updated per interaction
•   Javascript help
•   Similar to Scaffold/DealMaker
         Logic Programming Associates

WebFlex
• An advanced ProWeb application
• ProWeb and Flex - “Flex on the Web”
• Deliver KSL knowledge bases on the
  web
• KSL compatibility between desktop and
  web
           Logic Programming Associates

WebFlex
•   No need to learn HTML
•   Automatic session management
•   Transparently generates ProWeb code
•   Graphics (GIF, JPEG etc) support
           Logic Programming Associates

Differences From Desktop
flex
•   Data validation at client end
•   Multiple forms/questions on same page
•   Utilise HTML code where required
•   Go back in browser and down different
    execution branch
           Logic Programming Associates

Questions and Answers
• Customise presentation of built-in forms (size,
  colour, font)
• Support for HTML Form fields (listbox, radio)
• Generate Javascript for client-side validation
  (date, time, number)
• Automatic support for images (GIF, JPEG)
          Logic Programming Associates

Robbie the Robot
• Robbie helps select groceries to put into
  a shopping cart.
• Demonstrates forward-chaining in a
  configuration and resource allocation
  problem
             Logic Programming Associates

Solvents
• Select the correct solvent to use when
  cleaning equipment based on…
•   equipment class,
•   the ventilation of the site,
•   the main material of the equipment, and
•   whether the equipment contains rubber
    compounds
          Logic Programming Associates

Forest Yield
• Expert system that recommends a
  species of tree seed to maximise forest
  yield
• It tells you where to get the seed, the
  normal yield of the seed and how that
  yield should be varied.
          Logic Programming Associates

Pesticide
• Choose a pesticide given a pest and a
  crop
• Select one or more pests
• Select a crop
• Give the harvest due date if asked
• Receive name of pesticide to use
Pesticide Screen2
           Logic Programming Associates

Intelligence Server
• Prolog/Flex as the backend (with backtracking)
• Front-end in VB, Delphi, Java, C#, C/C++
• Callbacks
• Multiple instances (support for multi-
  threading)
• String-based
• DLL - six functions
             Logic Programming Associates

Intelligence Server
•   Server independant
•   Clean and safe
•   Uses unlimited size buffer
•   COM example
•   Used to deliver embedded solutions
         Logic Programming Associates

Intelligence Server
             Intelligence Server application




    Client        INT3 8 6 W.DLL               Prolog
                Logic Programming Associates

Intelligence Server - six
functions
•   LoadProlog function loads Win-Prolog into memory
•   InitGoal function Initialises a query
•   CallGoal function calls a query initialised by InitGoal
•   TellGoal function returns user input to a query
•   ExitGoal function removes a query
•   HaltProlog function halts a Win-Prolog instance
           Logic Programming Associates

Intelligence Server -
LoadProlog
• LoadProlog function loads Win-Prolog into
  memory
• 1st argument - command line switches
• 2nd argument - buffer size
• 3rd argument - character encoding
• Returned: Win-Prolog instance identifier
             Logic Programming Associates

Intelligence Server - InitGoal
•   InitGoal function Initialises a query
•   1st argument: Win-Prolog instance identifier
•   2nd argument: Prolog query
•   Returned: G (success) + 4-digit number
•   First query 0000, next query 0001, etc.
               Logic Programming Associates

Intelligence Server -
CallGoal
•   CallGoal function calls a query initialised by InitGoal
•   Argument: Win-Prolog instance identifier
•   Returned: T 0012 - query 12 succeeded
•   Returned: F 0032 - query 32 failed
•   input/2 - I 0081\nYour name - query 81 requests input
             Logic Programming Associates

Intelligence Server -
TellGoal
•   TellGoal function returns user input to a query
•   1st argument: Win-Prolog instance identifier
•   2nd argument: user input to a query
•   Example: TellGoal( 0000, “Rebecca. ”)
•   input/2 - Name = `Rebecca. `
           Logic Programming Associates

Intelligence Server -
ExitGoal
• ExitGoal function removes a query
• Argument: Win-Prolog instance identifier
           Logic Programming Associates

Intelligence Server -
HaltProlog
• HaltProlog function halts a Win-Prolog
  instance
• Argument - Win-Prolog instance identifier
             Logic Programming Associates

Intelligence Server - Flags
•   G - goal registered successfully
•   T - called goal succeeded
•   F - called goal failed
•   E - called goal generated an error
•   I - called goal is requesting information
           Logic Programming Associates

ProData
• Prolog/Database Interface
• ODBC (Microsoft Access, SQL Server, Oracle,
  etc.)
• Database records appear as Prolog facts
• Built-in predicates for common tasks
• Any SQL command can be executed
             Logic Programming Associates

ProData Built-in Functions
•   Connect to data source
•   Disconnect from data source
•   Show data sources
•   Show database schema
             Logic Programming Associates

ProData Built-in Functions II
•   Attach to existing table
•   Create table
•   Read records
•   Add, update or delete records
          Logic Programming Associates

WinProlog – Automation I
• Object Linking and Embedding
• Means of communication and control between
  Windows applications
           Logic Programming Associates

WinProlog - Automation II
• Pass data between and control OLE automation
  objects exposed by other Windows applications
  such as Microsoft Word, Excel or Access
• Example: Use WinProlog to create and format
  a document in Microsoft Word
           Logic Programming Associates

Win-Prolog - Automation III
• Initialise the OLE library
  ?- ole_initialise.
• Create a Microsoft Word application object
  ?- ole_create( word, ‘word.application’ ).
           Logic Programming Associates

Win-Prolog - Automation IV
• Put the value -1 to its ‘visible’ property
  ?- ole_put_property( word, visible, -1 ).
• Getting value for property can return object
  ?- ole_get_property( word, documents, [],
  Documents ).
  Documents = object( word : documents )
           Logic Programming Associates

WinProlog - Automation V
• Add new document to word:document object
  ?- ole_function( word:documents, add, [], Add
  ).
  Add = object( word : documents : add )
• Close word object and all sub-objects
  ?- ole_close( word).
Logic Programming Associates




Flex Overview
  Clive Spenser, LPA
             Logic Programming Associates

Principal Components
•   forward-chaining production rules
•   frame-based inheritance
•   backward-chaining relations
•   questions & answers
•   KSL syntax
•   Prolog-level access functions
            Logic Programming Associates

Forward-chaining Rules
•   'ruleset' packages collections of rules
•   data oriented process
•   multiple conditions in rules
•   multiple consequences in rules
          Logic Programming Associates

Forward-chaining Engine
• lots of rules which are potentially
  useable at all times
• data decides which rule to use
• data changes as rules are applied
• some notional end state to help us
  terminate
                Logic Programming Associates

Forward-chaining Cycle
•   find a/all rule(s) whose conditions are satisfiable, and
•   select one and
•   fire that rule (deal with the consequences)
•   update the agenda and
•   go round again until we satisfy termination criteria
          Logic Programming Associates

Rule Selection
• first come first served (efficient, textual
  ordering)
• conflict resolution (inefficient)
• conflict resolution with threshold value
           Logic Programming Associates

Agenda Update
•   promote/demote selected rule
•   cyclic rotation
•   remove unsatisfied rule(s)
•   rule transintion network
•   user-defined update procedure
        Logic Programming Associates

Production Rules
rule 'check status'
  if the applicant`s job is officer
  and the applicant`s age is greater
  than 65
  then send the applicant for grading
  because The job grading affects the
  pension .
            Logic Programming Associates

Weighting of Rules (static)
rule drink_tea
      if the hour is late
      then drink_a_cup_of_tea
      score 5 .
rule drink_beer
      if the fridge contains some beer
      and   the weather is hot
      then drink_a_can_of_beer
      score 10 .
           Logic Programming Associates

Weighting of Rules (dynamic)
rule empty_master_into_slave
  if the master is not empty
  and the slave`s contents > the master`s
  spare_capacity
  then fill_from( master, slave )
  score master`s contents + slave`s contents .
            Logic Programming Associates

Explaining Rules
rule 'check status'
   if the applicant`s job is officer
   and the applicant`s age is greater than 65
   then ask_for_grading
   because The job grading affects the pension .
rule 'check status'
   if the applicant`s job is principal
   and the applicant`s age is greater than 65
   then check_principal_function
   browse file status .
           Logic Programming Associates

Frames
•   Frame-based hierarchy
•   Attributes with default values
•   Current (updateable) values
•   Procedural attachment (demons etc)
           Frame

        bird                            Name
motions  fly
habitat tree                            Slots
 skin feather



frame bird
       default skin    is feather and
       default habitat is a tree and
       default motions are { fly } .
                          jug
          position                   upright
          capacity        15
          contents         0           7.5


         Attribute     Default      Current
          Name          Value        Value
frame jug
       default capacity is 15 and
       default contents is 0 .

action jug_update ;
       do the contents of the jug becomes 7.5 and
       the position of the jug becomes upright .
 Attribute            Default            Current
  Name                Value               Value

   motions                 fly

• attribute name
        such as habitat, describing the concept
• default value
       to be used when there is no current value
• current value
       the current value for the attribute
                Logic Programming Associates

Inheritance
•   left-to-right thru parents, grandparents
•   depth first vs breadth first; limited to N levels
•   specialised inheritance
•   negative inheritance
•   singular vs multiple
           Logic Programming Associates

Relations
•   backward-chaining procedures
•   multiple definitions
•   back-trackable
•   parameter passing
            Logic Programming Associates

Relation example
relation bank_balance( Customer, Balance )
      if C is some customer
      and check that Customer is C`s cust_name
      and check that Balance is C`s balance.
relation bank_balance( Customer, 0 )
      if gensym( cust, NewCust )
      and NewCust is a new customer
      and NewCust`s cust_name becomes Customer
      and NewCust`s balance   becomes 0.
           Logic Programming Associates

Actions
•   backward-chaining procedures
•   single definitions
•   not back-trackable
•   parameter passing
              Logic Programming Associates

Action (examples)
action demo ;
      do invoke ruleset demo_rules .
action empty_into( X, Y ) ;
      do Y`s contents := Y`s contents + X`s contents
      and X`s contents := 0 .
action write_data( Customer ) ;
      do write( 'Customer : ' )
      and write( Customer`s name ) and nl
      and write( 'ID : ' )
      and write( Customer`s id ) and nl .
             Logic Programming Associates

Questions
•   Built-in portable GUI
•   choose one/choose some of list_of_items
•   input X (such that ...)
•   answer is X such that ...
            Logic Programming Associates

Menu question examples
question choose_colours
   Select your colours ;
   choose some of red, green, yellow, blue, black,
   white.
group colours
   red, green, yellow, blue, black, white.
question choose_a_colour
   Select a colour ;
   choose one of colours.
              Logic Programming Associates

Input question examples
 question get_country
     Which country do you live in? ;
     input name .
 question number_of_children
     How many children do you have ? ;
     input integer .
 question room_width
     What is the width of the room (in metres)? ;
     input number .
 question child_names
     Please enter your children’s names ;
     input set .
            Logic Programming Associates

User-constrained Input
 In addition to the pre-defined data types, you
 can specify your own validity checks
 question age_of_applicant
    Please enter your age ;
    input X such that integer( X )and X > 18 .
 question ID_of_applicant
    Please enter your ID ;
    input X such that check_valid_ID( ID ).
             Logic Programming Associates

User-defined Questions
• User-defined questions let you design and
  invoke your own dialog screens from within
  KSL questions
  question weight_of_applicant
    answer is X such that display_all_weights( X ).

  relation all_weights( X )
    if ......
              Logic Programming Associates

Constraints
 A constraint is a validity check which is automatically
 invoked whenever the value for that slot changes
 constraint maximum_contents_of_vessel
     when the contents of Vessel changes to X
     and Vessel is some vessel
     then check that number( X )
     and X =< the Vessel`s capacity
     otherwise write( 'Illegal contents of vessel ' )
     and write( Vessel )
     and write( ' Contents ' )
     and write( X ) and nl .
              Logic Programming Associates

Demons
 A demon is automatically invoked whenever
 the value for that slot changes.
 demon spy_the_contents
     when the contents of any jug changes from X to Y
     then write( 'jug change ... ' )
     and write( Y - X ) and nl .
 demon check_for_melt_down_of_core
     when the temperature changes to T
     and T is above boiling_point
     then remember that danger_level( red )
     and shut_down .
              Logic Programming Associates

Watchdogs
 A watchdog is automatically invoked whenever there is a
 request for the current value (not the default) of that
 slot.
 watchdog account_security
     when the contents of account is requested
     and outside_office_hours
     then check that the user`s classification is above 99
     otherwise report_illegal_entry .
 watchdog gift_security
     when the surprise of the box is requested
     then check that the date is 'Christmas Day' .
            Logic Programming Associates

Launches
 A launch attached to a frame is automatically invoked
 whenever a new instance of that frame is created
 launch pick_up_new_carrier_bag
    when Bag is a new instance of carrier
    then write( 'I need another carrier bag ' )
    and write( Bag ) and nl .
 launch female_enrolment
    when Person is a new student
    and female( Person )
    then female_enrolment_questions( Person ) .
              Logic Programming Associates

Inheritance
•   left-to-right thru parents, grandparents
•   depth first vs breadth first; limited to N levels
•   specialised inheritance
•   negative inheritance
•   singular vs multiple
   Logic Programming Associates




Chimera Agent Toolkit
     Clive Spenser, LPA
           Logic Programming Associates

Defining Characteristics
•   Autonomy
•   Intentionality
•   Reactivity
•   Communications
            Logic Programming Associates

Agent Architectures
• Reactive Agents (Hive Intelligence)
• Deliberative Agents (Knowledge-Based
  Intelligence)
• Hybrid Architectures
• the Beliefs, Desires and Intentions (BDI)
  Architecture
         Logic Programming Associates

Multi-Agent Systems
• Facilitator Agents
• Agent Communication Languages
            Logic Programming Associates

KQML
•   Knowledge Query and Manipulation Language
•   Developed in the mid 90's by DARPA
•   Performatives
•   Outer Layer and Content Language
            Logic Programming Associates

KQML - Example
 (ask-all
    :content "agent_price(Trader,ici,Bid,Ask,Volume).”
    :language prolog
    :ontology stocktrading
    :reply-with forwardreply
    :sender marketmaker0205
    :receiver bourseagent)
           Logic Programming Associates

KQML Examples
 KQML Examples that can be easily built with
  the Agent Toolkit
 Facilitator Agent
 Client Agent
             Logic Programming Associates

The AGES KB in KSL
frame person default age is 50 .
instance steve is a person ; age is 35 .
relation how_old_is(X,Y)
     if X is some person and check X`s age is Y .
relation younger_than(X,Y)
     if X is some person and Y is some person and
     check X`s age is less than Y`s age .
          Logic Programming Associates

Trading Community Example
• Developed using LPA Agent Toolkit
• Trading Agents
• The Stockmarket Agent
Stocky Diagram

				
DOCUMENT INFO
Description: Fridge Temperature Log Template document sample