Thursday, December 29, 2016

Intro and goals

There is this notion of computers "creating something". It is in some sense at the heart of artificial intelligence but is a little tangent to what people typically consider as artificial intelligence.

The goal of this blog is to document my understanding of how to design an algorithm to pass the Lovelace 2.0 test. Sorta like the Turing Test, this is a test that once an algorithm passes it can be considered creative. It goes as follows:

To pass the test, an artificial agent $a$ is challenged as follows:

- $a$ must create an artifact $o$ of type $t$
- $o$ must conform to a set of constraints $C$ where $c_i \in C$ is any criterion expressible in natural language
- A human evaluator $h$, haven chosen $t$ and $C$, is satisfied that $o$ is a valid instance of $t$ and meets $C$.
- A human referee $r$ determines the combination of $t$ and $C$ to not be unrealistic for an average human.

There are certainly some flaws in this test. The main one that I think is worth addressing is that is not "open ended" - this is not judging creativity, this is judging someone's ability to be a commissioned artist. A human that is considered creative usually makes something that they aren't asked to do.

However, I think that if one can pass this test reasonably well then we are close to being open ended. Instead of being given a task, an algorithm can, say, generate a random task and then complete that task. It could do this many times and have some reasonable method of determining if humans will think it is good, then share those good things. This has a very similar effect to what one observing an artist from the outside might see, so while not exactly the same I'd say that it is very close.

Now that that goal is set out it's time to make something that passes it :)




No comments:

Post a Comment