2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: задача на перестановку нулей и единиц
Сообщение14.01.2018, 20:26 
Заслуженный участник


27/04/09
28128
B@R5uk, Dmitriy40, спасибо за интересный вопрос: есть ли различные с точностью до «эквивалентности» правил 3 двойному 1 и 6 двойному 2 решения? Предсказываю отрицательный ответ.

-- Вс янв 14, 2018 22:29:34 --

(Это для оригинальной задачи с равным числом баранов разного знака и с одним пропуском. Про другие кассандрить не рискну.)

 Профиль  
                  
 
 Re: задача на перестановку нулей и единиц
Сообщение14.01.2018, 20:39 
Аватара пользователя


26/05/12
1534
приходит весна?
Поэкспериментировал тут с двумя пропусками. Получилась такая табличка:
......1....2....3....4....5....6....7....8....9...10
.1....6....8...10...13...15...17...20...22...24...27
.2....8...11...15...18...21...25...28...31...35...38
.3...10...15...19...24...28...33...37...42...46...51
.4...13...18...24...29...35...40...46...51...57...62
.5...15...21...28...35...41...48...54...61...67...74
.6...17...25...33...40...48...55...63...70...78...85
.7...20...28...37...46...54...63...71...80...88...97
.8...22...31...42...51...61...70...80...89...99..108
.9...24...35...46...57...67...78...88...99..109..120
10...27...38...51...62...74...85...97..108..120..131

Тут уже красивая формула не проглядывается, но если из этой таблички вычесть число $(N+1)(M+1)+\left\lceil\frac{N+M}{2} \right\rceil$, то получится такая интересная табличка:
.....1...2...3...4...5...6...7...8...9..10
.1...1...0...0...0...0..-1...0..-1..-1..-1
.2...0...0...0...0..-1...0..-1..-1..-1..-1
.3...0...0...0...0...0...0...0...0...0...0
.4...0...0...0...0...0...0...0...0...0...0
.5...0..-1...0...0...0...0...0...0...0...0
.6..-1...0...0...0...0...0...0...0...0...0
.7...0..-1...0...0...0...0...0...0...0...0
.8..-1..-1...0...0...0...0...0...0...0...0
.9..-1..-1...0...0...0...0...0...0...0...0
10..-1..-1...0...0...0...0...0...0...0...0

Ну и решение 10 на 10:

(Оффтоп)

