1)In your case, you have arbitrated that if there are no cars passing through any of the streets, the street sign 1 turns green, and the street 2 red.
This is no problem. Any combination of values for the truth table is valid.
2) If I understand correctly, you failed to get the expression for Sv2 and Svm1. In this case, and with the convention you have chosen to use, the grouping (In your image, the blue rectangle) you must make contains a single element.
You don’t have to group with more than one element.
In both cases you will group only the case where A=0 and B=1, returning the expression:
Sv2 = Svm1 = A'B
3)In these cases, where for some cases the end value may be anyone, it is customary to mark with an X, called the term "Don’t Care" [0] (from English, "doesn’t matter"). Thus, when assembling the truth table, you can group them or not as it is most advantageous and generate the shortest expression.
In your case, this would allow you to save a grouping in the expression of Sv1 and Svm2, which would be only: Sv1=A
In the second and third expression, this allows grouping the upper line, generating the expression:
Sv2 = Svm1 = A'
Doing so would save you some logic ports and decrease the size of the circuit. We conclude with the groupings that the convention used by the author is the most advantageous, and so the circuit of it became so compact. From what you’ve told him, he just didn’t narrate how he came to this choice.
Edit: Improving some points as requested in the comment:
Any grouping you make must group a quantity of elements equal to a power of 2, that is, 1,2,4,8, etc...
Grouping a larger amount of elements will always result in a smaller expression. You already did this in your exercise, in the Sv1 table, you grouped a row and a column. You could have erroneously grouped only the line and the other element independently so that the resulting expression would be:
Sv1=A+B'A'
, I mean, a bigger expression.
With this defined, if in any of the cases makes no difference the output value being 0 or 1, as when there are no cars on the street, it is good to choose the best value to simplify the expression to the maximum.
In the example you quoted:
[...]só tinha achado um x e somente um bit 1 do lado dele[...]
In this case, X is representing that either the value there is "0" or "1". That is, for the problem in question, it makes no difference how we get out of that situation. It would be useful for us if it were "1", since in this way we could group two elements instead of one, so we grouped 1 with X, because it was advantageous to reduce the expression size. In short: When doing the grouping, the gaps with X can be used for grouping, but need not be included necessarily. Include them in your groupings as advantageous.
About comparing with multiple outputs: Since all outputs depend on the same inputs, they are commonly written in the same table, as extra columns, like the image you posted. They can be interpreted as multiple truth tables written more compactly. To compare the output, each expression found by you will fill a column of the truth table. If the values of a given column match, it means that that output (in this case a green/red light) will react correctly.
[0] - https://en.wikipedia.org/wiki/Don%27t-care_term
– user148754
Oops! I edited the answer containing the clarifications you asked.
– Naslausky