Ключевое слово
29 | 02 | 2020
Новости Библиотеки
Шахматы Онлайн
Welcome, Guest
Username: Password: Remember me

TOPIC: алгоритмические задачки

алгоритмические задачки 24 Июль 2015 09:55 #91

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 83619
  • Thank you received: 1223
  • Karma: 56
Любопытное мини-исследование
Распознавание лиц

www.computerra.ru/128919/remark/
Что мы видим? Трёх солдат, вероятно, Первой мировой войны, очевидно, уже вкусивших «прелестей» той ужасной эпохи. Они стоят обнявшись, на них одна форма, в их взглядах — общая мечта о победе. Но всего-то двадцать лет спустя один из них, заразив своей извращённой философией миллионы соотечественников, поставит под ружьё половину человечества, останется в памяти потомков самым страшным чудовищем XX века. Второй из троицы тоже прославится идеями, но вопреки бывшему товарищу, как самый яркий борец за мир своего времени — и, возможно, целого столетия.
Вопрос, который не даёт покоя многим, видевшим этот снимок, заключается в том, правда ли изображённые на нём люди те, на кого они похожи.
Касательно одного сомнений нет, мы знаем его личность наверняка. Собственно, благодаря ему снимок (есть более качественные, но обрезанные понизу версии) и стал знаменит. Крайний справа — тяжёлый взгляд, усы, фанатичная выправка — не кто иной как Адольф Гитлер, с примостившимся у его ног любимым псом Фукслем. А человек, которого он обнимает, очень похож на Эриха Пауля Ремарка, более известного как Эрих Мария Ремарк. Он молод по сравнению со своим сослуживцем, ему меньше двадцати и на фронте он в лучшем случае месяц — и это хорошо соотносится с архивными данными: Эриху, в отличие от Адольфа, и впрямь довелось попасть на войну рано и послужить недолго.....

201507_Hitler_Remark.jpg
Каждому - своё.

алгоритмические задачки 11 Авг 2016 06:28 #92

  • самоед-3
  • самоед-3's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1010
  • Thank you received: 19
  • Karma: 4
Рассмотрим облако из конечного числа точек. Возьмем шпагу и проткнем его насквозь. Какое-то число точек нанижется на шпагу. Спрашивается, минимум сколько раз надо протыкать облако шпагой, чтобы нанизать его полностью?

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



А в случае со шпагой, т.е. с отрезками, такой пример можно придумать? Конечно, не обязательно с 5 подмножествами. ))
Last Edit: 11 Авг 2016 06:34 by самоед-3.

алгоритмические задачки 11 Авг 2016 18:06 #93

  • инфолиократ
  • инфолиократ's Avatar
Конечно, не обязательно с 5 подмножествами. ))
Зато желательно! Не удовольствия ради, а справедливости для:
(Хотя ТРИ и не пять...)
З павагай к читателям и почитателям

алгоритмические задачки 19 Авг 2016 17:39 #94

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 83619
  • Thank you received: 1223
  • Karma: 56
www.popmech.ru/gadgets/259102-programma-...elat-lyuboy-pocherk/
В Интернете уже существуют большие проблемы с защитой своего профиля и данных, но исследователи из Университетского колледжа Лондона решили, что всем надо поволноваться еще больше. Они создали новый софт, который может в совершенстве копировать любой почерк — как живого человека, так и мертвого — так что теперь подделать подпись или записку сможет каждый.


201608_eb18de9c99188154d5a30dbee0d45f61.jpg

Раньше попытки скопировать чей-то почерк были довольно неудачны. Непосредственно сами буквы были довольно похожи, но соединялись они совершенно искусственно, и подлог был виден с первого взгляда. Новый алгоритм, созданный доктором Томом Хайнсом, доктором Уазеном Мас Аода, доктором Гэбриэлом Бростоу и другие учеными-компьютерщиками, повторяет все особенности почерка отдельного человека, включая толщину букв, их соединение, а также вертикальное и горизонтальное расположение. Результат выглядит так, словно написан от руки, буква за буквой, так как различные знаки отличаются от слова к слову.

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

Это конец, граждане присяжные...
Каждому - своё.

алгоритмические задачки 02 Сен 2017 11:23 #95

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 83619
  • Thank you received: 1223
  • Karma: 56
