Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Welcome to this overview of basic background information. Some of this information you have most likely seen before, either in the MAS course or previous courses but some of it is new. We expect you to have a decent understanding of the material as it is necessary to conduct this project adequately. This background knowledge has to do with the software/tools and the programming languages we use in this project.

Dialogflow is a powerful and user-friendly tool to support building a conversational agent but needs some investment on your end to get acquainted. Git is a common tool used by many coding teams worldwide to develop code in tandem and facilitate its alignment. Getting to know git as part of this course will surely be of benefit to you in the long term. The resources we refer to below should provide you with adequate support to use them in the remainder of the project. To make sure that you have the right level of understanding after going through the material, there are two quizzes in CANVAS that test your knowledge of the subjects. We have defined what areas will be tested on but feel free to read beyond those sections or other resources.

Git

Git Commands

You can either do just the basics reading or do the interactive tutorial, or both. There is also a more in-depth explanation of each command in the third page.

The Basics(reading) : https://www.simplilearn.com/tutorials/git-tutorial/git-commands

Basics (an interactive tutorial!) -  https://learngitbranching.js.org/

More in Depth (Extra*) - Everything on Git

Git Merging and Conflicts

https://www.simplilearn.com/tutorials/git-tutorial/merge-conflicts-in-git

Git Best Practices

https://www.geeksforgeeks.org/best-git-practices-to-follow-in-teams/


DialogFlow

An Interactive Tutorial (Optional)

https://botflo.com/dialogflow-es-beginner-tutorial/

Best Practices 

(until and not including ‘Protection of Consumer Practices’ section)

(In ‘Designing for Voice’ it mentions SSML, which will not be emphasized in this course)

https://cloud.google.com/dialogflow/es/docs/agents-design

What’s an Agent?

https://cloud.google.com/dialogflow/es/docs/agents-overview

Intents

(all sections until and not including ‘Rich response message’ section)

https://cloud.google.com/dialogflow/es/docs/intents-overview

Entities

(until and not including ‘Session entities’ section) 

https://cloud.google.com/dialogflow/es/docs/entities-overview

Prolog

Prolog is a programming language focused on symbolic and logic-based computation. It's commonly used in artificial intelligence and computational linguistics. To understand Prolog thoroughly, one should familiarize oneself with its key concepts and structures, as outlined in the book "https://www.let.rug.nl/bos/lpn//lpnpage.php?pageid=online " by Patrick Blackburn, Johan Bos, and Kristina Striegnitz. This book covers fundamental topics like facts, rules, queries, unification, proof search, recursion, lists, arithmetic, definite clause grammars, and more. It also delves into advanced topics such as cuts, negation, database manipulation, and working with files, providing a comprehensive overview of Prolog's capabilities and applications

  • Logic-Based Programming: Prolog is fundamentally different from procedural languages like C or Python. It's based on formal logic, making it well-suited for tasks that involve rules and constraints, such as solving puzzles or processing natural language.

  • Facts and Rules: The core of Prolog programming involves defining facts and rules. Facts state basic assertions about objects or their relationships, while rules define the logic and conditions under which certain statements are true.

  • Backtracking and Recursion: Prolog uses backtracking to find solutions to problems. If a potential solution fails at some step, Prolog automatically backtracks to try different options. Recursion is also a prevalent concept, used for iterating over data structures like lists.

  • Pattern Matching and Unification: Prolog excels at pattern matching, where data structures are matched against patterns to extract information or verify conditions. Unification is a fundamental process in Prolog, used to make different terms identical through appropriate substitutions.

  • Definite Clause Grammars (DCGs): These are used in Prolog for parsing and generating natural language constructs, making it a powerful tool for language-related applications.

  • Lists and Arithmetic: Prolog treats lists as fundamental data structures, and offers a range of built-in predicates for list manipulation. It also supports arithmetic operations, but in a way that's distinct from traditional programming languages.

  • Advanced Features: Prolog provides advanced features like cuts (which control the backtracking process) and negation, along with capabilities for database manipulation and file handling, making it versatile for various complex applications.

  • Applications: Prolog is widely used in AI for tasks such as expert systems, natural language processing, and theorem proving, owing to its ability to handle complex symbolic information and logical constructs efficiently.

MARBEL

The MARBEL programming language is designed for creating agents in multi-agent systems. These agents are cognitive, deriving their actions from beliefs and MARBELs. Key features include:

  • Rule-Based System: MARBEL uses condition-action rules for decision-making.

  • Multi-Agent Systems: Requires a multi-agent system (MAS) file to launch and run an agent system.

  • Components: Includes knowledge representation files (Prolog .pl files), action specification files (.act2g), and module files (.mod2g) for event processing and decision-making.

  • Belief and MARBEL Bases: Agents have a belief base and a MARBEL base for maintaining their knowledge and objectives.

  • Event and Action Processing: MARBEL supports event modules to respond to events like percepts and messages, and action specification files inform agents about available actions.

  • Cognitive State Management: Cognitive state includes beliefs, MARBELs, percepts, and messages, which the agent uses to make decisions and interact with its environment.

  • Negation and Queries: Supports basic queries and their negation, allowing agents to reason about their environment and MARBELs effectively.

This overview outlines the structure and functioning of MARBEL, emphasizing its role in developing intelligent, autonomous agents in complex environments.

HTML Bootstrap Library

Bootstrap is a powerful, open-source front-end framework for web development. Key features include:

  1. Responsive Design: Bootstrap's grid system and pre-designed components enable easy creation of responsive websites.

  2. HTML, CSS, and JS Components: Offers a wide range of reusable components like buttons, forms, and navigation bars.

  3. Customization: Allows extensive customization with Sass variables.

  4. Cross-Browser Compatibility: Ensures consistency across different browsers and devices.

  5. JavaScript Plugins: Includes various plugins for enhanced functionality.

  6. Community and Documentation: Backed by a strong community and comprehensive documentation.

  7. Mobile-First Approach: Prioritizes mobile devices in design strategies.

This framework simplifies web development, making it accessible for beginners while still powerful for experienced developers. Here is a link to the Documentation for more information: https://getbootstrap.com/docs/5.3/getting-started/introduction/ .

Proceed back to https://socialrobotics.atlassian.net/wiki/spaces/PM2/overview?homepageId=2215575553 .

  • No labels