Week 9 Flashcards
(17 cards)
What is the Cut Predicate?
Prevents backtracking in Prolog
The Cut Predicate ‘!’ prevents backtracking
Without cut:
larger(A, B, A) :- A > B.
larger(_, B, B).
Query: larger(8, 6, X) → Output: X = 8; X = 6.
With cut:
larger(A, B, A) :- A > B, !.
larger(_, B, B).
What are Extra-Logical Features?
Features in Prolog that go beyond pure logical programming principles
Caution: Purists may consider these features against the spirit of logic programming and should be used carefully
What is Blackboard Architecture?
A shared “blackboard” is updated iteratively by diverse knowledge sources
Prologs database supports this architecture for expert systems
What is the difference between Static Predicates and Dynamic Predicates
Static Predicates - Cannot be modified during program execution
Dynamic Predicates - Can be modified during program execution
What is the SHRDLU System?
Natural language interaction in a simplified blocks world
Example Conversation:
Person: “Pick up a big red block.”
Computer: “OK.”
Person: “Find a block taller than the one you’re holding and put it into the box.”
Computer: “BY ‘IT’, I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING. OK.”
What are commands for adding and removing clauses in a Prolog Database?
Adding Clauses:
asserta(X): Add at the beginning
assertz(X): Add at the end
assert(X): Add at the beginning
Removing Clauses:
retract(X): Remove a specific clause
retractall(X): Remove all clauses matching X
What is a Classical Expert System?
- A database of elementary facts about the domain
- some domain rules for knowledge acquisition
- some inference rules for reasoning from data
- a facility for generating explanations
What are 4 examples of Classic Expert Systems?
- Dendral
- MYCIN
- PROSPECTOR
- SHRDLU
What is the Fifth Generation Project?
A large-scale initiative led by Japan’s Ministry of International Trade and Industry (MITI) to revolutionize computing by focusing on knowledge information processing systems
Goals:
1. Establish Japan as a leader in the global computer industry
- Advance logic programming as a foundation for innovation
- Encourage original research and share findings globally to counter accusations of technological dependence on other nations
Why was Logic Programming chosen for the Fifth Generation Project?
Key Reasons:
- Software Engineering: Logic programs serve as executable specifications, which can be optimized using program transformations
- Databases: They function effectively as both a query language and a tool for describing integrity constraints
- Artificial Intelligence: Logic programs implement rules in a natural “if-then” format, aligning well with reasoning systems
- Computer Architecture: Logic programming overcomes the von Neumann bottleneck through single assignment, enabling more efficient computation
What were the Key Developments in the Project?
Personal Sequential Inference Machines (PSI):
Several hundred workstations were developed and deployed
Focused on sequential logical inference.
Parallel Inference Machines (PIM):
The PIM/p system utilized 64 × 8 processing elements
Designed to leverage parallelism for large-scale reasoning tasks
What are the Forms of Parallelism in Prolog?
Unification Parallelism:
Definition: Arises during the unification of a goal’s arguments with the arguments of a clause head (matching clause name and arity)
Application: Allows simultaneous matching of complex structures
Or-Parallelism:
Definition: Occurs when a goal can be unified with multiple clauses at once
Application: Explores multiple branches of the search space in parallel
And-Parallelism:
Definition: Occurs when multiple subgoals in a clause can be satisfied simultaneously
Application: Enables simultaneous processing of independent logical tasks
What are the Contributions to Software Engineering?
Executable Specifications: Logic programs act as blueprints that can be executed directly, reducing the gap between design and implementation
Transformation Techniques: Optimizes these specifications into efficient programs while preserving their correctness
What are the Contributions to Artificial Intelligence?
Rule Representation: Implements rules in the format:
A :- B1, B2, …, Bn.
Meaning “A is true if B1, B2, …, Bn are true.”
Intuitive Framework: Naturally supports reasoning systems and decision-making applications in AI
What are the Contributions to Databases?
Query Language: Logic programming enables expressive and efficient database querying
Integrity Constraints: Used to enforce rules and relationships between database entities
What is the Historical Context of the Fifth Generation Project?
MITI’s Role:
Created in 1949, MITI played a key role in Japan’s post-war economic recovery
Focused on industrial coordination, innovation, and advancing Japan’s global competitiveness
Inspirational Events: The project aimed to mirror the transformative vision that followed events like World War II’s end and Japan’s rapid modernization.
What were the Challenges and Legacy of the Fifth Generation Project?
Challenges:
Ambitious goals with evolving technology.
Competition from other nations with similar research initiatives.
Legacy:
Pioneered research in logic programming and parallel processing.
Provided foundational ideas for modern AI and distributed computing.