medialeaks.ru/0209dalex-chellendzh-nedel...v-hotite-poprobovat/
Челлендж недели: за решение «простой» шахматной задачи предложили миллион долларов. Хотите попробовать?
Математики из Сент-Эндрюсского университета в Шотландии обещают любому, кто справится с «задачей о восьми ферзях» в более общем виде, предложив для неё программное решение, миллион долларов. Программа должна расставить на доске 1000 на 1000 клеток тысячу ферзей, которые не бьют друг друга, и не потратить на это годы. Тому, у кого получится, считают исследователи, подвластна задача практически любой сложности.
В частном виде задача, которую придумали ещё в 1850 году, звучит просто: нужно расставить на обычной шахматной доске восемь королев таким образом, чтобы ни одна из них не била другую.
Она имеет много решений, хотя бы одно из которых интуитивно может найти почти любой человек, который знает шахматные правила. Несколько сложнее написать код, который будет решать такую задачу. Но и это вполне по силам даже начинающему программисту, который знает хотя бы QBasic.
Даже в общем виде, для доски любого размера, хоть миллион на миллион с миллионом ферзей программа не будет громоздкой. Нью-Йоркский математик Пол Батлер, например, предложил элегантное решение длиной ровно в один твит: 140 символов.
Проблема в том, что для решения «задачи восьми ферзей» даже на доске с диагональю в тысячу клеток такой программе понадобится мощный компьютер и долгие, долгие годы работы. По условиям челленджа, программа-победитель должна решить задачу «тысячи ферзей» за приемлемое время. До сих пор с этим не справилась ни одна лаборатория и ни один суперкомпьютер, хотя пробовали многие. Организаторы челленджа считают, что программе, которая справится, по силам будут самые сложные, на данный момент нерешаемые, задачи в области шифрования.
Каждому - своё.
The following user(s) said Thank You: Andralex

алгоритмические задачки 02 Сен 2017 14:43 #96

  • самоед-4
  • самоед-4's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1000
  • Thank you received: 23
  • Karma: 5
Почему обязательно годы?
Почему бы не найти решение на 1-й же минуте!
Ведь не требуется найти ВСЕ решения.
Методом Монте-Карло. Если повезет, конечно.
Помолиться и найти. Или все-таки требуются все??
Last Edit: 02 Сен 2017 15:17 by самоед-4.

алгоритмические задачки 02 Сен 2017 17:51 #97

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 83619
  • Thank you received: 1223
  • Karma: 56
самоед-4 wrote:
Методом Монте-Карло
Этим методом можно скорее биткойн намайнить :)
Каждому - своё.

алгоритмические задачки 02 Сен 2017 19:23 #98

  • Ruslan73
  • Ruslan73's Avatar
  • OFFLINE
  • Администратор
  • Posts: 23869
  • Thank you received: 374
  • Karma: 14
самоед-4 wrote:
Или все-таки требуются все??
На доске 1000*1000 с 1000 ферзей очевидно и одно решение не находится в приемлемое время.
The team found that once the chess board reached 1000 squares by 1000, computer progams could no longer cope with the vast number of options and sunk into a potentially eternal struggle akin to the fictional “super computer” Deep Thought in Douglas Adams’ Hitchhiker’s Guide to the Galaxy, which took seven and a half million years to provide an answer to the meaning of everything.

алгоритмические задачки 03 Сен 2017 04:02 #99

  • ))
  • ))'s Avatar
А где же тогда квантовый компьютер, якобы работающий? Коль скоро
Нью-Йоркский математик Пол Батлер, например, предложил элегантное решение длиной ровно в один твит: 140 символов.

алгоритмические задачки 09 Апр 2018 10:50 #100

  • Andralex
  • Andralex's Avatar
  • NOW ONLINE
  • Кравчий
  • Posts: 403
  • Thank you received: 8
  • Karma: 3
В начале сентября как-то писали здесь про задачу расстановки N ферзей на поле NxN.

История продолжается. Таки решили!
:apploud:
...не мы первые, не мы последние...

алгоритмические задачки 09 Апр 2018 11:30 #101

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 83619
  • Thank you received: 1223
  • Karma: 56
