Ответы в темах
-
АвторСообщения
-
boootУчастник
«Но, если в школьных учебниках на Украине проповедуется «извечная вражда» Москвы и Киева, русских и украинцев, и т.п.,»
Ну вы хоть в руках эти учебники держали?. И где вы там могли такое прочесть (кстати как у вас с украинским, чтоб таки прочесть и правильно понять прочитаное)? . А вот я читал современные школьные учебники истории Украины сам (ради того же интереса — что ж там такое про русских пишут). Некоторые моменты, безусловно, описаны без декларирования дружбы братских народов. Некоторые , пожалуй, кажутся достаточно резкими человеку, учившему то же самое 20 лет назад и в Союзе. Но определнно нигде не указывается, что Москва и населяющие ее и окрестности граждане враги, к тому же извечные . Может местные СМИ «малость подвирают»?
«- с какой стати проявлять «лояльность» — к такому государству — мне, русскому, по-прежнему (наивно?) не считающему русских и украинцев врагами?!»
Что меня всегда интересовало: как можно проявлять лояльность (или наоборот — критиковать) правительство чужой страны? . Ну казалось бы: критиковать и всячески дергать правительство должны сами граждане этой страны (они ж с ним в первую очередь живут). Разве что когда совсем все в шоколаде, жить настолько здоро, что прямо скучно, тогда, наверное можно и соседний народ заодно и с правительством жизни поучить .
А процент людей в Украине, считающий что русские и украинцы враги, по моему скромному мнению, едва ли выше чем такой же процент русских в России . Все таки клинические идиоты по популяциям более — менее равномерно распределяются.boootУчастникНе! Водки белорусской попить, хлеб-солью местной закусить да на страну посмотреть.А майданить — дело дурное (стало быть нехитрое) — и без меня желающие найдутся
boootУчастник«К глубокому удовлетворению нынешних укрвластей эту цепочку выстроили Вы сами… т.к. «чужая страна» в какой-то момент может стать врагом.»
Украина граничит с 7 государствами (вашими словами — 7 потенциальных врагов ), все они для меня чужие (в России был 1 раз, в Польше 1 раз, в Беларусь как раз собираюсь, в Румынии, Словакии, Венгрии и Молдове не был вообще).
«Своя страна «врагом» (твоим) быть не может — в отличие, кстати, от государства своей страны (но это другая тема).»
Моя страна эта та, где я живу всю свою сознательную жизнь, а не та, где я мог бы жить . И «малая родина» у меня опять же Киев (а не отцовская деревня в ивановской области). Если подходить более глобально : своя страна это та, где родился, то той страны уже 15 лет как не существует вообще.
А у нынешних украинских властей есть занятия и поинтереснее (да и поважнее), чем весь русский народ оптом во внешнии враги зачислять.
boootУчастник«Что же Вас не удовлетворяет? Против чего Вы возражаете?»
против вашей логической цепочки «русский украинец»—> «Россия»—>»враг»
boootУчастник«У каждого своя «малая родина», но у каждого русского — если он русский и «пока он русский»,- Родина — Россия.»
Россия это всего лишь государство, где (в том числе) живут и русские. Но спорить тут бессмысленно: мне вам не объяснить, что совершенно чужая мне страна, где я никогда не жил (и не собираюсь) не является мне Родиной . Для родителей моих — да, но не для меня.
boootУчастник«Забудьте поскорее о своём «этническом» происхождении! Будьте счастливы — Вы и Ваши дети…
Россия — проживёт без тех, кому она не ближе ни Польши, ни Румынии.»В мире порядка 5.5 млрд людей кому Россия не ближе ни Польши ни Румынии . И мое мнение, что у России могут быть дела поинтереснее, чем решать проживет она без них или нет. И вообще как-то болезненно вы относитесь к тому, что этнический русский может любить Россию меньше чем собственную страну .
«А в Украинской ССР украинский язык не был государственным?Не было украинского радио, телевидения, не издавались книги на украинском? в университетах не готовили преподавателей украинского языка и литературы?»
Государственным языком, насколько мне кажется, является тот, на котором ведется официальная государственная документация. Киев в то время был практически русскоязычным городом. У меня в русской школе украинский язык был факультативом — по заявлению родителей его можно было совершенно официально не учить .
Да и зачем вспоминать то время: в нынешней Росии к примеру чеченский, калмыкский и чукотский языки являются государственными?
Ведь этносы эти тоже проживают компактно и наверняка на территории их проживания есть все озвученные вами элементы их культурыboootУчастникследовало бы относиться с большей бережностью к своему национальному: по примеру прибалтов, украинцев»
Язык, а так же прочие атрибуты моей русскости всегда при мне и на них решительно никто не зарится .
Русский язык в Украине не разрушают — его просто не развивают. Да и собственно зачем, если а) есть украинский — государственный б) русский государственный есть кому развивать и без Украины . Есть некоторые перегибы, но ощущаются они как движение маятника назад. Раньше зажимали украинский, теперь чуток и русскому достается.
boootУчастникЯ этнический русский, живу в Киеве практически с самого рождения. Родной язык естественно русский. Вот уже 15 лет украинский — государственный язык моей страны. Ребенок мой уже с садика на нем общается и в школу в следующем году пойдет тоже в украинскую. Моим делом, как родителя, будет донесение до нее русской культуры. Да — в школе русская литература будет преподаваться как одна из зарубежных. Да — русских школ осталось значительно меньше чем украинских.Но я не вижу проблемы в этом. Никто Пушкина, Достоевского или Толстого в Украине на кострах не жгет — всегда можно купить и прочесть (как и прочих авторов в оригинале на любом языке). То же с русскими театрами, фильмами и т.п. Ну а отдавать ребенка в украинскую школу буду потому, что планирую жить именно в этой стране. Именно поэтому и сам выучил украинский до практически свободого владения как в устной, так и в письменной форме. В России у меня достаточно много родственников, но это другая страна. Не ближе ни соседней Польши ни соседней Румынии. Так что сейчас я вполне согласен с фразой «я — украинец», подразумевая под этим гражданство своей страны. Ну нет между обозначением гражданства и этнической принадлежности такой удобной разницы как между «русский» и «россиянин»!
Морозов Алексей.boootУчастникОб этом и спрашивал. Как всё же распределяется по доске «хорошесть» и «плохость» полей?
Обычно исходя из статистики сыгранных партий. То есть если на е5 шашка стоит в среднем лучше чем на h6 то и вес поля e5 будет выше. Разумеется, что всегда может найтись позиция, где все будет в точности наоборот. Там и будет видна разница между подходом к игре человека и компьютера, когда последний не играет строго говоря в шашки, а реализует лишь некую абстрактную модель, отвечающую правилам шашечной игры. И такая нестатистическая позиция, если и приведет компьютер к проигрышу из-за неверной оценки, будет лишь вполне предсказуемой погрешностью модели.
Полностью свободны от подобных погрешностей лишь эндшпильные базы (и позиции к ним однозначно сводимые) в силу специфики алгоритма их получения.boootУчастникbooot! Может ты придумал что-то революционно новое?
Максимум до чего я могу додуматься это генерить в три этапа:
1. поля, которые можно сдвигать на 3.
2. поля, которые можно сдвигать на 4. Здесь будут объединены ходы направо и налево.
3. поля, которые можно сдвигать на 5.Тут сложно что-то революционное придумать . Те же 3 этапа. Просто я не считаю это потерей стройности: если с точки зрения скорости это оправдано, то компактность кода меня интересует уже во вторую очередь. Плюс ко всему надо ж не забывать, что генератор ходов это еще не вся шашечная программа, есть еще и оценочная функция. И лично мне работать в ней с битбордами будет комфортнее чем с массивами и списками. Но это лично мое мнение.
Вообще-то какой формат для описания доски использовать — дело вкуса. Генератор ходов, конечно, влияет на общую производительность программы, но не слишком принципиально. Я это понял когда в своей шахматной програмее решил перейти со старой непроизводительной MailBox системы сразу на вращающиеся битборды. По perfomance тесту получил дикий прирост скорости генерирования. Но в целом программа не так уж и усилилась — все же есть более важные ее части для прироста силы игры чем генератор ходов.
boootУчастникТут не используется иделогия параллельной обработки. Лучше найти сразу все возможные конечные поля для ходов влево, а потом их генерить, доставая по одному биту из битборда. Затем то же для всех ходов вправо.
Пример выше был для удобства приведен . Конечно использовать логический сдвиг всего битборда простых влево или вправо эффективнее.
«Если использовать 32 бита, то приходится сначала генерить:
— все ходы влево с четных горизонталей
— все ходы влево с нечетных горизонталей
— все ходы вправо с четных горизонталей
— все ходы вправо с нечетных горизонталей»Это необязательно. Вполне достаточно создать два дополнительных битборда, где будут указаны невозможные поля для хода влево и вправо и перед тем как производить соответствующие сдвиги просто сделать AND с расположением простых. Тогда, к примеру, простые a1 a3 a5 a7 будут замаскированы и в дальнейшем не будут принимать участие в «ходе влево».
boootУчастникМысль веду к тому, что самую сложность как раз составляет TryKingCapture, т.к. реализовать правило «дамка должна рубить все стоящие на пути шашки» самая сложная задача в генераторе ходов.
Процедуры TryKingCaptrure и TryManCapture удобнее всего делать рекурсивными. У меня, к примеру, один экземпляр процедуры TryKingCapture при обнаружени возможности взятий вызывает следующих экземпляр процедуры TryKingCapture, передавая ему в качестве параметров список побитых шашек противника (чтоб по нескольку раз не бить одну и ту же). Запись легальных ходов в массивы, таким образом осуществляется на самом нижнем уровне рекурсии, когда текущих взятий в очередной раз уже не найдется.
Про BitBoard тоже интересно, думаю что не только мне, но видимо смелости у меня только и хватило попросить
В двух словах расскажу тут, если нужны будут материалы — могу по почте кинуть. Представление доски с помощью битбордов означает, что каждому полю шашечной доски (их 32) назначается в соответствие 1 бит 32-разрядного целочисленного числа. К примеру полу а1 соответствует 0-й бит, c1 — 1-й бит…h8 — 31-й бит. Если шашка стоит на этом поле — бит устанавливается в «1», если поле пустое — в «0». К примеру передача в процедуру TryKingCapture всех побитых шашек противника означает передачу простого целочисленного 32-разрядного числа с установленными битами, соответствующими положению побитых шашек противника на доске. Установка/снятие бита производится логическими командами Or и AND. Для корректного представления доски достаточно 3 битбордов (12 байт памяти) — whitepieses (белые фигуры), blackpieses (черные фигуры) и kings (дамки обоих цветов). С помощью этих битбордов простейшими логическими операциями мы можем получать любую интересующую нас информацию. К примеру: найти положение всех белых дамок (whitepieses and kings), всех белых простых: (whitepieses and (not kings)). Для генерирования ходов я использую предвычисляемые массивы битбордов, индексируемые по полю шашечной доски, и содержащие битбоды полей, на которые может пойти шашка. Пример: чтоб найти все ходы шашки b2 я использую: WhiteSimpleMoves[b2] and (not (whitepieses or blackpieses)). В результате получаю битборд, содержащий ходы белой шашки b2 на свободные поля.
Удобство битбордов состоит в том, что можно работать со структурами шашек параллельно, используя нужные логические команды процессора.boootУчастник«Все легко решается с помощью оценочной функции, если знать теорию.»
Для элементарных окончаний теория есть. Может даже немалая. А что делать для неэлементарных? . В шахматах подсчитаны некоторые 7-ми фигурные беспешечные окончания. Для выигрыша требуется до 300 ходов. Теории (людской) там нет и не будет. Не знаю как в шашках (может подскажут уважаемые шашисты), есть ли человеческая теория эндшпиля, позволяющая выиграть многофигурные дамочные окончания ?
boootУчастникИнтересно, а на чем должна основываться оценочная функция в поддавках???
Баланс материала, централизация, подвижность. В общем все как и везде . Тут надо понимать, что компьютер не играет в шашки (поддавки) — он играет в некую модель, реализующую правила шашек (поддавков). Чем точнее модель, тем сильнее играет компьюетр. Но «понимать» эту игру он не будет никогда.
boootУчастникКонечно, если счет 19 — 1. То тут уже можно быть уверенным.
Но! 15 — 5 и тут уже вероятность, что вторая прога сильнее достаточно велика. И если хочется знать правду нужно проводить больше партий.Это верно для шахмат с их высокой результативностью и практически «случайным» распределением позиций, где по очереди оценочные функции обоих противников на высоте. В шашках же из-за грубой ничейности и наличии ЭБ, которые используются всегда даже результат +3=7 вроде достаточно красноречив
«Если есть класс позиций, где нужно проводить какие-то специфические маневры, то можно использовать специальную оценочную функцию в которой оценки подобраны так, чтобы прога могла продвигаться вперед.»
Это опять же может пройти в шахматах, где есть понятия «король на краю доски», «король оттеснен от проходной», «активный ферзь в центре» и прочие позиционные атрибуты зачастую справедливые из общих соображений. В шашках же вообще бывает непонятно (нешашисту) почему поле a1 лучше чем d4 (или наоборот). Хотя, конечно, согласен что процент позиций, где возникают сложности невелик.
Вот вам подобный пример из шахмат: ферзь против ладьи. 98% позиций выиграно, но написать оценочную, чтоб выиграть только по безранговой базе по крайней мере у меня не получилось (правило 50 ходов мучает). А эндшпиль — вполне игровой.
-
АвторСообщения