no, but we can always "add one".
one example of a semi-group without identity is the set of even integers under multiplication.
in general, you can just adjoin an element, e, and define a*e = e*a, for every a in the semi-group S. this doesn't really change the character of the semi-group much.
if your semi-group is part of a larger structure, adjoining an identity may "break" this relationship. for example, adjoing something formally called "1" to the multiplicative semi-group of a non-unital ring, R, does NOT make R U {1} into a unital ring (defining 1*a = a, doesn't give us any idea what 1+a might mean).
one example of a semi-group without identity is the set of even integers under multiplication.
in general, you can just adjoin an element, e, and define a*e = e*a, for every a in the semi-group S. this doesn't really change the character of the semi-group much.
if your semi-group is part of a larger structure, adjoining an identity may "break" this relationship. for example, adjoing something formally called "1" to the multiplicative semi-group of a non-unital ring, R, does NOT make R U {1} into a unital ring (defining 1*a = a, doesn't give us any idea what 1+a might mean).