I know that the map $\varphi: G \to \mathrm{Aut}(G)$ sending an element $g$ to the map conjugation by $g$, which I will denote by $f_g$, is a homomorphism. I'm trying to find a $G$ such that the map is also an isomorphism.
I know from my reading on the subject that $S_3$ works, but I'm trying to fully understand how I would come up with this on my own with being prompted to consider $S_3$. The first important thing is this map $\varphi$ would have to be injective (in order to be an isomorphis), so that would imply it would have to have trivial kernel: for $g \in G$, \begin{align*} a \in \mathrm{ker}(\varphi) & \iff \varphi(a) = \mathrm{id}_G \\ & \iff \forall a \in G, \; c_a = \mathrm{id}_G \\ & \iff \forall a \in G, \forall x \in G, \; c_a (x) = x \\ & \iff \forall a \in G, \; axa^{-1} = x \\ & \iff \forall x \in G, \; ax = xa \\ & \iff a \in Z(G). \end{align*} So if $\phi$ is an isomorphism, it is injective, so its kernel is trivial. But we just showed that $\mathrm{ker}(\varphi) = Z(G)$, so $Z(G)$ is also trivial. So it seems that this is one requirement for $G$ to be an isomorphism.
For $\phi$ to be an isomorphism, it must also be the case that $|G| = |\mathrm{Aut}(G)|$. I think this implies that the entire automorphism group of $G$ must be inner automorphisms. Is that correct? For every $g \in G$, $c_g$ is an automorphism and an "inner" automorphism. At least in the case of finite groups, I only have $|G| = |\mathrm{Aut}(G)|$ if there are no outer automorphisms. Is is true in general that $\mathrm{Aut}(G) =\mathrm{Inn}(G)$ if and only if the center of $G$ is trivial?
If not, how else would I come up with a group like $S_3$?