AGI.place

Форум создателей искусственных интеллектов


Логин (email) 
Пароль 
Настройки

Сообщения участника "mserg"
1
2
create
Решатель ARC-задач Франсуа Шолле
14:51 20.11.2022 №6028
Продолжим. Итак, есть «набор», из которого можно создавать функции отображения матриц. Однако длина этих функций слишком велика, чтобы можно было бы их подобрать. Эта проблема решается с помощью использования алгоритмов, которые должны за «полиномиальное число шагов» «экспоненциально снизить количество вариантов» при поиске функции. В этом, в сущности, и заключается «информационный» критерий поиска. Вместо «количества информации», для упрощения, будем пользоваться оценкой количества информации (ниже – просто количество информации). Положим, что тип терма функции занимает 8 бит, число – 8 бит, пиксель матрицы изображения – 4 бита, пиксель бинарной матрицы – 1 бит. «Пошаговое» построение отображение функции должно помочь преодолеть комбинаторный барьер. Рассмотрим задачу, в которой в исходной матрице подсчитывается количество 5-ок, и результатом является пустой прямоугольник высотой 1 и шириной в количество 5-ок. Для определенности положим, что количество 5-к в матрицах имеет 5, 10, 4, 7, 8 (8 относится к тестовой паре). Количество информации, которое потребуется для записи первого результирующего изображения состоит из координаты x – 16 бит, y – 16 бит, ширины и высоты – по 16 бит, пиксели матрицы 5*5*4. Итого 164 бита. Второе результирующее изображение 464 бита, третье – 260, четвертое – 128. Суммарно 1016 бита. Т.к. для тестовой пары результирующее значение неизвестно, что для подсчета количества информации потребуется рассмотреть все возможные размеры матриц. Использование «tparser.py» приводит к получению прямоугольников для результирующих матриц. Обозначим прямоугольник через rect; (x,y),(w,h) – положение и размер прямоугольника; c – цвет. Описания прямоугольников будут такими: rect(x=0,y=0,w=5,h=1,c=0), rect(x=0,y=0,w=10,h=1,c=0), rect(x=0,y=0,w=4,h=1,c=0), rect(x=0,y=0,w=7,h=1,c=0) Сравнение и обобщение структур приводит к функции с одним аргументом: f(wi) = rect(x=0,y=0,w=wi,h=1,c=0) Новое описание результирующих изображений будет f(5), f(10), f(4), f(7). Для тестовой пары функция описания будут f(?). Астрономическое количество результирующих матриц свелось к 30 вариантам (допустимы матрицы размером от 1 до 30, насколько я помню). Количество информации для записи функции состоит из количества информации определения функции f и из количества информации параметров. Определение записи самой функции – 16*2 бита, структура rect – 16 бит, координаты и размеры 16*4, цвет 8+4. Итого, определение функции – 124 бит. Плюс 16*4 – значения параметров, функция описания результирующих (обучающих) матриц сжалось с 1016 бит до 188 бит. Задача подбора матрицы свелась к задаче подбора одного параметра. Полученная функция, однако, не может быть решением задачи, т.к. аргумент для тестовой пары остается неизвестным. Простейшие параметры исходного изображения – высота и ширина не подходят. Параметры, получаемые за «1 шаг» из «tparser.py» дадут следующие параметры: комбинации мат. операций над высотой и шириной, минимальный цвет, максимальный цвет, цвет фона (если он есть), максимально частый цвет за исключением фона, гистограмма. Сопоставление с результирующими изображениями приведет к обнаружению, что шестой элемент гистограммы (т.е. с цветом 5), подходит для описания функции. Итого, результирующая функция res(no, im) = f(hist(im)[5]), где f(wi) = rect(x=0,y=0,w=wi,h=1,c=0) Параметр функции f hist(im)[5] также состоит из 16*4 бит (в ней неявно присутствует функция индекса элемента). Т.е. результирующая функция содержит 188 бит. Если продолжить поиск, то все функции с большим количеством информации должны отсекаться. Если обнаружится функция с меньшим количеством информации – то она заменит текущую (рекорд). --- Строго говоря, использование пошагового построения функции на основе информационного критерия, не является просто последовательностью. Дерево «перебора функции» все равно неявно присутствует, только поиск ведется более направлено и используемые при поиске структуры – не только древовидные.
0 | 0
create
Решатель ARC-задач Франсуа Шолле
11:10 16.12.2022 11:13 16.12.2022 №6055
Prosolver:
гость 185.220.100:
предлагаю переиначить задачу на более общую и без "побочных эффектов" в виде скрытых ссылок на сложный опыт человека и всей его многомиллионной эволюции. Начать на пример с поворота и сдвига, как это сделать на млп(лесе, цнн и тп) и поразмыслить что может пойти не так
Ну хорошо. Поворота и сдвига чего? Я, например, уверен, что начинать надо с выделения объектов. А манипуляции с объектами - это следующий этап. Как можно применить поворот, если ещё нечего поворачивать?
Наиболее общий (пошаговый) критерий решения задач мне все же видится информационный. Выделение объектов - это, по сути, более компактное описание задачи. Оно же - обнаружение информации в задаче. Оно же, в некотором роде, уменьшение размерности задачи. Если принять этот тезис, то выделение объектов и решение всей задачи, это, по сути, одно и то же. Поворот, зеркало и сдвиг - это аффинные преобразования. Найти задачи можно по ключевым словам rot90, fliplr, flipud в файле manual.py. Есть прямо такие задачи, есть с небольшими дополнениями, есть в составе навороченных задач. Наборы данных с поворотом, зеркалом и сдвигом, по-видимому, содержат возможности эволюционного решения. Наиболее простые задачи могут быть решены перебором функций. Найденные решения могут обобщаться и перебираться заново. - таким образом "расстояние" от решения одной задачи до решения другой будет находится в досягаемости перебора. Т.е. решений некоторых задач не может быть найдено, пока не найдены решения других, более простых. И, конечно, эти формулы могут использоваться для уменьшения размерности задач. Технически, для экспериментов, требуется язык (заданный сигнатурой, либо в форме Бекуса-Науэра). Перебор в нем может осуществляться с помощью допустимых правил. Обобщение решения задачи состоит в том, чтобы куски формулы заменять на "свободные переменные" (т.е. разрешить вместо части формулы использовать выражение). У меня большая просьба. Не нужно мне приписывать желать решать задачи исключительно перебором формул. Не нужно вцепляться в абзац, где написано про перебор - нужно учитывать все написанное, т.к. я не могу делать оговорки в каждом сообщении. Кроме перебора ведь еще говорится и о критерии отбора формул, информационном критерии при поиске, о пошаговом поиске на этом принципе, об иерархии алгоритмов. Выше, например, описана схема проверки возможности эволюции, а не общий метод решения всех задач.
0 | 0
1
2

Главная Участники Жалобы  Поиск Исходный код О форуме