1111111111__0000000000
11111111_11_0000000000
11111111_1_10000000000
111111_111_10000000000
1111_11111_10000000000
11_1111111_10000000000
_111111111_10000000000
_11111111101_000000000
_111111111010_00000000
_1111111110_0100000000
_11111111_010100000000
_1111111_1010100000000
_111111101_10100000000
_11111110101_100000000
_1111111010101_0000000
_11111110101010_000000
_111111101010_01000000
_1111111010_0101000000
_11111110_010101000000
_111111_01010101000000
_11111_101010101000000
_1111101_1010101000000
_111110101_10101000000
_11111010101_101000000
_1111101010101_1000000
_111110101010101_00000
_1111101010101010_0000
_11111010101010_010000
_111110101010_01010000
_1111101010_0101010000
_11111010_010101010000
_111110_01010101010000
_1111_0101010101010000
_111_10101010101010000
_11101_101010101010000
_1110101_1010101010000
_111010101_10101010000
_11101010101_101010000
_1110101010101_1010000
_111010101010101_10000
_11101010101010101_000
_111010101010101010_00
_1110101010101010_0100
_11101010101010_010100
_111010101010_01010100
_1110101010_0101010100
_11101010_010101010100
_111010_01010101010100
_1110_0101010101010100
_11_010101010101010100
_1_1010101010101010100
_101_10101010101010100
01_1_10101010101010100
01_101_101010101010100
0101_1_101010101010100
0101_101_1010101010100
010101_1_1010101010100
010101_101_10101010100
01010101_1_10101010100
01010101_101_101010100
0101010101_1_101010100
0101010101_101_1010100
010101010101_1_1010100
010101010101_101_10100
01010101010101_1_10100
01010101010101_101_100
0101010101010101_1_100
0101010101010101_101_0
0101010101010101_10_10
010101010101010101__10
010101010101010101_01_
0101010101010101010_1_
01010101010101010_011_
010101010101010_01011_
0101010101010_0101011_
01010101010_010101011_
010101010_01010101011_
0101010_0101010101011_
01010_010101010101011_
010_01010101010101011_
0_0101010101010101011_
00_101010101010101011_
0001_1010101010101011_
000101_10101010101011_
00010101_101010101011_
0001010101_1010101011_
000101010101_10101011_
00010101010101_101011_
0001010101010101_1011_
000101010101010101_11_
00010101010101010_111_
000101010101010_01111_
0001010101010_0101111_
00010101010_010101111_
000101010_01010101111_
0001010_0101010101111_
00010_010101010101111_
000_01010101010101111_
0000_1010101010101111_
000001_10101010101111_
00000101_101010101111_
0000010101_1010101111_
000001010101_10101111_
00000101010101_101111_
0000010101010101_1111_
000001010101010_11111_
0000010101010_0111111_
00000101010_010111111_
000001010_01010111111_
0000010_0101010111111_
00000_010101010111111_
000000_10101010111111_
00000001_101010111111_
0000000101_1010111111_
000000010101_10111111_
00000001010101_111111_
0000000101010_1111111_
00000001010_011111111_
000000010_01011111111_
0000000_0101011111111_
00000000_101011111111_
00000000_1010111111_11
00000000_10101111_1111
00000000_101011_111111
00000000_1010_11111111
00000000_10_0111111111
00000000__010111111111
00000000_0_10111111111
00000000_001_111111111
0000000000_1_111111111
0000000000__1111111111
Не особо оно сильно отличается от случая с одним пробелом. Разве только если существенно изменить условие задачи: разрешить прыгать баранам через друг друга в свободные места одновременно. Тогда в плане оптимальности ходов действительно интерес появится.

-- 14.01.2018, 22:36 --

Нашёл ошибку в своей программе. После нахождения конечной позиции и внутреннего цикла вышел, а из внешнего забыл выйти. Потому часть данных выше ошибочна: количество ходов может быть завышена. Для задачи с одним пропуском, однако, все пересчитанные ходы совпали. Видимо, решение находится на самой высокой вершине дерева решений. Для случая с двумя пропусками, нашлись улучшения.
Теперь табличка выглядит так:
......0....1....2....3....4....5....6....7....8....9...10
.0....1....3....3....5....5....7....7....9....9...11...11
.1....3....6....7...10...12...15...17...19...21...24...26
.2....3....7...11...14...17...21...24...27...31...34...37
.3....5...10...14...19...23...28...32...37...41...46...50
.4....5...12...17...23...29...34...40...45...51...56...62
.5....7...15...21...28...34...41...47...54...60...67...73
.6....7...17...24...32...40...47...55...62...70...77...85
.7....9...19...27...37...45...54...62...71...79...88...96
.8....9...21...31...41...51...60...70...79...89...98..108
.9...11...24...34...46...56...67...77...88...98..109..119
10...11...26...37...50...62...73...85...96..108..119..131

А после вычитания величины $\left( N+1 \right)\left( M+1 \right)+\left\lfloor \frac{N+M}{2} \right\rfloor $ она становится такой:
.....0...1...2...3...4...5...6...7...8...9..10
.0...0...1..-1...0..-2..-1..-3..-2..-4..-3..-5
.1...1...1...0...0...0...0...0..-1..-1..-1..-1
.2..-1...0...0...0..-1...0..-1..-1..-1..-1..-2
.3...0...0...0...0...0...0...0...0...0...0...0
.4..-2...0..-1...0...0...0...0...0...0...0...0
.5..-1...0...0...0...0...0...0...0...0...0...0
.6..-3...0..-1...0...0...0...0...0...0...0...0
.7..-2..-1..-1...0...0...0...0...0...0...0...0
.8..-4..-1..-1...0...0...0...0...0...0...0...0
.9..-3..-1..-1...0...0...0...0...0...0...0...0
10..-5..-1..-2...0...0...0...0...0...0...0...0

