| Table of Contents | 5 |
---|
| About the Author | 12 |
---|
| About the Technical Reviewer | 13 |
---|
| Acknowledgments | 14 |
---|
| Introduction | 15 |
---|
| Chapter 1: Logic | 15 |
---|
| 18 | 15 |
---|
| What Is Logic? | 19 |
| Propositional Logic | 20 |
| Logical Connectives | 23 |
| Negation | 24 |
| Conjunction | 25 |
| Disjunction | 26 |
| Implication | 27 |
| Equivalence | 28 |
| Laws of Propositional Logic | 29 |
| Normal Forms | 33 |
| Logic Circuits | 34 |
| Practical Problem: Using Inheritance and C# Operators to Evaluate Logic Formulas | 38 |
| Practical Problem: Representing Logic Formulas as Binary Decision Trees | 43 |
| Practical Problem: Transforming a Formula into Negation Normal Form (NNF) | 48 |
| Practical Problem: Transforming a Formula into Conjunctive Normal Form (CNF) | 53 |
| Summary | 57 |
| Chapter 2: Automated Theorem Proving | 57 |
---|
| 58 | 57 |
---|
| Automated Theorem Proving | 59 |
| Practical Problem: Clauses and CNFs Classes in C# | 62 |
| DPLL Algorithm | 72 |
| Practical Problem: Modeling the Pigeonhole Principle in Propositional Logic | 84 |
| Practical Problem: Finding Whether a Propositional Logic Formula is SAT | 85 |
| First-Order Logic | 92 |
| Predicates in C# | 97 |
| Practical Problem: Cleaning Robot | 99 |
| Summary | 106 |
| Chapter 3: Agents | 107 |
---|
| What’s an Agent? | 108 |
| Agent Properties | 111 |
| Types of Environments | 115 |
| Agents with State | 118 |
| Practical Problem: Modeling the Cleaning Robot as an Agent and Adding State to It | 119 |
| Agent Architectures | 129 |
| Reactive Architectures: Subsumption Architecture | 130 |
| Deliberative Architectures: BDI Architecture | 135 |
| Hybrid Architectures | 143 |
| Touring Machines | 147 |
| InteRRaP | 149 |
| Summary | 151 |
| Chapter 4: Mars Rover | 152 |
---|
| What’s a Mars Rover? | 153 |
| Mars Rover Architecture | 155 |
| Mars Rover Code | 158 |
| Mars Rover Visual Application | 191 |
| Summary | 207 |
| Chapter 5: Multi-Agent Systems | 208 |
---|
| What’s a Multi-Agent System? | 209 |
| Multi-Agent Organization | 212 |
| Communication | 214 |
| Speech Act Theory | 216 |
| Agent Communication Languages (ACL) | 219 |
| Coordination | 219 |
| 226 | 219 |
---|
| Negotiation Using Contract Net | 230 |
| Social Norms | 230 |
| 233 | 230 |
---|
| Summary | 235 |
| Chapter 6: Communication in a Multi-Agent System Using WCF | 236 |
---|
| Services | 237 |
| Contracts | 239 |
| Bindings | 242 |
| Endpoints | 244 |
| Publisher/Subscriber Pattern | 245 |
| Practical Problem: Communicating Among Multiple Agents Using WCF | 246 |
| Summary | 263 |
| Chapter 7: Cleaning Agents: A Multi-Agent System Problem | 264 |
---|
| Program Structure | 265 |
| Cleaning Task | 266 |
| Cleaning Agent Platform | 269 |
| Contract Net | 271 |
| FIPA-ACL | 277 |
| MAS Cleaning Agent | 282 |
| GUI | 295 |
| Running the Application | 298 |
| Summary | 303 |
| Chapter 8: Simulation | 304 |
---|
| What Is Simulation? | 305 |
| Discrete-Event Simulation | 307 |
| Probabilistic Distributions | 309 |
| Practical Problem: Airport Simulation | 312 |
| Summary | 328 |
| Chapter 9: Support Vector Machines | 329 |
---|
| What Is a Support Vector Machine (SVM)? | 332 |
| Practical Problem: Linear SVM in C# | 342 |
| Imperfect Separation | 357 |
| Non-linearly Separable Case: Kernel Trick | 359 |
| Sequential Minimal Optimization Algorithm (SMO) | 362 |
| Practical Problem: SMO Implementation | 370 |
| Summary | 379 |
| Chapter 10: Decision Trees | 380 |
---|
| What Is a Decision Tree? | 381 |
| Generating a Decision Tree: ID3 Algorithm | 385 |
| Entropy and Information Gain | 388 |
| Practical Problem: Implementing the ID3 Algorithm | 390 |
| C4.5 Algorithm | 406 |
| Practical Problem: Implementing the C4.5 Algorithm | 412 |
| Summary | 423 |
| Chapter 11: Neural Networks | 424 |
---|
| What Is a Neural Network? | 425 |
| Perceptron: Singular NN | 428 |
| Practical Problem
|