-
May 25th, 2017, 07:54 AM
#1
Thread Starter
Lively Member
[RESOLVED] AI for Dummies
So, I gave AI programming a good try. I started by trying to understand Neural Networks. Which I only got so far before the math got out of control. I would like to take my programming skills a step further without having to go back to school for a math degree. Even then, some of the math is pretty advanced. I want to be able to enhance my programs and include AI in them.
I feel like most of the stuff I write is only as complex as the If/case statements I use. Very conditional. I would like to be able to write something that can perhaps go a step further then "If this, then do that." Which limits the potential problems I can solve. I am hoping AI can help free my code if you know what I mean.
Are there any libraries I can take advantage of that simplify AI by providing a layer of abstraction?
-
May 26th, 2017, 03:22 AM
#2
Re: AI for Dummies
What problems are you trying to solve?
AI and neural networks can be a great answer to the right question but could also be a terrible solution for something else that doesn't require it.
I have yet to come across a programming problem in my daily work for which i have thought AI is the solution as the stuff i am developing just doesn't require it.
Why do you think that you need it?
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
-
May 31st, 2017, 04:05 AM
#3
New Member
Re: AI for Dummies
It definitely is next level programming, I tried learning myself and it was quite difficult. I will keep on it though
-
May 31st, 2017, 10:15 AM
#4
Re: AI for Dummies
It's both an interesting, and pretty diverse subject. I don't know that anybody has come up with a general purpose AI that is really meaningful, though. The really effective AI programs are dedicated to solving specific problems. Frankly, I think you need the problem to solve before you can effectively work on an AI solution.
My usual boring signature: Nothing
-
Jun 1st, 2017, 02:04 PM
#5
Thread Starter
Lively Member
Re: AI for Dummies
Well there are too many problems to list to be honest. In general terms there are numerous exceptions to a workflow I follow in my day job. It isn't always black and white. It's rather complicated actually. I'm always trying to write code to perform functions to reduce the number of steps needed in a process or workflow, but I find there is always a new exception (condition) to handle. So I find myself writing little apps to handle this process, and that process under certain conditions. With this approach I have written dozens of apps or so for my tool box. It's hard to keep track of them all at this point. Without getting into too much detail (simply too much to cover in a post), I would like to build a more comprehensive algorithm that can be more of an umbrella solution if you know what I mean. But I just can't seem to wrap my head around the right approach. So I thought of AI.
-
Jun 2nd, 2017, 03:33 AM
#6
Re: AI for Dummies
Ah ok so basically you have a complicated Workflow system.
Workflow applications are not uncommon, in fact in my industry (legal) its a fairly standard part of most case management systems. Yes workflow can be complicated but the answer is generally not AI !!!!
With Workflow systems to get them to work well you need a really good design base;
It seems to me your problem is that your workflow system just isn't able to handle all your scenarios so you keep adding on small sub programs to deal with the cases it cant handle rather than redesigning the system to handle new types of conditions and actions.
It maybe you system is not designed in a way which makes it easy to add functionality.
Have you thought about going back to the drawing board and actually sketching out firstly all your types of conditions? and then all your types of actions?
Are all these new conditions and actions really completely different form each other, or subsets of similar conditions and actions?
It sounds like you have a design specification issue here, and unless you address it from that level you will probably continue to write small apps to deal with the exceptions it cant handle.
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
-
Jun 2nd, 2017, 08:43 AM
#7
Thread Starter
Lively Member
Re: AI for Dummies
Okay, so I am going to try and and build a super class (or base class you can call it) to encompass the different elements of my expected workflow. So if I have to make any changes it will be easier to define a new object within the class and it's behavior instead of building a mini app to handle that one exception (which is what I have been doing). Does that sound like the way to go? Or do I build a class for each separate step in the workflow, and then call the steps as subclasses under a base class? I know we are generalizing here because nobody's workflow is the same. I am just trying to come up with the best approach.
-
Jun 2nd, 2017, 09:09 AM
#8
Re: AI for Dummies
Originally Posted by JohnnyWaffles
Okay, so I am going to try and and build a super class (or base class you can call it) to encompass the different elements of my expected workflow. So if I have to make any changes it will be easier to define a new object within the class and it's behavior instead of building a mini app to handle that one exception (which is what I have been doing). Does that sound like the way to go? Or do I build a class for each separate step in the workflow, and then call the steps as subclasses under a base class? I know we are generalizing here because nobody's workflow is the same. I am just trying to come up with the best approach.
Ideally the steps of a workflow are modular and somewhat self contained - the steps should be agnostic about its environment. All it knows is that it has an entry point and inputs and has to produce an output. There may then be an encompassing controller that manages the steps, determining what to call next based on the output of the latest step. It's like a three-ring-circus... the individual steps are the rings, the ring master is the controller and the tent is the workflow. What's going on in ring 1 doesn't necessarily affect the other rings. Occasionally you have an exception and you need to handle the case when a tiger breaks out of the cage. You should then be able to pull out ring 3 and replace it with ring 3.1 which contains a better cage.
But again this is all in an ideal situation and relies on how much direct control you have over any of the pieces.,
-tg
-
Jun 5th, 2017, 03:36 AM
#9
Re: AI for Dummies
Yeah i agree,
a step could be something as simple as "Send Letter" or "Update Record" or "Set Reminder" what type of letter you send for instance is dependant on your inputs.
A level above that you could have Approve Mortgage, which is a workflow action of which one steps is Send "Mortgage Approval" Letter for instance, another maybe Update "Mortgage Approved" Record, etc!
The Workflow itself would be made up of a bunch of Actions going from Application through to Completion
So going to back to the design i would have a class for each Step type for instance a "SendLetter" class, and build all your possible steps as there own class.
Each Workflow Action should be able to consist of any number of steps in any order.
At your top level you have the controller or workflow manager which keeps track of where you are in the workflow, whats been completed, whats next!!
When designed this way if you find you have a new step, you just create a new step class, add in the logic for it, and then you can just call it like any other step from a workflow action.
Please Mark your Thread "Resolved", if the query is solved & Rate those who have helped you
-
Jun 5th, 2017, 06:57 AM
#10
Thread Starter
Lively Member
Re: AI for Dummies
Thank you for the suggestions everyone! All in all very helpful. I have a good idea of how to approach the problem now. Much better than trying to write AI!
-
Jun 5th, 2017, 09:32 AM
#11
Re: [RESOLVED] AI for Dummies
What comes to mind for me is plug-ins. You talk about extensibility, and plug-in systems are all about extensions. If you can build the system out of a series of building blocks connected in some order, then the interface of those blocks (the way they connect) could be abstracted out to Interfaces, and that would be the basis for a plug-in system, as any new block would just need to implement one or more of those Interfaces.
My usual boring signature: Nothing
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|