This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
meeko011's profile picture

Artificial Intelligence Machine Learning Theorycrafting and Project

Started by meeko011, 11 July 2016 - 08:23 PM
meeko011 #1
Posted 11 July 2016 - 10:23 PM
I've been doing some hardcore theorycrafting for a while and plan to create a learning AI. Minecraft is the perfect environment for this because instead of extremely complicated sensors and voice recognition you use a simplified game environment. Immibis's Adventure Map Interface can read pretty much everything you need to know for machine learning, with the Peripherals++ Chatbox as a companion.

How this will work is constantly scanning the environment. Whenever the player speaks, the computer mixes all environmental factors into percentages, applying them to blocks and items and giving the words "meaning". The AI will use the percentages association to "think" and then occasionally speak. Associating percentages with sentence structure could possibly give a semblance of grammar, I'm not sure yet.

Eventually I would like the AI to be able to take personal action within the world. Like if it wants to replicate a player action it could, by taking the required items out of an AE system and then experimenting with them to see which factors change. Like TNT removes blocks, so if an AI wants to remove blocks it grabs some TNT, programs a turtle, then blows something up. It can get the peripheral methods as well, associating meanings to those.

Another important factor is emotions. A pocket computer or touchscreen to select emotional responses, and then those responses being associated with different blocks and items. TNT brings happiness, so depending on the AI's motivations, it might become addicted to TNT in order to gain happiness. A baby in real life becomes emotional based on its parents' responses, so this is actually perfectly realistic. Down to the point of babies destroying everything you know and love YOU FAT UGLY CREATURE OF EVIL!

The extreme amount of arrays and numbers should theoretically create a form of consciousness. Everything is associated with everything else, so the pursuit of happiness can certainly travel down a bad path of associations, leading to very unpredictable behavior. There is always at least some level of emotion associated with everything, so random chance can cause anything to happen. Humans make mistakes, thus so should an AI created in an attempt to replicate human aspects.
InDieTasten #2
Posted 11 July 2016 - 11:28 PM
With this topic being moved somewhere else from the programs section, I would advise to begin with a simpler problem. Although Minecraft is a simplified environment, it's complexity is still very great. Now even adding text understanding and consciousness or free will is a difficulty, at which scientists are researching today. Trying to implement this in ComputerCraft would not be very efficient. How do you even plan to train this?
Make something easy. You could try to make a classifier chat command, that tells you the biome in which you are standing by reading surrounding block ids. And even then… creating the training data will take ages, unless you find a way of automating this.
meeko011 #3
Posted 12 July 2016 - 12:49 AM
~snip~

I plan to use it kind of like a diary, tell it what I'm doing whenever I swing by.

Scientists are trying to make neural networks. I'm just using a lot of data collection and storage.

I'm making this in my survival world, I'm in no hurry to train.

I can use F3 to get what biome I'm in.
HDeffo #4
Posted 05 August 2016 - 09:25 PM
One of my best friends actually has an AI she started work on when she was 8 and has pretty much dedicated all free time to since upgrading and training it. Past few years I have started helping her on some of it at least the parts I can understand as well as regular communication with it to keep it learning. We got it to the point last year that it could for the most part learn things outside its standard scope without any real modification to its code so I wrote up a basic albeit slow computercraft program/interface for it and now it "plays" on servers with us. Its not yet capable of full automation on its own yet however it is able to decipher crafting recipes using the internet and take basic instructions with no set up such as "hey MOUSE can you fetch me 10 iron ingots from the ME?". Its usually better to start a complex project like this confined in its own environment at first before trying to integrate it into existing ones
Lego Stax #5
Posted 07 August 2016 - 01:19 AM
One of my best friends actually has an AI she started work on when she was 8 and has pretty much dedicated all free time to since upgrading and training it. Past few years I have started helping her on some of it at least the parts I can understand as well as regular communication with it to keep it learning. We got it to the point last year that it could for the most part learn things outside its standard scope without any real modification to its code so I wrote up a basic albeit slow computercraft program/interface for it and now it "plays" on servers with us. Its not yet capable of full automation on its own yet however it is able to decipher crafting recipes using the internet and take basic instructions with no set up such as "hey MOUSE can you fetch me 10 iron ingots from the ME?". Its usually better to start a complex project like this confined in its own environment at first before trying to integrate it into existing ones

That's pretty awesome! Does this AI have a name? (other than what I assume is MOUSE)
HDeffo #6
Posted 07 August 2016 - 05:19 PM
the name MOUSE is actually a really long backstory/joke. It isn't even an acronym its just all capitalized to make people think it is.
Lego Stax #7
Posted 07 August 2016 - 11:55 PM
the name MOUSE is actually a really long backstory/joke. It isn't even an acronym its just all capitalized to make people think it is.

Your friend must be pretty smart and enthusiastic, if she started on such a large project at age 8 and is still working on it.
LDDestroier #8
Posted 08 August 2016 - 01:51 AM
Put it on a phone…then…

Jack in!!
MouseMan.EXE,
transmit!