Monday, June 25, 2018

A failure - "wydra"

I thought I would notify you about a project based on "bobr" called "wydra" (Polish for "otter"). The project was based on Prolog (to be precise - SWI Prolog) and looked very promising. Its purpose was to make optimal decisions just like Perkun does, but in the environment with very many hidden variables. I modified slightly the Perkun algorithm so that it only takes into account two hidden variables.

Unfortunately the project was a failure. I did not publish "wydra". It does not behave in the way I want it to. I thought you might wish to know.

Monday, February 26, 2018

aidreams.co.uk

I discovered a new AI forum. I have written about Perkun there: http://aidreams.co.uk/forum/index.php?topic=12889.0

One post is particularly interesting - it is about Perkun application for programming. You can download http://www.pawelbiernacki.net/programmer.zip. Then run:

perkun programmer_final.perkun

This message describes how to use it: http://aidreams.co.uk/forum/index.php?topic=12889.msg50969#msg50969.

Tuesday, October 17, 2017

Set commands with conditions

An update to my idea. I have a syntax for the "set" command from BOBR:

set({where_am_I=>(X:place)},{optimal_action=>(A:action)},{where_am_I=>(Y:place)},1.0):-there_is_a_connection(X,Y),has_target(A,Y);

The condition (optional) follows ":-" like in Prolog. All the logical placeholders are declared with the class (in the example above X has class "place"). The condition in the example above is:

there_is_a_connection(X,Y),has_target(A,Y)

I imagine I will write an engine in Java that resolves the condition. This engine will be included in the Java code created by BOBR.

Saturday, October 14, 2017

Assertions about objects

I just got an idea. If you still recall the BOBR project - I thought of adding the assertions (Prolog-like facts and rules) to the specification.

class boolean;
object false:boolean, true:boolean;
assert equal(false, not(true));
assert equal(true, not(false));


In fact you could also tell BOBR about the possible connections between the cities in PerkunWars:

class place;
object place_Wyzima:place, place_Shadizar:place, place_Novigrad:place;

assert there_is_a_connection(place_Wyzima, place_Shadizar);
assert there_is_a_connection(place_Shadizar, place_Novigrad);

assert there_is_a_path(X,Y):-there_is_a_connection(X,Y);
assert there_is_a_path(X,Y):-there_is_a_connection(X,Z), there_is_a_path(Z,Y);


This would allow you deducing that there is a path from place_Wyzima to place_Novigrad.
It is just an idea. Of course my dream would be to use the knowledge somehow to produce the model. I will think about it.

Wednesday, October 11, 2017

Perkun presentation

I have recorded and uploaded to YT a film - the Perkun presentation.
This is the same presentation I was giving for the AI Helsinki.

Tuesday, October 10, 2017

YT film about Perkun

This is a short film demonstrating Perkun specifications and the sessions for two examples from the PerkunWars.