Coder Social home page Coder Social logo

primaryobjects / strips Goto Github PK

View Code? Open in Web Editor NEW
315.0 14.0 24.0 238 KB

AI Automated Planning with STRIPS and PDDL in Node.js

Home Page: https://www.npmjs.com/package/strips

JavaScript 98.55% HTML 1.45%
ai artificial-intelligence ai-planning planning machine-learning starcraft javascript strips node nodejs

strips's People

Contributors

primaryobjects avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

strips's Issues

Update library to ES6

Hello!

I was thinking about rewritting this project to ES6. Since a lot of part can be rewritten and some test could be added :D

Is graph.js working?

Hey, I'm trying to run the graph.js example. The documentation only says I have to run node --harmony graph but it throw errors after installing the npm dependecies. ¿Could you please explain me if I'm doing something wrong or what dependencies versions do I have to have to run this example correctly?

Thanks in advance.

Approaches to creating a program

I'm really interested in AI and am on lecture 5 of this series http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/lecture-videos/

I'm thinking it'd be fun to try a stock market AI using node.js. Can you guys give me some high level concepts that the program would probably use to accomplish the goal of predicting stocks performance?

I was thinking you could do market size based on google searches and then look at where the search trend is expected to head...

Also, there's something called "sentiment analysis."

Could you guys give me some guidance and direction here? I feel like a breadth first search, going in every direction.

DeMorgan's Law in preconditions

Hello,

I'm trying to study PDDL and planning technologies. I was trying to use your example "magicworld" and I could not write in domain a new definition for "move". My idea for "move" is a new precondition using "OR" operator for border, like:

to change
:precondition (and (at ?p ?l1) (border ?l1 ?l2) (not (guarded ?l2)))
for
:precondition (and (at ?p ?l1) (or (border ?l1 ?l2) (border ?l2 ?l1)) (not (guarded ?l2)))

However, I did not find anything about "OR" operator in PDDL yet. Then, I thought in DeMorgan's Law, and I tried:
:precondition (and (at ?p ?l1) (not (and (not (border ?l1 ?l2) ) (not (border ?l2 ?l1) ))) (not (guarded ?l2)))

But, I obtained stranges results:

- Solution found in 1 steps!
1. move npc town castle

The expected result was:

- Solution found in 2 steps!
1. move npc town field
2. move npc field castle

I fork your project and I put my change in a directory "mymagicworld"

Forgive me the inconvenience and thanks for any help!

Does strips support quantifiers?

Does strip support quantifiers?

I am getting the following error

undefined:1483
      throw peg$buildStructuredError(
      ^
peg$SyntaxError: Expected "(", ")", ":", ";", "and", "not", [\n\r\t ], [a-zA-Z0-9\-], or end of input but "?" found.
    at peg$buildStructuredError (eval at compile (/home/bora/finitech/planner/strips/node_modules/pegjs/lib/compiler/index.js:67:29), <anonymous>:342:14)
    at Object.peg$parse [as parse] (eval at compile (/home/bora/finitech/planner/strips/node_modules/pegjs/lib/compiler/index.js:67:29), <anonymous>:1483:13)
    at /home/bora/finitech/planner/strips/node_modules/strips/strips.js:35:33
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:61:3) {
  message: 'Expected "(", ")", ":", ";", "and", "not", [\\n\\r\\t ], [a-zA-Z0-9\\-], or end of input but "?" found.',
  expected: [
    { type: 'literal', text: '(', ignoreCase: false },
    { type: 'literal', text: ')', ignoreCase: false },
    {
      type: 'class',
      parts: [Array],
      inverted: false,
      ignoreCase: false
    },
    { type: 'literal', text: ';', ignoreCase: false },
    { type: 'literal', text: 'and', ignoreCase: false },
    { type: 'literal', text: 'not', ignoreCase: false },
    { type: 'literal', text: '(', ignoreCase: false },
    { type: 'literal', text: ')', ignoreCase: false },
    {
      type: 'class',
      parts: [Array],
      inverted: false,
      ignoreCase: false
    },
    { type: 'literal', text: ';', ignoreCase: false },
    {
      type: 'class',
      parts: [Array],
      inverted: false,
      ignoreCase: false
    },
    {
      type: 'class',
      parts: [Array],
      inverted: false,
      ignoreCase: false
    },
    { type: 'literal', text: ';', ignoreCase: false },
    { type: 'literal', text: '(', ignoreCase: false },
    { type: 'literal', text: ')', ignoreCase: false },
    {
      type: 'class',
      parts: [Array],
      inverted: false,
      ignoreCase: false
    },
    { type: 'literal', text: ';', ignoreCase: false },
    { type: 'literal', text: ':', ignoreCase: false },
    { type: 'end' }
  ],
  found: '?',
  location: {
    start: { offset: 4082, line: 155, column: 18 },
    end: { offset: 4083, line: 155, column: 19 }
  },
  name: 'SyntaxError'
}

where line 155 is:

    (:goal (and
        (exists (?ps - park) (and  ;; <<<< line 155
            (IsAt Car ?ps)
        ))
    ))
  • node: 12.14.1
  • strips: 0.0.10
  • pegjs: 0.10.0

I would be happy to provide the files as well if needed.

Regards,
Bora

/cc @theodor1289

Documentation Usability

This is fascinating! Could you please elaborate the anomaly solution more? I don't understand:

What the x represents
What makes an anomaly

Thank you!

Implement GraphPlan to solve a planning graph

  • In the branch mutex, implement the algorithm GraphPlan to solve a planning graph by correcting and completing the method named solve() and associated methods for marking mutexes.
  • The implementation should reside in graphplan.js

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.