Andralex wrote:
История продолжается. Таки решили!
Что-то там не так...
Если они нашли одно решение, то это и проблемой то не было.
Если они нашли все, то трех минут явно не хватит :)
Программа работает на обычных компьютерах и мобильных телефонах. С задачей для 1000 ферзей она справляется за три минуты.
А по сути и проблема то в другом quantoforum.ru/mathematics/748-p-np
Каждому - своё.

алгоритмические задачки 19 Янв 2020 15:09 #102

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Задача вроде не компьютерная, но как решить ее без компьютера, я не знаю. (Удивляюсь могучим школьникам.) Поэтому помещаю ее в эту ветку (Владимирович, думаю, одобрит). Рис. 9 я пока отрезал.

42of64.png

43of64.png
Сам себе доктор наук
Last Edit: 19 Янв 2020 15:20 by Sam Sebe.

алгоритмические задачки 21 Янв 2020 18:23 #103

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Привожу отрезанный Рис. 9.

42of64pic.png


На компьютере найти решение не очень сложно. Я за 1000 попыток нашел 4 штуки, в т.ч. указанное.
Приведу еще одно, нарисованное мною от руки, как смог. В принципе можно было бы и на стенку повесить. ))

500x719.png


Все они - эти змейки - имеют начало и конец. Понятно, что замкнутых змеек, см. условие, не существует.
Сам себе доктор наук
Last Edit: 21 Янв 2020 19:51 by Sam Sebe.
The following user(s) said Thank You: Vladimirovich

алгоритмические задачки 21 Янв 2020 19:06 #104

  • Vladimirovich
  • Vladimirovich's Avatar
  • NOW ONLINE
  • Инквизитор
  • Posts: 83619
  • Thank you received: 1223
  • Karma: 56
У меня в уме без компа, по простому, было 39. Но как бы чувствовалось, что не предел
Каждому - своё.

алгоритмические задачки 22 Янв 2020 15:46 #105

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Sam Sebe wrote:
Все они - эти змейки - имеют начало и конец. Понятно, что замкнутых змеек, см. условие, не существует.

Возникает вопрос, а можно ли хотя бы одну из этих змеек замкнуть, т.е. закрасить еще одну, 43-ю, клетку так, чтобы она была соседкой только первой и последней закрашенным клеткам? А если нельзя, то какова максимальная длина змейки, которую замкнуть можно?

Нетрудно найти, и даже вручную, такую змейку из 39 клеток, так что после замыкания в ней будет 40 клеток. А вот длиннее ее мне найти не удалось. И скорее всего, можно доказать, что это и есть максимум.
Сам себе доктор наук
Last Edit: 22 Янв 2020 15:47 by Sam Sebe.

алгоритмические задачки 22 Янв 2020 15:53 #106

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Ну вот первая попавшаяся замкнутая змейка из 40 плюсиков.

39-40.png
Сам себе доктор наук

алгоритмические задачки 23 Янв 2020 12:10 #107

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Змейки одинаковой длины, замкнутые или нет, могут отличаться, например, по количеству изломов ("коленок") k.
Ниже я изобразил пару змеек длиной 42 клетки с k = 26 и 19.
Правда, не могу сказать, самая изломанная и самая неизломанная змейки это или нет.

k2619.jpg
Сам себе доктор наук
Last Edit: 23 Янв 2020 12:11 by Sam Sebe.

алгоритмические задачки 23 Янв 2020 14:37 #108

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
В предыдущем посте нарисована пара незамкнутых змеек по 42 клетки.
А вот это пара замкнутых змеек, но по 40 клеток, при этом k = 10 и 24.

x40k102416px.png
Сам себе доктор наук
Last Edit: 23 Янв 2020 15:00 by Sam Sebe.

алгоритмические задачки 23 Янв 2020 16:07 #109

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Чтобы найти змейки из 42 клеток (по максимуму), я сделал 1 000 000 случайных экспериментов (за час с лишним компьютерного времени), каждый из которых насчитывал 64 случайные змейки (по числу стартовых клеток). И всего я нашел 45 змеек, различающихся оконечными клетками (их две, и они взаимозаменяемы), не учитывая, однако, что некоторые змейки суть одно и то же (симметричны друг другу). Вернее, это не столько змейки, сколько представители классов змеек, где классы различаются только оконечностями входящих в них змеек. То, что я нашел не все возможные классы, видно на следующей доске, в ячейках которой я подсчитывал одновременно старты и финиши этих (45) змеек. Видно, что не всё на ней симметрично.

