Use of artificial intelligence techniques to solve complex problems

Asked

Viewed 690 times

17

Faced with the task of developing a complex application, I decided to make that each time a human interacts with the system, that this record its decisions, apply weights and in the next suggestions use heuristics based on probabilistic analyses to improve their results and get closer and closer to perfection to the situation of each operator.

After some research, I saw that what I want to do has already received a name, RBC and Algoritmos Genéticos and are artificial intelligence techniques.

I know that I will have to do a lot of research and that there is probably not much material about it, but it would be helpful if someone who has had experience developing a similar solution could share and point out the path of the stones, regardless of the language used.

  • 6

    Your question is too wide. You should start by deciding which algorithm you want (or should) use. After that, you should find a library in your language of choice that implements such an algorithm. In your program, whenever relevant data appears, you must send this information to the AI module. Any more information than that depends on your application. There’s no way you can be more specific than that with your question being so generic.

  • 1

    I think your question is nice, but unfortunately I have to agree with Mr @Pablo. It is too wide, as there are numerous algorithms that can be suggested. Moreover, it is not clear what the system does automatically (that is, where does intelligence enter the system?): what kind of data do you collect and guard the user? What the system does that needs to be adjusted?

  • 1

    I’m not voting to close because you already offered a reward. But I even suggest that you edit the question to try to save it by adding details (and, who knows, take the remaining time of the reward given).

  • This material has a lot of artificial intelligence content and is geared to decision making, it explains several aspects and demonstrates this in a software. This should give you a direction. The Artificial Intelligence in the Decision

  • Thank you for the Return of all. Really the question is wide. It is purposely so, because I try to see any algorithm of RBC and AG in practice. Independent of language and application. The purpose of the question is to get the path of the stones to direct my development, because so far, I have not found in my researches any algorithm. Only theory.

2 answers

7


Good afternoon. As a TCC, I have made a decision-making support software for companies that work with technical maintenance (whether it’s computers or not). My method for software decision-making was the calculation (resulting in percentages) of the recidivism of a fact. For example:

Notebook HP - Modelo Pavilion DV6000
Defeito: Não liga
Causas:
70% dos casos, problema de BGA
15% dos casos, pente de memória com defeito
10% dos casos, sistema operacional corrompido
5% dos casos, HD com defeito

I took into account the following variables: Equipment type, equipment model and defect shown.

From this information I modeled a database that could store a knowledge base and that at each new order of open service, the inference engine would assist in decision making. The same structure I repeated for the solution of the cause as follows:

Notebook HP - Modelo Pavilion DV6000
Defeito: Não liga
Causa: Sistema operacional corrompido
Soluções:
60% dos casos, formatação
30% dos casos, recuperação do sistema
10% dos casos, recuperação do boot do sistema

So in short, what I did was: For each type and model of equipment with defect X, there may be N causes and each cause there may be N solutions If necessary, put the model of the seat here.

Follow the model I’ve been working on to update: There is one more table called Events, which has the responsibility to store when the event occurred, which further helps to filter the probabilities of causes and solutions to the defect.

inserir a descrição da imagem aqui I hope I helped! Oss

Curiosity: I developed in php(without framework) and mysql. hehe

  • 1

    interesting, if you can share to take a look.

  • Thanks for the feedback. This has already helped a lot. It’s a practical example of RBC.

  • The system I’m working on will do a schedule chart for my city’s BRT. When the operator makes a change to a suggested frame the system should save this change as a case and for the next frame suggestions, it should consider these cases for decision making. One of my difficulties was to define values for decision making and with your help I saw that I have to deal with it as follows: Each interaction is a case, the case exists to solve a problem and each problem has N possible solutions.

  • The percentage of one solution applied in relation to the other is already a good value for the algorithm heuristics. My next challenge is to create parameters in the timeframe that make it possible to relate to problems in case base.

  • Very interesting friend, I will only comment so that do not confuse your method with artificial intelligence, because in the question the boy spoke of artificial intelligence and the calculation of recidivism that did has nothing to be ok?

  • 1

    I do not agree Giovanni. From what I understand this is RBC. You have a case base and the percentage of recidivism comes in as one of the values to consider for decision making. The user is teaching the system as it records resolutions. That’s not the idea?

  • The idea of the system is learning from both sides. Imagine that the company hires a new technician, in this case the system teaches the technician. But on the other hand, an expert must teach the software first. Learning is mutual and constant. One of the techniques of AI is precisely the specialized system that contains a knowledge base (it is highlighted in the image), already the most famous technique of AI, which would be RNA (artificial intelligence neural network)is implemented in the calculation of recidivism only to assist decision-making and not to make the decision for the technician.Oss