Решение для 10 на 10 получилось совершенно другое, но число ходов то же самое: 130 (131 позиция). Оба решения, разумеется, правильные. Видимо существует множество различных оптимальных решений. Интересно было бы их тоже подсчитать.

(Оффтоп)

1111111111__0000000000
111111111_1_0000000000
111111111_10_000000000
1111111_1110_000000000
11111_111110_000000000
111_11111110_000000000
1_1111111110_000000000
1_11111111_01000000000
1_1111111_101000000000
1_111111101_1000000000
1_11111110101_00000000
1_111111101010_0000000
1_1111111010_010000000
1_11111110_01010000000
1_111111_0101010000000
1_11111_10101010000000
1_1111101_101010000000
1_111110101_1010000000
1_11111010101_10000000
1_1111101010101_000000
1_11111010101010_00000
1_111110101010_0100000
1_1111101010_010100000
1_11111010_01010100000
1_111110_0101010100000
1_1111_010101010100000
1_111_1010101010100000
1_11101_10101010100000
1_1110101_101010100000
1_111010101_1010100000
1_11101010101_10100000
1_1110101010101_100000
1_111010101010101_0000
1_1110101010101010_000
1_11101010101010_01000
1_111010101010_0101000
1_1110101010_010101000
1_11101010_01010101000
1_111010_0101010101000
1_1110_010101010101000
1_11_01010101010101000
1_1_101010101010101000
1_101_1010101010101000
101_1_1010101010101000
101_101_10101010101000
10101_1_10101010101000
10101_101_101010101000
1010101_1_101010101000
1010101_101_1010101000
101010101_1_1010101000
101010101_101_10101000
10101010101_1_10101000
10101010101_101_101000
1010101010101_1_101000
1010101010101_101_1000
101010101010101_1_1000
101010101010101_101_00
10101010101010101_1_00
10101010101010101_100_
1010101010101010101_0_
101010101010101010_10_
1010101010101010_0110_
10101010101010_010110_
101010101010_01010110_
1010101010_0101010110_
10101010_010101010110_
101010_01010101010110_
1010_0101010101010110_
10_010101010101010110_
_01010101010101010110_
0_1010101010101010110_
001_10101010101010110_
00101_101010101010110_
0010101_1010101010110_
001010101_10101010110_
00101010101_101010110_
0010101010101_1010110_
001010101010101_10110_
00101010101010101_110_
00101010101010101_1_01
00101010101010101__101
00101010101010101_01_1
001010101010101010_1_1
0010101010101010_011_1
00101010101010_01011_1
001010101010_0101011_1
0010101010_010101011_1
00101010_01010101011_1
001010_0101010101011_1
0010_010101010101011_1
00_01010101010101011_1
000_1010101010101011_1
00001_10101010101011_1
0000101_101010101011_1
000010101_1010101011_1
00001010101_10101011_1
0000101010101_101011_1
000010101010101_1011_1
00001010101010101_11_1
0000101010101010_111_1
00001010101010_01111_1
000010101010_0101111_1
0000101010_010101111_1
00001010_01010101111_1
000010_0101010101111_1
0000_010101010101111_1
00000_10101010101111_1
0000001_101010101111_1
000000101_1010101111_1
00000010101_10101111_1
0000001010101_101111_1
000000101010101_1111_1
00000010101010_11111_1
000000101010_0111111_1
0000001010_010111111_1
00000010_01010111111_1
000000_0101010111111_1
0000000_101010111111_1
000000001_1010111111_1
00000000101_10111111_1
0000000010101_111111_1
000000001010_1111111_1
0000000010_011111111_1
00000000_01011111111_1
00000000_010111111_111
00000000_0101111_11111
00000000_01011_1111111
00000000_010_111111111
00000000_0_01111111111
00000000_00_1111111111
0000000000__1111111111

 Профиль  
                  
 
 Re: задача на перестановку нулей и единиц
Сообщение15.01.2018, 09:18 


01/03/17
5
Решение http://www.cyberforum.ru/combinatorics/ ... st12026044

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group