1000000.png


Сумма всех чисел, понятно, равна 45х2 = 90.
Сам себе доктор наук
Last Edit: 24 Янв 2020 04:47 by Sam Sebe.

алгоритмические задачки 25 Янв 2020 14:54 #110

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Sam Sebe wrote:
Чтобы найти змейки из 42 клеток (по максимуму), я сделал 1 000 000 случайных экспериментов (за час с лишним компьютерного времени), каждый из которых насчитывал 64 случайные змейки (по числу стартовых клеток). И всего я нашел 45 змеек, различающихся оконечными клетками (их две, и они взаимозаменяемы), не учитывая, однако, что некоторые змейки суть одно и то же (симметричны друг другу). Вернее, это не столько змейки, сколько представители классов змеек, где классы различаются только оконечностями входящих в них змеек. То, что я нашел не все возможные классы, видно на следующей доске, в ячейках которой я подсчитывал одновременно старты и финиши этих (45) змеек. Видно, что не всё на ней симметрично.

1000000.png


Сумма всех чисел, понятно, равна 45х2 = 90.

Разобьем доску двумя осями на четыре равных квадранта. Понятно, что для нахождения ВСЕХ классов змеек длиной 42 клетки достаточно найти все классы, змейки которых начинаются в 1-м квадранте (но можно взять и любой другой), а все остальные классы получить зеркальным отражением относительно осей. Времени потребуется в 4 раза меньше, чем для всей доски. Миллиона экспериментов в 1-м квадранте мне чуточку не хватило (зато, для сравнения и контроля, во 2-м квадранте хватило). Картина (в 1-м квадранте полная) получилась следующая.

quadrant_I.png


Всего насчитывается 22 класса змеек (т.е. 22 класса эквивалентности по оконечным точкам) или, вместе с зеркальными отражениями, 48 классов, а не 45, как процитировано выше. Других нет, они невероятны.
Сам себе доктор наук
Last Edit: 26 Янв 2020 13:25 by Sam Sebe.

алгоритмические задачки 27 Янв 2020 17:40 #111

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Не сразу, но наконец-то я нашел все решения этой задачи. Если змейка стартует в одной клетке и финиширует в другой, то добавим в обе клетки по единичке. Тогда все решения (змейки длиной 42 клетки), стартующие в 1-м квадранте, произведут следующую суммарную картину.

I.108_2020-01-27.png


Т.е. 16 змеек финишируют в 1-м квадранте, где и стартовали, 92 змейки финишируют в 3-м квадранте и по 4 змейки финишируют во 2-м и в 4-м квадрантах, итого 116 змеек-решений. Всего же будет 116х4 = 464 решения. Если же не различать старт и финиш змейки, то решений будет 464/2 = 232. А если еще и не различать змейки и их зеркальные отражения, то решений будет и вовсе 16/2 + 92 + 4 + 4 = 108 штук. Вроде так.

Да, забыл сказать, что рассмотреть пришлось более 50 млн случайных змеек, чтобы отфильтровать эти 108.
Сам себе доктор наук
Last Edit: 02 Фев 2020 16:58 by Sam Sebe.

алгоритмические задачки 27 Янв 2020 18:21 #112

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Исправил было, как показалось, опечатку, но пришлось восстановить: все верно было.
Сам себе доктор наук

алгоритмические задачки 28 Янв 2020 05:28 #113

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Заметил одну закономерность в рассматриваемой задаче. Перенумеруем все клетки доски по вертикали и горизонтали: i = 0, ..., 7 и j = 0, ..., 7 и введем расстояние (манхеттенское) между клетками (i, j) и (i', j'): d = |i - i'| + |j - j'|. В принципе d = 0, 1, 2, ..., 13 или 14, но не в случае стартовой и финишной клеток решения задачи, какое решение ни возьми: здесь d = 3, 5, 7, 9 или 11.
Сам себе доктор наук
Last Edit: 28 Янв 2020 07:53 by Sam Sebe.

