Question

I'm going to say from the beginning that I am not a programmer, I have a cursory knowledge of different types of AI and am just a businessman building a web app.

Anyways, the web app I am investing in to develop is for a hobby of mine. There are many part manufacturers, product manufacturers, upgrade and addon manufacturers etc. for hardware/products in this hobby's industry. Currently, I am in the process of building a crowd sourced platform for people who are knowledgeable to go in and mark up compatibility between those parts as its not always clear cut if they are for example:

Manufacturer A makes a "A" class product, and manufacturer B makes upgrade/part that generally goes with class "A" products, but is for one reason or another not compatible with Manufacturer A's particular "A" class product.

However, a good chunk (>60%-70%) of the products/parts in the database can have their compatibility inferenced by their properties,

For example:

Part 1 is type "A" with "X" mm receiver and part 2 is also Type "A" with "X" mm interface and thus the two parts are compatible..

or

Part 1 is a 8mm gear, thus all bushings of 8mm from any manufacturer is compatible with part 1. Further more, all gears can only have compatibility relationships in the database with bushing and gear boxes, but there can be no meaningful compatibility between a gear and a rail, or receiver since those parts don't interface.

Now what I want is an AI to be able to learn from the decisions of the crowdsourced platform community and be able to inference compatibility for new parts/products based on their tagged attributes, what type of part they are etc.

What would be the best form of AI to tackle this? I was thinking a Expert System, but explicitly engineering all of the knowledge rules would be daunting because of the complex relations between literally tens of thousands of parts, hundreds of part types and many manufacturers.

Would a ANN (neural network) be ideal to learn from the many inputs/decisions of the crowdsource platform users?

Any help/input is much appreciated.

Was it helpful?

Solution

This sounds complex enough to perhaps justify trying to train a neural net at the task. Since decisions are already being crowdsourced, these decisions can be used to train the neural net.

The disadvantage would be that it's hard to achieve a result that is correct 100% at the time. When the NN makes a mistake, then that should be used as training data, and hope that the same mistake is avoided the future.. but that's pretty much the general disadvantage in neural net: It's hard to unerstand the logic behind a fully evolved NN, and sometimes even harder to correct said logic, if it is a result of something that the NN has learned over a long period of time.


Alternatively, a more traditional approach could also be tried, if you can figure out a way to define what makes parts incomplatible. Or perhaps by sorting them into compatibility groups (which i'm sure will be a long and daunting task.. but this is where the crowdsourcing comes in).


Not much of an answer, i know, but i hope it helps you produce some ideas on where to start

OTHER TIPS

This sounds like a constraint satisfaction problem. I would attempt to solve it using a CSP solution such as min-conflicts.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top