here

Knowledge based agents

Knowledge based agents should have some kind of knowledge of their environment.

Knowledge level

The most abstract level in a knowledge based agent, from my current understanding it is a small paragraph that sums up what does the agent know, whether it is about its goals or about about it is environment. It is an high level description of the agents knowledge.

It is not a paragraph I write, it is more like what does the the agent know.

Logical Level

Now we want to define our knowledge level in meaningful logical representation, it can be done with any logic language, like prepositional logic.

Implementation level

Lastly there is the implementation level that deals with physical implementation of the knowledge base. The logic we got from the logical level is implemented. Knowledge of knowledge is like I have to know my database schema to extract knowledge from it.

How is knowledge represented

1. Simple Relational knowledge

Store knowledge like a database schema

2. Inheritable knowledge

Knowledge looks like OOP classes to me

3. Semantic Nets

They are like parse trees but with natural language, here vertices represent concepts and edges represent the relations between the concepts. Semantic nets do not have a formal representations, you just have to give a meaning.

4. Scripts

Just like a movie script, you write scenes or circumstances that follow one another and things happen after another.

Example:

5. Productions Rules

Production rules are knowledge represented as If-Then rules, ex: “If the light is red then stop”, the knowledge is always in human spoken language.

We can use this approach to conclude or represent heuristic knowledge, like: “Asians are good at math”.

The problem of production systems that it can not learn from experience.

6. Logic

Knowledge is represented as a form of formal logic. This approach can be used to derive more facts and it guarantees correctness.

Learning can happen with logic because we can easily conclude information using logic rules.

Summary

Logic and why we use logic

Arguments validity don’t depend on the content or the truthfulness, instead they depend on reasoning, like we let’s say we have: “If someone lives in Cairo then he lives in Egypt”, “Ahmed lives in Egypt”, “Then Ahmed lives in Cairo”, this statement here is invalid because the reasoning is incorrect, not because maybe Ahmed doesn’t live in Egypt.

For example: This one is logically correct, even though the content is not since John is definitely not a crow.

Deduction in Logic

Deduction is using the rule and the event that happened(pre-condition) to make a conclusion. The conclusion I get is 100% correct.

NOTE: In the section deduction problems were solved by drawing a set graph, they are not solved by writing equalities, like for example all x are z does not mean that x is x or x = z

Induction in Logic

Abduction

Abduction is concluding the precondition from the effect, even if it may be not correct. Even though maybe the grass got wet by another way. Deduction is the only thing that can guarantees what it concludes.

Inductive vs Abductive

In induction the conclusion may be false because realistically we haven’t seen all possibilities or “ravens”.

Hypothesis to be tested means that after this conclusion we will still have to test them to make sure they are true.

Problems with natural language