DiplomacyTinKing ProjectJohn Newbury 3 November 2009 |
Home > Diplomacy > TinKing Project
AI in the Game of Diplomacy: the Project
Any project, especially one like this, which has just grown informally, rather than being planned at the outset, may be known by different names in different contexts. My family, friends would call this my Diplomacy project, as would I often. But to be more specific, it shall be formally called TinKing. The name can be translated as mechanical ruler, or poorly spoken thinking, or Thinking, [Heuristics], Intelligence, Negotiation, Knowledge, In Networked Games. Heuristics and the H are taken as read, so are omitted. ThinKing was rejected due to ambiguity when spoken, or in fixed case, as in URLs.
The main objectives of the TinKing Project are:
to use Diplomacy and a DAIDE-like environment as a vehicle to explore a wide range of scientific and philosophical issues, including:
AI in general
Heuristics
Knowledge acquisition and representation
Linguistics
Semantics
Communication
Negotiation
Learning
Evolution
Optimization
Planning
Game Theory
Morality
Programming techniques
to stimulate others in AI research;
to contribute to the overall DAIDE project;
to automate comparison of available standard DAIDE, or similar, bots;
to produce a worthy, ideally champion bot;
to reveal as much as possible of my techniques, commensurate with retaining sufficient edge that my bot can present a stimulating challenge to other developers;
to avoid extensive hand-tuning;
to have mental exercise and fun.
The main objectives of the TinKing Project subproject do not include:
to make money;
to use short-term, shallow or non-robust methods that are likely to prove to be a dead-end in the long-term (even if that delays production of an initially-worthy bot);
to become expert at Diplomacy as such;
to meet deadlines at the expense of flexibility on what I investigate;
to produce formal publications and increase my publication count.
precise conformance to DAIDE.
The main components of my methodology for achieving my objectives are:
Discuss my ideas at an early stage in DipAi (even if half-cocked);
Document my main ideas at an early stage in my Web (even if half-cocked);
Implement my ideas to prove how well they really work;
Release reasonably clean, tested and documented source code, where appropriate (within BlabBot);
Do more speculative, especially heuristic, development in a separate bot (DeepLoamSea), using the BlabBotBase within BlabBot as its foundations. (This allows more rapid development and avoids the need to reveal more than I wish.)
Follow official DAIDE standards inasmuch as they are unambiguously documented and helpful to TinKing, but may diverge while and inasmuch I consider it helpful to do so; retaining at least reasonable ability to play against as many other DAIDE standard or similar bots as is practicable.