Как стать автором
Обновить

Комментарии 79

А если заменить каждый треугольник на верширу связного графа, у которого в каждой вершине ровно три ребра?
то есть, «склейка» из трех треугольников будет представлена как граф из трёх вершин?
Вообще да, есть такой подход типа вершины графа это треугольники, а рёбра — соединения треугольников по ребру. Но как тогда перебирать связные графы?
Там будет проблема с ориентациями — у треугольников есть вершины, и обход одной из вершин соответствует какому-то выделенному циклу или незамкнутому пути в графе, причём через каждую вершину графа проходит ровно три таких пути, и два пути не могут иметь двух последовательных общих рёбер… Вряд ли это будет проще.
Можно попробовать идти от двойственной задачи — склеивать не треугольники, а многоугольники — чтобы в каждой вершине сходилось ровно три штуки — но там сложности с «внешней областью», топология которой может быть какой угодно и всё время меняться.
Может быть, сначала перебрать все плоские триангуляции (с границей в виде одного многоугольника) — всё равно они понадобятся — а потом у каждого начинать склеивать стороны?
Насколько я понимаю, задачу можно считать двумерной?

Для начала берём границу. Нам надо найти точки, которые описывают нашу фигуру. Их мы можем разбить одним единственным образом, и таких точек будет не меньше трёх. Ищется просто: сначала самую нижнюю точку берём, потом сортируем все по углу между ней и OX и находим две крайние и так далее. Получаем описаный выпуклый многоугольник, он разбивается единственным образом. Всё, всё остальное уже должно лежать внутри, а грани этого многоугольника — грани наших треугольников.

Дальше берём какое-то одно боковое ребро нашего описаного многоугольника. Оно же должно быть в разбиении на треугольники? Должно. Значит, мы можем проверить все точки, которые образуют с этим ребром треугольник. Нужно чтобы в этот треугольник не попадала никакая другая точка.

Отлично, мы получили список этих треугольников. Берём, исключаем треугольник, и сводим задачу к предыдушему шагу — правда, у нас уже будет невыпуклая граница, от которой мы откусим треугольный кусочек.

Ну, то есть будет заведомо не больше чем (N-3)! что ли вариантов, т.е. для N=10 нужно перебрать 5040 вариантов… Не так много :-) Но я думаю, что реально меньше гораздо.
Насколько я понимаю, точки не заданы, задача, хотя и двумерная, но неплоская — в примерах есть тетраэдр и лента Мёбиуса, а требуется перебрать все комбинаторно неэквивалентные многогранники (возможно, с краями и самопересечениями), имеющие только треугольные грани.
Гм… ну тоже можно попробовать — описать выпуклый многогранник и вычитать из него тетраэдры.
В общем, в результате копаний нашел такую штуку: oeis.org/A000088
Если генерить неориентированные графы (а способ есть, это описано тут: en.wikipedia.org/wiki/Pólya_enumeration_theorem) то можно выбирать из них только те, что имеют валентность не больше трех, строить склейки и смотреть что за поверхность получится. Походу, способа быстрее не будет.
Единственный момент — я голову сломал читать описание алгоритма, к нужному сроку я его точно не успею сделать
Думаю, что ничего не выйдет. Проблема будет на этапе «строить склейки».
Вот дошли вы по очередному ребру до очередной вершины графа. Геометрически это значит — приклеили треугольник к стороне. Теперь у треугольника две новых стороны, из вершины идёт два новых ребра. Как узнать, какое из них какой стороне соответствует? А если не узнаете, дальше склейку уже не продолжить.

Кстати, в итоге нужны только поверхности без края, или все?
Все сойдут, там разберутся. Я очень хотел доперебирать до тора из 14ти и бутылки клейна из 16ти, но видать не судьба. А насчет строить склейку — да, есть у меня под рукой работа, где девочка ручками строила эти склейки для пяти треугольников и там не всё так очевидно. Но, почему то казалось, что эта задача не такая сложная
а разве не по любому графу с валентностью <= 3 можно построить валидную склейку? В смысле, что пёс с ней с постройкой, мы все хорошие графы найдем, а склейки «по определению» можно будет построить, не без геммора конечно
Ну, что соответствует, например, тому же графу Петерсена?
Мне не надо «рисовать» склейки, мне достаточно их перечислить в том виде, что я привел в топике.

То есть, берем любую вершину графа Петерсена, обзываем её ABC. Три ребра, AB BC AC
AB отдаем направо, BC налево, AC внутрь

Берем треугольник слева, две вершины у него мы уже знаем, BC. Приписываем D и «повторяй всё сначала»
Потом, после того как построили склейку, посчитали Эйлерову характеристику, число компонент края и готово. Не уж то не так? Может я объяснил неправильно?
Да, мы знаем две вершины BC. Но мы не знаем, какое из рёбер, идущих из BCD, будет BD, а какое CD. И если ошибёмся, то в какой-то момент получим ребро, соединяющее несовместную пару вершин (например, ADE и APQ).
Если только замкнутые — всё можно сделать довольно просто. Может быть, через пару часов напишу подробнее. Если нужны и с краем, схема тоже будет работать, но появятся дополнительные сложности.
А проективные плоскости из 10 треугольников нашлись?
Когда забил в прогу триангуляцию из википедии, получилось
x(F)=0 K=1 m=1.0 [[A D C], [D C B], [B F A], [A F C], [B E A], [A E D], [B D F], [C E F], [E F D]]

И таких среди десяток несколько есть

x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B G H], [C E I], [D F J], [F G H], [F G J]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B G H], [D F H], [D H I], [G H I], [G I J]]

и даже среди девяток

