The document describes an algorithm for verifying Wang tile tilings of rectangular regions called "brick Wang tilings". The algorithm reduces the tiling problem into smaller subproblems by dividing the region into strips and then tiles. It proves the algorithm is correct by showing every boundary condition of a rectangular region larger than 2x2 can be tiled. The algorithm consists of 3 steps to recursively reduce the tiling problem into solving a 2x2 region.
short course on Subsurface stochastic modelling and geostatisticsAmro Elfeki
This is a short course on Subsurface stochastic modelling and geo-statistics that has been held at Delft University of Technology, Delft The Netherlands.
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithmsChristian Robert
Aggregate of three different papers on Rao-Blackwellisation, from Casella & Robert (1996), to Douc & Robert (2010), to Banterle et al. (2015), presented during an OxWaSP workshop on MCMC methods, Warwick, Nov 20, 2015
short course on Subsurface stochastic modelling and geostatisticsAmro Elfeki
This is a short course on Subsurface stochastic modelling and geo-statistics that has been held at Delft University of Technology, Delft The Netherlands.
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithmsChristian Robert
Aggregate of three different papers on Rao-Blackwellisation, from Casella & Robert (1996), to Douc & Robert (2010), to Banterle et al. (2015), presented during an OxWaSP workshop on MCMC methods, Warwick, Nov 20, 2015
Using blurred images to assess damage in bridge structures?Alessandro Palmeri
Faster trains and augmented traffic have significantly increased the number and amplitude of loading cycles experienced on a daily basis by composite steel-concrete bridges. This higher demand accelerates the occurrence of damage in the shear connectors between the two materials, which in turn can severely affect performance and reliability of these structures. The aim of this talk is to present the preliminary results of theoretical and experimental investigations undertaken to assess the feasibility of using the envelope of deflections and rotations induced by moving loads as a practical and cost-effective alternative to traditional methods of health monitoring for composite bridges. Both analytical and numerical formulations for this dynamic problem are presented and the results of a parametric study are discussed. A novel photogrammetric approach is also introduced, which allows identifying vibration patterns in civil engineering structures by analysing blurred targets in long-exposure digital images. The initial experimental validation of this approach is presented and further challenges are highlighted.
Tenser Product of Representation for the Group CnIJERA Editor
The main objective of this paper is to compute the tenser product of representation for the group Cn. Also
algorithms designed and implemented in the construction of the main program designated for the determination
of the tenser product of representation for the group Cn including a flow-diagram of the main program. Some
algorithms are followed by simple examples for illustration.
International journal of engineering and mathematical modelling vol2 no1_2015_1IJEMM
Our efforts are mostly concentrated on improving the convergence rate of the numerical procedures both from the viewpoint of cost-efficiency and accuracy by handling the parametrization of the shape to be optimized. We employ nested parameterization supports of either shape, or shape deformation, and the classical process of degree elevation resulting in exact geometrical data transfer from coarse to fine representations. The algorithms mimick classical multigrid strategies and are found very effective in terms of convergence acceleration. In this paper, we analyse and demonstrate the efficiency of the two-level correction algorithm which is the basic block of a more general miltilevel strategy.
I am Grey Nolan. Currently associated with matlabassignmentexperts.com as an assignment helper. After completing my master's from the University of British Columbia, I was in search for an opportunity that expands my area of knowledge hence I decided to help students with their Signals and Systems assignments. I have written several assignments till date to help students overcome numerous difficulties they face in Signals and Systems Assignments.
Text Book: An Introduction to Mechanics by Kleppner and Kolenkow
Chapter 1: Vectors and Kinematics
-Explain the concept of vectors.
-Explain the concepts of position, velocity and acceleration for different kinds of motion.
References:
Halliday, Resnick and Walker
Berkley Physics Volume-1
Java3D is an Application Programming Interface used for writing 3D graphics applications and applets. This paper gives a short introduction of java3D, analyses the mathematics of Hermite, Bezier, FourPoints, B-Splines curve, and describes implementation of curve creation and curve
operations using Java3D API.
Workshop: Numerical Analysis of Stochastic Partial Differential Equations (NASPDE), in Network Eurandom at Eindhoven University of Technology, May 16, 2023, about my recent works (i) "Numerical Smoothing with Hierarchical Adaptive Sparse Grids and Quasi-Monte Carlo Methods for Efficient Option Pricing" (link: https://doi.org/10.1080/14697688.2022.2135455), and (ii) "Multilevel Monte Carlo with Numerical Smoothing for Robust and Efficient Computation of Probabilities and Densities" (link: https://arxiv.org/abs/2003.05708).
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Verification of a brick wang tiling algorithm
1. Verification of a brick Wang tiling algorithm
Verification of a brick Wang tiling algorithm
Toshiaki Matsushima1
Yoshihiro Mizoguchi2
Alexandre Derouet-Jourdan3
1
Graduate School of Mathematics, Kyushu University
2
Institute of Mathematics for Industry, Kyushu University
3
OLM Digital Inc.
March 31, 2016
SCSS2016 at Ochanomizu University, Tokyo
2. Verification of a brick Wang tiling algorithm
Wang Tiling (Hao Wang 1961)
A tile set is a finite set of Wang tiles, unit square tiles with
colored edges.
In general, Wang tiling problem is a problem to tile the
(infinite) Euclidean plane using arbitrarily many copies of the
tiles in the given tile set.
Tiles are arranged side by side with matching colors.
Example of Wang tessellation with 13 tiles (cf. Wikipedia)
3. Verification of a brick Wang tiling algorithm
Wang Tiling for Theoreticians
Decidability
The existence of an algorithm to decide whether a given finite set of
Wang tiles can tile the plane.
Answer: NO! (Robert Berger 1966)
It is equivalent to the halting problem of the Turing machine.
Periodic tiling
If a finite set of Wang tiles can tile the plane, then there exists also a
periodic tiling.
Answer: NO!
(Counter examples,
20426 tiles (Berger 1966),
14 tiles (Kari 1996) ,
13 tiles (Culik 1996),
11 tiles (Jeandel & Rao 2015)∗).
4. Verification of a brick Wang tiling algorithm
Wang Tiling for Computer Graphics
Aperiodic texture mapping (by J. Stam), European Research
Consortium for Informatics and Mathematics (ERCIM), 1997.
[The first use of Wang Tiles for texture synthesis.]
Tilings and Patterns (by B. Grunbaum, et.al.), H.Freeman and
Company, 1987. [Deterministic algorithm using 16 tiles.]
Wang Tiles for Image and Texture Generation (by M.F.Cohen,
et.al.), ACM. Trans. Graph. 22(3),287-294, 2003.
[Deterministic (sequential) algorithm using 8 tiles for 4 colors.]
Recursive Wang Tiles for Real-Time Blue Noise (by J. Kopf,
et.al.) SIGGRAPH 2006. [Stochastic algorithm using 2K2
tiles
for K colors.]
5. Verification of a brick Wang tiling algorithm
Wang Tiling Method
Pros
A very efficient simple method to produce complex structures such as
aperiodic tiling.
A control parameter is a choice of a tile set, this gives intuitional operations
to control result tilings.
Cons
It is undecidable to check a given tile set can tile the plane.
It is decidable to check a given tile set can tile a bounded region with a
given boundary condition. But it is hard to check it for any boundary
condition.
Our Approach
We introduce a class of tile sets and we show that any tile sets in our class
can always tile a rectangular region for any boundary condition.
6. Verification of a brick Wang tiling algorithm
Abstract
A brick Wang tiles set is a tile set introduced to model wall patterns
in computer graphics [A.D-Jourdan 2015].
We implemented a tiling algorithm with a proof of its correctness.
We also show a formal proof of an existence of a tiling of any given
brick Wang tile set for any rectangular region larger than 2 × 2.
We reduce the problem into a tiling problem of a 2 × 2 region.
We divide the boundary colorings into finite classes and give a
solution for each class.
We proved formally that the enumeration of classes are sufficient
and the solution is correct for each class.
7. Verification of a brick Wang tiling algorithm
Brick Wang tiling
Let C = {i | 0 ≤ i ≤ k} (k > 0) be a finite set of colors.
Definition (Wang Tile)
A Wang tile is a function w : {t, l, b, r} → C.
Definition (Brick Wang Tile)
A Wang tile w is said to be a brick Wang tile if
w(t) w(b) ∧ w(l) = w(r) or w(t) = w(b) ∧ w(l) w(r).
We define the set WC of all brick Wang tiles for a given color set C.
Values w(t), w(l), w(b), and w(r) denote the colors of the top,
left, bottom, and right edges, respectively, of a tile w.
brick: not brick:
where C = { , , , , , }.
8. Verification of a brick Wang tiling algorithm
Example
Let the color set C = {0.2, 0.4, 0.6, 0.8}. Consider a brick Wang tile in the
left Figure, where w(l) = w(r) = 0.6, w(t) = 0.8, and w(b) = 0.4.
We draw three lines on a square tile, the vertices of which are
{(0, 0), (0, 1), (1, 1), (1, 0)} according to the values of w(l), w(r), w(t),
and w(b). Since w(l) = w(r), we draw a line from left to right. For this
case, we draw a line from (0, 0.6) to (1, 0.6). Since w(t) w(b), we
draw two perpendicular lines from (0.8, 1) and (0.4, 0) to the horizontal
line. By tiling these brick Wang tiles, a brick wall pattern texture having
different size of bricks can be created.
9. Verification of a brick Wang tiling algorithm
Tiling algorithm (1)
Let C = {i | 0 ≤ i ≤ k} and |C| ≥ 3.
We use a notation ¬c to indicate a color different from c ∈ C.
¬c = min{c | c c}
¬c1 ∧ ¬c2 = min{c | c c1 ∧ c c2}
Since we use an extracted function as a function over the type
integers, we consider the domain of an every function as nat in
Coq. To describe properties over a finite set C and a finite region
Pnm, we use some bounding conditions for a variable in nat. We
do not care about a values of functions b, e and e outside of the
region Pnm.
10. Verification of a brick Wang tiling algorithm
Brick Wang tiling
Definition
A rectangular region {(i, j) ∈ N × N | 1 ≤ i ≤ n, 1 ≤ j ≤ m} is
denoted by Pnm. A tiling is a function T : Pnm → WC , and we
denote T (i, j) by Ti,j. A boundary (coloring) over Pnm is a
function
bnm : {0, n +1}×{j | 1 ≤ j ≤ m}∪{i | 1 ≤ i ≤ n}×{0, m +1} → C.
11. Verification of a brick Wang tiling algorithm
Valid tiling
Definition
Let Pnm be a rectangular region, and let bnm be a boundary coloring over
Pnm. A tiling T is valid for bnm if
Ti,j(t) =
bnm(0, j) (i = 1, 1 ≤ j ≤ m)
Ti−1,j(b) (2 ≤ i ≤ n, 1 ≤ j ≤ m),
Tn,j(b) = bnm(n + 1, j) (1 ≤ j ≤ m),
Ti,j(l) =
bnm(i, 0) (1 ≤ i ≤ n, j = 1)
Ti,j−1(r) (1 ≤ i ≤ n, 2 ≤ j ≤ m), and
Ti,m(r) = bnm(i, m + 1) (1 ≤ i ≤ n).
Ti−1,j
Ti,j−1 Ti,j Ti,j+1
Ti+1,j
12. Verification of a brick Wang tiling algorithm
Edge functions
Definition
For a valid tiling T for bnm over Pnm, we define horizontal edge
function eT : N → N → C and vertical edge function
e
T
: N → N → C as follows:
eT (i, j) =
Ti+1,j(t) (0 ≤ i ≤ n − 1, 1 ≤ j ≤ m)
Tn,j(b) (i = n, 1 ≤ j ≤ m)
0 (otherwise)
eT
(i, j) =
Ti,j+1(l) (1 ≤ i ≤ n, 0 ≤ j ≤ m − 1)
Ti,m(r) (1 ≤ i ≤ n, j = m)
0 (otherwise)
13. Verification of a brick Wang tiling algorithm
Valid edge functions
Lemma
Let T be a valid tiling for a boundary coloring bnm over a rectangular
region Pnm.
1 eT (0, j) = b(0, j) (1 ≤ j ≤ m),
eT (n, j) = b(n + 1, j) (1 ≤ j ≤ m).
2 e
T
(i, 0) = b(i, 0) (1 ≤ i ≤ n),
e
T
(i, m) = b(i, m + 1) (1 ≤ i ≤ n).
14. Verification of a brick Wang tiling algorithm
Brick Pair
Definition
Let Pnm be a rectangular region, e : N → N → C and e : N → N → C.
A pair (e, e ) is a brick pair over Pnm, if
(e(i − 1, j) = e(i, j) ∧ e (i, j − 1) e (i, j)), or
(e(i − 1, j) e(i, j) ∧ e (i, j − 1) = e (i, j)) for 1 ≤ i ≤ n, 1 ≤ j ≤ m.
brick: not brick:
Proposition
Let Pnm be a rectangular region, and let (e, e ) be a brick pair over Pnm.
Then, there exists a boundary coloring bnm over Pnm and a valid tiling T
over Pnm for bnm such that (eT , e
T
) = (e, e ).
We denote a boundary coloring bnm and a tiling T in Proposition by
bnm(e, e ) and T (e, e ), respectively.
15. Verification of a brick Wang tiling algorithm
Tileable(1)
Definition (Tileable)
Let n and m be natural numbers. Then, Pnm is tileable if there
exists a valid tiling for any boundary coloring bnm over Pnm.
Lemma (Three boundary condition)
Let WC be the set of all brick Wang tiles for a given color set C.
Then we have {(w(l), w(t), w(r)) | w ∈ WC }
= {(w(t), w(r), w(b)) | w ∈ WC }
= {(w(r), w(b), w(l)) | w ∈ WC }
= {(w(b), w(l), w(t)) | w ∈ WC } = C3
.
16. Verification of a brick Wang tiling algorithm
Tileable(2)
Proposition (A.D-Jourdan 2015)
1 P12 is not tileable (i.e., there exists a boundary coloring such
that there is no valid tiling).
2 P22 is not tileable if |C| = 2.
Theorem (A.D-Jourdan 2015)
If |C| ≥ 3, then a rectangular region Pnm is tileable for any n ≥ 2
and m ≥ 2.
17. Verification of a brick Wang tiling algorithm
Tiling algorithm (2)
Our algorithm solve a problem over a region Pnm for a given
boundary condition bnm. That is it finds a brick pair (e, e ) from a
given boundary coloring bnm over a region Pnm such that T (e, e )
is valid. Our algorithm consists of three parts:
(Step1) To reduce a tiling problem over Pnm to P2m,
(Step2) To reduce a tiling problem over P2m to P22, and
(Step3) To solve a tiling problem over P22.
!"# !$# !$$
%&'()*+ , , , , , , %&'()$+ , , , , ,%&'()-+
18. Verification of a brick Wang tiling algorithm
Tiling algorithm (Step1)
Cosider Pnm and bnm (n, m > 2). We divide it into two tiling problems
over P1m for b1m and P(n−1)m for b(n−1)m, where
b1m(i, j) =
bnm(i, j) (i = 0, 1),
bnm(0, j) (i = 2, j = 1, 2),
¬ bnm(0, j) (i = 2, 3 ≤ j ≤ m),
b(n−1)m(i, j) =
b1m(2, j) (i = 0),
bnm(i + 1, j) (i > 0).
For a tiling over P1m, we solve it by
e(i, j) =
b1m(0, j) (i = 0),
b1m(2, j) (i = 1),
e (1, j) =
bnm(1, 0) (j = 0),
¬ bnm(1, 0) ∧ ¬ bnm(1, m + 1) (j = 1),
bnm(1, m + 1) (2 ≤ j ≤ m + 1).
22. Verification of a brick Wang tiling algorithm
Tiling algorithm (Step3)
Consider P22 and b. We abbreviate bij = b(i, j), eij = e(i, j) and
e
ij
= e(i, j). Since it satisfies boundary conditions, we have
e0j = b0j, e2j = b3j, e
i0
= bi0 and e
i2
= bi3 (i = 0, 1, j = 0, 1).
So all we need is defining colors e11, e12, e
11
and e
21
. According
to the equality conditions of b10 = b13, b20 = b23, b01 = b31 and
b02 = b32, we define those values for e and e . We summarize
them in the Table.
23. Verification of a brick Wang tiling algorithm
Tiling algorithm (implementation)
A Coq implementation of (e, e ) is a pair of functions e_nm and
e’_nm, as shown in the followings:
Fixpoint e_nm (n m : nat) : boundary -> edge :=
fun b : boundary =>
match n with
| 0 | 1 => e_1m b
| 2 => enm_to_emn (fun b’ => e’_n2 m b’) b
| S n’ => fun (i j : nat) =>
match i with
| 0 => (bSnm_to_b1m m b) 0 j
| S i’ => e_nm n’ m (bSnm_to_bnm m b) i’ j
end
end.
Fixpoint e’_nm (n m : nat) : boundary -> edge
.... Similar to e_nm ....
end.
24. Verification of a brick Wang tiling algorithm
Verification using Coq (1)
We verify conditions, Boundary_i, Boundary_j, and Brick.
Definition Boundary_i (n m : nat)(b : boundary)(e’ : edge) :=
forall i : nat,
e’ i 0 == b i 0 / e’ i m == b i (S m) / i = 0 / n < i.
Definition Boundary_j (n m : nat)(b : boundary)(e : edge) :=
forall j : nat,
e 0 j == b 0 j / e n j == b (S n) j / j = 0 / m < j.
Definition Brick (n m : nat)(e e’ : edge) :=
forall i j : nat,
(e i (S j) == e (S i) (S j) / e’ (S i) j != e’ (S i) (S j))
(e i (S j) != e (S i) (S j) / e’ (S i) j == e’ (S i) (S j))
n <= i / m <= j.
25. Verification of a brick Wang tiling algorithm
Verification using Coq (2)
The validities of our algorithm (Step 3), (Step 2) and (Step 1) are
showed in P22_Valid_nm, P2m_Valid_nm and e_nm_Valid,
respectively.
Definition Valid_nm (n m : nat)(b : boundary) :=
Boundary_i n m b (e’_nm n m b)
/ Boundary_j n m b (e_nm n m b)
/ Brick n m (e_nm n m b) (e’_nm n m b).
Lemma P22_Valid_nm : forall b : boundary , Valid_nm 2 2 b.
Lemma Valid_nm_ind_2m : forall (b : boundary)(m : nat),
2 <= m -> (forall b’ : boundary , Valid_nm 2 m b’)
-> Valid_nm 2 (S m) b.
Lemma P2m_Valid_nm : forall (b : boundary)(m : nat), 2 <= m
-> Valid_nm 2 m b.
Lemma Valid_nm_ind_nm : forall (b : boundary)(n m : nat),
2 <= n -> 2 <= m -> (forall b’ : boundary , Valid_nm n m b’)
-> Valid_nm (S n) m b.
Theorem e_nm_Valid : forall (b : boundary)(n m : nat),
2 <= n -> 2 <= m -> Valid_nm n m b.
26. Verification of a brick Wang tiling algorithm
Verification using Coq (3)
Main theorem about the tileablity is translated into a theorem
Pnm_Tileable in Coq.
Theorem (A.D-Jourdan 2015)
If |C| ≥ 3, then a rectangular region Pnm is tileable for any n ≥ 2
and m ≥ 2.
Theorem Pnm_Tileable : forall (b : boundary)(n m : nat),
2 <= n -> 2 <= m
-> exists (e e’ : edge), Valid n m b e e’.
Proof.
move => b n m H0 H1.
exists (e_nm n m b).
exists (e’_nm n m b).
apply (e_nm_Valid b n m H0 H1).
Qed.
27. Verification of a brick Wang tiling algorithm
Conclusion
A brick Wang tiles set is a tile set introduced to model the texture of
wall patterns in computer graphics [A.D-Jourdan 2015].
We implemented a tiling algorithm with a proof of its correctness.
We also show a formal proof of an existence of a tiling of any given
brick Wang tile set for any rectangular region larger than 2 × 2.
We reduce the problem into a tiling problem of a 2 × 2 region.
We divide the boundary colorings into finite classes and give a
solution for each class.
We proved formally that the enumeration of classes are sufficient
and the solution is correct for each class.
28. Verification of a brick Wang tiling algorithm
Appendix
All source codes and proofs are in the github repository
https://github.com/KyushuUniversityMathematics/BrickCornerWangTiling.
To check examples following instructions.
1 To extract functions e_nm and e’_nm.
coqc TilingProgram.v
There exists an OCaml file TilingProgam.ml that contains examples of
boundary colorings, such as boundary44a and boundary44c.
2 To execute rendering example file.
ocamlc TilingProgram.ml Tilingrender.ml -o TilingRender
There exist rendered images such as b44a.svg and b44c.svg.
3 Some external program such as rsvg-convert may be used to convert the
image format from svg to png.
eg. svg-convert b44a.svg > b44a.png