алгоритмические задачки 28 Янв 2020 06:18 #114

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Думал, хоть Хайдук поинтересуется, как распределены по d упомянутые 108 решений, но нет, придется самому озадачиться. :?
Сам себе доктор наук
Last Edit: 02 Фев 2020 19:24 by Sam Sebe.

алгоритмические задачки 28 Янв 2020 06:42 #115

  • rudolf
  • rudolf's Avatar
  • OFFLINE
  • Думный дворянин
  • Posts: 598
  • Thank you received: 61
  • Karma: 10
не хватает случая вспучивания доски, изменения ее кривизны, потока риччи и метрик шахматных клеток
The following user(s) said Thank You: Vladimirovich

алгоритмические задачки 28 Янв 2020 07:17 #116

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
rudolf wrote:
не хватает случая вспучивания доски, изменения ее кривизны, потока риччи и метрик шахматных клеток

1. Исходную задачу я не придумал, а взял из сборника олимпиадных задач. Про ее решение написано, что найти его не так-то просто. Компьютер же позволяет найти не просто какое-то решение, но ВСЕ решения! И их довольно много, так что найти требуемое вполне реально и вручную. Опять же множество решений, любое, так и просится (!) рассмотреть на нем какую-нибудь задачу оптимизации.

2. Манхеттенская метрика, хоть и не уникальна в этом отношении, но является целочисленной при целочисленных координатах, самое оно для точности.

3. Приведите свою алгоритмическую задачку, БОЛЕЕ ВСЕМ ИНТЕРЕСНУЮ, но заведомо посильную для персонального компьютера.
Сам себе доктор наук
Last Edit: 28 Янв 2020 07:20 by Sam Sebe.

алгоритмические задачки 28 Янв 2020 07:52 #117

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Вот какое распределение по d получилось. В первом квадранте стартуют 116 змеек, в т.ч. 16 змеек (d=3) в нем и финишируют.

distas.png


Теперь бы надо обдумать, что это за распределение такое...
Сам себе доктор наук
Last Edit: 02 Фев 2020 19:27 by Sam Sebe.

алгоритмические задачки 28 Янв 2020 14:09 #118

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Sam Sebe wrote:
Теперь бы надо обдумать, что это за распределение такое...

Не понял, что за распределение. ((

Зато вот что изобразил.
40-41-42.png

Из красных клеток возможны змейки длиной максимум в 40 клеток, из зеленых - в 41 клетку и из синих - в 42 клетки.
Сам себе доктор наук
Last Edit: 02 Фев 2020 19:31 by Sam Sebe.

алгоритмические задачки 01 Фев 2020 15:13 #119

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Смотрите, какое художество получилось, все-таки речь в задаче идет о художнике.

RGB.png


Пояснение. Из каждой клетки стартует какое-то количество змеек максимальной длины 40, 41 или 42 клетки, будем считать эти змейки красными, зелеными и синими соответственно. С другой стороны, эти змейки где-то финишируют. Суммарное количество змеек, стартующих из данной клетки, и змеек, финиширующих в ней, в соответствии с их цветом обозначим R, G, B, всего R + G + B = S змеек, а относительное их количество, т.е. R/S, G/S, B/S, обозначим r, g, b. Рассматривая теперь каждую клетку, будем считать эти r, g, b ее барицентрическими координатами в стандартном цветовом треугольнике. В цвет точки с этими координатами клетка и окрашена.

Нюанс: зеленые и красные змейки никогда в чисто зеленых (#00FF00) и чисто красных (#FF0000) клетках не финишируют, но всегда стартуют (а синие, разумеется, никогда в них не финишируют, поэтому число B всегда четное). Другими словами, по сравнению с предыдущей картиной изменился цвет только синих клеток - в них добавились зеленый и красный цвета, в основном зеленый, а красный - лишь в предугловые пары.
Сам себе доктор наук
Last Edit: 01 Фев 2020 15:37 by Sam Sebe.
The following user(s) said Thank You: Ruslan73

алгоритмические задачки 02 Фев 2020 05:38 #120

  • Sam Sebe
  • Sam Sebe's Avatar
  • OFFLINE
  • Боярин
  • Posts: 1093
  • Thank you received: 22
  • Karma: 3
Чего никто не оценит мой супрематизм? :(
Сам себе доктор наук
Moderators: Grigoriy
Рейтинг@Mail.ru

Научно-шахматный клуб КвантоФорум