1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Programmer - AI Specialist

Discussion in 'Script Contributions' started by FisherM, Jun 20, 2015.

  1. FisherM

    FisherM Crash Landed

    • Member
    I'd like to offer my general assistance to this project and community, feel free to contact me directly at [email protected].
    My CV includes working on projects like DayZ, mobile games and an AI simulation engine.
  2. Thomas988

    Thomas988 Back Into Space

    • Member
    Very cool! :D This game sounds like it is going to have some insane AI, and I love seeing the devs may be getting some help.
    ColdFuseon likes this.
  3. ColdFuseon

    ColdFuseon Lost in Space

    • Contributor
    What, did you really work for DayZ ? Anyways good luck to enter the team
  4. Arctic

    Arctic Giant Robot Advocate

    • Tester
    Wahey, looks like we might get some more devs for this. Cool.
    Snipecoolbunny and Thomas988 like this.
  5. FisherM

    FisherM Crash Landed

    • Member
    Hey folks,
    Yes! I worked on the SQL persistence of the arma 2 C++ servers. DayZ used this plugin and asked us to join to work on the AI, Pathfinding and some of the more gritty multiplayer stuff, such as batching and AOI.
    Talking to a few of the guys across the week, and I hope so!
    Thomas988 and ColdFuseon like this.
  6. NeonSturm

    NeonSturm Back Into Space

    • Member
    Are you interested to talk about AI-programming of person-like NPCs, not just missions and such?

    Many devs I know focus on a tiny part at once instead of having "sort of a copy" in their head with the "visualisation" present at all times - I think these persons can not (jet) imagine what I am talking about.

    One downside of having so much in your head implies that your imaginary code develops quicker than you can adapt the physical code which demotivates you from finishing anything before "done".
    And talking to peoples that know how this feels helps a lot.

    And sometimes it's just too much to organize linearly in a text-message during reasonable time.


    My experiences:
    • Some formulas to explain certain human behaviour in real life
    • An idea about the basic process of thinking
    • Supreme commander AI scripts
    • SpringRTS AI scripts
    • Publications about real AIs in Robots
    • Code from AIs from competitions (Elisa, ...)
    • ...
    And now I think I've learned enough to actually help on projects with semi-intelligent AIs.
    • But I am aware that the real issues are not what you know or fail at, but what you miss and don't notice.

    How can you create "thinking" and "believing" or "emotions"?
    That depends a bit on how you define these words and how you balance basis-code vs knowledge.

    Example:
    You don't like your neighbour.
    And he annoys you very often.
    Humans behave like blurred Mirrors.
    We act to others like they act to us - often subjective, not objective.
    But if we answer 1 with 1, it will never stop.
    Thus we rather answer 1 with n<1 - that defines "Tolerance".​
    We like to show others themselves in it.
    "Pain" + "Suffering" → "Anger"
    enough "Anger" → "Rage"
    I think that we can use words equivalent to variables.
    Variables "link" when they occur in a "pattern".
    Patters:
    "b while a", "b after a", "b, a before c, d, e", …​
    And for every link we search an explanation.
    Explanations:
    "(input 1, 2, 3, 4, …) →function→ (output 1, 2, 3, …)​
    Filter contradicting, (false, not fitting)
    and search supplementing explanations, (true, fitting)
    with the lowest cost or neurons
    or variables and thus calculations in a hidden-Markov-model.​
    But don't re-invent the wheel.
    Reduce inputs and outputs.
    A-star path-finding algorithm using link-weakness as distance.
    Starting from the border of explored links and searching a path through an unknown word in the word-grid.​
    Use existing functions with the given number of inputs and outputs in each iteration of the path-finding algorithm.
    You need to purge or delay tasks based on importance, interest.

    The intelligence of the AI increases, the more patterns and explanations it finds and the better they are organized.
    A "critical mass" is reached when an AI is able to use written words to assign words to patterns and explanations to patterns and links.

    After this "critical mass" is reached, the AI can learn much faster by using already existing knowledge in a new more efficient way.
    Another thing to keep in mind is "uncertainty"
    We expect a certain amount of uncertainty even in statements.
    One can lie to himself or not have all variables.​
    One of the most difficult things to replicate could be the temporal pattern.

    I think I've found way(s) to create:
    • personality
    • rational thinking
    • compiling a big part of the human language, using uncertainty
    • transform many language constructs to math
    • hard-code "emotional words"
    • math for most words in the dictionary
    • loyalty to the earliest experience
      • fear of loss → aversion to changes through passivity (waiting)
    • reaction to pressure → overcomes fear of loss, aversion to changes.
      • conscience → try the best with information given.


    What I did not find jet is:
    • A clear separation between AI and robot, except for "the ability to learn".
      • But "learning, any definition" includes [example: 4 variables between 0..7] as well, which is never sufficient to contain enough "intelligence" to be a person.
    • definition of "I", "me" - especially with the discontinuity of time-line based logic (past, presence, possible futures, possible diffuse pasts, alternate presence, ...)
    • way to separate emotions from hard-coded experience
    • good set of starting knowledge
      • An AI that starts adult will have difficulties to understand how difficult it is to learn the basic things.
        • which may (for example) end up in disrespect of effort or inability to see effort.
    • prevention of some critical issues (logic loops) without severely limiting possibilities
    • motivation and somebody to discuss this (whole) topic with
    • a clear definition of "Soul", perhaps it has multiple definitions like {"god", abbreviation → the almighty, Allah, Greek gods, maya gods, …}


    What I really want to know before continuing:
    • What I miss.
    • What will prevent capitalist-AIs from owning the world, or give ownership to their owner/developer.
    • When will countries start to make laws for AI-programmers.
    • … to be continued …


    What I will definitively do before continuing my work:
    • A cryptographic algorithm that changes with the supplied password and if possible with the cypher-text and random seed too - against NSA, ya know ;)
    With the same code for multiple passwords, you may find shortcuts which can be exploited. And you can compute it parallel.
    But I am [not even sure whether it is possible] to effectively compute a variable algorithm on quantum computers that are in design currently.
  7. TYHENDER

    TYHENDER Industrial Re-revolutionist

    Ehh, i programmed some AIs for games,but i`m afraid i`m not that good in this.

Share This Page