Сейчас я пишу диплом по компьютерной лингвистике, а именно по разбиению слов по составу.
Я пришел к выводу, что никак. Вы никак не найдете однокоренные слова со 100% точностью. В этом может помочь только словарь с уже заготовленными однокоренными словами.
Вы можете пробовать выделять корни в словах:
1) По словарю с разбиением на корни (я нашел только 1, да и то в нем не указаны где какие морфемы www.speakrus.ru/dict/ UPD: это тот же словарь Тихонова, о котором вы писали).
2) По правилам, составление которых - это титанический труд.
Допустим, вы нашли корни в словах "красивый" и "красить". Это "крас". Однокореные ли это слова? Думаю, нет. Потому важен еще и смысл слов. Вы можете лишь представить несколько возможных вариантов, но со 100% точностью разобрать текст по однокоренным словам вы не сможете без словаря с перечисленными человеком однокоренными словами. Где его достать - я не знаю. Пожалуйста, отпишитесь если чего откопаете.