Автор: Пользователь скрыл имя, 10 Мая 2012 в 20:15, доклад
Решать логические задачи очень увлекательно. В них вроде бы нет никакой математики - нет ни чисел, ни функций, ни треугольников, ни векторов, а есть только лжецы и мудрецы, истина и ложь. В то же время дух математики в них чувствуется ярче всего - половина решения любой математической задачи (а иногда и гораздо больше половины) состоит в том, чтобы как следует разобраться в условии, распутать все связи между участвующими объектами. Есть люди, для которых решение логической задачи - увлекательная , но несложная задача. Их мозг как луч прожектора сразу освещает все хитроумные построения, и к правильному ответу он приходит необычайно быстро. Замечательно, что при этом он и не могут объяснить, как они пришли к решению. "Ну это же очевидно, ясно", - говорят они. "Ведь если ... " - и они начинают легко распутывать клубок противоречивых высказываний. "Действительно, все ясно", - говорит слушатель, огорченный тем, что он сам не увидел очевидного рассуждения. Согласитесь, что такое же ощущение часто возникает при чтении детективов. Итак, мы узнаем, как разными способами можно решать логические задачи. Оказывается таких приемов несколько, они разнообразны и каждый из них имеет свою область применения.
Более систематический подход к решению задач "на переливание" заключается в использовании блок-схем. Суть этого метода состоит в следующем. Сначала выделяются операции, которые позволяют нам точно отмерять жидкость. Эти операции называются командами. Затем устанавливается последовательность выполнения выделенных команд. Эта последовательность оформляется в виде схемы. Подобные схемы называются блок-схемами и широко используются в программировании. Составленная блок-схема является программой, выполнение которой может привести нас к решению поставленной задачи. Для этого достаточно отмечать, какие количества жидкости удается получить при работе составленной программы. При этом обычно заполняют отдельную таблицу, в которую заносят количество жидкости в каждом из имеющихся сосудов.
Задача 5.
Имеются два сосуда — трехлитровый и пятилитровый. Нужно, пользуясь этими сосудами, получить 1, 2, 3, 4, 5, 6, 7 и 8 литров воды. В нашем распоряжении водопроводный кран и раковина, куда можно выливать воду.
Решение. Перечислим все возможные операции, которые могут быть использованы нами, и введем для них следующие сокращенные обозначения: НБ — наполнить больший сосуд водой из-под крана; НМ — наполнить меньший сосуд водой из-под крана; ОБ — опорожнить больший сосуд, вылив воду в раковину; ОМ — опорожнить меньший сосуд, вылив воду в раковину; Б→М — перелить из большего в меньший, пока больший сосуд не опустеет или меньший сосуд не наполнится; М→Б — перелить из меньшего в больший, пока меньший сосуд не опустеет или больший сосуд не наполнится. Выделим среди перечисленных команд только три: НБ, Б→М, ОМ. Кроме этих трех команд рассмотрим еще две вспомогательные команды: Б = 0 ? — посмотреть, пуст ли больший сосуд; М = З ? — посмотреть, наполнен ли малый сосуд.
В зависимости от результатов этого осмотра мы переходим к выполнению следующей команды по одному из двух ключей - "да" или "нет". Такие команды в программировании принято называть командами "условного перехода" и изображать в блок-схемах в виде ромбика с двумя ключами-выходами.
После Б→М будем выполнять ОМ всякий раз, как меньший сосуд оказывается наполненным, и НБ всякий раз, как больший сосуд будет опорожнен. Последовательность команд изобразим в виде блок-схемы (Рис. 1). Начнем выполнение программы. Будем фиксировать, как меняется количество воды в сосудах, если действовать по приведенной схеме. Результаты оформим в виде таблицы .
Б | 0 | 5 | 2 | 2 | 0 | 5 | 4 | 4 | 1 | 1 | 0 | 5 | 3 | 3 | 0 | 0 |
М | 0 | 0 | 3 | 0 | 2 | 2 | 3 | 0 | 3 | 0 | 1 | 1 | 3 | 0 | 3 | 0 |
Таблица |
Дальше эта последовательность будет полностью повторяться. Из таблицы видим, что количество воды в обоих сосудах вместе образует следующую последовательность: 0, 5, 2, 7, 4, 1, 6, 3, 0 и т.д. Таким образом, действуя по приведенной схеме, можно отмерить любое количество литров от 1 до 7. Чтобы отмерить еще и 8 литров, надо наполнить оба сосуда.
Метод бильярда.
Появившись до нашей эры в Индии и Китае, бильярд через много веков перекочевал в европейские страны – упоминание о нем имеется в английских летописях VI века. В России бильярд стал известен и распространился при Петре I. Подобно тому, как азартная игра в кости вызвала к жизни "исчисление" вероятностей, игра в бильярд послужила предметом серьезных научных исследований по механике и математике. Представьте себе горизонтальный бильярдный стол произвольной формы, но без луз. По этому столу без трения движется точечный шар, абсолютно упруго отражаясь от бортов стола. Спрашивается, какой может быть траектория этого шарика? Поиски ответа на этот вопрос и послужили появлению теории математического бильярда или теории траекторий. Задачи на переливание жидкостей можно очень легко решать, вычерчивая бильярдную траекторию шара, отражающегося от бортов стола, имеющего форму параллелограмма. Рассмотрим туже задачу, что и в предыдущем разделе (Метод блок-схем).
Задача 6. Имеются два сосуда — трехлитровый и пятилитровый. Нужно, пользуясь этими сосудами, получить 1, 2, 3, 4, 5, 6, 7 и 8 литров воды. В нашем распоряжении водопроводный кран и раковина, куда можно выливать воду.
Решение. В рассматриваемой задаче стороны параллелограмма должны иметь длины 3 и 5 единиц. По горизонтали будем откладывать количество воды в литрах в 5-литровом сосуде, а по вертикали – в 3-литровом сосуде. На всем параллелограмме нанесена сетка из одинаковых равносторонних треугольников (см.рис.1).
Бильярдный шар может перемещаться только вдоль прямых, образующих сетку на параллелограмме. После удара о стороны параллелограмма шар отражается и продолжает движение вдоль выходящего из точки борта, где произошло соударение. При этом каждая точка параллелограмма, в которой происходит соударение, полностью характеризует, сколько воды находится в каждом из сосудов.
Пусть шар находится в левом нижнем углу и после удара начнет перемещаться вверх вдоль левой боковой стороны параллелограмма до тех пор, пока не достигнет верхней стороны в точке А. Это означает, что мы полностью наполнили водой малый сосуд. Отразившись упруго, шар покатится вправо вниз и ударится о нижний борт в точке В, координаты которой 3 по горизонтали и 0 по вертикали. Это означает, что в большом сосуде 3 литра воды, а в малом сосуде воды нет, то есть мы перелили воду из малого сосуда в большой сосуд.
Прослеживая дальнейший путь шара и записывая все этапы его движения в виде отдельной таблицы (табл.1), в конце концов, мы попадаем в точку Н, которая соответствует состоянию, когда малый сосуд пуст, а в большом сосуде 4 литра воды. Таким образом, получен ответ и указана последовательность переливаний, позволяющих отмерить 4 литра воды. Все 8 переливаний изображены схематически в таблице.
| О | А | Б |
|
|
|
|
| Н |
М | 0 | 3 | 0 | 3 | 1 | 1 | 0 | 3 | 0 |
Б | 0 | 0 | 3 | 3 | 5 | 0 | 1 | 1 | 4 |
Является ли это решение самым коротким? Нет, существует второй путь, когда воду сначала наливают в пятилитровый сосуд.Если на диаграмме шар из точки О покатится вправо по нижней стороне параллелограмма и затем, отразившись от правой боковой стороны, в точку 2 на верхней стороне параллелограмма и т.д., то получим более короткое решение задачи. Можно показать, что полученное решение с 6 переливаниями уже является самым коротким.
Требуется немного сообразительности, чтобы применить метод бильярда к любой задаче о переливании жидкости с помощью не более чем трех сосудов. Остановимся отдельно на случае задачи с тремя сосудами.
Рассмотрим следующую интерпретацию предыдущей задачи. Восьмилитровый сосуд до краев наполнен водой. С помощью двух пустых сосудов емкостью 3 и 5 литров надо поровну разделить в два больших сосуда. Диаграмма для этой задачи точно такая же – параллелограмм со сторонами 5 и 3 единицы. Чтобы фиксировать количество воды в третьем, восьмилитровом сосуде, дополнительно проводим главную диагональ параллелограмма (рис.2). Она делится наклонными прямыми на 8 частей. Отметив точку деления, начиная с верхней правой вершины параллелограмма, получаем возможность фиксировать количество воды в третьем, восьмилитровом, сосуде.
Первые две координаты любой точки параллелограмма, куда может попасть бильярдный шар, определяются, как и выше, а третья координата равна величине отрезка, отсекаемого на главной диагонали соответствующей наклонной. Как и раньше, шар начинает движение от точки О. Совсем несложно нарисовать его траекторию. С ее помощью получим решение с числом переливаний, равным 7. (таб. 2)
3л | 0 | 0 | 3 | 0 | 2 | 2 | 3 | 0 |
5л | 0 | 5 | 2 | 2 | 0 | 5 | 4 | 4 |
8л | 8 | 3 | 3 | 6 | 6 | 1 | 1 | 4 |
Если объемы двух меньших сосудов не имеют общего делителя (т.е. взаимно просты), а объем третьего сосуда больше или равен сумме объемов двух меньших, то с помощью этих трех сосудов можно отмерить любое целое число литров, начиная с 1 литра и кончая объемом среднего сосуда. Имея, например, сосуды вместимостью 15, 16 и 31 литр, вы сумеете отмерить любое количество воды от 1 до 16 литров. Такая процедура невозможна, если объемы двух меньших сосудов имеют общий делитель. Когда объем большего сосуда меньше суммы объемов двух других, возникают новые ограничения. Если, например, объемы сосудов равны 7, 9 и 12 литров, то у параллелограмма надо отсечь верхний правый угол (рис. 3). Это происходит потому, что на диагонали должно быть отложено не более 12 единиц. В этом случае главную диагональ, на которой будет фиксироваться количество воды в самом большом сосуде, полезно вынести за пределы "усеченного параллелограмма", чтобы не загромождать рисунок. В остальном правила игры в бильярд остаются прежними.
Отметим, что бильярдный шар может попасть в любую точку от 1 до 9, за исключением точки 6. Легко видеть, что точки с цифрой 6 образуют на диаграмме правильный треугольник, и мы не можем никак попасть на этот треугольник из любой другой точки, лежащей вне него (рис. 3). Таким образом, несмотря на то, что 7 и 9 взаимно просты, отмерить 6 литров воды оказывается невозможным из-за того, что самый большой сосуд имеет слишком маленький объем. Отметим также, что обобщение метода математического бильярда на случай четырех сосудов сводится к движению шара в пространственной области (параллелепипеде). Но возникающие при этом трудности изображения траекторий делают метод неудобным.
Метод кругов Эйлера.
Круги Эйлера — геометрическая схема, при помощью которой можно изобразить несколько подмножеств вместе и их объединениями, пересечениями, разностями и т. д. Изобретены Эйлером. Используется в математике, логике, менеджменте и других прикладных направлениях.
Важный частный случай кругов Эйлера — диаграммы Эйлера—Венна, изображающие все 2n комбинаций n свойств, то есть конечную булеву алгебру. При n=3 диаграмма Эйлера—Венна обычно изображается в виде трёх кругов с центрами в вершинах равностороннего треугольника и одинаковым радиусом, приблизительно равным длине стороны треугольника.
При решении целого ряда задач Леонард Эйлер использовал идею изображения множеств с помощью кругов. Однако, этим методом еще до Эйлера пользовался выдающийся немецкий филосов и математик Готфрид Вильгельм Лейбниц (1646—1716). Но достаточно основательно развил этот метод сам Л. Эйлер. Методом кругов Эйлера пользовался и немецкий математик Эрнст Шрёдер (1841—1902) в книге «Алгебра логики». Особенного расцвета графические методы достигли в сочинениях английского логика Джонa Венна (1843—1923), подробно изложившего их в книге «Символическая логика», изданной в Лондоне в 1881 году. Поэтому такие схемы иногда называют Диаграммы Эйлера — Венна.