In an RFID system a reader requests tags to send their IDs by RF signal backscattering for the purpose of identification. When multiple tags respond to the request simultaneously. tag collisions occur and the tag identification performance is degraded. There are several tag anti-collision protocols proposed for reducing tag collisions. The protocols can be categorized into two classes: ALOHA-based and tree-based protocols that include deterministic tree-based and probabilistic counter-based subclasses of protocols. ALOHA-based protocols have the tag starvation problem; deterministic tree-based protocols have the problem that their performances are influenced by the length and/or the distribution of tag IDs. On the contrary, probabilistic counter-based protocols do not have such problems. In this paper, we propose a probabilistic counter-based tag anti-collision protocol, called ASPS, to reduce tag collisions by adaptively splitting tags encountering collisions into several groups according to the estimated number of tags to be split, and to reduce the number of messages sent between the reader and tags by utilizing a pre-signaling bit. We simulate and analyze ASPS and compare it with related ones to show its advantages.