Results 1 to 6 of 6
  1. #1
    Join Date
    Jan 2013
    Posts
    3
    Rep Power
    0

    Default Java & Artificial Intelligence

    Hello everyone, I've just registered and look forward to hearing from you in future, which will be greatly appreciated. Just for the record, I'm a student of artificial intelligence and any input you give me and I use or quote will be acknowledged in my work.

    I am a student of Artificial Intelligence and I wish to combine AI with Java for a particular use. I have done Java before upto a college level shall we say, I'm no expert but I can write code. I wish to use Java purely for personal reasons because I enjoy it and see a future for myself there. My project is an AI system performing tasks that a human currently does, with regards to a booking system in a lab environment. The system will basically ensure that labs can't be double-booked, and if an attempt to double-book is detected, then the system will identify and suggest an alternative date/course of action. That's it in a nutshell. The complexity of the project comes from the fact that each lab can perform a number of tests, but requires the correct staff and equipment. There are over 20 labs, 3000 pieces of equipment (some unique, some duplicate) and 20 staff that can perform to different levels. The task is currently performed by many people who more than often get it wrong simply because they work in different locations, often don't understand the requirements, book things in place months in advance and forget about possible conflicts that may arise later on. Obviously, my project would ensure that when work is booked, the system will "know" which equipment to use and how long it will take and ensure no-one else can book the same items. I could code all of this as concrete classes but then, it doesn't tie in with the idea that the system can learn what lab/staff/equipment is needed and how long for. I think it would be an interesting problem to solve.

    I've started writing the classes, attributes and methods for the core system, but I pondered on the thought of .... "where do I finish and where does the system takes over?" and I just couldn't answer it. I've read a couple of chapters of online books about Java/AI which when I've looked at it, don't look like learning to me but more programmed to change numerical values, rather than programmed to learn (if that makes sense). But, I could easily be wrong.

    I was just wondering, does Java enable learning and remembering? Is a persistent class or instance in Java able to modify itself after learning or being fed new information, which would then affect it's future behaviour? Or, would it be "just programming" which has come up as a topic for discussion previously on the course.

    Many thanks for taking the time to read, I look forward to any replies :)

    Kind regards,

    Rob

  2. #2
    KevinWorkman's Avatar
    KevinWorkman is offline Crazy Cat Lady
    Join Date
    Oct 2010
    Location
    Washington, DC
    Posts
    3,691
    Rep Power
    8

    Default Re: Java & Artificial Intelligence

    I'm not sure how familiar you are with AI, but a lot of "real AI", including "learning", is mostly just "changing numerical values". I guess that applies to much of programming. So I'm no sure what you expected to see differently.

    That being said, lisp is more popular in AI because the functionality for writing self-modifying programs is pretty much built into the language (since code and data are the same data structures). It's possible to achieve similar things in Java, but most classic AI courses are going to use lisp.

    I could be wrong, but it sounds like you're pretty unfamiliar with both Java and AI, maybe programming in general. You might want to take a step back and go through some basic tutorials before jumping into AI programming.
    How to Ask Questions the Smart Way
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

  3. #3
    Join Date
    Jan 2013
    Posts
    3
    Rep Power
    0

    Default Re: Java & Artificial Intelligence

    Hi Kevin,

    Thanks for replying. You are right about the "numerical values" part, maybe I didn't explain it well enough or maybe that's even my particular point. The examples I've seen seem to define how much to change a value by, something that I feel it could/should change itself. I don't know about you, but people learn at different rates and the AI I envisaged I expected to as well. In fact, it can take as long as it wants, as long as it learns. Any learning will be based on what it's told is right or wrong, so I fully expect user input but not necessarily programmer input, and like a young apprentice, I expect it can start to take over. It's that moment there that I'm unsure of, or if it can do.

    Thanks,

    Rob

  4. #4
    KevinWorkman's Avatar
    KevinWorkman is offline Crazy Cat Lady
    Join Date
    Oct 2010
    Location
    Washington, DC
    Posts
    3,691
    Rep Power
    8

    Default Re: Java & Artificial Intelligence

    Are you talking about a specific AI approach here? Things like neural nets might be pretty applicable to your problem, and it's perfectly reasonable to use Java to build one.

    But I think the problem is that you don't have a firm grasp on AI in general. I could be wrong, but based on the general way you're talking, it sounds like you're giving a little too much credit to the idea of artificial intelligence. You need to pick out a specific approach to the problem, and even then it's probably not going to be much more than adjusting numerical values- I'm not saying that's easy or trivial, but it's not a magic "learning computer" like you see in the movies, either.

    You might want to start with something more basic, such as a system that keeps track of the booking schedule and detects overlaps. Even that requires quite a bit of programming. I'm not entirely sure why you'd need an AI on top of that system, but you need that system, and a better understanding of programming, before you even start the AI part.

    The reason I say I doubt the necessity of the AI part is this: you seem to want the system to "learn" which pieces are available, what they do, what alternatives are, what people need, etc. But part of that learning process is going to be getting things wrong, and with a system such as yours, that's a pretty big deal-breaker.

    Instead, what you might want is an expert system (there's a google term for you). The knowledge is built ahead of time, and your system "simply" applies rules based on that knowledge system and user input. That doesn't involve "learning" in the way that you seem to be using it (but then again, I don't think any AI really does), but it's not trivial to create, either. However, using Java to create it is perfectly reasonable.

    But like I said, I think you might want to take a step back and study up on the basics of Java and AI before you take on a project of this magnitude. Designing the non-AI system is difficult enough, designing the expert system is definitely not easy, and creating your dream project of a learning system might be downright impossible, let alone something that people use.
    How to Ask Questions the Smart Way
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

  5. #5
    Join Date
    Jan 2013
    Posts
    3
    Rep Power
    0

    Default Re: Java & Artificial Intelligence

    Hi Kevin,

    Thanks once again for your thoughts, I come on to the forum not as an expert of anything, but merely as requesting guidance from those who are. My background is that I'm a student of AI, having studied it in the past at Uni and back on it again, so having a firm grasp is not something I can say I have, but working toward. I speak generally because how I approach it is not-defined at this point but I need to be open to all possibilities, in fact, from what I am hoping to gather talking with people such as yourself was to define an approach. I'm at the problem-identifying stage, but it is my idea was to use Java to solve it purely for my own personal gain. I'm under no illusions with what can be achieved, as a student I've worked on simulations that were never solved.

    The situation I describe is complex (IMO), but I am open to changes. Scaling back (this has been suggested by my mentor already), concentrating on some specifics only rather than the whole situation. This is fine, I'm a student and it's meant to be a learning process.

    The NN approach is the obvious one and one I'm familiar with, and I'm familiar with how they work. With that in mind, would you mind sharing how you would approach using NNs with Java, for instance the changing of weights? Anything would be good to get my mind ticking over in a certain way.

    Thanks,

    Rob

  6. #6
    Tolls is offline Moderator
    Join Date
    Apr 2009
    Posts
    11,450
    Rep Power
    18

    Default Re: Java & Artificial Intelligence

    Had to do a bit of googling, since this has come up either here or OTN before.
    Here's a couple of links.
    Jeff Heaton's AI page.
    Neuroph (which is a lot further on than it was when I first saw it).

    The former is probably more useful for you.
    Please do not ask for code as refusal often offends.

Similar Threads

  1. Java artificial Intelligence Help!!!!!
    By saidatta123 in forum New To Java
    Replies: 5
    Last Post: 07-28-2012, 07:15 AM
  2. Tic Tac Toe Artificial intelligence algorithm
    By eLancaster in forum New To Java
    Replies: 2
    Last Post: 05-25-2011, 11:09 PM
  3. artificial intelligence for a tank
    By newbie79 in forum New To Java
    Replies: 9
    Last Post: 12-22-2010, 04:27 PM
  4. Artificial Intelligence knowledge base in java
    By ala_mages in forum Advanced Java
    Replies: 5
    Last Post: 12-06-2010, 10:44 AM
  5. Artificial intelligence coding problems
    By MuslimCoder in forum New To Java
    Replies: 1
    Last Post: 02-26-2010, 03:30 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •