I posted this on stackoverflow but want to get your recommendations as well as a user on overflow recommended I post it here.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 inferred 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..orPart 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 infer 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.
Type of AI to tackle this problem?
artificial intelligence;relational database;sorting;neural networks
The crucial part of the story is this: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:And this...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.This leaves me with the assumption that the database of parts will already be established, more or less.The primary crowd sourcing aspect of the process will be to confirm or deny compatibility claims: affirming claims already made.  The secondary aspect will be to add new compatibility claims that weren't previously identified by other people, or inferred by the system.The system could evaluate the claim including the conditions of the claim or the reliability of all associated claims, the nature of the part-to-part relationship, and identify if there is similarity in other part-to-part relationships to allow an additional claim to be inferred.The conditions of the claim would be primarily being a judge of behavior, which ultimately would lead to something resembling an ANN/neural network.  However, tuning this process to adjust the weighting factors of the variables under consideration will encourage the use to some degree of Markov chaining simply because going into the project, you won't have a model to tell you which factors to weigh the strongest, and which to discard, and there will be a lot of factors you will want to consider, from both a part-to-part relationship, from the user activity profile, and system activity profile (the system in this aspect should be viewed as just another user who has made a bunch of claims).The nature of the part-to-part relationship is tricky.   There are only a few points in a part-to-part pairing that probably need to be considered as crucial in determining if a part-to-part relationship may be a reasonable candidate for compatibility.  For this aspect, an expert system would probably fit, but it could be even a less complicated process, potentially succeeding well with a more rudimentary method of candidate identification.  The tricky part of identifying candidates would not be whether or not an expert system, or any other AI for that matter, should be used, but how strong and detailed the data model is.  The stronger the data model, the simpler the system would probably end up being, since you are only interested in a small number of potential relationship structures and corresponding values in a particular pairing, namely physical compatibility: do they bolt or plug together; if communication is a fundamental aspect of the parts, do they have the same number of wires in each side of the plug and potentially operate in the same voltage range; when pneumatic, are they both rated for safe operation in the same relative ranges and have the same port counts, shapes, and sizes, or something to that effect.This is where your crowd sourcing could do some of the 'expert system' work for you.  Let them tag the part aspects and interfaces that are important in determining compatibility.  Essentially allow them to make two claims on the system: 1) a particular relationship is a compatible one, or not, or perhaps maybe if you are willing to allow the users to indicate uncertainty 2) this aspect or interface contributes to determining compatibility.  By doing that, and then feeding each stream of data back into the appropriate neural network, you can probably eliminate the need for an expert system.Lastly, finding new candidates based on all the other data you have gathered, that is some kind of inference process (or often described as recommendation system).