70 replies to this topic
#1
Posted 11 September 2012 - 10:20 PM
I know it sounds daunting, but making an AI should be the goal of any programmer/scripter worth their salt. My challenge to you, would be to create an AI. It can do anything you want, as long as it learns. I have seen some AIs before in the forums, but I'm looking for something that will destroy the uncanny valley, and make me put tape on my webcam for fear that my computer is watching me.
The AI would not be limited to turtles, as AI could be in a stationary computer. I will add a vote to this post as submissions are added, and the community will vote on their favorites. I will run this for as long as I receive submissions, so get to it, people!
The AI would not be limited to turtles, as AI could be in a stationary computer. I will add a vote to this post as submissions are added, and the community will vote on their favorites. I will run this for as long as I receive submissions, so get to it, people!
#2
Posted 12 September 2012 - 01:23 AM
I must admit I don't really know how to feel when I hear people talking about AI.
It's such an enormous area, with such an incredibly broad definition that can range from an abstract replica of the human brain (connectivism, the recommendation architecture among others) down to simply creating something that seems intelligent and passes the Turing test (Eliza and her ilk). Even the simple procedures that determine how a computer plays tic-tac-toe can be considered "AI" if by definition alone. The research area is gargantuan- I know of no fewer then 8 existing representations of "hard" AI, that can range from abstract mapping of weights between neurons, the layering and interaction between architectural structures of the brain, symbolic representations of information packages transferred through synapses, the list goes on. I doubt there is a count for the number of soft AI that has been produced over the years- the number of approaches must number in the hundreds.
It sounds as though the AI you want to produce is one that seems to know about the user and can perform tasks that manipulate their world based on observed behaviour- this puts me in mind of HAL from 2001, or something like that. I guess my big question, because I wouldn't mind doing this is what exactly should the AI be doing? An AI on it's own is actually impressively unintelligent, they need an interaction space. A neural net is nothing more than a massive series of weighted AND gates (not unlike the human brain
/> ), and they're best suited for very dynamic tasks, like handwriting, gesture or voice recognition, optimal performance in board games like Chess and other "fuzzy" computations. Minecraft is possibly one of the most discrete virtual worlds out there, so there's not a lot of room for fuzzy information.
If you're looking at trying to find an AI you can play with and want some inspirations, something that feels era-appropriate in Computer Craft, I'd check out the 1963 compilation "Computers and Thought"- that had some landmark research by some of the biggest names in AI programming, like Robert Lindsay, Alan Turing and Marvin Minsky, and it included some really original AI concepts, like the aforementioned ELIZA and an absolutely remarkable program called "Blockworld".
It's such an enormous area, with such an incredibly broad definition that can range from an abstract replica of the human brain (connectivism, the recommendation architecture among others) down to simply creating something that seems intelligent and passes the Turing test (Eliza and her ilk). Even the simple procedures that determine how a computer plays tic-tac-toe can be considered "AI" if by definition alone. The research area is gargantuan- I know of no fewer then 8 existing representations of "hard" AI, that can range from abstract mapping of weights between neurons, the layering and interaction between architectural structures of the brain, symbolic representations of information packages transferred through synapses, the list goes on. I doubt there is a count for the number of soft AI that has been produced over the years- the number of approaches must number in the hundreds.
It sounds as though the AI you want to produce is one that seems to know about the user and can perform tasks that manipulate their world based on observed behaviour- this puts me in mind of HAL from 2001, or something like that. I guess my big question, because I wouldn't mind doing this is what exactly should the AI be doing? An AI on it's own is actually impressively unintelligent, they need an interaction space. A neural net is nothing more than a massive series of weighted AND gates (not unlike the human brain
If you're looking at trying to find an AI you can play with and want some inspirations, something that feels era-appropriate in Computer Craft, I'd check out the 1963 compilation "Computers and Thought"- that had some landmark research by some of the biggest names in AI programming, like Robert Lindsay, Alan Turing and Marvin Minsky, and it included some really original AI concepts, like the aforementioned ELIZA and an absolutely remarkable program called "Blockworld".
#3
Posted 12 September 2012 - 01:46 AM
If you could make a HAL replica with just CC Lua, I think you might be hailed an absolute genius. I'm looking more towards something as simple as Cleverbot, which just learns based on what is input from thousands of users, all the way to swarm logic(and beyond). I am looking for anything and everything. If you think it's worthy to put up here, do so. I'm just thinking it would be a fun challenge for some of you advanced coders, and a goal for the beginners to show up here.
#4
Posted 12 September 2012 - 08:12 AM
I think AI would be incredibly difficult to make, I was trying to do so for my swarm but in the end you find that it does not learn, you have just programmed it for every eventuality (which can be done as minecraft is a finite reality), I want to make an AI that uses CCsensors to track players and their actions in a focal area (like a base or even a trading area) and eventually make a turtle system to try assist them in doing whatever the AI predicts they will be doing (the prediction would take into account how many times the player was in a certain area, what they did in that area and the inventory, health and armour trends of the player for certain actions etc)
the only problem is that I am not yet on 1.4 as I use tekkit and to be completely honest have given up on fiddling around with it long before I knew CC existed as tekkit invariably crashes after modification... I guess I'm going to be waiting
/>
the only problem is that I am not yet on 1.4 as I use tekkit and to be completely honest have given up on fiddling around with it long before I knew CC existed as tekkit invariably crashes after modification... I guess I'm going to be waiting
#5
Posted 12 September 2012 - 09:20 AM
My troll AI:
Hehe...
EDIT: Changed some of the code.
Spoiler
Hehe...
EDIT: Changed some of the code.
#6
Posted 12 September 2012 - 03:44 PM
Zoinky, on 12 September 2012 - 09:20 AM, said:
My troll AI:
Hehe...
EDIT: Changed some of the code.
Spoiler
Hehe...
EDIT: Changed some of the code.
As I have said, it may be fairly difficult for any true AI to surface, but I am sure that someone on this forum wants to do this. Even if it's as simple as pathfinding. That is AI, insomuch that it learns as it goes.
#7
Posted 12 September 2012 - 03:55 PM
i've got an idea for one but not sure if it is possible.
#13
#14
Posted 13 September 2012 - 06:51 PM
You sir, took that the wrong way entirely. I merely said that anyone who has SOME skill with coding/scripting should aspire to make an AI. Nothing more or less.
#15
Posted 13 September 2012 - 07:21 PM
if we take a human as an example. There are many inputs and most are analog.
we can hear,see, smell, taste and feel
the information is then processed through the brain and used to control Muscle moment chemical release and electrical signals.
The brain over thousands of years has evolved sections to process each type on input then to select the appropriate response. if we tried to calculate the bandwidth of information that is sent /received by the human nervous system I think we would find that It is extremely hight.
compared to minecraft
turtle can detect Redstone and blocks around it rednet communications user input's events that is about it.
the turtle runs a programing language (created by man Inherently flawed as everything created by man is) and designed for multiple prosperous not specifically for input based decision making.
the turtle can output Redstone and rednet as well as move blocks and its self.
if we computer the bandwidth of information a turtle receives it is extremal low (dependent on rednet activity)
Creating a program that based on a small number of input methods reacts in a meaningful way would be a hard task without just programing all possibilities. As some of you are aware I made a psudo AI program that learn (sorta) language skills. Doing that alone I can see how huge making a real AI would be.
Conclusion
what you would be making is a program that can store information compare new information to old information and chose what actions from a list of actions it has learned it should accomplish.The user telling it if it is doing the right thing would also need to be implemented some how and a way for it to try something store information learned from trying and make a new desertion based on that.
I think making a turtle learn how to move in a set pattern could be possible maybe teaching new patterns also. Human speech probably would not be possible for a program alone to implement It takes years to learn to talk thinking that a computer can pick it up quickly would be rather naive.
we can hear,see, smell, taste and feel
the information is then processed through the brain and used to control Muscle moment chemical release and electrical signals.
The brain over thousands of years has evolved sections to process each type on input then to select the appropriate response. if we tried to calculate the bandwidth of information that is sent /received by the human nervous system I think we would find that It is extremely hight.
compared to minecraft
turtle can detect Redstone and blocks around it rednet communications user input's events that is about it.
the turtle runs a programing language (created by man Inherently flawed as everything created by man is) and designed for multiple prosperous not specifically for input based decision making.
the turtle can output Redstone and rednet as well as move blocks and its self.
if we computer the bandwidth of information a turtle receives it is extremal low (dependent on rednet activity)
Creating a program that based on a small number of input methods reacts in a meaningful way would be a hard task without just programing all possibilities. As some of you are aware I made a psudo AI program that learn (sorta) language skills. Doing that alone I can see how huge making a real AI would be.
Conclusion
what you would be making is a program that can store information compare new information to old information and chose what actions from a list of actions it has learned it should accomplish.The user telling it if it is doing the right thing would also need to be implemented some how and a way for it to try something store information learned from trying and make a new desertion based on that.
I think making a turtle learn how to move in a set pattern could be possible maybe teaching new patterns also. Human speech probably would not be possible for a program alone to implement It takes years to learn to talk thinking that a computer can pick it up quickly would be rather naive.
#16
Posted 13 September 2012 - 07:35 PM
See, I think you're right. It would be very hard to make what most people consider to be an AI. But consider this: we see AIs everywhere in video games. Mostly, we see it in pathfinding. When we see those little testificates detect that it is night, and run inside, that is a pre-programmed response. But put something in their way, they will either jump over it, or move around it. Normally, this can't be done with a basic turtle programming, cause it will "bump" into the wall repeatedly until you stop it and tell it to turn around.
Pathfinding can be explained easily by putting yourself in a dark room, with lots of obstacles. You can't see them, but once you feel that they are there, you know where(relatively) the obstacle is, and will remember(hopefully) to avoid it in the future. If a new obstacle is added or removed, you update that mental map you created.
If pathfinding can be added to a group of turtles, navigating off of GPS, then we have the basis of swarm logic. They all know where in relation to each other they are, because they can communicate where each other is, and compare it to their neighbors. If given a set of tasks to complete, they can use that relative positioning information to carry out the instructions as a group.
Most swarm logic, however, is doomed to fail. Try getting even 5 humans to move in sync with each other with absolutely no practice.
I'm sure if enough work is put into it, we might find a passable AI for everyone to enjoy.
Pathfinding can be explained easily by putting yourself in a dark room, with lots of obstacles. You can't see them, but once you feel that they are there, you know where(relatively) the obstacle is, and will remember(hopefully) to avoid it in the future. If a new obstacle is added or removed, you update that mental map you created.
If pathfinding can be added to a group of turtles, navigating off of GPS, then we have the basis of swarm logic. They all know where in relation to each other they are, because they can communicate where each other is, and compare it to their neighbors. If given a set of tasks to complete, they can use that relative positioning information to carry out the instructions as a group.
Most swarm logic, however, is doomed to fail. Try getting even 5 humans to move in sync with each other with absolutely no practice.
I'm sure if enough work is put into it, we might find a passable AI for everyone to enjoy.
#17
Posted 13 September 2012 - 07:57 PM
the basis of a real AI would be its ability to learn a new task. The path finding of mobs never improves it is always the same predictable response to set input. An AI would learn how to move around its environment better with time as it would learn from past mistakes that caused it pain (lose of HP) and move in a better way to avoid pain again.
pseudo move script for mobs.
pseudo move script for mobs.
function moveto(here) draw line to house repeat if line intersects a block move line left or right depended on witch causes less deviation. until path is clear repeat face direction of first part of path move path length if object jump end until path followed to here end if day then loc = pick random location moveto(loc) elseif night then loc = find nearest door moveto(loc) open door moveto(inhouse) endit follows set preprogrammed system.
#18
Posted 13 September 2012 - 08:15 PM
Well...now that you explain it with logic, I see your point. I never would have guessed that logic would be so logical...
/>
What about a turtle, that maps out the area, then decides the fastest possible route to a destination through that area?
What about a turtle, that maps out the area, then decides the fastest possible route to a destination through that area?
#20
Posted 14 September 2012 - 01:33 AM
You can feel free to ignore this then. If you don't want, you don't have to. I however, will be trying my hardest, as well as several others I know.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


This topic is locked









