What is the name of this graph algorithm?

I need to apply the following algorithm in one of my projects. I know what it does algorithm-wise, but I can't seem to find an application for this. Is there a name for this algorithm?


input: G = (V, E): planar graph (Vertices, Edges)
output: W: a subset of V

function someFunc(G)
    if V.length == 0 then
        return []; // array
        v = some vertex of V;
        N = []; // array

        // for every edge
        for (a, b) in E or (b, a) in E) do
            // if the edge connects to the vertex,
            // add the other vertex end to the N-array
            if a == v then

        // \-notation means: left hand set minus the values in the right hand set (set-difference)
        // e.g. [1, 2, 3] \ [2, 3, 4] = [1]
        W1 = [v].union(someFunc(inducedSubgraph(V \ [v])));
        W2 = N.union(someFunc(inducedSubgraph(V \ [v] \ N)));

        return W1.length < W2.length ? W1 : W2;
end function

The inducedSubgraph function is an external function which removes the given vertices (+ adjacent edges) from the graph.