OpenCog HK 2014 Game World Task Breakdown

From OpenCog
Jump to: navigation, search

Task 1: Remove bugs that prevent OpenCog from accessing a large game world

This bug needs to finally be squashed!!

Tentatively assigned to: Lake
Current time estimate: 2 weeks
Tentatively scheduled for: late May, early June

Task 2: Test pattern miner on game world data

This will require creation of some appropriate test cases, and also likely plenty of fixes and improvements to the game-world infrastructure, in terms of which data is fed into OpenCog in what form.

Tentatively assigned to: Shujing
Current time estimate: 2 months
Tentatively scheduled for: June-July

Task 3: Test pattern miner on robot data

The data coming into OpenCog from a robot should have the same basic form as that coming in from a game character, but different statistical properties. It will be interesting to see what the pattern miner does with it.

Tentatively assigned to: Shujing
Current time estimate: 1 month
Tentatively scheduled for: August

Task 4: Event and region/object boundary detection based on output of pattern miner

When does an event begin or end? Event boundaries are characterized by sudden changes in predictability, which should be measurable in terms of changes in the frequent patterns present, hence in terms of pattern miner output. Object/region boundaries should be handle-able similarly.

Tentatively assigned to: Shujing
Current time estimate: 3 months
Tentatively scheduled for: Sep-Nov

Task 5: Fixing the heuristics for object identification based on block composition

The existing code for identifying a definite object or region (say a house, a treetrunk, etc.) based on the blocks it contains (e.g. a treetrunk consists of a collection of contiguous wood blocks) has been disabled due to inefficiency. It can be improved algorithmically, and then re-enabled.

Tentatively assigned to: Lake
Current time estimate: 2 weeks
Tentatively scheduled for: late June

Task 6: Scripting non-OpenCog NPCs in the game world

Many of our desired AI behaviors in the game world involve the interaction of the OpenCog character with other NPCs. This requires some appropriate scripting of the other NPCs.

Tentatively assigned to: Lake
Current time estimate: 2 weeks
Tentatively scheduled for: early July

Task 7: PLN for analogical reasoning in the game world

What is to a tree, as a roof is to a house? (The leafy part, I guess ... as opposed to the trunk part)

Doing this kind of simple PLN inference based on game world data is not too demanding of PLN, but requires that the game world output appropriate data into the Atomspace, which requires a lot of fiddling with the game-world/OpenCog interface.

Tentatively assigned to: Lake
Current time estimate: 6 weeks
Tentatively scheduled for: late July - August


Task 8: MOSES for OpenPsi-driven procedure learning

It would be good to have MOSES able to learn procedures for simple behaviors (like, get as many batteries as possible... or, follow the characters you see until you get tired ... etc.), with fitness defined by reinforcement learning as mediated via OpenPsi.

Tentatively assigned to: New HK hire (Scott replacement)
Current time estimate: 2 months
Tentatively scheduled for: Dec - Jan 2015

Task 9: Clustering

For a variety of purposes we will need a powerful clustering agent, able to scan the Atomspace and form categories consisting of Atoms that are highly similar to each other. Further, we will need to form clusters based on paying special attention to particular features of Atoms, e.g. spatial location based clustering (for finding groups of similar entities)

Regarding what clustering algorithm to use, an initial suggestion is to make use of the dimensional embedding code that's been written for the Atomspace, and use EM clustering in the embedding space.

Tentatively assigned to: New HK hire (Scott replacement)
Current time estimate: 2 months
Tentatively scheduled for: Sep-Oct

Task 10: Spatial & Temporal Predicate Evaluation

We will need automatic, recurrent evaluation of temporal/spatial links between IMPORTANT entities in the world (represented in the Atomspace)

We have fuzzy formulas for temporal predicates, in Dario's code for temporal inference. We may need something similar for spatial predicates, e.g. 3D-RCC predicates.

Tentatively assigned to: New HK hire (Scott replacement)
Current time estimate: 2 months
Tentatively scheduled for: July-Aug

Task 11: Port Shujing's planner to the Unified Rule Engine

We will need automatic, recurrent evaluation of temporal/spatial links between IMPORTANT entities in the world (represented in the Atomspace)

We have fuzzy formulas for temporal predicates, in Dario's code for temporal inference. We may need something similar for spatial predicates, e.g. 3D-RCC predicates.

Tentatively assigned to: Shujing
Current time estimate: 3 months
Tentatively scheduled for: Dec 2014 - Feb 2015

Task 12: PLN for social reasoning in the game world

PLN can be used to reason about what agents are likely to carry out what actions in what contexts. This can form the basic for inferential social modeling, including that required to carry out deception.

Tentatively assigned to: Lake
Current time estimate: 3 months
Tentatively scheduled for: Sep-Nov

Task 13: PLN for reasoning about events

Once we can recognize event and region boundaries using pattern mining, one can then use these as input for PLN reasoning...

Tentatively assigned to: Lake
Current time estimate: 2 months
Tentatively scheduled for: Dec 2014-Jan 2015