Задание по математической логике и теории алгоритмов 1. Сдача решенной контрольной работы до 12.12.2015 включительно. 2. Номер варианта студента определяется по номеру в журнале группы. 3. Решение каждой задачи должно быть подробно и логично описано, отдельно выписан ответ задачи. Перед решением приводить условие задачи согласно варианту. 4. Контрольную работу сдавать в тонкой тетради с бумажной обложкой. Не буду принимать: отдельные листочки, общие тетради, тетради с картонной обложкой, тетради с глянцевой обложкой. Исчисление высказываний 1.1 Проверить, является ли данное выражение формулой ИВ (2 б.). Варианты 1. ( A B) ((C A) (C B)) 2. ( A B) ((C A) (C B)) 3. ( A B) ((C A) (C B)) 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. (A ( B C )) ((A B) (A C )) ((A B) (A C )) (A ( B C )) ( A (B C )) (( A B) ( A C )) (( A B) ( A C )) ( A (B C )) ( A ( B C )) (( A B) C ) (A (B C )) ((A B) C ) ( A B) ((A C ) (B C )) (A ( B C )) ((A B) (A C )) ((A B) (A C )) (A ( B C )) ( A (B C )) (( A B) ( A C )) (( A B) ( A C )) ( A (B C )) ( A B) ((C A) (C B)) ( A B) ((C A) (C B)) ( A B) ((C A) (C B)) (A ( B C )) ((A B) (A C )) ((A B) (A C )) (A ( B C )) ( A (B C )) (( A B) ( A C )) (( A B) ( A C )) ( A (B C )) ( A ( B C )) (( A B) C ) (A (B C )) ((A B) C ) ( A B) ((A C ) (B C )) (A ( B C )) ((A B) (A C )) 2.1 Записать рассуждение в логической символике (3 б.) 2.2 Проверить правильность рассуждения методом Куайна (3 б.). 2.3 Проверить правильность рассуждения методом редукции (3 б.) 1 2.4 Проверить правильность рассуждения методом резолюций (3 б.) Варианты 1. Если подозреваемый совершил кражу, то либо кража была тщательно подготовлена, либо имелся соучастник. Если бы кража была тщательно подготовлена, то был бы соучастник. Значит, подозреваемый не виновен в краже. 2. Намеченная атака удастся, только если захватить противника врасплох или же если позиции его плохо защищены. Захватить его врасплох можно только, если его позиции плохо защищены. Значит, атака не удастся. 3. Если бы у нее было много денег, она бы ездила в институт на такси и тогда бы никогда не опаздывала. Она постоянно опаздывает. Значит, у нее по-прежнему мало денег. 4. Если бы он хорошо знал английский язык или хотя бы она говорила помедленней, то он бы ее понял. Но он ее не понял. Значит, она как всегда говорила слишком быстро. 5. Муравей поднимет соломинку, если ее вес не превышает собственный вес муравья более, чем в 10 раз. Муравей не будет поднимать соломинку, если она ему не нужна. Муравей не стал поднимать соломинку. Значит, либо соломинка слишком тяжелая, либо муравью не нужна соломинка. 6. Если человек обедает в кафе быстрого питания, то он голоден и куда-то торопится. Человек не обедает в кафе быстрого питания, хотя и очень торопится. Значит, он не голоден. 7. Незнание правил дорожного движения не освобождает от ответственности в случае их несоблюдения. При нарушении правил водитель несет ответственность.. Следовательно, знать правила нужно. 8. Если бы он ей не сказал, она бы не узнала. А не спроси она его, он бы и не сказал ей. Но она узнала. Значит, она его спросила. 9. Если у меня хватит времени прочитать книгу, то я пойду погулять или встречусь с друзьями. С друзьями я встречаюсь во время прогулки. Значит, я встречусь с друзьями. 10. Мне обязательно нужно сходить в магазин. Я хожу в магазин только тогда, когда я свободен. Когда я свободен, я предпочитаю отдыхать. Значит, я не пойду в магазин. 11. Если подозреваемый совершил кражу, то либо кража была тщательно подготовлена, либо имелся соучастник. Если бы кража была тщательно подготовлена, то был бы соучастник. Значит, подозреваемый виновен в краже. 12. Намеченная атака удастся, только если захватить противника врасплох или же если он беспечен. Захватить его врасплох можно только, если он беспечен. Значит, атака удастся. 13. Если бы у нее было много денег, она бы ездила в институт на такси и тогда бы никогда не опаздывала. Она постоянно опаздывает. Значит, у нее много денег. 14. Если бы он хорошо знал английский язык или хотя бы она говорила помедленней, то он бы ее понял. Но он ее не понял. Значит, она как всегда говорила слишком быстро. 15. Муравей поднимет соломинку, если ее вес не превышает собственный вес муравья более, чем в 10 раз. Муравей не будет поднимать соломинку, если она ему не нужна. Муравей не стал поднимать соломинку. Значит, соломинка слишком тяжелая. 16. Если человек обедает в кафе быстрого питания, то он голоден и куда-то торопится. Человек не обедает в кафе быстрого питания, хотя и очень торопится. Значит, он голоден. 2 17. Незнание правил дорожного движения не освобождает от ответственности в случае их несоблюдения. Для того, чтобы нести ответственность нужно нарушать правила. Следовательно, знать правила нужно. 18. Если бы он ей не сказал, она бы не узнала. А не спроси она его, он бы и не сказал ей. Но она узнала. Значит, она его спросила. 19. Если у меня хватит времени прочитать книгу, то я пойду погулять или встречусь с друзьями. С друзьями я встречаюсь во время прогулки. Значит, я встречусь с друзьями. 20. Мне обязательно нужно сходить в магазин. Я хожу в магазин только тогда, когда я свободен. Когда я свободен, я предпочитаю отдыхать. Значит, я не пойду в магазин. 21. Если подозреваемый совершил кражу, то кража была тщательно подготовлена. Если бы кража была тщательно подготовлена, то если бы был соучастник, украдено было бы гораздо больше. Значит, подозреваемый не виновен. 22. Намеченная атака удастся, только если захватить противника врасплох. Захватить его врасплох можно только, если он беспечен. Значит, атака не удастся. 23. Если бы у нее было много денег, то она бы ездила в институт на такси и тогда бы никогда не опаздывала. У нее денег немного. Поэтому она постоянно опаздывает. 24. Если бы он хорошо знал английский язык или хотя бы она говорила помедленней, то он бы ее понял. Но он ее не понял. Значит, она как всегда говорила слишком быстро. 25. Муравей поднимет соломинку, если ее вес не превышает собственный вес муравья более, чем в 10 раз. Муравей не будет поднимать соломинку, если она ему не нужна. Муравей не стал поднимать соломинку. Значит, муравью не нужна соломинка. 3.1 Придумать рассуждение (не менее трех гипотез) (8 б.) (по желанию, оцениваются только оригинальные задачи) 3.2 Проверить рассуждение методом резолюций (3 б.) Исчисление предикатов 4. Пусть - множество людей. На множестве заданы следующие предикаты: E(x, y) = И x и y – один и тот же человек; P(x, y) = Иx родитель y; C(x, y) = И x и y – супруги; M(x) = И x – мужчина; W(x) = И x – женщина. 4.1 С использованием этих предикатов записать формулу, выражающую заданную фразу (3 б.) 4.2 Проверить, что полученное выражение является формулой логики предикатов (3б.) 4.3 В записанной формуле указать свободные и связанные переменные (2 б.) 4.4 Выписать все возможные подформулы записанной формулы (2б). Варианты 1. 2. 3. 4. 5. У каждого есть отец и мать. У каждого есть бабушка У каждого есть дедушка x – прабабушка x – прадедушка 3 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. x – деверь x – шурин x – кузен x – кузина x – золовка x – тесть x – теща x – свекровь x – свекор x – зять x – сноха x – правнук У некоторых людей есть братья У некоторых людей есть сестры Некоторые супруги бездетны Некоторые супруги имеют детей Некоторые супруги имеют детей только женского пола Некоторые супруги имеют детей только мужского пола x – двоюродная тетя x – племянница 5.1 Привести формулу к предваренной форме (3 б.) 5.2 Проверить общезначимость формулы методом резолюций (5 б.) Варианты 1. (xyA( x, y)) & (xyB( x, y)) 2. (xyA( x, y)) (xyB( x, y)) 3. (xyA( x, y)) (xyB( x, y )) 4. (xyA( x, y)) (xyB( x, y )) 5. (xyQ( x, y)) (yxQ( x, y)) 6. (xyQ( x, y)) (yxQ( x, y)) 7. (xyQ( x, y)) ((yxQ( x, y)) R( x, y)) 8. (xyQ( x, y)) ((yxP( x, y)) Q( x, y)) 9. xQ( x, y) (yQ( x, y) xR( x, y)) 10. (xyQ( x, y)) (yP( x, y) xQ( x, y)) 11. (xyA( x, y)) yB( x, y ) 12. (xyA( x, y)) (xyB( x, y)) 13. (xyQ( x, y)) (yxQ( x, y)) 14. (xyQ( x, y)) xQ( x, y) 15. xQ( x, y) (yQ( x, y) xR( x, y )) 16. yQ( x, y) (yP( x, y) xQ( x, y)) 17. (yA( x, y)) (xyB( x, y )) 18. (xyA( x, y)) (xB( x, y)) 19. (xyQ( x, y) yxQ( x, y)) 20. (xQ( x, y) yQ( x, y)) xR( x, y ) 4 21. (yxQ( x, y) yP( x, y)) xQ( x, y) 22. yA( x, y ) xyB( x, y ) 23. (xA( x, y)) (xyB( x, y)) 24. xyA( x, y) & B( x, y) 25. (xyA( x, y)) (xyB( x, y )) 6.1 Придумать рассуждение (не менее трех гипотез) (10 б., по желанию, оцениваются только оригинальные задачи) 6.2 Проверить рассуждение методом резолюций (5 б.) Теория алгоритмов 7.1 Построить машину Тьюринга для перевода из начальной конфигурации в заключительную. На ленте МТ записаны нули и единицы, при этом пустые ячейки содержат нули. (10б) 7.2 Проверить работу машины Тьюринга для конкретных значений x,y (2 б.). 7.3 Нарисовать граф, соответствующий построенной МТ. (2 б.) 1. q11 01 0 q0 1 01 0 x y 2. q11 01 0 q01 x y y x x y 01x 0 q01x , если y x q11 01 0 3. q0 0, если y x q01 y , если x 2 x y 4. q11 01 0 x q01 , если x 2 x y 5. q11 01 0 q01 01 01 0 x y x y x 6. q11 01 0 q01 0101 0 x y x y x y 7. q11 01 0 q01 x y 01 y 2 0 q01x , если x y 8. q11 01 0 y q01 , если x y x y q01x , если x четное 9. q11 01 0 y q01 , если x нечетное x y q 1 , если y 2 x y 10. q11 01 0 0 x y q01 , если y 2 q01x y , если y 2 11. q11 01 0 q0 0, если y 2 x y 5 12. q11 0 q0 1 , где z – целая часть x/3 x z q01 y , если x y 13. q11 01 0 q0 0, если x y x y 14. q11 0 q01 x x2 15. q11 0 q0 1 x 0101 x 2 x2 1111 x 16. q11 0 q0 1 01 0 , где z – целая часть x/2 x z z q01 y , если x 2 17. q11 01 0 y 3 q01 , если x 2 x y x y q 1 , если y 2 x y 18. q11 01 0 0 x q01 , если y 2 19. q11 01 0 q0 1 01 0 x y y x x y 01x 0 x y 01 y 2 0 20. q11 01 0 q01 x y 21. q11 01 0 q01 x y q 1 , если x y x y 22. q11 01 0 0 y x q01 , если x y q01x , если x четное 23. q11 01 0 y q01 , если x нечетное x y q01 y , если y 2 24. q11 01 0 x q01 , если y 2 x y q01x y , если y 2 25. q11 01 0 q0 0, если y 2 x y 8.1 Показать примитивную рекурсивность функции f(x,y) (5 б.) 1. f ( x, y ) x y 2 y 2. f ( x, y ) | x y |2 y 6 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. f ( x, y) x | xy x | x, y 5, f ( x, y ) x 1, y 5 0, y x, f ( x, y ) 1, y x 3, y 6, f ( x, y ) 4, y 7 x 1, иначе 3, 2 y 6 f ( x, y) x 1, иначе f ( x, y) ( x y) mod 2 f ( x, y) ( y x) y (используется усеченная разность) f ( x, y) x | y x | 3, y 6, f ( x, y ) 4, y 7 x 1, иначе 5, 3 y 8 f ( x, y) x 1, иначе x, y 5, f ( x, y ) x 1, y 5 0, y x, f ( x, y ) 1, y x 15. f ( x, y ) x | y x | 2 x, y 5, x 1, y 5 10, y x, 17. f ( x, y ) 1, y x 3, y 6, 18. f ( x, y ) 4, y 7 x 1, иначе 16. f ( x, y ) 19. f ( x, y ) x | y x | 2 2 3, y 6, 20. f ( x, y ) 4, y 7 x 1, иначе 7 5, 3 y 8 x 1, иначе x, y 5, f ( x, y ) x 1, y 5 5, 3 y 8 f ( x, y) x 1, иначе 0, x y, f ( x, y ) 1, x y x, y 5, f ( x, y ) x 1, y 5 21. f ( x, y ) 22. 23. 24. 25. 8