Show 2 more comments

1

This is not an appropriate way to solve the problem of timetables.

This is a complex mathematical question and people will not provide good answers no matter how smart they are. Every artificial intelligence technique starts from a training, a database in which you have the best answers to a set of problems, from where the system learns to infer a new answer close to the ideal for a similar new problem. Well I don’t want to confuse you anymore, I’ll tell you what your problem is.

It is a problem of optimization and not artificial intelligence.

Defining with my words, every time we have a scarce resource that must be allocated, or a function that must be optimized for an objective obeying various constraints, we have an optimization problem.

The timetable is a classic optimization problem, in it we have to allocate hours for people’s work, say 24 hours, but we have several restrictions, such as, for example, we have employees working 8 hours, 6 hours, one must have an interval of 1 hour between 8 hours, off once a week, and various other legislative restrictions.

The algorithms then seek to achieve an optimized function that meets all the constraints imposed, minimizing or maximizing the use of resources.

Another example would be cutting wood, want to maximize the reuse of useful area and minimize cost. Restrictions are the required cutting formats and their quantity.

In fact the scheduling problem, is explored by some companies that provide consulting or present some software to facilitate the modeling and resolution of the same.

A former professor of mine in college teaches optimization classes, and has a company specializing in making work scales using these techniques I mentioned, the company is http://escaladerevezamento.com.br

It even has software in which I did a temporary job, where people set up the work board and its restrictions, and the system solves the best possible scale by attending to all legislation, avoiding fines and minimizing the number of employees, in fact saving on company payroll.

I took this business class and find it harder than artificial intelligence, everything that has to memorize something I find more difficult :-), I did not find a good material to pass you but have this one www.maxwell.vrac.Puc-rio.br/20533/20533_4.PDF that talks about the subject, good basically there is an algorithm called min-max to solve these problems, it does not have a high computational efficiency of the classical form, there are variations and methods more optimized and complex, studied in the master’s, but it is a good start. This teacher I spoke of was a student of this alien individual here: Petr Iakovlevitch Ekel - http://www.pucminas.br/pos/eletrica/index-link.php?arquivo=docente&pagina=4124&id=262&PHPSESSID=893453e6e8b95dce0a3da4b3c1e3582a

This Petr teaches mathematical methods at PUC’s Master of Electrical Engineering and is simply the world’s leading authority on the subject, the guy works for governments, optimizing the installation of electric power meshes in countries, just to get an idea...

  • Thanks for the return Giovanni. The initial part of the software is precisely to assemble an optimized frame meeting specifications. After that I intend to apply AI so that it becomes more and more assertive, learning from interactions. So I’m going to use both. There is really the risk of the user making nonsense, but I will always request one because for every interaction that he is going to keep in the base of cases, Therefore, if they teach nonsense, he will do nonsense even. I had already read a little about min-max, just haven’t seen how it can be useful.

  • 1

    I keep thinking that AI does not fit this problem and should not be used, we are talking about legal fixed rules, the optimal time derived from the function does not fit machine learning but optimization of systems. What can be done is to treat it as a constraint satisfaction problem and apply AI algorithms to limit the search space, which almost equals optimization, but I don’t see how the user’s responses can contribute to it, just get in the way. These are pure calculations, if you stop at each interaction of 1 billion interactions it will take longer than the age of the universe :-)

  • I understood your point. But my application is not of schedule scale (personal) but bus schedule. Putting such a framework in place goes far beyond legislation which, by the way, is not very restrictive. It has to reflect the interests of the company and the population, so the interaction of a human being with a critical common sense will always be necessary. What I am proposing to do is to give ways so that the need for this interaction is less and less. In the first moment there will be optimization with the use of AG (using the concept of natural selection). Then there may be interaction and then I will use RBC.

  • 1

    Okay, now I get it, you’re going to set up the possible times already optimized, and then collect the perception of various users and use that to suggest better times based on feedback, similar to what stores like Amazon do with their products, then you will have subjective information that makes up a ranking of schedules and will offer it to whoever makes the decision, or will try to make the decision by AI. These are two distinct problems. You can use AI in the second problem, or you can use Business Inteligence as well. Your proposal is very interesting, personally I would investigate BI first

Browser other questions tagged

You are not signed in. Login or sign up in order to post.