Finding an object in an array

  • Thread starter Thread starter Haxx0rm4ster
  • Start date Start date
  • Tags Tags
    Array
AI Thread Summary
The discussion centers on finding an "object" within a vector of 64 cells, where each cell can hold a value from 0 to 7, representing colors, with 0 indicating black. An "object" is defined as a sequence of 25 to 45 consecutive non-zero cells of the same value, which may overlap but do not contain two consecutive overlapping cells. The challenge is to efficiently identify whether such an object exists in the vector, especially considering the constraints of implementing the solution in MIPS assembly language, which requires minimizing instruction count.Initial thoughts included checking specific groups of cells for matching values to identify potential objects, but concerns were raised about false positives when non-consecutive cells match. A breakthrough realization highlighted that a valid object could be identified by finding two consecutive non-zero cells within defined ranges (cells 20-25 or 40-45). The discussion emphasizes the need for an efficient algorithm that balances accuracy and assembly language constraints.
Haxx0rm4ster
Messages
37
Reaction score
0
Finding an "object" in an array

Say I have a vector of 64 cells. Each cell can have a value of 0-7 (each represents a color). Inside this vector I may have an "object" which would be defined as a set of consecutive non-zero (zero=black) cells with the same value. The object is no longer than 45 consecutive cells and no smaller than 25. This object however might have some of its parts overlapped by another one
like in the following picture:

http://img54.imageshack.us/img54/8366/captureu.png

However the object does not have 2 consecutive cells that are overlapped.
What'd be an efficient way to find out whether there IS an object in the vector or not?

It doesn't have to be completely accurate, but the more accurate and efficient, the better.
I thought of getting 4 cells from 2 areas in the picture say cells # 20 21 22 23 and 40 41 42 43 then if cells 21,22 or 21,23 or 20,22 are of equal value (and not black/0) there could be an "object." If no object was identified in that first area, then I'd check the second one.

However if for example 20,22 are the same color, it'll raise a false alarm even though the rest of the cells in the entire vector maybe black.

And the huge catch, is that this is part of a bigger project I have to code in MIPS, so the algorithm would have to be assembly friendly, and take as few instructions as possible.

This is my current MIPS assembly implementation. Maybe if I can't get help with a better algorithm, I may be advised on how to implement it more efficiently. I'm focusing more on the dynamic instruction length of the algorithm than anything else.

http://pastebin.com/d75241b9e
 
Last edited by a moderator:
Technology news on Phys.org


As they say, DISREGARD THAT, I SUCK ...

What an incredible epiphany. I guess I just needed some rest.
A valid row would be characterized by two consecutive non-zero cells that would be either in the areas from cells 20-25 or 40-45.
 
Thread 'Star maps using Blender'
Blender just recently dropped a new version, 4.5(with 5.0 on the horizon), and within it was a new feature for which I immediately thought of a use for. The new feature was a .csv importer for Geometry nodes. Geometry nodes are a method of modelling that uses a node tree to create 3D models which offers more flexibility than straight modeling does. The .csv importer node allows you to bring in a .csv file and use the data in it to control aspects of your model. So for example, if you...
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...
Back
Top