x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C D F], [C E G], [D F G], [E F G]]
Хотя, у ленты мебиуса такие же характеристики, так что хз
Извиняюсь, не ту букву в склейку вписал, не так посчиталось. Да, есть плоскость. Она же без края )
x(F)=1 K=0 m=1.0 [[A B C], [A B D], [A C E], [A D F], [B C F], [B E F], [C D E], [A E F], [B D E], [C D F]]
Половинка икосаэдра :) Да, при заклейке листа Мёбиуса из 5 треугольников получается она же.
Теперь начал понимать. Нарисовал ленту мебиуса в виде графа треугольников, получилось обычное кольцо. Так что да, для каждого графа надо еще генерить кучу склеек
Я прошу прощения, но чем моё предложение «вычитать тетраэдры» плохо?
Не очень понятно, как в этих терминах найти, хотя бы, триангуляцию бутылки Клёйна.
Поверхность без самопересечений сводится к поверхности, из которой исключили какой-то многоугольник.

Так, ерунду пишу :-)

В смысле, а скажем поверхность обязательно должна быть связной? Должна быть замкнутой? В ней могут быть дырки?

Я, наверное, не очень понимаю условие задачи. Или задача не очень четко поставлена.
1) Заводим класс «планарный граф валентности 3». Из каждой вершины выходит ровно 3 ребра, известно, в каком порядке они идут (против часовой стрелки), в какую вершину каждое ребро приходит, и с какой стороны (номер встречного ребра в этой другой вершине). Некоторые рёбра идут в «несобственную» вершину (с номером -1) — они соответствуют внешним сторонам треугольников. Сразу вводим для каждого ребра признак, что оно может менять ориентацию (при проходе по такому ребру направление обхода вершин меняется на противоположное). В начале таких рёбер нет.
Запоминаем порядок «внешних» рёбер (тех, что идут в несобственную вершину).
Графов будет довольно много, поэтому каждый из них храним в виде одного-двух массивов (преждевременная оптимизация, а что делать).
2) Если поверхность без края, то число треугольников N чётное. Будем строить графы из N вершин.
3) Рассматриваем все триангуляции (N+2)-угольника — им соответствуют бинарные деревья с N узлами (привет числам Каталана). Строим для них графы.
4) Проверяем графы на изоморфизм и оставляем попарно неизоморфные. Для планарных графов это просто: берём любую вершину одного из них и пытаемся перевести в каждую вершину другого во всех 6 возможных ориентациях. Потом обходим от этих вершин все рёбра обоих графов (это делается однозначно), и когда попадаем на первом графе в уже пройденную вершину, убеждаемся, что во втором мы попали тоже в пройденную вершину, причём в соответствующую. Несобственная вершина соответствует несобственной. Вся проверка — O(N^2).
Но, конечно, придётся набрать побольше инвариантов, чтобы не сравнивать каждый граф с каждым. Для деревьев годится последовательность чисел треугольников, сходящихся в вершинах (N+2)-угольника (последовательности можно сдвигать по циклу и переворачивать).
5) Теперь перейдём от N+2-угольников к N-угольникам. Для этого переберём все вершины, в которых сходится больше 2 треугольников, и склеим стороны, соединённые этой вершиной (в терминах графа — перенаправим два соседних внешних ребра друг на друга, без изменения ориентации). Запомним, сколько треугольников сходилось в этой вершине — это будет строиться ещё один инвариант (множество валентностей внутренних вершин двойственного графа). Проверяем графы на изоморфизм, оставляем неизоморфные.
6) Продолжаем этот процесс, пока не дойдём до 4-угольников. Каждый из них склеиваем двумя возможными способами (сгибая по диагонали) — получаем триангуляции сферы.
7) Мы получили множества N-триангуляций K-угольников для K=4,6,...,N+2. Теперь нам нужно из каждой из них склеить все возможные поверхности. Склейки K-угольников просчитываем заранее. Каждая склейка — это разбиение сторон на пары, причём в паре может сохраняться или не сохраняться ориентация. Два условия: (1) соседние рёбра не склеиваются (склейку с сохранением ориентации мы учли на этапах 5-6, а склейка без сохранения физически невозможна — см. п.2) и (2) соседние вершины не отождествляются — иначе у треугольника склеились бы две вершины. Вообще, карту отождествления вершин тоже нужно просчитать — чтобы проверить, не соединятся ли две вершины одного треугольника при триангуляции (как эффективно осуществлять эту проверку я пока не знаю, так что оставлю в качестве упражнения).
8) Применяем каждую склейку к каждой триангуляции K-угольника (если это возможно). Запоминаем ориентированность, число Эйлера и множество степеней вершин двойственного графа (это инварианты. Число K — не инвариант!). После этого начинаем проверку изоморфизма…

