In a discussion yesterday, a thought occurred: many problems in different areas are about selecting proper abstractions to match applications. Abstraction matching is a challenging and interesting problem.
In computer science particularly, abstraction matching is very important. I hear long discussion whether something that can be done with a new abstraction, say ‘events’ can be done with an oldabstraction say ‘objects’. This discussion can soon degenerate if somebody starts arguing whether that thing can be done by Turing Machine or not. If something is computable than what abstractions you use are more important if you consider efficiency and human easeof relevant application oriented operations. A particularly interesting case of this is the Relational Database Model. This abstraction is very unnatural but once you consider the operations in data collections of ‘structured data’, it turns out to be a very good representation. That is because the abstraction matches the application.
In many cases one can only evaluate effectiveness of an abstraction after it has been implemented and tested in applications. It is very rare that one can mathematically evaluate this in emerging complex applications.
I need to think more about this, but so far it appears that Abstraction Matching may indeed, like impedance matching, an important issue.
Hi Prof Jain,
It’s an interesting thought. It looks challenging though, as to how to involve human users beyond the evaluation stages of a media application. Maybe in feature selection, optimisation criteria selection or even algorithm selection, I don’t know how though. Otherwise it seems difficult to have a nice impedence matching as you said if people can only define the problem rougly in the beginning like “search for a rose” and then just evaluate the system’s final result. Which in many cases wouldn’t match what the user had in mind.