<
Anne Ogborn

Anne Ogborn

Software Engineer at Hasura.io

Annie Ogborn is a core contributor to the SWI-Prolog language and a frequent speaker on SWI-Prolog related topics. She is the author of a number of tutorials on SWI-Prolog, and recently taught 357 students Prolog in an online class.

She has been programming since 1975. Her professional interests include logic programming, symbolic AI, and social robotics.

Upcoming Activities

Anne Ogborn
Code Mesh LDN
Tutorial/ 06 Nov 2019
13.30 - 17.00

Introduction to SWI-Prolog

As machine learning matures, it is becoming obvious that we need explainable solutions. As functional programming matures it becomes obvious that we need inference and nondeterminism. And linked open data demands reasoning. This half-day workshop will introduce the logic programming paradigm, in which programs are expressed as a set of logical rules and executed by finding proofs of queries.

SWI-Prolog is the most highly developed and widely used implementation of Prolog.

Prolog has been in continuous use in academic research settings since it's invention in 1972, provides unparalleled power. Many problems which would be difficult to express in other languages are simple in SWI-Prolog. SWI-Prolog is a 'batteries included' modern language, ready for real world tasks like web development and process control.

In this dynamic hands on workshop we'll learn the basics of SWI-Prolog, and look at some of the amazing things it can do.

 

OBJECTIVES

Audience will come away understanding the basic SLD resolution algorithm and knowing basic Prolog syntax, and prepared to become fully competent in the language via independent study.

 

TARGET AUDIENCE

People who want to learn Prolog.

Anne Ogborn
Code Mesh LDN

SimGen - a new simulation language

SimGen is a new simulation language run embedded in SWI-Prolog. The language is based on behaviour trees. It is suitable for making UI, artificial agents, chatbots, games, NPCs for games, AGI-ish projects, and for simulating hybrid systems with state transitions and continuous changes within each state.

It was originally built to create mock data that behaved in 'real world' ways. It’s reasonable to think of SimGen as an implementation of behaviour trees for SWI-Prolog. SimGen programs deconstruct the world into 'behaviours', and provide node types to describe micropatterns of behaviour seen in the world to train machine learning/symbolic AI anomalometry with. An example of such a system is a bouncing ball. The ball is either in the air, or in contact with the ground. Its behaviour is different in each regime.

OBJECTIVES

Audience will come away interested in SimGen and oriented towards exploring it.

TARGET AUDIENCE

People with a general understanding of programming. Prolog knowledge is nice to have, but certainly not required.