По моим ощущениям, здесь плотной работы не больше, чем на пару дней. Сколько будет считать, и, главное, что можно было бы выиграть — пока не знаю.
Для 14 треугольников на этапе (4) получится примерно 100000 неизоморфных графов. Сколько склеек для каждого из них, пока не знаю. Но не больше, чем 16! (многие отсеятся по условиям из этапа (7) ).
Охохонюшки, спасибо за инфу
Универсальный инвариант планарного графа строится так.
Берём любое ребро (если есть «внешние» рёбра, то одно из них, если нет — просто любое). Обходим, начиная с этого ребра, граф в глубину по правилу левой руки. Встретившиеся вершины нумеруем, номера записываем: если пришли на свежую вершину — даём ей новый номер и переходим на неё, а если пришли на вершину, которая уже была (или на несобственную вершину), просто записываем её номер и возвращаемся.
Потом строим такую же последовательность по правилу правой руки.
Потом повторяем операцию для всех рёбер (или только для внешних рёбер, если они есть).
Из всех построенных последовательностей (их не более, чем 6*N) выбираем наименьшую в лексикографическом порядке. Насколько я понимаю, для неизоморфных графов построенные так последовательности будут различны. Осталось посчитать для них какую-нибудь хэш-функцию, и тогда проверка, что граф не встречался, займёт O(N^2) (независимо от числа уже найденных графов).
Простите мне мою глупость, но я вот уже второй день пытаюсь понять постановку задачи и у меня не получается. Вы не могли бы привести более формальную постановку задачи? Так например меня смущают следущие вопросы:
1) В примере вы привели такой вариант:
[[A B C], [A B D], [A C E], [B D E], [C D E]]
Но из него следует, что у нас есть стороны AD, DE и AE — которые тоже образуют треугольник. Почему этот треугольник не перечислен?
2) Исходные точки разположены на плоскости? В трёхмерном пространстве? В N-мерном?
3) Если на плоскости, то допускается ли пересечение сторон треугольником?(например если у нас больше 4 точек и мы их все соединим — то однозначно будут пересечения и вместе с тем, это в некоторой степери можно считать триангуляцией.

Список вопросов лиш для примера. Хотелось бы увидеть формальную постановку задачи, причём желательно в теле статьи. Заранее спасибо.
Вот в догонку один из способов решения одной из возможных(судя по вашему условию) задач:

Мне кажеться, что к вашей задаче можно подойти с другой стороны.

Её можно сформулировать так. Есть множество точек.
Необходимо соединить некоторые из них прямыми чтобы получить треугольную склейку
(определение треугольной склейки не предлагается).
Для начала отметим, что между у N точек есть всего N^2/2 различных пар и как следствие для 14 вершин всего
91 линия. Далее сущестует всего 2^91 (пожалуй всего здесь не уместно, но это я погорячился) различных вариантов.
Стоит отметить, что среди этих вариантов довольно много изоморфных, но есть способ это побороть. Способ будет ниже
. Всё что нам осталось — это проверить все эти варианты и по возможности сократить перебор отсекая плохие варианты группами на как можно более ранних этапах.

Например можно поступить так — пронумеровать все точки, далее каждой линиии присвоить число в N мерной системе исчисления из двух цифр(меньшая из вершин, затем большая из вершин) и отсортировать линии по возрастанию или убыванию.

После чего итерироваться по линиям — включая или не включая каждую из них (да — здесь можно генерировать двоичное число с о N^2/2 символами на основе которого определять какие линии включены, а какие нет).

Как и обещал способ избавления от изоморфизма:
Будет считать что в нашей выборке у точки с большим номером должно быть не меньше вершин чем у точки с меньшим номером. У такого способа есть огромное преимущество — с учётом выбранной итерации — он позволит нам довольно быстро отсекать изоморфные варианты.
В самом деле — верхние биты числа — это линии исходящии из вершины с самым больим номером — и если итерируясь по этим битам слева на право мы обнаружили, что по нащим подсчётам у второй вершин уже больше рёбер чем у первой, то это означает, что нам не важно какие значения принимают младшие биты двоичного числа и все двоичные числа с тамики старшими битами можно пропустить.
Аналогичный приём мы будет применять и при проверке на правильную триангуляцию — если по старшим битам видно что триангуляция не правильная — мы будет пропускать все такие числа.

Осталось собственно разобраться с проверкой на триангуляцию. Если я прав, то для этого достаточно двух критериев(надо будет этот момент обдумать получше):

1) Из любой вершины выходит не меньше двух рёбер.
2) Любое ребро принадлежит одному или двум теругольникам (или по другому — если две вершины соединены ребром, то существует ровно одна или две другие вершины, связанные одновременно с обоими этими вершинами)

(сформированные критерии не гарантируют, что полученную триангуляцию можно развернуть в плоскость)

Соответственно итоговый алгоритм выглядит примерно так:
1) Организуем циклы от 0 до 2^(N^2/2)
2) Внутри цила итерируется по битам счётчика выполняя следующие действия:
а) Считаем сколько рёбер из каждой вершины. Если в какой-то момент в этом метсе нарушена неубывающая последовательность, то переходим к следующему числу, которое отличается в уже обработанных битах.
б) Если всё рёбра из данной вершины обработанны(определить этот момент не сложно в силу сортировки рёбер), и их количество меньше 2, то переходи в следуюшему числу… (ну вы поняли).
в) Считаем количество треугольнов которым принадлежит ребро. Если в какой-то момент она принадлежит более чем двух — то вы знаете что делать.
3) В конце проверяем что каждое ребро принадлежит как минимум одному треугольнику.

Сложность алгоритма определать трудно, то я бы сказал что это будет около:
N*(N^2/2)*(2^(N^2/2)/N!) — без учёта отсеивания вариантов, которые не прошли проверку на триангуляцию.

Есть есть вопросы — то можно обсудить.
В данном решении не учтена связность результата. Иными словами никто не гарантирует, что в результате все треугольники образуют единую поверхность, а не несколько раздельных. Так же никто не гарантирует отсутствие склейки только по вершине.
Здравствуйте!
Образовывать то образовывают, но мы же строим не «каркас» из треугольников, а поверхноть, т.е. это дырка получается, ничего страшного. Мерность по идее трехмерная, но нам это не важно, рисовать не надо.

Например
[[A B C], [A B D], [A C D]]
это тетраэдр без дна, он по идее гомеоморфен диску. То есть BCD то «виден», но лишь чисто визуально, он не участвует в склейке.
А вот
[[A B C], [A B D], [A C D], [B C D]] уже можно сказать что сфера
Результат первого запуска программы (число склеек для каждого N):

N: 2, Meshes: 1, Closed: 0
N: 3, Meshes: 2, Closed: 0
N: 4, Meshes: 6, Closed: 1
N: 5, Meshes: 14, Closed: 0
N: 6, Meshes: 54, Closed: 1
N: 7, Meshes: 207, Closed: 0
N: 8, Meshes: 1088, Closed: 2
N: 9, Meshes: 6195, Closed: 0
N: 10, Meshes: 39591, Closed: 10
N: 11, Meshes: 274064, Closed: 0
N: 12, Meshes: 2018368, Closed: 92

