Найти следующий символ для заданной последовательности символов (стиль логического теста) (Java) - PullRequest
0 голосов
/ 18 декабря 2011

Недавно я прошел логический тест / тест с такими вопросами, как: Какой следующий символ в последовательности: a,c,b,d,c?Хотя это и не сложно, мне удалось выполнить только половину из них за указанный срок.

Поэтому я хотел бы использовать для следующей попытки: либо скрипт, созданный мной, либо инструмент из Интернета.

У вас есть идеи, как подойти к этому с помощью Java?Есть ли какие-то классы, которые я мог бы использовать или создавать с нуля?Я нашел учебник по Java Regex Pattern & Matcher, но я уверен, что это не то, что я ищу.

Примечание: это всегда аз-чары и обычно наборы 6 (+/- 1)

Ответы [ 2 ]

0 голосов
/ 18 декабря 2011

Простая задача

В вашем случае оказывается, что вы выбираете n-ю и n + 2-ю буквы по очереди (по модулю длины алфавита), чтобы непрерывно генерировать следующие буквы впоследовательность ... Последовательность также может быть немного поражена некоторой константой ... Но в любом случае точное решение должно быть точно декодировано человеком и реализовано на любом языке.

Однако другиекомментарии в вашем вопросе указывают на то, что эта проблема намекает на полномасштабную, гораздо более интересную проблему, которую нелегко решить человеку, а скорее требующую уловов.Эта проблема прогнозирования актуальна для биоинформатиков и инженеров искусственного интеллекта, в которых мы хотим предсказать следующую букву или слово (т. Е. Из текстового потока или аминокислотной последовательности) в строке с учетом предшествующей последовательности слово / буква ...

Полная проблема

Это классическая проблема в искусственном интеллекте, требующая машинного обучения.

В качестве входных данных для конкретного типа задачи будет использоваться

предыдущая последовательность.

И вывод:

Один следующий символ в последовательности.

На github есть алгоритм предиктора AminoAcid, который мы 'Мы разработаны для решения этой проблемы с помощью машинного обучения, которое работает в Clojure (см. проект jayunit100 / Rudolf), если вы заинтересованы в полномасштабном подходе к решению этой проблемы с использованием алфавита из 22 аминокислот.

0 голосов
/ 18 декабря 2011

Что такое официальный алфавит для последовательности? Это всегда а-я? Если так, то предсказать последовательность не так сложно. Вы можете сопоставить буквы 1-26 для разумного «догадки».

В этом примере:

1, 3, 2, 4, 3 ...

+ 2, -1, +2, -1 ...

Вам действительно нужно уточнить вопрос, чтобы определить, сколько моделирования требуется для решения проблемы.

...