Очень многие (практически все) железнодорожные пути используются как в одну, так и в другую сторону. Даже на подъездах к крупным вокзалам , где количество путей часто измеряется в десятках, можно наблюдать как по одному и тому же пути поезд едет в сторону вокзала, а через какое-то время другой поезд едет уже в противоположном направлении. Оптимальные маршруты и расписания в наше время чаще всего прокладывает компьютер, но все процессы по-прежнему контролируются человеком. Поэтому причин, которые могут привести к столкновению поездов, две: ошибка программы и человеческий фактор. Даже если написать идеальную программу, контролирующую все пути, от второй причины не убежать - человеческий фактор как причина был и будет всегда. Заснувший диспетчер, забывший вовремя выйти на связь машинист - из таких мелочей и может возникнуть серьезная проблема.