(Closed — число склеек без края).
Похоже на правду?
Непохоже :( Для 10 замкнутых должно быть 6, а не 10. Ошибку уже вижу…
Вторая попытка:

N: 2, Meshes: 2, NClosed: 0
N: 3, Meshes: 2, NClosed: 0
N: 4, Meshes: 6, NClosed: 1
N: 5, Meshes: 10, NClosed: 0
N: 6, Meshes: 34, NClosed: 1
N: 7, Meshes: 95, NClosed: 0
N: 8, Meshes: 382, NClosed: 2
N: 9, Meshes: 1509, NClosed: 0
N: 10, Meshes: 7042, NClosed: 6
N: 11, Meshes: 34036, NClosed: 0
N: 12, Meshes: 179075, NClosed: 17
N: 13, Meshes: 983067, NClosed: 0
См. коммент ниже
для 11 29901 + еще немного пропущенных, наверно, дальше не считал
Для 10 у меня получается 7031, хоть убейте. Без вашего списка 10к не смогу понять в чем проблема (
Попробую найти программу и составить список. Это было так давно… :D
давно? меньше недели назад ) Вы её не выбрасывайте в любом случае, лучше мне отдайте ) Я как эталон буду использовать
Да пожалуйста (как математик математику :D ): www.dropbox.com/s/ysdjlsns71xh13w/triangmesh.cs
Надеюсь, разберётесь, что к чему…
А вот результат (до 10 треугольников): www.dropbox.com/s/gg6pjmk7trfwl03/10full.zip

За эту неделю мне удалось реализовать парочку функций в проекте, к которым я не мог подобраться три года, так что она была очень длинной :)
Большое вам спасибо!
для семи (все) 92, для восьми 366.
Дальше я итеративным перебором получил для 9 1400, но не совсем уверен в этой цифре, может быть немного больше
Для 10 6377, так же на самом деле может быть немного больше
Вот мои 95 «семёрок». Найти изоморфные пока не удалось. Недопустимых, вроде бы, нет.

