Agent Architecture Considerations for Real-Time Planning in Games

AAAI Conferences

Planning in real-time offers several benefits over the more typical techniques of implementing Non-Player Character (NPC) behavior with scripts or finite state machines. NPCs that plan their actions dynamically are better equipped to handle unexpected situations. The modular nature of the goals and actions that make up the plan facilitates reuse, sharing, and maintenance of behavioral building blocks. These benefits, however, come at the cost of CPU cycles. In order to simultaneously plan for several NPCs in real-time, while continuing to share the processor with the physics, animation, and rendering systems, careful consideration must taken with the supporting architecture. The architecture must support distributed processing and caching of costly calculations. These considerations have impacts that stretch beyond the architecture of the planner, and affect the agent architecture as a whole. This paper describes lessons learned while implementing real-time planning for NPCs for F.E.A.R., a AAA first person shooter shipping for PC in 2005.


0 IA SOF AI

AAAI Conferences

We propose that a planner should be provided with an explicit model of its own planning mechanism, and show that linking a planner's expectations about the performance of its plans to such a model, by means of explicit justification structures, enables the planner to determine which aspects of its planning are responsible for observed performance failures.


UC Irvine Deep Learning Machine Teaches Itself To Solve A Rubik's Cube

#artificialintelligence

Anyone who has lived through the 1980s knows how maddeningly difficult it is to solve a Rubik's Cube, and to accomplish the feat without peeling the stickers off and rearranging them. Apparently the six-sided contraption presents a special kind of challenge to modern deep learning techniques that makes it more difficult than, say, learning to play chess or Go. That used to be the case, anyway. Researchers from the University of California, Irvine, have developed a new deep learning technique that can teach itself to solve the Rubik's Cube. What they come up with is very different than an algorithm designed to solve the toy from any position.


Rubik's cube solved in "fraction of a second" by artificial intelligence machine learning algorithm

#artificialintelligence

Researchers have developed an AI algorithm which can solve a Rubik's cube in a fraction of a second, according to a study published in the journal Nature Machine Intelligence. The system, known as DeepCubeA, uses a form of machine learning which teaches itself how to play in order to crack the puzzle without being specifically coached by humans. "Artificial intelligence can defeat the world's best human chess and Go players, but some of the more difficult puzzles, such as the Rubik's Cube, had not been solved by computers, so we thought they were open for AI approaches," Pierre Baldi, one of the developers of the algorithm and computer scientist from the University of California, Irvine, said in a statement. According to Baldi, the latest development could herald a new generation of artificial intelligence (AI) deep-learning systems which are more advanced than those used in commercially available applications such as Siri and Alexa. "These systems are not really intelligent; they're brittle, and you can easily break or fool them," Baldi said.


AI teaches itself to complete the Rubik's cube in just 20 MOVES

Daily Mail - Science & tech

A deep-learning algorithm has been developed which can solve the Rubik's cube faster than any human can. It never fails to complete the puzzle, with a 100 per cent success rate and managing it in around 20 moves. Humans can beat the AI's mark of 18 seconds, the world record is around four seconds, but it is far more inefficient and people often require around 50 moves. It was created by University of California Irvine and can be tried out here. Given an unsolved cube, the machine must decide whether a specific move is an improvement on the existing configuration.