семёрки
[A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [B E I]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [E C I]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [C F I]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [F A I]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [A G I]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [G D I]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [B H I]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [H E I]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C H] [A G I]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C H] [G D I]
[A B C] [A B D] [B C E] [C A F] [A D G] [F A H] [A G I]
[A B C] [A B D] [B C E] [C A F] [A D G] [F A H] [G D I]
[A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [G D I]
[A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [A H I]
[A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [H G I]
[A B C] [A B D] [B C E] [C A F] [A D G] [G D H] [G H I]
[A B C] [A B D] [B C E] [C A F] [A D G] [G D H] [H D I]
[A B C] [A B D] [B C E] [A D F] [B E G] [A F H] [B G I]
[A B C] [A B D] [B C E] [A D F] [B E G] [A F H] [G E I]
[A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [B G I]
[A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [G E I]
[A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [F H I]
[A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [H D I]
[A B C] [A B D] [B C E] [A D F] [B E G] [B G H] [B H I]
[A B C] [A B D] [B C E] [A D F] [B E G] [B G H] [H G I]
[A B C] [A B D] [B C E] [A D F] [E C G] [F D H] [E G I]
[A B C] [A B D] [B C E] [D B F] [B E G] [F B H] [B G I]

[A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [B E H]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [E C F]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [E C H]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [C F H]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [F A H]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [B E H]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [E C H]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [A G H]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [F A G]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [A G H]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [G D H]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [E F H]
[A B C] [A B D] [B C E] [C A F] [A D G] [F A H] [A G H]
[A B C] [A B D] [B C E] [C A F] [A D G] [F A G] [G D H]
[A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [G D H]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [C D H]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [D F H]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [F B H]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [B G H]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [G E H]
[A B C] [A B D] [B C E] [C A D] [D B F] [E C G] [D F H]
[A B C] [A B D] [B C E] [C A D] [D B F] [E C G] [E G H]
[A B C] [A B D] [B C E] [C A D] [D B F] [E C G] [G C H]
[A B C] [A B D] [B C E] [C A D] [B E F] [B F G] [B G H]
[A B C] [A B D] [B C E] [C A D] [B E F] [B F G] [G F H]
[A B C] [A B D] [B C E] [C A D] [B E F] [F E G] [F G H]
[A B C] [A B D] [B C E] [C A D] [B E F] [F E G] [G E H]
[A B C] [A B D] [B C E] [D B F] [B E G] [F B H] [B G H]

[A B C] [A B D] [B C E] [C A F] [A D E] [D B G] [E C D]
[A B C] [A B D] [B C E] [C A F] [A D E] [B E G] [A E G]
[A B C] [A B D] [B C E] [C A F] [A D E] [B E G] [E D G]
[A B C] [A B D] [B C E] [C A F] [A D E] [E C G] [A E G]
[A B C] [A B D] [B C E] [C A F] [A D E] [E C G] [E D G]
[A B C] [A B D] [B C E] [C A F] [A D E] [E C D] [A E G]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [E C F]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [E C D]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [F A G]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [B E G]
[A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [E C F]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E F] [F A E]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E F] [E C F]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E G] [A G E]
[A B C] [A B D] [B C E] [C A F] [A D G] [B E G] [G D E]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C G] [A G E]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C G] [G D E]
[A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [F A E]
[A B C] [A B D] [B C E] [C A F] [A D G] [F A G] [G D F]
[A B C] [A B D] [B C E] [C A F] [A D F] [D B F] [B F G]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [E C G]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [C D F]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [F B G]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E F] [C D G]
[A B C] [A B D] [B C E] [C A D] [B E F] [B F G] [F E G]
[A B C] [A B D] [B C E] [A D F] [B E F] [A F G] [B F G]
[A B C] [A B D] [B C E] [A D F] [B E F] [A F G] [F E G]
[A B C] [A B D] [B C E] [A D F] [B E F] [F D G] [F E G]
[A B C] [A B D] [B C E] [A D F] [B E G] [A F G] [B G F]
[A B C] [A B D] [B C E] [A D F] [B E G] [A F G] [G E F]
[A B C] [A B D] [B C E] [A D F] [B E G] [F D G] [B G F]
[A B C] [A B D] [B C E] [A D F] [B E G] [F D G] [G E F]
[A B C] [A B D] [B C E] [A D F] [E C G] [F D G] [E G F]

[A B C] [A B D] [B C E] [C A F] [A D E] [E C F] [E D F]
[A B C] [A B D] [B C E] [C A F] [A D E] [E C D] [C F D]
[A B C] [A B D] [B C E] [C A F] [A D F] [D B E] [E C F]
[A B C] [A B D] [B C E] [C A F] [A D F] [D B E] [E C D]
[A B C] [A B D] [B C E] [C A F] [A D F] [D B F] [B E F]
[A B C] [A B D] [B C E] [C A D] [D B F] [B E F] [E C F]
[A B C] [A B D] [B C E] [C A D] [D B F] [E C F] [D F E]
Вот что получилось у меня по этому списку:

минусы там, где склейка изоморфна какой нибудь другой
склейки
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [B E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [E C I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [C F I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [F A I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [B H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [H E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [A H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [H G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [G D H], [G H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [G D H], [H D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F H], [B G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F H], [G E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [B G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [G E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [F H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [H D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [B G H], [B H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [B G H], [H G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [E C G], [F D H], [E G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [D B F], [B E G], [F B H], [B G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [B E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [E C F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [E C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [C F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [F A H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [B E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [E C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [F A G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [G D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [E F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A H], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A G], [G D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [G D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [C D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [F B H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [G E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C G], [E G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C G], [G C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [B F G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [B F G], [G F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [F E G], [F G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [F E G], [G E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [D B F], [B E G], [F B H], [B G H]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [D B G], [E C D]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [B E G], [A E G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [B E G], [E D G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C G], [A E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C G], [E D G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C D], [A E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [E C F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [E C D]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [F A G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [B E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [E C F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E F], [F A E]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E F], [E C F]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E G], [A G E]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E G], [G D E]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C G], [A G E]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C G], [G D E]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [F A E]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A G], [G D F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [E C G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [C D F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [F B G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E F], [C D G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [B F G], [F E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E F], [A F G], [B F G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E F], [A F G], [F E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E F], [F D G], [F E G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F G], [B G F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F G], [G E F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D G], [B G F]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D G], [G E F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [E C G], [F D G], [E G F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C F], [E D F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C D], [C F D]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C D]]
— [A B C] [A B D] [B C E] [C A F] [A D F] [D B F] [B E F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E F] [E C F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [E C F] [D F E]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C F], [D F E]]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [B E I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [E C I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [C F I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [F A I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [A G I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [G D I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [B H I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [H E I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C H] [A G I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C H] [G D I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [F A H] [A G I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [F A H] [G D I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [G D I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [A H I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [H G I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [G D H] [G H I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [G D H] [H D I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [A F H] [B G I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [A F H] [G E I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [B G I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [G E I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [F H I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [F D H] [H D I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [B G H] [B H I]
— [A B C] [A B D] [B C E] [A D F] [B E G] [B G H] [H G I]
— [A B C] [A B D] [B C E] [A D F] [E C G] [F D H] [E G I]
— [A B C] [A B D] [B C E] [D B F] [B E G] [F B H] [B G I]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [B E H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B H] [E C F]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [E C H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [C F H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [F A H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [B E H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [E C H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [A G H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E H] [F A G]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [A G H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [G D H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [E F H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [F A H] [A G H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [F A G] [G D H]
— [A B C] [A B D] [B C E] [C A F] [A D G] [A G H] [G D H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [C D H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [D F H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [F B H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [B G H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [G E H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [E C G] [D F H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [E C G] [E G H]
— [A B C] [A B D] [B C E] [C A D] [D B F] [E C G] [G C H]
— [A B C] [A B D] [B C E] [C A D] [B E F] [B F G] [B G H]
— [A B C] [A B D] [B C E] [C A D] [B E F] [B F G] [G F H]
— [A B C] [A B D] [B C E] [C A D] [B E F] [F E G] [F G H]
— [A B C] [A B D] [B C E] [C A D] [B E F] [F E G] [G E H]
— [A B C] [A B D] [B C E] [D B F] [B E G] [F B H] [B G H]
— [A B C] [A B D] [B C E] [C A F] [A D E] [D B G] [E C D]
— [A B C] [A B D] [B C E] [C A F] [A D E] [B E G] [A E G]
— [A B C] [A B D] [B C E] [C A F] [A D E] [B E G] [E D G]
— [A B C] [A B D] [B C E] [C A F] [A D E] [E C G] [A E G]
— [A B C] [A B D] [B C E] [C A F] [A D E] [E C G] [E D G]
— [A B C] [A B D] [B C E] [C A F] [A D E] [E C D] [A E G]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [E C F]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [E C D]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B E] [F A G]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [B E G]
— [A B C] [A B D] [B C E] [C A F] [A D G] [D B G] [E C F]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E F] [F A E]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E F] [E C F]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E G] [A G E]
— [A B C] [A B D] [B C E] [C A F] [A D G] [B E G] [G D E]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C G] [A G E]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C G] [G D E]
— [A B C] [A B D] [B C E] [C A F] [A D G] [E C F] [F A E]
— [A B C] [A B D] [B C E] [C A F] [A D G] [F A G] [G D F]
— [A B C] [A B D] [B C E] [C A F] [A D F] [D B F] [B F G]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [E C G]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [C D F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E G] [F B G]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E F] [C D G]
— [A B C] [A B D] [B C E] [C A D] [B E F] [B F G] [F E G]
— [A B C] [A B D] [B C E] [A D F] [B E F] [A F G] [B F G]
— [A B C] [A B D] [B C E] [A D F] [B E F] [A F G] [F E G]
— [A B C] [A B D] [B C E] [A D F] [B E F] [F D G] [F E G]
— [A B C] [A B D] [B C E] [A D F] [B E G] [A F G] [B G F]
— [A B C] [A B D] [B C E] [A D F] [B E G] [A F G] [G E F]
— [A B C] [A B D] [B C E] [A D F] [B E G] [F D G] [B G F]
— [A B C] [A B D] [B C E] [A D F] [B E G] [F D G] [G E F]
— [A B C] [A B D] [B C E] [A D F] [E C G] [F D G] [E G F]
— [A B C] [A B D] [B C E] [C A F] [A D E] [E C F] [E D F]
— [A B C] [A B D] [B C E] [C A F] [A D E] [E C D] [C F D]
— [A B C] [A B D] [B C E] [C A F] [A D F] [D B E] [E C F]
— [A B C] [A B D] [B C E] [C A F] [A D F] [D B E] [E C D]
— [A B C] [A B D] [B C E] [C A F] [A D F] [D B F] [B E F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E F] [E C F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [E C F] [D F E]

это почти половина…
Вот мои 92
склейки
N = 7
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C D F], [C E F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C D F], [C E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C D F], [C F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C E F], [C F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C E F], [D E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D E], [C E F], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E F], [C D G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E F], [C E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E F], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [B F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [B F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [C D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [C E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [C E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [B E G], [E G H]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [C E F], [D E F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [C E G], [C G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [C E G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B D F], [C E G], [E G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [B F G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [B F G], [C E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [B F G], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [B F G], [E F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [B F G], [F G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [C E G], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [C E G], [E F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [E F G], [E G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C D], [B C E], [B E F], [E F G], [F G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B D F], [C E F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B D F], [C E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B D G], [B F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B D G], [B F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B D G], [C E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B D G], [C F H]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B E F], [D E F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B F G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B F G], [C F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B F G], [D E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D E], [B C F], [B F G], [F G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E F], [B C G], [B D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E F], [B C G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E F], [B C G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [A F G], [B C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [A F H], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [A F H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [A F H], [B C I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [A F H], [C E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [A F H], [E G I]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B C F], [C D F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B C H], [B D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B C H], [B H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B C H], [D F I]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D E], [B E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D E], [C D E]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D E], [D E G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D G], [B E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D G], [D E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D H], [B H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D H], [C E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D H], [D F I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D H], [D H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [B D H], [E G I]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [D E F], [D E G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [D E F], [E F G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [D F G], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [D F H], [D H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [D F H], [E G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [A E G], [D F H], [F H I]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [B C F], [B D G], [C D F]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C F], [B F G], [D F G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [B C F], [C F G], [D F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B D H], [C E I]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B F G], [D F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B G H], [C E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B G H], [D F I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [B G H], [G H I]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [C F G], [D F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [C G H], [D F I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [D F H], [D H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [B C G], [D F H], [F H I]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [C D G], [C E G], [D F G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [C E F], [D F G], [E F G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [A D F], [C E G], [C F G], [D F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [C E G], [C G H], [D F I]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [A C E], [A D F], [C E G], [D F G], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [C E G], [D F H], [E G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [C E G], [E G H], [E H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [A D F], [C E G], [E G H], [G H I]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [A C E], [B D F], [C E G], [D F G], [E F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [A C E], [B D F], [C E G], [D F H], [E G I]]
Total:92
Ops: 4529365776
Stopped at op:9827994 (0.217%)
Duration: 00:25:22
Извиняюсь, чета результаты какие то корявые вывелись, ща
Последние три у вас изоморфные

x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [B E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [E C I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [C F I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [F A I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [B H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [H E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A H], [A G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [G D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [A H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [H G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [G D H], [G H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [G D H], [H D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F H], [B G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F H], [G E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [B G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [G E I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [F H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D H], [H D I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [B G H], [B H I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [B G H], [H G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [A D F], [E C G], [F D H], [E G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [D B F], [B E G], [F B H], [B G I]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [B E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B H], [E C F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [E C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [C F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [F A H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [B E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [E C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E H], [F A G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [G D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [E F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A H], [A G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A G], [G D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [A G H], [G D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [C D H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [F B H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [G E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C G], [D F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C G], [E G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [E C G], [G C H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [B F G], [B G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [B F G], [G F H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [F E G], [F G H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [F E G], [G E H]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [D B F], [B E G], [F B H], [B G H]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [D B G], [E C D]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [B E G], [A E G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [B E G], [E D G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C G], [A E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C G], [E D G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C D], [A E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [E C F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [E C D]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B E], [F A G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [B E G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [D B G], [E C F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E F], [F A E]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E F], [E C F]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E G], [A G E]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [B E G], [G D E]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C G], [A G E]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C G], [G D E]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [E C F], [F A E]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D G], [F A G], [G D F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B F G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [E C G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [C D F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E G], [F B G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [D B F], [B E F], [C D G]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A D], [B E F], [B F G], [F E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E F], [A F G], [B F G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E F], [A F G], [F E G]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E F], [F D G], [F E G]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F G], [B G F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [A F G], [G E F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D G], [B G F]]
x(F)=0 K=2 g=0.0 [[A B C], [A B D], [B C E], [A D F], [B E G], [F D G], [G E F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [A D F], [E C G], [F D G], [E G F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C F], [E D F]]
x(F)=0 K=1 m=1.0 [[A B C], [A B D], [B C E], [C A F], [A D E], [E C D], [C F D]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C F]]
x(F)=1 K=1 g=0.0 [[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C D]]
— [A B C] [A B D] [B C E] [C A F] [A D F] [D B F] [B E F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [B E F] [E C F]
— [A B C] [A B D] [B C E] [C A D] [D B F] [E C F] [D F E]
показать каким именно склейкам изоморфны последние три? Надо децл прогу подшаманить
Было бы интересно. Понятно, что изоморфные им могут быть только среди других 6-вершинных склеек, то есть среди 7 последних. Три из них — это листы Мёбиуса с внутренней вершиной, причём эти вершины имеют порядок 4,5, и 3 соответственно (последний случай попал в число «изоморфных кому-то»). Остальные 4 — сферы с треугольной дыркой. Одна из них — октаэдр без грани, остальные — результат вырезания грани из второй 8-триангуляции сферы. Вот этой:
[A B C] [A B D] [B C E] [C A F] [A D F] [D B E] [E C D] [C F D]
Эта триангуляция имеет группу симметрий прямоугольника, и грани у неё делятся на 3 класса эквивалентных. Вот каждая из них по очереди и вырезается.
Я пока не вижу ошибки в этом рассуждении. Может быть, её увидит программа?
Хорошо, схожу на защиту (гыгы) и потом найдем ваши изоморфыши)
вот пары изоморфышей, не удержался )

[[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C D]] — [[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B E F]]
[[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C D]] — [[A B C], [A B D], [B C E], [C A D], [D B F], [B E F], [E C F]]
[[A B C], [A B D], [B C E], [C A F], [A D E], [E C D], [C F D]] — [[A B C], [A B D], [B C E], [C A D], [D B F], [E C F], [D F E]]
сначала идут те, что уже в списке, справа — те что проверялись. Можно и графы вывести которые по ним получаются. Я просто либу юзую для java которая этим безобразием занимается, надо будет в ней покопаться
Отлично. Возьмём первую пару.
[[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C D]] — [[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B E F]]

У первой склейки край состоит из отрезков CF, FD, CD (каждый из них принадлежит ровно одному треугольнику). Вершина C встречается в 4 треугольниках, D — тоже в 4, F — в двух.
У второй склейки край — CE, CF, EF. Вершина C встречается в 3 треугольниках, E в двух, F в четырёх.
На изоморфизм непохоже.
Вот какие графы строятся по этим двум склейкам
для
[[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B E F]]:
{ vertices: [5, 4, 3, 2, 1, 0], edges: [(4<-->5), (3<-->5), (2<-->5), (2<-->4), (1<-->5), (1<-->4), (1<-->3), (1<-->2), (0<-->5), (0<-->3), (0<-->2), (0<-->1)]}

список вершин и их грани
{5=[(5<-->4), (5<-->3), (5<-->2), (5<-->1), (5<-->0)],4=[(4<-->5), (4<-->2), (4<-->1)],3=[(3<-->5), (3<-->1), (3<-->0)],2=[(2<-->5), (2<-->4), (2<-->1), (2<-->0)],1=[(1<-->5), (1<-->4), (1<-->3), (1<-->2), (1<-->0)],0=[(0<-->5), (0<-->3), (0<-->2), (0<-->1)]}

Для
[[A B C], [A B D], [B C E], [C A F], [A D F], [D B E], [E C D]]

{ vertices: [5, 4, 3, 2, 1, 0], edges: [(3<-->5), (3<-->4), (2<-->5), (2<-->4), (2<-->3), (1<-->4), (1<-->3), (1<-->2), (0<-->5), (0<-->3), (0<-->2), (0<-->1)]}

список вершин с гранями
{ vertices: [5, 4, 3, 2, 1, 0], edges: [(3<-->5), (3<-->4), (2<-->5), (2<-->4), (2<-->3), (1<-->4), (1<-->3), (1<-->2), (0<-->5), (0<-->3), (0<-->2), (0<-->1)]}

список вершин с гранями для второй склейки не получился.
Кстати, непонятно, как различается список граней для внутренней вершины и вершины на краю.
Например, в склейке [[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B E F]] только одна вершина встречается в 5 гранях — вершина B. А в «списке вершин и их гранях» таких две: вершины 1 и 5. Такое впечатление, что программа проверки изоморфизма принимает треугольную дырку за грань.

Правда, это не объясняет, что случилось с третьей парой:
[[A B C], [A B D], [B C E], [C A F], [A D E], [E C D], [C F D]] — [[A B C], [A B D], [B C E], [C A D], [D B F], [E C F], [D F E]]
Во второй склейке есть вершина A, окруженная тремя треугольниками: [A B C], [A B D], [C A D]. В первой таких объектов нет. Правда, там вершины B и E принадлежат каждая трём граням, например, [A B C], [A B D], [B C E] — но видно, что она лежит на краю.

Всё это очень загадочно.
Давайте я расскажу как строю графы по склейкам.

Я беру все треугольники в склейке и запихиваю все 3 ребра каждого треугольника в граф.И так пока не пройду все треугольники. Строится обычный неориентированный граф, если одно ребро добавить несколько раз, то это игнорируется.

для [[A B C], [A B D], [B C E], [C A F], [A D F], [D B F], [B E F]]
это AB BC CA | AB BD DA | BC CE EB | CA AF FC | AD DF FA | DB BF FD | BE EF FB |
в сухом остатке получается набор из 12 ребер AB BC AC BD AD CE BE AF CF DF BF EF по которым и строится граф.
то же и для остальных

Ну, вот и получается, что для изоморфных графов рёбер существуют неизоморфные склейки.
В простейшем случае мы можем заклеить треугольную дырку, а потом удалить любую грань (так, чтобы склейка осталась правильной). В этом случае граф рёбер не изменится, но конфигурация граней будет уже другой.
Пример с двумя лентами Мёбиуса интереснее. Там получился одинаковый рёберный граф:
AB, AC, AD, AE, AF, BC, CD, DE, EF, BF, BD, CF, DF, но на него натянуты два разных набора треугольников. В одном случае это ABC, ACD, ADE, AEF, BDF, ABF, CDF, а во втором — ABC, ACD, ADE, AEF, BDF, BCF, DEF. В первой ленте есть внутренняя вершина степени 5, во второй — степени 3.
И как тогда задавать графы для склеек? Есть идеи?
Если вы предполагаете пользоваться библиотечной функцией проверки изоморфизма, то я не знаю, есть ли хороший вариант. Можно попробовать каждому треугольнику сопоставить три вершины графа (по одной для каждой вершины треугольника), соединить их между собой, и для каждого ребра склейки провести два ребра графа, соединяющие склеенные этим ребром вершины треугольников. Такую схему обмануть сложно, хотя в случае тетраэдра она предлагает автоморфизм графа, при котором вершины тетраэдра переходят в грани и наоборот.
А вообще, сработает такое представление. Для каждого треугольника выбираем ориентацию, после чего описываем каждый треугольник тремя тройками чисел: для каждой его стороны (в порядке обхода) указываем номер треугольника по другую сторону ребра, номер стороны того треугольника, к которой мы приклеились и взаимную ориентацию этих треугольников (одинаковая или разная). Но я про это уже писал (в первом пункте).
Мне было удобнее вместо треугольников рассматривать ориентированный и размеченный граф рёбер (для каждого ребра описывались 4 смежных с ним, с указанием взаимной ориентации). Но этот подход требует большой аккуратности и воображения, он совсем не объектный.
Ясно. Ладно, будем думать. Спасибо за помощь. Диплом я утром защитил )
Поздравляю )
По поводу взаимной ориентации треугольников. Есть две склейки

[[A B C], [A B D], [A C E], [A E F], [B C F], [B E F]] и [[A B C], [A B D], [A C E], [A D F], [B C F], [C D F]]
Они по идее изоморфны, но. То, в каком месте склейки будет выявлена неориентируемость поверхности зависит от того, с какого треугольника начинать выставлять направление обхода, я прав?
Тогда не очень понятно, как это можно использовать при проверке на изоморфность…
И очень бы не помешал полный список склеек вплоть хотя бы до 10, чтобы сверить. А то у меня до 6 совпадает (95) а дальше получается меньше (378 вместо 382) ну и понятно, что дальше еще меньше. Хочется понять, чем эти ваши 4 отличаются от моих. Заранее спасибо!
А вот список всех триангуляций без края до 20 треугольников включительно.

Начиная с 11 треугольников общее число склеек, выводимое программой, занижено, поскольку начали работать отсечения склеек со слишком длинным краем. Но склейки без края считаются и выводятся в полном объёме.
круто ) с моим подходом этого никада не сосчитать
В ваш подход достаточно добавить одну вещь — не бояться склеивать вершины. Тогда каждый раз достаточно добавлять один треугольник, приклеивая его к ребру или склеивая 2-3 ребра с его помощью. И проверять, что склейка вершин не привела к катастрофе. После этого всё будет считаться очень быстро.
В восьмерках есть такая одна гнида

x(F)=-1 K=1 g=1.0 [[A B C], [A B D], [A C E], [A D F], [B C F], [B E F], [C D E], [D E F]]

которую не получить не только из всех семерок дописыванием одного треугольника
но и из всех шестерок дописывая два.

Получить её можно только отняв у всех семерок по 2 треугольника и догенерив 3. Почему просто не взять пятерки? Потому что в комбинациях «все семерки — 2 треугольника» есть такие, которых в пятерках нет.

Получается, надо с самого начала генерить не только правильные склейки, но и все неправильные. А это тоже дофига вариантов
Возьмём правильную семёрку [[A B C], [A B D], [A C E1], [A D F], [B C F], [B E F], [D E F]] и склеим в ней рёбра [E1 C] и [E D] через треугольник [E C D] (вершины E и E1 при этом склеятся). Получим то, что надо.
да, надо подумать над этим вариантом
Я тут проверил… Семерка то неправильная

треугольники [[B E F], [D E F]] соеденены по ребру, а [A C E1] соприкасается с ними только вершиной. То есть, окресность точки E уже не диск. Так бы да, оно б догенерилось без проблем
Так до склейки E и E1 — разные вершины. Они отождествляются только во время добавления восьмого треугольника.
а, то есть в оригинале E1 это вообще левая вершина, например G… Да, тогда гораздо веселей
Я уже наверное вас достал, но у меня опять вопрос ) Механизм склейки вершин до меня допёр, теперь непонятно сколько склеивать и когда останавливаться. То есть, взяли мы
[[A B C], [A B D], [A C E], [B D F]]
заменили F на E, получили
[[A B C], [A B D], [A C E], [B D E]] дорисовали [C D E] и получили ленту Мебиуса. Отлично. Есть ли критерии по которым склеивать вершины? Или все попарно, а потом не дай бог еще и еще. То есть, не надо ли будет потом эту E склеить, например с С?

Берём два ребра. В вашем случае, EC и FD. Говорим, что мы собираемся приклеить к ним треугольник так, что вершины E и F склеются. Проверяем, что это возможно. И, если возможно, приклеиваем. Повторяем эту операцию, пытаясь склеить другие вершины тех же рёбер (ни в одном из трёх случаев ничего не получается), потом проверяем другие пары рёбер. Больше ничего склеивать не пытаемся. То есть, склейка вершин — не особое действие, а побочный эффект (если бы мы приклеили треугольник к AD и AE, вершина A бы «склеилась сама с собой»).
Ещё надо поприклеивать треугольник к каждому из рёбер, а если осталось три ребра — то заклеить дырку. Других вариантов добавления треугольника к данной склейке рассматривать не нужно, и склеивать дополнительные вершины тоже не нужно. Если при приклеивании треугольника попытались склеиться два других ребра — не рассматриваем этот случай, даже если это были рёбра края. Вариант, который мог бы при этом получиться, мы и так когда-нибудь найдём.
Хорошо, вроде бы понятно. В таком случае, наверное, можно не трогать рёбра вроде AB которые уже и так смежные, да?
Конечно, к ним уже ничего не приклеить. Работа идёт только с краем.
Да, очень похоже, что сработало, спасибо!.. Теперь надо подшаманить изоморфность, чтобы лишнего не перебирать после генерации всех «мутаций» для валидной склейки. Ну и чтоб не отсекать лишние, надо ведь 95, а не 92 для семерок получить )
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации